Ako získať prepis videa z YouTube pomocou API (curl, Python, JavaScript)
Získaj prepis ľubovoľného verejného videa z YouTube jednou HTTP požiadavkou. Fungujúce príklady v curl, Python a JavaScripte, výstupné formáty, chybové kódy a náklady.

Ak chceš získať prepis videa z YouTube pomocou API, pošli HTTP požiadavku s URL alebo ID videa a API kľúčom a prepis si prečítaj z odpovede. Tento návod ukazuje požiadavku v curl, Pythone a JavaScripte s API na prepisy sum.video a potom vysvetľuje formáty, chyby a cenu.
Čo API vracia
Endpoint vracia existujúce titulky verejného videa z YouTube, či už ich napísal autor, alebo ich automaticky vytvoril YouTube. Zvuk neprepisuje. Ak video titulky nemá, dostaneš chybu namiesto odhadu (viac nižšie).
Základ:
- Endpoint:
POST https://sum.video/api/v1/transcript(funguje ajGET) - Autentifikácia: tvoj kľúč v hlavičke
X-API-KeyaleboAuthorization: Bearer <key> - Vstup:
urlalebovideo_id - Voliteľné
lang(predvoleneen) - Voliteľné
format:json,textalebosrt
Odpoveď uvádza skutočný jazyk titulkovej stopy a či bola vytvorená automaticky, aby si vedel, akú kvalitu čakať.
Krok 1: vytvor API kľúč
Prihlás sa a vytvor kľúč v paneli API (/dashboard/api na sum.video). Môžeš mať až 5 aktívnych kľúčov, čo sa hodí na oddelenie testovacieho a produkčného kľúča. Tvoj prvý kľúč má 10 kreditov zadarmo, čo stačí na 5 prepisov, takže všetko nižšie môžeš vyskúšať bez nákladov.
Krok 2: urob prvú požiadavku
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"}'
Keďže funguje aj GET, môžeš testovať aj zo skriptu, ktorý len skladá URL. Kľúč je lepšie posielať v hlavičke, aby sa nedostal do logov.
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+ alebo prehliadač)
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());
}
Kľúč ponechaj na serveri. Kľúč v kóde prehliadača si môže skopírovať každý, kto otvorí nástroje pre vývojárov.
Krok 3: vyber správny formát
| Formát | Čo dostaneš | Najlepšie na |
|---|---|---|
json |
Segmenty, každý s offset a duration v sekundách |
Časové značky, odkazy na moment vo videu, delenie podľa času |
text |
Prepis ako obyčajný text | Prompty, vyhľadávacie indexy, zhrnutia |
srt |
Obsah súboru s titulkami | Video editory, nástroje na titulky |
Ak plánuješ odkazovať na moment vo videu, použi json a odkaz zostav z offset segmentu. Pre LLM je text kratší a jednoduchší. Ak neskôr budeš chcieť ručne hľadať v prepise, pozri ako hľadať v prepise videa z YouTube.
Krok 4: vyber jazyk
lang je predvolene en. Nastav jazyk, ktorý chceš, napríklad de alebo es. Odpoveď uvádza jazyk skutočne vrátenej stopy, takže ho over a nepredpokladaj. Video má často len jednu titulkovú stopu a API vracia skutočné titulky, takže za teba neprekladá.
Krok 5: ošetri chyby
Od prvého dňa rátaj s týmito situáciami:
404 no_transcript: video nemá titulky alebo ide o živé vysielanie, súkromné či odstránené video. Nie je čo opakovať. Preskoč ho alebo požiadaj používateľa o iné video.402 budget_exceeded: dosiahol si mesačný limit kreditov, ktorý si nastavil. Pozri ďalšiu časť.- Limit požiadaviek: každý kľúč povoľuje 60 požiadaviek za minútu. Dávkovú prácu rozlož a pri obmedzení spomaľ.
- Zlyhania na našej strane: skús znova o chvíľu. Nič nestoja.
Jednoduchá slučka, ktorá pri chybách servera skúša znova a pri 404 preskakuje, pokryje väčšinu produkčných potrieb.
Koľko to stojí
Každý prepis stojí 2 kredity. Požiadavky, ktoré nevrátia prepis alebo zlyhajú na strane sum.video, nestoja nič, takže 404 ti nikdy nevyprázdni zostatok. Zostatok uvidíš cez GET /api/v1/credits.
Kredity sa predávajú v jednorazových balíkoch, ktoré nikdy neexpirujú:
| Balík | Cena | Za prepis |
|---|---|---|
| 100 kreditov | $4.49 | $0.090 |
| 500 kreditov | $13.99 | $0.056 |
| 2,000 kreditov | $37.99 | $0.038 |
| 5,000 kreditov | $74.99 | $0.030 |
Predplatitelia Pro dostávajú navyše 100 bonusových kreditov mesačne. Pri náročných úlohách, ako je načítanie celého kanála, si prečítaj scenár prepisy z YouTube pre RAG aplikáciu vo veľkom rozsahu, ktorý rieši automatické dobíjanie a rozpočty. Pozri aj ceny.
Obmedzenia, ktoré treba poznať pred stavaním
- Fungujú len videá s titulkami. Je to hlavná príčina
404 no_transcript. - Automatické titulky môžu obsahovať chyby, najmä pri menách, prízvukoch a odborných termínoch.
- API vracia len prepis. Nerobí zhrnutia. Ak chceš zhrnutie, časové značky a chat o prepise, urobí to YouTube sumarizátor a nástroj na prepisy je verzia bez kódu pre jedno video.
- Oficiálne YouTube Data API tu nie je náhrada. Jeho metóda sťahovania titulkov vyžaduje oprávnenie upravovať video, takže je pre tvoje vlastné videá (dokumentácia Googlu).
Zdroje
Často kladené otázky
Môžem získať prepisy z YouTube bez oficiálneho YouTube Data API?
Áno. API na prepisy sum.video prijme URL alebo ID videa a vráti existujúce titulky, bez projektu v Google Cloud. Oficiálna metóda Googlu na sťahovanie titulkov vyžaduje oprávnenie upravovať video, takže funguje len pre tvoje vlastné videá.
Prepisuje API aj videá bez titulkov?
Nie. Vracia existujúce titulky z YouTube, ručné alebo automatické. Videá bez titulkov, živé vysielania, súkromné a odstránené videá vracajú 404 no_transcript a táto požiadavka nič nestojí.
Koľko stojí jeden prepis?
2 kredity za prepis. Balíky sú od 100 kreditov za $4.49 ($0.090 za prepis) po 5,000 kreditov za $74.99 ($0.030 za prepis) a kredity nikdy neexpirujú.
Aké výstupné formáty sú dostupné?
json (segmenty s offset a duration v sekundách), text a srt. Nastav pole format v požiadavke.
Ako to môžem vyskúšať zadarmo?
Tvoj prvý API kľúč má 10 kreditov zadarmo, teda 5 prepisov. Predplatitelia Pro dostávajú navyše 100 bonusových kreditov mesačne.
Súvisiace čítanie
Prepisy z YouTube pre RAG aplikáciu vo veľkom rozsahu: kredity, automatické dobíjanie a rozpočtyVývojárka načíta 10,000 videí z YouTube do RAG aplikácie. Pozri si náklady, výpočet limitu požiadaviek a ako automatické dobíjanie a rozpočty udržia výdavky predvídateľné.
Najlepšie API na prepisy z YouTube v porovnaní: sum.video, Supadata, Transcribr a knižnica pre PythonŠtyri spôsoby, ako získať prepisy z YouTube v kóde, porovnané podľa ceny, limitov a spoľahlivosti: sum.video, Supadata, Transcribr a youtube-transcript-api.
Najnovšie príspevky
Prepisy z YouTube pre RAG aplikáciu vo veľkom rozsahu: kredity, automatické dobíjanie a rozpočtyVývojárka načíta 10,000 videí z YouTube do RAG aplikácie. Pozri si náklady, výpočet limitu požiadaviek a ako automatické dobíjanie a rozpočty udržia výdavky predvídateľné.
Najlepšie API na prepisy z YouTube v porovnaní: sum.video, Supadata, Transcribr a knižnica pre PythonŠtyri spôsoby, ako získať prepisy z YouTube v kóde, porovnané podľa ceny, limitov a spoľahlivosti: sum.video, Supadata, Transcribr a youtube-transcript-api.