API बाट YouTube ट्रान्सक्रिप्ट कसरी पाउने (curl, Python, JavaScript)
कुनै पनि सार्वजनिक YouTube भिडियोको ट्रान्सक्रिप्ट एउटै HTTP अनुरोधबाट पाउनुहोस्। curl, Python र JavaScript का काम गर्ने उदाहरण, आउटपुट ढाँचा, त्रुटि कोड र लागत।

API बाट YouTube ट्रान्सक्रिप्ट पाउन भिडियोको URL वा ID र API कुञ्जीसहित एउटा HTTP अनुरोध पठाउनुहोस्, र प्रतिक्रियाबाट ट्रान्सक्रिप्ट पढ्नुहोस्। यो मार्गदर्शनले sum.video Transcript API प्रयोग गरेर curl, Python र JavaScript मा अनुरोध देखाउँछ, त्यसपछि ढाँचा, त्रुटि र लागतबारे बताउँछ।
API ले के फर्काउँछ
यो एन्डपोइन्टले सार्वजनिक YouTube भिडियोका अवस्थित क्याप्सनहरू फर्काउँछ, चाहे स्रष्टाले लेखेका होऊन् वा YouTube ले आफैँ बनाएका। यसले अडियोलाई ट्रान्सक्राइब गर्दैन। भिडियोमा क्याप्सन छैन भने अनुमानको सट्टा तपाईंले त्रुटि पाउनुहुन्छ (तल थप)।
आधारभूत कुरा:
- एन्डपोइन्ट:
POST https://sum.video/api/v1/transcript(GETपनि चल्छ) - प्रमाणीकरण: तपाईंको कुञ्जी
X-API-Keyहेडरमा, वाAuthorization: Bearer <key> - इनपुट:
urlवाvideo_id - ऐच्छिक
lang(पूर्वनिर्धारितen) - ऐच्छिक
format:json,textवाsrt
प्रतिक्रियाले क्याप्सन ट्र्याकको वास्तविक भाषा र त्यो आफैँ बनेको हो कि होइन भन्ने पनि बताउँछ, त्यसैले कस्तो गुणस्तर अपेक्षा गर्ने भन्ने थाहा हुन्छ।
चरण 1: API कुञ्जी बनाउनुहोस्
साइन इन गरेर API ड्यासबोर्डमा (sum.video मा /dashboard/api) कुञ्जी बनाउनुहोस्। तपाईंले 5 सम्म सक्रिय कुञ्जी राख्न सक्नुहुन्छ, जुन परीक्षण कुञ्जी र उत्पादन कुञ्जी छुट्ट्याउन उपयोगी हुन्छ। तपाईंको पहिलो कुञ्जी 10 निःशुल्क क्रेडिटसँग आउँछ, जुन 5 ट्रान्सक्रिप्टका लागि पर्याप्त छ, त्यसैले तलका सबै कुरा लागत बिना प्रयास गर्न सक्नुहुन्छ।
चरण 2: पहिलो अनुरोध गर्नुहोस्
curl
curl -X POST https://sum.video/api/v1/transcript \
-H "X-API-Key: $SUMVIDEO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "lang": "en", "format": "text"}'
GET पनि चल्ने भएकाले, URL मात्र बनाउने स्क्रिप्टबाट पनि परीक्षण गर्न सकिन्छ। कुञ्जी लगमा नपरोस् भनेर हेडरमा दिनु राम्रो।
Python
import os
import requests
resp = requests.post(
"https://sum.video/api/v1/transcript",
headers={"X-API-Key": os.environ["SUMVIDEO_API_KEY"]},
json={"video_id": "dQw4w9WgXcQ", "lang": "en", "format": "text"},
timeout=30,
)
if resp.status_code == 404:
print("No captions for this video")
else:
resp.raise_for_status()
print(resp.text)
JavaScript (Node 18+ वा ब्राउजर)
const resp = await fetch("https://sum.video/api/v1/transcript", {
method: "POST",
headers: {
"X-API-Key": process.env.SUMVIDEO_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
video_id: "dQw4w9WgXcQ",
lang: "en",
format: "text",
}),
});
if (resp.status === 404) {
console.log("No captions for this video");
} else if (!resp.ok) {
throw new Error(`Request failed: ${resp.status}`);
} else {
console.log(await resp.text());
}
कुञ्जी सर्भरमा राख्नुहोस्। ब्राउजर कोडमा भएको कुञ्जी डेभलपर टुल खोल्ने जो कोहीले कपी गर्न सक्छ।
चरण 3: सही ढाँचा छान्नुहोस्
| ढाँचा | तपाईंले के पाउनुहुन्छ | कसका लागि उत्तम |
|---|---|---|
json |
खण्डहरू, प्रत्येकमा सेकेन्डमा offset र duration |
टाइमस्ट्याम्प, भिडियोको कुनै क्षणको लिङ्क, समय अनुसार विभाजन |
text |
सादा ट्रान्सक्रिप्ट | प्रम्प्ट, खोज सूचकाङ्क, सारांश |
srt |
उपशीर्षक फाइलको सामग्री | भिडियो सम्पादक, उपशीर्षक टुल |
भिडियोको कुनै क्षणमा लिङ्क गर्ने योजना छ भने json प्रयोग गर्नुहोस् र खण्डको offset बाट लिङ्क बनाउनुहोस्। LLM लाई खुवाउन text सानो र सजिलो हुन्छ। पछि ट्रान्सक्रिप्टभित्र हातले खोज्न चाहनुभयो भने YouTube भिडियोको ट्रान्सक्रिप्टभित्र कसरी खोज्ने हेर्नुहोस्।
चरण 4: भाषा छान्नुहोस्
lang को पूर्वनिर्धारित मान en हो। चाहेको भाषामा सेट गर्नुहोस्, जस्तै de वा es। प्रतिक्रियाले वास्तवमा फर्काइएको ट्र्याकको भाषा बताउँछ, त्यसैले मानेर नबस्नुहोस्, जाँच गर्नुहोस्। भिडियोमा प्रायः एउटै क्याप्सन ट्र्याक हुन्छ, र API ले वास्तविक क्याप्सन फर्काउँछ, त्यसैले यसले तपाईंका लागि अनुवाद गर्दैन।
चरण 5: त्रुटि सम्हाल्नुहोस्
पहिलो दिनदेखि यी अवस्थाका लागि योजना बनाउनुहोस्:
404 no_transcript: भिडियोमा क्याप्सन छैन, वा त्यो प्रत्यक्ष प्रसारण, निजी भिडियो वा हटाइएको भिडियो हो। फेरि प्रयास गर्ने केही छैन। यसलाई छोड्नुहोस्, वा प्रयोगकर्तासँग अर्को भिडियो माग्नुहोस्।402 budget_exceeded: तपाईंले सेट गरेको मासिक क्रेडिट सीमामा पुग्नुभयो। अर्को खण्ड हेर्नुहोस्।- दर सीमा: प्रत्येक कुञ्जीले प्रति मिनेट 60 अनुरोध अनुमति दिन्छ। ब्याच कामहरू फैलाउनुहोस्, र सीमित गरिएपछि गति घटाउनुहोस्।
- हाम्रो तर्फका विफलता: छोटो ढिलाइपछि फेरि प्रयास गर्नुहोस्। तिनमा लागत लाग्दैन।
सर्भर त्रुटिमा पुनः प्रयास गर्ने र 404 मा छोड्ने सरल लुपले उत्पादनका अधिकांश आवश्यकता पूरा गर्छ।
लागत कति
प्रत्येक ट्रान्सक्रिप्टको लागत 2 क्रेडिट हो। ट्रान्सक्रिप्ट नफर्काउने वा sum.video तर्फ विफल हुने अनुरोधमा लागत लाग्दैन, त्यसैले 404 ले तपाईंको ब्यालेन्स कहिल्यै खाली गर्दैन। ब्यालेन्स GET /api/v1/credits ले हेर्न सकिन्छ।
क्रेडिटहरू कहिल्यै समाप्त नहुने एकपटके प्याकमा बिक्री हुन्छन्:
| प्याक | मूल्य | प्रति ट्रान्सक्रिप्ट |
|---|---|---|
| 100 क्रेडिट | $4.49 | $0.090 |
| 500 क्रेडिट | $13.99 | $0.056 |
| 2,000 क्रेडिट | $37.99 | $0.038 |
| 5,000 क्रेडिट | $74.99 | $0.030 |
Pro सदस्यहरूले हरेक महिना 100 बोनस क्रेडिट पनि पाउँछन्। पूरै च्यानल भित्र्याउने जस्तो भारी कामका लागि, अटो टप-अप र बजेट समेट्ने परिदृश्य ठूलो स्तरमा RAG एपका लागि YouTube ट्रान्सक्रिप्ट पढ्नुहोस्। मूल्य पनि हेर्नुहोस्।
निर्माण गर्नुअघि जान्नुपर्ने सीमा
- क्याप्सन भएका भिडियो मात्र चल्छन्।
404 no_transcriptको मुख्य कारण यही हो। - आफैँ बनेका क्याप्सनमा गल्ती हुन सक्छन्, विशेषगरी नाम, उच्चारण र प्राविधिक शब्दमा।
- API ले ट्रान्सक्रिप्ट मात्र फर्काउँछ। यसले सारांश बनाउँदैन। ट्रान्सक्रिप्टमाथि सारांश, टाइमस्ट्याम्प र च्याट चाहिन्छ भने YouTube सारांशकर्ता ले गर्छ, र ट्रान्सक्रिप्ट टुल एउटा भिडियोका लागि कोडबिनाको संस्करण हो।
- आधिकारिक YouTube Data API यहाँ विकल्प होइन। यसको क्याप्सन डाउनलोड विधिलाई भिडियो सम्पादन गर्ने अनुमति चाहिन्छ, त्यसैले यो तपाईंका आफ्नै भिडियोका लागि हो (Google दस्तावेज)।
स्रोत
प्रायः सोधिने प्रश्नहरू
आधिकारिक YouTube Data API बिना YouTube ट्रान्सक्रिप्ट पाउन सकिन्छ?
सकिन्छ। sum.video Transcript API ले भिडियोको URL वा ID लिएर अवस्थित क्याप्सनहरू फर्काउँछ, Google Cloud परियोजना चाहिँदैन। Google को आफ्नै क्याप्सन डाउनलोड विधिलाई भिडियो सम्पादन गर्ने अनुमति चाहिन्छ, त्यसैले त्यो तपाईंका आफ्नै भिडियोका लागि मात्र चल्छ।
क्याप्सन नभएका भिडियो API ले ट्रान्सक्राइब गर्छ?
गर्दैन। यसले अवस्थित YouTube क्याप्सनहरू, हातले लेखिएका वा आफैँ बनेका, फर्काउँछ। क्याप्सन नभएका भिडियो, प्रत्यक्ष प्रसारण, निजी र हटाइएका भिडियोले 404 no_transcript फर्काउँछन्, र त्यो अनुरोधमा लागत लाग्दैन।
एउटा ट्रान्सक्रिप्टको लागत कति हो?
प्रति ट्रान्सक्रिप्ट 2 क्रेडिट। प्याकहरू 100 क्रेडिटको $4.49 ($0.090 प्रति ट्रान्सक्रिप्ट) देखि 5,000 क्रेडिटको $74.99 ($0.030 प्रति ट्रान्सक्रिप्ट) सम्म छन्, र क्रेडिट कहिल्यै समाप्त हुँदैन।
कुन आउटपुट ढाँचा उपलब्ध छन्?
json (सेकेन्डमा offset र duration भएका खण्ड), text र srt। अनुरोधमा format फिल्ड सेट गर्नुहोस्।
यो निःशुल्क कसरी परीक्षण गर्ने?
तपाईंको पहिलो API कुञ्जी 10 निःशुल्क क्रेडिटसँग आउँछ, अर्थात् 5 ट्रान्सक्रिप्ट। Pro सदस्यहरूले यसबाहेक हरेक महिना 100 बोनस क्रेडिट पनि पाउँछन्।
सम्बन्धित पढाइ
सबैभन्दा राम्रा YouTube ट्रान्सक्रिप्ट API को तुलना: sum.video, Supadata, Transcribr र Python लाइब्रेरीकोडमा YouTube ट्रान्सक्रिप्ट पाउने चार तरिका, मूल्य, सीमा र विश्वसनीयतामा तुलना: sum.video, Supadata, Transcribr र youtube-transcript-api।
ठूलो स्तरमा RAG एपका लागि YouTube ट्रान्सक्रिप्ट: क्रेडिट, अटो टप-अप र बजेटएक डेभलपरले 10,000 YouTube भिडियो RAG एपमा भित्र्याउँछिन्। लागत, दर सीमाको हिसाब, र अटो टप-अप तथा बजेटले खर्चलाई कसरी अनुमानयोग्य राख्छन् हेर्नुहोस्।
पछिल्ला पोस्टहरू
सबैभन्दा राम्रा YouTube ट्रान्सक्रिप्ट API को तुलना: sum.video, Supadata, Transcribr र Python लाइब्रेरीकोडमा YouTube ट्रान्सक्रिप्ट पाउने चार तरिका, मूल्य, सीमा र विश्वसनीयतामा तुलना: sum.video, Supadata, Transcribr र youtube-transcript-api।
ठूलो स्तरमा RAG एपका लागि YouTube ट्रान्सक्रिप्ट: क्रेडिट, अटो टप-अप र बजेटएक डेभलपरले 10,000 YouTube भिडियो RAG एपमा भित्र्याउँछिन्। लागत, दर सीमाको हिसाब, र अटो टप-अप तथा बजेटले खर्चलाई कसरी अनुमानयोग्य राख्छन् हेर्नुहोस्।