SubDownload API
  • 🏠 होम
  • 🛠 Skills
  • ⚡ MCP इंटिग्रेशन
  • 📚 गाइड और ट्यूटोरियल
  • 📘 API संदर्भ
  • 💳 सहायता और बिलिंग
  • 🤖 LLMS.txt
बाहरी लिंक
  • 🔑 API Key प्राप्त करें
  • 📋 OpenAPI स्पेसिफिकेशन
  • ⚡ MCP सर्वर
ℹ️डेवलपर दस्तावेज़ अंग्रेज़ी में प्रकाशित हैं। साइडबार आपकी चुनी हुई भाषा का अनुसरण करता है।

API संदर्भ

Base URL: https://api.subdownload.com · ऑथ: Authorization: Bearer sk_live_xxx

एंडपॉइंट्स

GET /v1/verify free
API Key की वैधता जाँचें। टोकन और यूज़र की जानकारी लौटाता है। क्रेडिट नहीं काटता।

रिक्वेस्ट

curl -H "Authorization: Bearer sk_live_xxx" \
  https://api.subdownload.com/v1/verify

रिस्पॉन्स 200

{
  "valid": true,
  "token": { "name": "My App", "prefix": "sk_live_abc", "monthly_quota": 0, "used_quota": 120 },
  "user": { "id": 42, "email": "[email protected]", "plan": "free", "credits_remaining": 148 }
}
GET /v1/youtube/transcript 1 credit
YouTube वीडियो का ट्रांसक्रिप्ट / कैप्शन प्राप्त करें। वीडियो ID या किसी भी मान्य YouTube URL (watch, youtu.be, shorts) को स्वीकार करता है।

पैरामीटर

नामप्रकारआवश्यक?विवरण
video_idstringआवश्यक11-वर्ण वीडियो ID या पूरा YouTube URL। एलियास: video_url।
langstringवैकल्पिकपसंदीदा भाषा कोड, कॉमा-विभाजित (जैसे en,zh,ja)।

रिक्वेस्ट

curl -H "Authorization: Bearer sk_live_xxx" \
  "https://api.subdownload.com/v1/youtube/transcript?video_id=dQw4w9WgXcQ&lang=en"

रिस्पॉन्स 200

{
  "data": {
    "video_id": "dQw4w9WgXcQ",
    "language": "en",
    "segments": [
      { "text": "We're no strangers to love", "start": 0.0, "duration": 3.5 }
    ],
    "text": "We're no strangers to love...",
    "meta": { "title": "...", "author": "...", "thumbnail": "..." }
  },
  "credits_used": 1,
  "credits_remaining": 148
}

एरर

400 video_id गायब · 404 कैप्शन नहीं · 402 क्रेडिट समाप्त

GET /v1/youtube/search 1 credit
कीवर्ड क्वेरी से YouTube वीडियो या चैनल खोजें।

पैरामीटर

नामप्रकारआवश्यक?विवरण
qstringआवश्यकखोज क्वेरी (1-200 वर्ण)।
typestringवैकल्पिकvideo (डिफ़ॉल्ट) या channel।
limitintegerवैकल्पिक1-50 परिणाम (डिफ़ॉल्ट 20)।

रिक्वेस्ट

curl -H "Authorization: Bearer sk_live_xxx" \
  "https://api.subdownload.com/v1/youtube/search?q=rust+tutorial&limit=5"
GET /v1/youtube/channel/resolve free
किसी भी चैनल संदर्भ (@handle, URL, या UC… ID) को कैनोनिकल चैनल जानकारी में हल करें।

पैरामीटर

नामप्रकारआवश्यक?विवरण
inputstringआवश्यक@handle, चैनल URL, वीडियो URL या UC… ID।
GET /v1/youtube/channel/search 1 credit
किसी विशिष्ट चैनल के वीडियो में खोजें।

पैरामीटर

नामप्रकारआवश्यक?विवरण
channelstringआवश्यक@handle, URL या UC… ID (एलियास: channel_id)।
qstringआवश्यकखोज क्वेरी।
limitintegerवैकल्पिक1-50 (डिफ़ॉल्ट 30)।
GET /v1/youtube/channel/latest free
RSS के ज़रिए चैनल के सबसे नए ~15 वीडियो प्राप्त करें। तेज़ और मुफ़्त।

पैरामीटर

नामप्रकारआवश्यक?विवरण
channelstringआवश्यक@handle, URL या UC… ID (एलियास: channel_id)।
GET /v1/youtube/channel/videos 1 credit/page
चैनल द्वारा अपलोड किए सभी वीडियो सूची, प्रति पेज ~100।

पैरामीटर

नामप्रकारआवश्यक?विवरण
channelstringपहला पेज@handle, URL या UC… ID (एलियास: channel_id)।
continuationstringअगले पेजपिछले कॉल से लौटाया गया टोकन।
नोट: channel या continuation में से एक दें, दोनों नहीं।
GET /v1/youtube/playlist/videos 1 credit/page
YouTube प्लेलिस्ट के वीडियो पेज़ेशन के साथ सूची करें।

पैरामीटर

नामप्रकारआवश्यक?विवरण
playliststringपहला पेजप्लेलिस्ट URL या ID (PL…, UU…, LL…, FL…, OL…)।
continuationstringअगले पेजपिछले रिस्पॉन्स से टोकन।

AI ट्रांसक्रिप्शन (ASR)

