Kuinka hakea YouTube-litteraatio API:n avulla (curl, Python, JavaScript)
Hae minkä tahansa julkisen YouTube-videon litteraatio yhdellä HTTP-pyynnöllä. Toimivat curl-, Python- ja JavaScript-esimerkit, tulostusmuodot, virhekoodit ja hinnat.

Saat YouTube-litteraation API:n avulla lähettämällä yhden HTTP-pyynnön, jossa on videon URL tai tunniste ja API-avain, ja lukemalla litteraation vastauksesta. Tämä opas näyttää pyynnön curlilla, Pythonilla ja JavaScriptillä sum.videon Transcript API:n avulla ja käy sitten läpi muodot, virheet ja kustannukset.
Mitä API palauttaa
Päätepiste palauttaa julkisen YouTube-videon olemassa olevat tekstitykset, joko tekijän kirjoittamat tai YouTuben automaattisesti luomat. Se ei litteroi ääntä. Jos videolla ei ole tekstityksiä, saat virheen arvauksen sijaan (lisää alla).
Perusasiat:
- Päätepiste:
POST https://sum.video/api/v1/transcript(myösGETtoimii) - Todennus: avaimesi
X-API-Key-otsakkeessa taiAuthorization: Bearer <key> - Syöte:
urltaivideo_id - Valinnainen
lang(oletusen) - Valinnainen
format:json,texttaisrt
Vastaus kertoo myös tekstitysraidan todellisen kielen ja sen, onko se luotu automaattisesti, joten tiedät, minkä laatuista odottaa.
Vaihe 1: Luo API-avain
Kirjaudu sisään ja luo avain API-hallintapaneelissa (/dashboard/api sum.videossa). Voit pitää enintään 5 aktiivista avainta, mikä on kätevää testi- ja tuotantoavaimen erottamiseen. Ensimmäisen avaimesi mukana tulee 10 ilmaista krediittiä, jotka riittävät 5 litteraatioon, joten voit kokeilla kaiken alla olevan ilman kustannuksia.
Vaihe 2: Tee ensimmäinen pyyntö
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"}'
Koska myös GET toimii, voit testata skriptistä, joka vain rakentaa URL-osoitteita. Anna avain mieluummin otsakkeessa, ettei se päädy lokeihin.
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+ tai selain)
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());
}
Pidä avain palvelimella. Selaimen koodiin laitetun avaimen voi kopioida kuka tahansa, joka avaa kehittäjätyökalut.
Vaihe 3: Valitse oikea muoto
| Muoto | Mitä saat | Parhaiten sopii |
|---|---|---|
json |
Segmentit, joissa kussakin offset ja duration sekunteina |
Aikaleimat, linkit tiettyyn hetkeen, jako ajan mukaan |
text |
Pelkkä litteraatio | Kehotteet, hakuindeksit, tiivistelmät |
srt |
Tekstitystiedoston sisältö | Videoeditorit, tekstitystyökalut |
Jos aiot linkittää videon tiettyyn hetkeen, käytä json-muotoa ja rakenna linkki segmentin offset-arvosta. LLM:n syöttämiseen text on pienempi ja yksinkertaisempi. Jos haluat myöhemmin hakea litteraatiosta käsin, katso kuinka haet YouTube-videon litteraatiosta.
Vaihe 4: Valitse kieli
lang on oletuksena en. Aseta se haluamaasi kieleen, esimerkiksi de tai es. Vastaus ilmoittaa todella palautetun raidan kielen, joten tarkista se oletuksen sijaan. Videolla on usein vain yksi tekstitysraita, ja API palauttaa oikeita tekstityksiä, joten se ei käännä niitä puolestasi.
Vaihe 5: Käsittele virheet
Varaudu näihin tapauksiin alusta alkaen:
404 no_transcript: videolla ei ole tekstityksiä, tai se on suora lähetys, yksityinen video tai poistettu video. Uudelleenyritettävää ei ole. Ohita se tai pyydä käyttäjältä toinen video.402 budget_exceeded: olet saavuttanut asettamasi kuukausittaisen krediittirajan. Katso seuraava osio.- Pyyntöraja: jokainen avain sallii 60 pyyntöä minuutissa. Hajauta eräajot ja hidasta, kun sinua rajoitetaan.
- Virheet meidän päässämme: yritä uudelleen lyhyen viiveen jälkeen. Ne eivät maksa mitään.
Yksinkertainen silmukka, joka yrittää uudelleen palvelinvirheissä ja ohittaa 404:n, kattaa useimmat tuotantotarpeet.
Mitä se maksaa
Jokainen litteraatio maksaa 2 krediittiä. Pyynnöt, jotka eivät palauta litteraatiota tai epäonnistuvat sum.videon päässä, eivät maksa mitään, joten 404 ei koskaan tyhjennä saldoasi. Saldon näet komennolla GET /api/v1/credits.
Krediittejä myydään kertaostopaketeissa, jotka eivät koskaan vanhene:
| Paketti | Hinta | Litteraatiota kohti |
|---|---|---|
| 100 krediittiä | $4.49 | $0.090 |
| 500 krediittiä | $13.99 | $0.056 |
| 2,000 krediittiä | $37.99 | $0.038 |
| 5,000 krediittiä | $74.99 | $0.030 |
Pro-tilaajat saavat lisäksi 100 bonuskrediittiä joka kuukausi. Raskaampaan työhön, kuten kokonaisen kanavan tuontiin, lue skenaario YouTube-litteraatiot RAG-sovellukselle suuressa mittakaavassa, joka käsittelee automaattista latausta ja budjetteja. Katso myös hinnat.
Rajoitukset, jotka kannattaa tietää ennen rakentamista
- Vain videot, joilla on tekstitykset, toimivat. Tämä on
404 no_transcript:n pääsyy. - Automaattisesti luodut tekstitykset voivat sisältää virheitä, etenkin nimissä, aksenteissa ja teknisissä termeissä.
- API palauttaa vain litteraation. Se ei tiivistä. Jos haluat litteraation päälle tiivistelmiä, aikaleimoja ja keskustelun, sen tekee YouTube-tiivistäjä, ja litterointityökalu on kooditon versio yhdelle videolle.
- Virallinen YouTube Data API ei ole tässä korvike. Sen tekstitysten latausmenetelmä vaatii oikeuden muokata videota, joten se on tarkoitettu omille videoillesi (Googlen dokumentaatio).
Lähteet
Usein kysytyt kysymykset
Voinko hakea YouTube-litteraation ilman virallista YouTube Data API:a?
Kyllä. sum.videon Transcript API ottaa videon URL:n tai tunnisteen ja palauttaa olemassa olevat tekstitykset ilman Google Cloud -projektia. Googlen oma tekstitysten latausmenetelmä vaatii oikeuden muokata videota, joten se sopii vain omille videoillesi.
Litteroiko API videoita, joilla ei ole tekstityksiä?
Ei. Se palauttaa olemassa olevat YouTube-tekstitykset, käsin kirjoitetut tai automaattisesti luodut. Videot ilman tekstityksiä, suorat lähetykset, yksityiset ja poistetut videot palauttavat 404 no_transcript, eikä se pyyntö maksa mitään.
Kuinka paljon yksi litteraatio maksaa?
2 krediittiä litteraatiota kohti. Paketit vaihtelevat 100 krediitistä hintaan $4.49 ($0.090 litteraatiota kohti) 5,000 krediittiin hintaan $74.99 ($0.030 litteraatiota kohti), eivätkä krediitit vanhene koskaan.
Mitä tulostusmuotoja on saatavilla?
json (segmentit, joissa offset ja duration sekunteina), text ja srt. Aseta format-kenttä pyynnössä.
Kuinka kokeilen sitä ilmaiseksi?
Ensimmäisen API-avaimesi mukana tulee 10 ilmaista krediittiä, eli 5 litteraatiota. Pro-tilaajat saavat lisäksi 100 bonuskrediittiä joka kuukausi.
Aiheeseen liittyvää luettavaa
YouTube-litteraatiot RAG-sovellukselle suuressa mittakaavassa: krediitit, automaattinen lataus ja budjetitKehittäjä tuo 10 000 YouTube-videota RAG-sovellukseen. Katso kustannukset, pyyntörajan laskelma ja se, kuinka automaattinen lataus ja budjetit pitävät kulut ennustettavina.
Parhaat YouTube-litteraatio-API:t vertailussa: sum.video, Supadata, Transcribr ja Python-kirjastoNeljä tapaa hakea YouTube-litteraatioita koodissa, vertailtuna hinnan, rajojen ja luotettavuuden mukaan: sum.video, Supadata, Transcribr ja youtube-transcript-api.
Uusimmat julkaisut
YouTube-litteraatiot RAG-sovellukselle suuressa mittakaavassa: krediitit, automaattinen lataus ja budjetitKehittäjä tuo 10 000 YouTube-videota RAG-sovellukseen. Katso kustannukset, pyyntörajan laskelma ja se, kuinka automaattinen lataus ja budjetit pitävät kulut ennustettavina.
Parhaat YouTube-litteraatio-API:t vertailussa: sum.video, Supadata, Transcribr ja Python-kirjastoNeljä tapaa hakea YouTube-litteraatioita koodissa, vertailtuna hinnan, rajojen ja luotettavuuden mukaan: sum.video, Supadata, Transcribr ja youtube-transcript-api.