SprievodcoviaAutor Péter Nagy

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.

Sumarizuj YouTube video teraz

Vlož odkaz a získaj kľúčové body s klikateľnými časovými značkami.

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 aj GET)
  • Autentifikácia: tvoj kľúč v hlavičke X-API-Key alebo Authorization: Bearer <key>
  • Vstup: url alebo video_id
  • Voliteľné lang (predvolene en)
  • Voliteľné format: json, text alebo srt

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.

Sumarizuj YouTube video teraz

Vlož odkaz a získaj kľúčové body s klikateľnými časovými značkami.

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.

Sumarizuj YouTube video teraz

Vlož odkaz a získaj kľúčové body s klikateľnými časovými značkami.

api na prepisy youtubenávod apipythonjavascriptcurl

Súvisiace čítanie

Najnovšie príspevky

Sumarizuj akékoľvek YouTube video za pár sekúnd

Vyskúšaj sum.video