बिना कैप्शन वाले वीडियो पर Whisper चलाएँ। असिंक्रोनस: POST एक टास्क बनाता है, फिर GET से status=done तक पोल करें। 5 क्रेडिट, केवल सफलता पर कटते हैं — उसी वीडियो पर ASR दोबारा चलाना मुफ्त है।

POST /v1/youtube/asr done पर 5 क्रेडिट
असिंक्रोनस AI Whisper ट्रांसक्रिप्शन शुरू करता है। task_id और ETA हिंट देता है ताकि आप पोलिंग की लय सही रख सकें।

बॉडी (JSON)

नामप्रकारआवश्यक?विवरण
video_urlstringआवश्यकYouTube URL (watch / youtu.be / shorts / embed)।
langstringवैकल्पिकभाषा हिंट (en, hi…)। ऑटो-डिटेक्शन के लिए छोड़ दें।

रिक्वेस्ट

curl -X POST -H "Authorization: Bearer sk_live_xxx"   -H "Content-Type: application/json"   -d '{"video_url":"https://youtu.be/dQw4w9WgXcQ"}'   https://api.subdownload.com/v1/youtube/asr

रिस्पॉन्स 202

{
  "task_id": "task_01HX...",
  "status": "queued",
  "from_cache": false,
  "queue_position": 2,
  "estimated_wait_seconds": 61,
  "next_poll_after_seconds": 15,
  "poll_url": "/v1/youtube/asr/task_01HX..."
}
पोलिंग के बीच next_poll_after_seconds का पालन करें। कैश हिट पर status=done तुरंत segments के साथ मिलता है।
GET /v1/youtube/asr/{task_id} मुफ्त
ASR टास्क पोल करता है। मुफ्त — कोई क्रेडिट या टोकन कोटा नहीं। केवल निर्माता पढ़ सकता है।

स्टेटस: queued · downloading · transcribing · done · failed · cancelled। segments अंतिम केवल status=done पर होते हैं।

Library (उपयोगकर्ता स्टोरेज)

प्रति-उपयोगकर्ता ट्रांसक्रिप्ट और AI सारांश का स्टोरेज। पढ़ना मुफ्त; लिखना 1 टोकन कोटा यूनिट लेता है। उपयोगकर्ता क्रेडिट नहीं कटते।

GET /v1/library मुफ्त
उपयोगकर्ता द्वारा Library में सेव किए गए आइटम्स (ट्रांसक्रिप्ट + सारांश)।

पैरामीटर

नामप्रकारआवश्यक?विवरण
favoritestringवैकल्पिक1 या true के लिए केवल पसंदीदा।
qstringवैकल्पिकtitle/author पर सबस्ट्रिंग मैच।
tagstringवैकल्पिकtag से फ़िल्टर।
limitintegerवैकल्पिक1–100 (डिफ़ॉल्ट 20)।
offsetintegerवैकल्पिकपेजिनेशन ऑफ़सेट।
GET /v1/library/{id} मुफ्त
एकल Library आइटम का मेटाडेटा। अगला कंटेंट एंडपॉइंट चुनने के लिए has_asr / has_summary देखें।
GET /v1/library/{id}/transcript मुफ्त
ASR segments और जुड़ा हुआ टेक्स्ट देता है। पूर्ण ASR न होने पर 404।
GET /v1/library/{id}/summary मुफ्त
सेव किया गया सारांश टेक्स्ट देता है। सेव किए locales में से चुनने के लिए ?locale= (डिफ़ॉल्ट Accept-Language फिर en)। (video_id, locale) के लिए सारांश न होने पर 404।
POST /v1/library मुफ्त (1 टोकन कोटा)
kind=asr सेव्ड ट्रांसक्रिप्ट मार्क करता है (segments पहले से ASR टेबल में हैं)। kind=summary पहले से जनरेटेड सारांश टेक्स्ट summaries टेबल में अपलोड करता है और has_summary=true मार्क करता है। (video_id, locale) पर upsert।

बॉडी (JSON)

नामप्रकारआवश्यक?विवरण
video_idstringआवश्यकYouTube वीडियो ID।
kindstringआवश्यकasr या summary।
title / author / thumbnail / video_url / language / tagstringवैकल्पिकडिस्प्ले / फ़िल्टरिंग के लिए मेटाडेटा।
localestringsummary मोडसारांश का locale (डिफ़ॉल्ट Accept-Language फिर en)।
textstringkind=summary परपरसिस्ट करने के लिए सारांश टेक्स्ट।
modelstringवैकल्पिकLLM पहचानकर्ता (उदा. claude-opus-4)।
DELETE /v1/library/{id} मुफ्त
Library आइटम का सॉफ्ट-डिलीट। उसी वीडियो के लिए POST /v1/library डुप्लिकेट बनाने की जगह पंक्ति को बहाल करेगा।

आधिकारिक SDK

जल्दी इंटिग्रेट करने के लिए हमारी आधिकारिक क्लाइंट लाइब्रेरीज़ का उपयोग करें:

भाषारिपॉज़िटरी
Pythonapi-sdk/python
JavaScriptapi-sdk/javascript
Goapi-sdk/go
Javaapi-sdk/java
Kotlinapi-sdk/kotlin
Rustapi-sdk/rust

→ पूरा सोर्स: github.com/SubDownload/api-sdk

→ बिलिंग, रेट लिमिट और एरर कोड के लिए सहायता और बिलिंग देखें।