OppaatKirjoittanut Péter Nagy

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.

Tiivistä YouTube-video nyt

Liitä linkki ja saat tärkeimmät kohdat klikattavilla aikaleimoilla.

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ös GET toimii)
  • Todennus: avaimesi X-API-Key-otsakkeessa tai Authorization: Bearer <key>
  • Syöte: url tai video_id
  • Valinnainen lang (oletus en)
  • Valinnainen format: json, text tai srt

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.

Tiivistä YouTube-video nyt

Liitä linkki ja saat tärkeimmät kohdat klikattavilla aikaleimoilla.

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.

Tiivistä YouTube-video nyt

Liitä linkki ja saat tärkeimmät kohdat klikattavilla aikaleimoilla.

youtube-litteraatio apiapi-opaspythonjavascriptcurl

Aiheeseen liittyvää luettavaa

Uusimmat julkaisut

Tiivistä mikä tahansa YouTube-video sekunneissa

Kokeile sum.video