Kuidas saada YouTube'i transkriptsioon API abil (curl, Python, JavaScript)
Hangi mis tahes avaliku YouTube'i video transkriptsioon ühe HTTP-päringuga. Töötavad curl-i, Pythoni ja JavaScripti näited, väljundvormingud, veakoodid ja hind.

YouTube'i transkriptsiooni saamiseks API abil saada üks HTTP-päring video URL-i või ID ja API võtmega ning loe transkriptsioon vastusest. See juhend näitab päringut curl-i, Pythoni ja JavaScriptiga, kasutades sum.video transkriptsiooni API-t, ning käsitleb seejärel vorminguid, vigu ja hinda.
Mida API tagastab
Lõpp-punkt tagastab avaliku YouTube'i video olemasolevad subtiitrid, olgu need autori kirjutatud või YouTube'i automaatselt loodud. See ei transkribeeri heli. Kui videol pole subtiitreid, saad vea, mitte oletuse (täpsemalt allpool).
Põhitõed:
- Lõpp-punkt:
POST https://sum.video/api/v1/transcript(GETtöötab samuti) - Autentimine: sinu võti päises
X-API-KeyvõiAuthorization: Bearer <key> - Sisend:
urlvõivideo_id - Valikuline
lang(vaikimisien) - Valikuline
format:json,textvõisrt
Vastus ütleb ka subtiitriraja tegeliku keele ja selle, kas see loodi automaatselt, nii et tead, millist kvaliteeti oodata.
1. samm: loo API võti
Logi sisse ja loo võti API juhtpaneelil (/dashboard/api sum.video lehel). Sul võib olla kuni 5 aktiivset võtit, mis on mugav testvõtme ja töövõtme lahus hoidmiseks. Sinu esimese võtmega tuleb kaasa 10 tasuta krediiti, mis on piisav 5 transkriptsiooniks, nii et kõike allolevat saad proovida tasuta.
2. samm: tee esimene päring
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"}'
Kuna GET töötab samuti, saad testida skriptist, mis ainult koostab URL-e. Anna võti parem päises, et see ei satuks logidesse.
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+ või brauser)
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());
}
Hoia võtit serveris. Brauseri koodi pandud võtit saab kopeerida igaüks, kes avab arendajatööriistad.
3. samm: vali õige vorming
| Vorming | Mida saad | Parim jaoks |
|---|---|---|
json |
Segmendid, igaühel offset ja duration sekundites |
Ajatemplid, lingid kindlale hetkele, ajapõhine jaotamine |
text |
Lihtne transkriptsioon | Viiped, otsinguindeksid, kokkuvõtted |
srt |
Subtiitrifaili sisu | Videotöötlusprogrammid, subtiitrite tööriistad |
Kui plaanid viidata video kindlale hetkele, kasuta json ja ehita link segmendi offset väärtusest. LLM-i toitmiseks on text väiksem ja lihtsam. Kui tahad hiljem transkriptsioonist käsitsi otsida, vaata kuidas otsida YouTube'i video transkriptsioonist.
4. samm: vali keel
lang on vaikimisi en. Sea see soovitud keelele, näiteks de või es. Vastus teatab tegelikult tagastatud raja keele, nii et kontrolli seda, mitte ära eelda. Videol on sageli ainult üks subtiitrirada ja API tagastab päris subtiitreid, seega ei tõlgi see neid sinu eest.
5. samm: käsitle vigu
Arvesta nende juhtudega esimesest päevast:
404 no_transcript: videol pole subtiitreid või see on otseülekanne, privaatne video või eemaldatud video. Kordamiseks pole midagi. Jäta see vahele või palu kasutajalt teist videot.402 budget_exceeded: jõudsid sinu määratud igakuise krediidilimiidini. Vaata järgmist jaotist.- Kiiruspiirang: iga võti lubab 60 päringut minutis. Hajuta paketttööd ja aeglusta, kui sind piiratakse.
- Tõrked meie poolel: proovi uuesti pärast lühikest viivitust. Need ei maksa midagi.
Lihtne tsükkel, mis korrab serveriveade korral ja jätab 404 korral vahele, katab enamiku tootmisvajadustest.
Mis see maksab
Iga transkriptsioon maksab 2 krediiti. Päringud, mis ei tagasta transkriptsiooni või ebaõnnestuvad sum.video poolel, ei maksa midagi, nii et 404 ei tühjenda sinu saldot kunagi. Saldot saad vaadata käsuga GET /api/v1/credits.
Krediite müüakse ühekordsete pakettidena, mis ei aegu kunagi:
| Pakett | Hind | Transkriptsiooni kohta |
|---|---|---|
| 100 krediiti | $4.49 | $0.090 |
| 500 krediiti | $13.99 | $0.056 |
| 2,000 krediiti | $37.99 | $0.038 |
| 5,000 krediiti | $74.99 | $0.030 |
Pro tellijad saavad ka igas kuus 100 boonuskrediiti. Raskema töö jaoks, näiteks terve kanali sissevõtmiseks, loe stsenaariumi YouTube'i transkriptsioonid RAG-rakenduse jaoks suures mahus, mis käsitleb automaatset täiendamist ja eelarveid. Vaata ka hindu.
Piirangud, mida tasub enne ehitamist teada
- Töötavad ainult subtiitritega videod. See on
404 no_transcriptpeamine põhjus. - Automaatselt loodud subtiitrid võivad sisaldada vigu, eriti nimede, aktsentide ja tehniliste terminite puhul.
- API tagastab ainult transkriptsiooni. See ei tee kokkuvõtet. Kui tahad transkriptsiooni peale kokkuvõtteid, ajatempleid ja vestlust, teeb seda YouTube'i kokkuvõtja ning transkriptsiooni tööriist on koodivaba versioon ühe video jaoks.
- Ametlik YouTube Data API ei asenda seda siin. Selle subtiitrite allalaadimise meetod nõuab video muutmise luba, seega on see mõeldud sinu enda videotele (Google'i dokumentatsioon).
Allikad
Korduma kippuvad küsimused
Kas saan YouTube'i transkriptsiooni ilma ametliku YouTube Data API-ta?
Jah. sum.video transkriptsiooni API võtab vastu video URL-i või ID ja tagastab olemasolevad subtiitrid ilma Google Cloudi projekti vajaduseta. Google'i enda subtiitrite allalaadimise meetod nõuab video muutmise luba, seega sobib see ainult sinu enda videotele.
Kas API transkribeerib videoid, millel pole subtiitreid?
Ei. See tagastab olemasolevad YouTube'i subtiitrid, käsitsi kirjutatud või automaatselt loodud. Subtiitriteta videod, otseülekanded, privaatsed ja eemaldatud videod tagastavad 404 no_transcript ning see päring ei maksa midagi.
Kui palju üks transkriptsioon maksab?
2 krediiti transkriptsiooni kohta. Paketid ulatuvad 100 krediidist hinnaga $4.49 ($0.090 transkriptsiooni kohta) kuni 5,000 krediidini hinnaga $74.99 ($0.030 transkriptsiooni kohta) ja krediidid ei aegu kunagi.
Millised väljundvormingud on saadaval?
json (segmendid sekundites offset ja duration väärtustega), text ja srt. Sea päringus väli format.
Kuidas ma seda tasuta proovin?
Sinu esimese API võtmega tuleb kaasa 10 tasuta krediiti, see on 5 transkriptsiooni. Pro tellijad saavad lisaks igas kuus 100 boonuskrediiti.
Seotud lugemine
YouTube'i transkriptsioonid RAG-rakenduse jaoks suures mahus: krediidid, automaatne täiendamine ja eelarvedArendaja laadib 10 000 YouTube'i videot RAG-rakendusse. Vaata hinda, kiiruspiirangu arvutust ning seda, kuidas automaatne täiendamine ja eelarved hoiavad kulu prognoositavana.
Parimad YouTube'i transkriptsiooni API-d võrdluses: sum.video, Supadata, Transcribr ja Pythoni teekNeli viisi YouTube'i transkriptsioonide hankimiseks koodis, võrreldud hinna, piirangute ja töökindluse alusel: sum.video, Supadata, Transcribr ja youtube-transcript-api.
Viimased postitused
YouTube'i transkriptsioonid RAG-rakenduse jaoks suures mahus: krediidid, automaatne täiendamine ja eelarvedArendaja laadib 10 000 YouTube'i videot RAG-rakendusse. Vaata hinda, kiiruspiirangu arvutust ning seda, kuidas automaatne täiendamine ja eelarved hoiavad kulu prognoositavana.
Parimad YouTube'i transkriptsiooni API-d võrdluses: sum.video, Supadata, Transcribr ja Pythoni teekNeli viisi YouTube'i transkriptsioonide hankimiseks koodis, võrreldud hinna, piirangute ja töökindluse alusel: sum.video, Supadata, Transcribr ja youtube-transcript-api.