Hoe om 'n YouTube-transkripsie met 'n API te kry (curl, Python, JavaScript)
Kry die transkripsie van enige openbare YouTube-video met een HTTP-versoek. Werkende voorbeelde in curl, Python en JavaScript, uitvoerformate, foutkodes en koste.

Om 'n YouTube-transkripsie met 'n API te kry, stuur een HTTP-versoek met die video se URL of ID en 'n API-sleutel, en lees die transkripsie uit die antwoord. Hierdie gids wys die versoek in curl, Python en JavaScript met die sum.video Transcript API, en dek dan formate, foute en koste.
Wat die API terugstuur
Die eindpunt gee die bestaande onderskrifte van 'n openbare YouTube-video terug, hetsy deur die skepper geskryf of outomaties deur YouTube gegenereer. Dit transkribeer nie oudio nie. As 'n video geen onderskrifte het nie, kry jy 'n fout in plaas van 'n raaiskoot (meer hieronder).
Die basiese feite:
- Eindpunt:
POST https://sum.video/api/v1/transcript(GETwerk ook) - Verifiëring: jou sleutel in die
X-API-Key-kopstuk, ofAuthorization: Bearer <key> - Invoer:
urlofvideo_id - Opsionele
lang(versteken) - Opsionele
format:json,textofsrt
Die antwoord sê ook wat die ware taal van die onderskrifspoor is en of dit outomaties gegenereer is, sodat jy weet watter gehalte om te verwag.
Stap 1: Skep 'n API-sleutel
Teken in en skep 'n sleutel op die API-paneelbord (/dashboard/api op sum.video). Jy kan tot 5 aktiewe sleutels hê, handig om 'n toetssleutel van 'n produksiesleutel te skei. Jou eerste sleutel kom met 10 gratis krediete, genoeg vir 5 transkripsies, so jy kan alles hieronder sonder koste probeer.
Stap 2: Maak jou eerste versoek
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"}'
Omdat GET ook werk, kan jy toets vanuit 'n skrip wat net URL's bou. Gee die sleutel liefs in die kopstuk, sodat dit nie in logs beland nie.
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+ of die blaaier)
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());
}
Hou die sleutel op 'n bediener. 'n Sleutel in blaaierkode kan deur enigiemand gekopieer word wat die ontwikkelaarnutsgoed oopmaak.
Stap 3: Kies die regte formaat
| Formaat | Wat jy kry | Die beste vir |
|---|---|---|
json |
Segmente, elk met offset en duration in sekondes |
Tydstempels, skakels na 'n oomblik, verdeling volgens tyd |
text |
Gewone transkripsie | Opdragte, soekindekse, opsommings |
srt |
Inhoud van 'n onderskriflêer | Videoredigeerders, onderskrifnutsgoed |
As jy van plan is om na 'n oomblik in die video te skakel, gebruik json en bou die skakel uit die segment se offset. Om 'n LLM te voer, is text kleiner en eenvoudiger. As jy later met die hand binne 'n transkripsie wil soek, kyk hoe om binne 'n YouTube-video se transkripsie te soek.
Stap 4: Kies 'n taal
lang is by verstek en. Stel dit op die taal wat jy wil hê, byvoorbeeld de of es. Die antwoord meld die taal van die spoor wat werklik teruggestuur is, so kontroleer dit eerder as om aan te neem. 'n Video het dikwels net een onderskrifspoor, en die API gee ware onderskrifte terug, so dit vertaal nie vir jou nie.
Stap 5: Hanteer foute
Beplan van dag een vir hierdie gevalle:
404 no_transcript: die video het geen onderskrifte nie, of dit is 'n regstreekse stroom, 'n private video of 'n verwyderde video. Daar is niks om weer te probeer nie. Slaan dit oor, of vra die gebruiker vir 'n ander video.402 budget_exceeded: jy het die maandelikse kredietlimiet bereik wat jy gestel het. Sien die volgende afdeling.- Tempolimiet: elke sleutel laat 60 versoeke per minuut toe. Versprei bondeltake en vertraag wanneer jy beperk word.
- Mislukkings aan ons kant: probeer weer ná 'n kort vertraging. Dit kos niks nie.
'n Eenvoudige lus met 'n herpoging by bedienerfoute en oorslaan by 404 dek die meeste produksiebehoeftes.
Wat dit kos
Elke transkripsie kos 2 krediete. Versoeke wat geen transkripsie teruggee nie of aan sum.video se kant misluk, kos niks nie, so 'n 404 dreineer nooit jou saldo nie. Jy kan jou saldo met GET /api/v1/credits nagaan.
Krediete word in eenmalige pakkette verkoop wat nooit verval nie:
| Pakket | Prys | Per transkripsie |
|---|---|---|
| 100 krediete | $4.49 | $0.090 |
| 500 krediete | $13.99 | $0.056 |
| 2,000 krediete | $37.99 | $0.038 |
| 5,000 krediete | $74.99 | $0.030 |
Pro-intekenaars kry ook elke maand 100 bonuskrediete. Vir swaarder werk, soos om 'n hele kanaal in te neem, lees die scenario YouTube-transkripsies vir 'n RAG-toepassing op groot skaal, wat outomatiese aanvulling en begrotings dek. Sien ook die pryse.
Beperkings om te ken voordat jy bou
- Slegs video's met onderskrifte werk. Dit is die hoofrede vir
404 no_transcript. - Outomaties gegenereerde onderskrifte kan foute bevat, veral met name, aksente en tegniese terme.
- Die API gee net die transkripsie terug. Dit som nie op nie. As jy opsommings, tydstempels en klets bo-op 'n transkripsie wil hê, doen die YouTube-opsommer dit, en die transkripsiehulpmiddel is die kodevrye weergawe vir een video.
- Die amptelike YouTube Data API is hier nie 'n plaasvervanger nie. Sy metode om onderskrifte af te laai vereis toestemming om die video te wysig, so dit is bedoel vir jou eie video's (Google-dokumentasie).
Bronne
Gereelde vrae
Kan ek 'n YouTube-transkripsie kry sonder die amptelike YouTube Data API?
Ja. Die sum.video Transcript API neem 'n video-URL of -ID en gee die bestaande onderskrifte terug, sonder dat 'n Google Cloud-projek nodig is. Google se eie metode om onderskrifte af te laai vereis toestemming om die video te wysig, so dit pas net vir jou eie video's.
Transkribeer die API video's wat geen onderskrifte het nie?
Nee. Dit gee bestaande YouTube-onderskrifte terug, handgemaak of outomaties gegenereer. Video's sonder onderskrifte, regstreekse strome, private video's en verwyderde video's gee 404 no_transcript terug, en daardie versoek kos niks nie.
Hoeveel kos een transkripsie?
2 krediete per transkripsie. Pakkette wissel van 100 krediete vir $4.49 ($0.090 per transkripsie) tot 5,000 krediete vir $74.99 ($0.030 per transkripsie), en krediete verval nooit.
Watter uitvoerformate is beskikbaar?
json (segmente met offset en duration in sekondes), text en srt. Stel die format-veld in die versoek.
Hoe toets ek dit gratis?
Jou eerste API-sleutel kom met 10 gratis krediete, dit is 5 transkripsies. Pro-intekenaars kry ook elke maand 100 bonuskrediete.
Verwante leeswerk
YouTube-transkripsies vir 'n RAG-toepassing op groot skaal: krediete, outomatiese aanvulling en begrotings'n Ontwikkelaar neem 10 000 YouTube-video's in 'n RAG-toepassing in. Sien die koste, die tempolimietberekening en hoe outomatiese aanvulling en begrotings die uitgawes voorspelbaar hou.
Die beste YouTube-transkripsie-API's vergelyk: sum.video, Supadata, Transcribr en die Python-biblioteekVier maniere om YouTube-transkripsies in kode te kry, vergelyk volgens prys, limiete en betroubaarheid: sum.video, Supadata, Transcribr en youtube-transcript-api.
Nuutste plasings
YouTube-transkripsies vir 'n RAG-toepassing op groot skaal: krediete, outomatiese aanvulling en begrotings'n Ontwikkelaar neem 10 000 YouTube-video's in 'n RAG-toepassing in. Sien die koste, die tempolimietberekening en hoe outomatiese aanvulling en begrotings die uitgawes voorspelbaar hou.
Die beste YouTube-transkripsie-API's vergelyk: sum.video, Supadata, Transcribr en die Python-biblioteekVier maniere om YouTube-transkripsies in kode te kry, vergelyk volgens prys, limiete en betroubaarheid: sum.video, Supadata, Transcribr en youtube-transcript-api.