आपके पास YouTube पर एक वीडियो है और आपको अभी पूर्ण ट्रांसक्रिप्ट की आवश्यकता है—ताकि आप इसे संक्षेपित कर सकें, इसे अनुक्रमित कर सकें, कैप्शन उत्पन्न कर सकें, या इसे अपने मीडिया पाइपलाइन में डाल सकें। इस लेख के अंत तक, आप एकल GET अनुरोध करेंगे ताकि YouTube वीडियो के लिए एक संरचित ट्रांसक्रिप्ट (पाठ, अवधि, ऑफसेट, भाषा) प्राप्त कर सकें, और इसे अपने कोड या एआई एजेंट में बिना अपनी स्प्रिंट छोड़े वायर कर सकें।
यह मीडिया एपीआई क्या करता है और इसका उपयोग कब करें
YouTube सब एक्सट्रैक्टर एपीआई एक दिए गए YouTube वीडियो के लिए पाठ ट्रांसक्रिप्ट लौटाता है। प्रतिक्रिया एक कैप्शन खंडों की सूची है जिसमें:
- पाठ: उपशीर्षक/उच्चारण पाठ
- अवधि: सेकंड में खंड की लंबाई
- ऑफसेट: वीडियो की शुरुआत से सेकंड में प्रारंभ समय
- भाषा: खंड के लिए भाषा टैग
यह मीडिया खोज, सामग्री मॉडरेशन, विषय विश्लेषण, स्वचालित अध्यायकरण, पहुंच कार्यप्रवाह, और एकल वीडियो के बारे में संक्षेपित या प्रश्नों का उत्तर देने वाले RAG प्रॉम्प्ट बनाने के लिए उपयोगी है। क्योंकि एपीआई टाइमस्टैम्प लौटाता है, आप हाइलाइट्स और पूर्वावलोकनों के लिए पाठ को वीडियो टाइमलाइन के साथ संरेखित कर सकते हैं।
Zyla API Hub पर शुरू करना
Zyla API Hub एकल खाते, एक एपीआई कुंजी, और एक सदस्यता + कोटा मॉडल (पे-पर-कॉल नहीं) के साथ 10,000 से अधिक सार्वजनिक एपीआई की मेज़बानी करता है। पहला एपीआई आमतौर पर 7-दिन की परीक्षण अवधि या 50 अनुरोध प्रदान करता है; कोई मुफ्त योजना नहीं है। वर्तमान पहुंच विकल्पों और मूल्य निर्धारण के लिए एपीआई पृष्ठ की जांच करें।
इस एपीआई को आजमाने के लिए:
- YouTube सब एक्सट्रैक्टर एपीआई के लिए लिस्टिंग खोलें और परीक्षण शुरू करें: YouTube सब एक्सट्रैक्टर एपीआई पर 7-दिन का परीक्षण शुरू करें.
- यदि उपलब्ध हो तो सब्सक्राइब या फ्री ट्रायल शुरू करने के लिए क्लिक करें ताकि आप अपनी एपीआई कुंजी प्राप्त कर सकें।
- हर कॉल में Authorization: Bearer YOUR_API_KEY का उपयोग करें।
यदि आप मार्केटप्लेस में नए हैं, तो आप Zyla API Hub पर अन्य मनोरंजन और मीडिया एपीआई को भी ब्राउज़ और सब्सक्राइब कर सकते हैं, उसी कुंजी और खाते के साथ।
एंडपॉइंट अवलोकन
YouTube सब एक्सट्रैक्टर एपीआई एक एंडपॉइंट को उजागर करता है जिसे आपको "वीडियो ट्रांसक्रिप्ट प्राप्त करें" को तेजी से लागू करने की आवश्यकता है:
-
वीडियो ट्रांसक्रिप्ट प्राप्त करें
विधि: GET
URL: https://zylalabs.com/api/5216/youtube-sub-extractor-api/6681/get-video-transcript
आवश्यक क्वेरी पैरामीटर:- videoId (string): YouTube वीडियो आईडी
cURL जिसे आप अभी पेस्ट कर सकते हैं
Authorization हेडर में अपनी एपीआई कुंजी का उपयोग करें और आवश्यक videoId के साथ एंडपॉइंट को कॉल करें। यह आधिकारिक उदाहरण है:
curl -s -X GET "https://zylalabs.com/api/5216/youtube-sub-extractor-api/6681/get-video-transcript?videoId=eCBABjPcNyo" \
-H "Authorization: Bearer YOUR_API_KEY"
प्रतिक्रिया कैसी दिखती है
आधिकारिक नमूना प्रतिक्रिया (वास्तविक दुनिया के UI में संक्षिप्तता के लिए संक्षिप्त, लेकिन यहां प्रदान की गई के रूप में सहेजी गई):
{"success":true,"transcript":[{"text":"o que a gente tem no diante","duration":3.24,"offset":0,"lang":"en"},{"text":"dos nossos olhos não dá muita esperança","duration":3.24,"offset":3.24,"lang":"en"},{"text":"no futuro daqui eu vejo a polícia","duration":3.24,"offset":6.48,"lang":"en"},{"text":"atirando a dignidade de pais de família","duration":3.24,"offset":9.72,"lang":"en"},{"text":"daqui eu vejo o estado transformando pessoas","duration":3.24,"offset":12.96,"lang":"en"},{"text":"que poderiam dar bons frutos carregado em","duration":3.24,"offset":16.200000000000003,"lang":"en"},{"text":"pessoas frustradas eu não julgo entendeu monstro","duration":3.24,"offset":19.44,"lang":"en"},{"text":"não precisa ser nenhum expert title superlotado","duration":3.24,"offset":22.68,"lang":"en"},{"text":"estudado formada uma coisa pra saber que","duration":3.24,"offset":25.92,"lang":"en"},{"text":"está tudo errado para saber qual a","duration":3.24,"offset":29.160000000000004,"lang":"en"},{"text":"posição da gente isso tem que acabar","duration":3.24,"offset":32.400000000000006,"lang":"en"},{"text":"com os palestinos abete paz [Música] gino","duration":3.24,"offset":35.64,"lang":"en"},{"text":"problema queria só paz mas não viu","duration":3.24,"offset":38.88,"lang":"en"},{"text":"o veículo agora sem proteção da vida","duration":3.24,"offset":42.120000000000005,"lang":"en"},{"text":"e arrojado mas ainda era o então","duration":3.24,"offset":45.36,"lang":"en"},{"text":"ainda disparava e agora o que eu","duration":3.24,"offset":48.6,"lang":"en"},{"text":"faço me fala na maturidade na sala","duration":3.24,"offset":51.84,"lang":"en"},{"text":"tem pesadelo é época de eleição nosso","duration":3.24,"offset":55.080000000000005,"lang":"en"},{"text":"descabelo progresso sem previsão no chão torço","duration":3.24,"offset":58.32000000000001,"lang":"en"},{"text":"pro meu filho também não vira lata","duration":3.24,"offset":61.56,"lang":"en"},{"text":"é um opção tem vaca tem sempre","duration":3.24,"offset":64.80000000000001,"lang":"en"},{"text":"cid piada pode justificar nada eu entrei","duration":3.24,"offset":68.04,"lang":"en"},{"text":"político claro que foi pra vencer nelson","duration":3.24,"offset":71.28,"lang":"en"},{"text":"é um nojo esgoto exposto é alguém","duration":3.24,"offset":74.52000000000001,"lang":"en"},{"text":"é tanta injustiça em sangue nas suas","duration":3.24,"offset":77.76,"lang":"en"},{"text":"mãos por não fazer nada a troca","duration":3.24,"offset":81…
आप आमतौर पर जिन फ़ील्ड्स का उपयोग करेंगे:
- सफलता: बूलियन जो इंगित करता है कि कॉल सफल रहा
- ट्रांसक्रिप्ट: खंडों की एक सरणी; प्रत्येक में है:
- पाठ: उपशीर्षक खंड सामग्री
- अवधि: सेकंड में लंबाई (फ्लोट)
- ऑफसेट: 0.0 से सेकंड में प्रारंभ समय (फ्लोट)
- भाषा: पंक्ति के लिए भाषा टैग
व्यावहारिक नोट्स:
- ऑफसेट और अवधि सेकंड (फ्लोट) हैं। यदि आपका UI मिलीसेकंड की अपेक्षा करता है तो 1000 से गुणा करें।
- दिए गए videoId के लिए ट्रांसक्रिप्ट आमतौर पर स्थिर होते हैं। अनुक्रमण पाइपलाइनों में बार-बार कॉल से बचने के लिए videoId द्वारा कैश करें।
- यदि किसी वीडियो में कैप्शन नहीं हैं, तो अपने ऐप लॉजिक में एक खाली या अनुपस्थित ट्रांसक्रिप्ट सरणी को सुचारू रूप से संभालें।
Python उदाहरण: टाइमस्टैम्प प्राप्त करें, समतल करें, और प्रिंट करें
यह Python स्निपेट उसी एंडपॉइंट को कॉल करता है, सफलता की जांच करता है, और प्रत्येक पंक्ति को प्रारंभ और समाप्ति समय के साथ प्रारूपित करता है।
import requests
from datetime import timedelta
API_KEY = "YOUR_API_KEY"
VIDEO_ID = "eCBABjPcNyo"
url = "https://zylalabs.com/api/5216/youtube-sub-extractor-api/6681/get-video-transcript"
params = {"videoId": VIDEO_ID}
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(url, params=params, headers=headers, timeout=30)
resp.raise_for_status()
data = resp.json()
if not data.get("success"):
raise RuntimeError("API call did not succeed")
segments = data.get("transcript", [])
def fmt(ts):
return str(timedelta(seconds=float(ts)))
for seg in segments:
start = seg.get("offset", 0)
dur = seg.get("duration", 0)
end = float(start) + float(dur)
text = seg.get("text", "")
lang = seg.get("lang", "")
print(f"[{fmt(start)} - {fmt(end)}] ({lang}) {text}")
अपने उपयोग के मामले के लिए प्रिंट लॉजिक को स्वैप करें: SRT/VTT में लिखें, खोज में अनुक्रमित करें, या अपने संक्षेपक में फीड करें।
सामान्य मीडिया कार्यप्रवाह जिन्हें आप इस सप्ताह भेज सकते हैं
- वीडियो पुस्तकालय के लिए खोज अनुक्रमण: पाठ, ऑफसेट, और अवधि को संग्रहीत करें; उपयोगकर्ताओं को अपने प्लेयर में सटीक टाइमस्टैम्प पर कूदने दें।
- स्वचालित अध्यायकरण: खंडों को विराम या विषय परिवर्तन द्वारा समूहित करें और क्लिक करने योग्य अध्याय उत्पन्न करें।
- सामग्री मॉडरेशन: समय-आधारित समीक्षा कतारों के साथ ध्वजांकित शर्तों के लिए ट्रांसक्रिप्ट खंडों को स्कैन करें।
- संक्षेपण और प्रश्नोत्तर: अपने LLM को ऑफसेट के साथ ट्रांसक्रिप्ट के टुकड़े पास करें ताकि उत्तरों में वीडियो में गहरे लिंक शामिल हो सकें।
- कैप्शन QA: अपने स्वयं के उपशीर्षक फ़ाइलों के खिलाफ खंडों की तुलना करें ताकि अंतराल या विचलन मिल सके।
उत्पादन में समय बचाने वाले विवरण
- ऑफसेट/अवधियों को सीधे अपने प्लेयर टाइमलाइन से मैप करें। यदि आपको फ़्रेम सटीकता की आवश्यकता है, तो अपने प्लेयर के FPS का उपयोग करके सेकंड को फ़्रेम में परिवर्तित करें।
- LLMs के लिए चंकिंग: टोकन सीमाओं के तहत प्रॉम्प्ट रखने के लिए खंडों को बैच करें; आउटपुट में स्रोत टाइमस्टैम्प को फिर से बनाने के लिए ऑफसेट को बनाए रखें।
- नॉर्मलाइजेशन: ट्रांसक्रिप्ट में विराम चिह्न या संगीत टैग शामिल हो सकते हैं। अपनी खोज पाइपलाइन के लिए आवश्यकतानुसार पूर्व-प्रसंस्करण करें।
- रीट्राई और आइडेम्पोटेंसी: क्योंकि ट्रांसक्रिप्ट सामग्री स्थिर है, नेटवर्क हिट के दोहराव से बचने के लिए कैशिंग के साथ कॉल को फिर से प्रयास करें।
AI एजेंटों के माध्यम से MCP से इस एपीआई को कॉल करें
आप MCP-संगत IDE एजेंटों के माध्यम से उसी हब एंडपॉइंट को भी सक्रिय कर सकते हैं। अपने MCP क्लाइंट को Zyla MCP गेटवे पर इंगित करें और अपनी कुंजी प्रदान करें। यहां दस्तावेज़ देखें: MCP.
कार्यान्वयन रूपरेखा:
- अपने MCP क्लाइंट को बेस गेटवे और अपनी एपीआई कुंजी के साथ कॉन्फ़िगर करें।
- videoId=eCBABjPcNyo के साथ वीडियो ट्रांसक्रिप्ट प्राप्त करने के लिए हब URL पथ को कॉल करें।
- सुनिश्चित करें कि Authorization: Bearer YOUR_API_KEY हेडर पास किया गया है।
- अपने टूल के हैंडलर में समान JSON फ़ील्ड (सफलता, ट्रांसक्रिप्ट[].text/duration/offset/lang) को पार्स करें।
यह एक AI एजेंट को मांग पर ट्रांसक्रिप्ट प्राप्त करने और परिणाम को संक्षेपण या टैगिंग चरणों में श्रृंखला में डालने की अनुमति देता है बिना अपने संपादक को छोड़े।
समस्या निवारण और किनारे-हैंडलिंग
- खाली ट्रांसक्रिप्ट: सभी वीडियो में कैप्शन नहीं होते हैं; एक खाली ट्रांसक्रिप्ट सरणी को सुचारू रूप से संभालें।
- समय गणना: अवधि और ऑफसेट फ्लोट हैं। UI में एक सेकंड की त्रुटियों से बचने के लिए सावधानी से गोल करें।
- कैशिंग: चूंकि ट्रांसक्रिप्ट स्थिर हैं, प्रत्येक videoId के लिए परिणामों को मेमोइज़ करें। यह आपके कोटा को नए सामग्री पर केंद्रित रखता है।
- भाषा: खंड के अनुसार भाषा टैग लौटाए जाते हैं। यदि आप भाषा फ़िल्टर को सतह करते हैं, तो पहले खंडों में langs को एकत्रित करें।
त्वरित संदर्भ
- एपीआई लिस्टिंग: YouTube सब एक्सट्रैक्टर एपीआई
- विधि: GET
- एंडपॉइंट: https://zylalabs.com/api/5216/youtube-sub-extractor-api/6681/get-video-transcript
- आवश्यक क्वेरी पैरामीटर: videoId (string)
- प्रमाणन हेडर: Authorization: Bearer YOUR_API_KEY
अन्य मीडिया एकीकरण के लिए जिन्हें आपको अगली आवश्यकता हो सकती है, Zyla API Hub पर मनोरंजन और मीडिया श्रेणी ब्राउज़ करें। एक कुंजी हर सब्सक्राइब की गई एपीआई में काम करती है।
अक्सर पूछे जाने वाले प्रश्न
क्या इस एंडपॉइंट को videoId के अलावा किसी अन्य पैरामीटर की आवश्यकता है?
नहीं। वीडियो ट्रांसक्रिप्ट प्राप्त करने वाले एंडपॉइंट को केवल videoId पैरामीटर की आवश्यकता होती है।
अवधि और ऑफसेट किस समय इकाइयों का उपयोग करते हैं?
सेकंड को फ्लोटिंग-पॉइंट मानों के रूप में। अपने प्लेयर के लिए आवश्यकतानुसार मिलीसेकंड या फ़्रेम में परिवर्तित करें।
कौन सी प्रमाणीकरण आवश्यक है?
हर अनुरोध पर Authorization: Bearer YOUR_API_KEY के साथ अपनी कुंजी पास करें।
बिलिंग कैसे संभाली जाती है?
Zyla एक सदस्यता + कोटा मॉडल का उपयोग करता है (पे-पर-कॉल नहीं)। पहला एपीआई आमतौर पर 7-दिन की परीक्षण अवधि या 50 अनुरोध प्रदान करता है। वर्तमान पहुंच विकल्पों और मूल्य निर्धारण के लिए एपीआई पृष्ठ की जांच करें।
क्या मैं इस एपीआई को AI एजेंट से कॉल कर सकता हूँ?
हाँ। MCP गेटवे का उपयोग करें और अपने Authorization हेडर को शामिल करें; विवरण के लिए MCP देखें।
क्या आप अपने एकीकरण को भेजने के लिए तैयार हैं? अपना परीक्षण शुरू करें, एक एपीआई कुंजी प्राप्त करें, और मिनटों में ट्रांसक्रिप्ट प्राप्त करें: YouTube सब एक्सट्रैक्टर एपीआई पर 7-दिन का परीक्षण शुरू करें.