Slik henter du YouTube-transkripsjon med API (curl, Python, JavaScript)
Hent transkripsjonen til en hvilken som helst offentlig YouTube-video med én HTTP-forespørsel. Fungerende eksempler i curl, Python og JavaScript, utdataformater, feilkoder og kostnader.

For å hente en YouTube-transkripsjon med API sender du én HTTP-forespørsel med videoens URL eller ID og en API-nøkkel, og leser transkripsjonen fra svaret. Denne veiledningen viser forespørselen i curl, Python og JavaScript med sum.video Transcript API, og tar deretter for seg formater, feil og kostnader.
Hva API-et returnerer
Endepunktet returnerer de eksisterende undertekstene til en offentlig YouTube-video, enten de er skrevet av skaperen eller automatisk generert av YouTube. Det transkriberer ikke lyd. Hvis en video ikke har undertekster, får du en feil i stedet for en gjetning (mer om det nedenfor).
Det grunnleggende:
- Endepunkt:
POST https://sum.video/api/v1/transcript(GETfungerer også) - Autentisering: nøkkelen din i headeren
X-API-Key, ellerAuthorization: Bearer <key> - Inndata:
urlellervideo_id - Valgfri
lang(standarden) - Valgfri
format:json,textellersrt
Svaret oppgir også det faktiske språket på undertekstsporet og om det er automatisk generert, så du vet hvilken kvalitet du kan forvente.
Trinn 1: Opprett en API-nøkkel
Logg inn og opprett en nøkkel i API-dashbordet (/dashboard/api på sum.video). Du kan ha opptil 5 aktive nøkler, noe som er praktisk for å skille en testnøkkel fra en produksjonsnøkkel. Den første nøkkelen din kommer med 10 gratis kreditter, nok til 5 transkripsjoner, så du kan prøve alt under uten kostnad.
Trinn 2: Send den første forespørselen
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"}'
Siden GET også fungerer, kan du teste fra et skript som bare bygger URL-er. Send helst nøkkelen i headeren, slik at den ikke havner i loggene.
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+ eller nettleseren)
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());
}
Hold nøkkelen på en server. En nøkkel i nettleserkode kan kopieres av alle som åpner utviklerverktøyene.
Trinn 3: Velg riktig format
| Format | Hva du får | Best for |
|---|---|---|
json |
Segmenter, hvert med offset og duration i sekunder |
Tidsstempler, lenker til et bestemt øyeblikk, oppdeling etter tid |
text |
Vanlig transkripsjon | Prompter, søkeindekser, sammendrag |
srt |
Innholdet i en undertekstfil | Videoredigeringsprogrammer, undertekstverktøy |
Hvis du skal lenke til et øyeblikk i videoen, bruker du json og bygger lenken ut fra segmentets offset. For å mate en LLM er text mindre og enklere. Hvis du senere vil søke manuelt i en transkripsjon, kan du se slik søker du i transkripsjonen til en YouTube-video.
Trinn 4: Velg språk
lang er en som standard. Sett det til språket du vil ha, for eksempel de eller es. Svaret oppgir språket på sporet som faktisk ble returnert, så sjekk det i stedet for å anta. En video har ofte bare ett undertekstspor, og API-et returnerer ekte undertekster, så det oversetter dem ikke for deg.
Trinn 5: Håndter feil
Planlegg for disse tilfellene fra første dag:
404 no_transcript: videoen har ingen undertekster, eller er en direktesending, en privat video eller en fjernet video. Det er ingenting å prøve på nytt. Hopp over den, eller be brukeren om en annen video.402 budget_exceeded: du har nådd den månedlige kredittgrensen du satte. Se neste avsnitt.- Hastighetsgrense: hver nøkkel tillater 60 forespørsler i minuttet. Spre batchjobber utover, og senk tempoet når du blir begrenset.
- Feil hos oss: prøv på nytt etter en kort pause. De koster ingenting.
En enkel løkke som prøver på nytt ved serverfeil og hopper over ved 404, dekker de fleste produksjonsbehov.
Hva det koster
Hver transkripsjon koster 2 kreditter. Forespørsler som ikke returnerer en transkripsjon, eller som feiler hos sum.video, koster ingenting, så en 404 tømmer aldri saldoen din. Du kan se saldoen med GET /api/v1/credits.
Kreditter selges i engangspakker som aldri utløper:
| Pakke | Pris | Per transkripsjon |
|---|---|---|
| 100 kreditter | $4.49 | $0.090 |
| 500 kreditter | $13.99 | $0.056 |
| 2,000 kreditter | $37.99 | $0.038 |
| 5,000 kreditter | $74.99 | $0.030 |
Pro-abonnenter får også 100 bonuskreditter hver måned. For tyngre arbeid, som å hente inn en hel kanal, kan du lese scenarioet YouTube-transkripsjoner for en RAG-app i stor skala, som tar for seg automatisk påfyll og budsjetter. Se også prisene.
Begrensninger du bør kjenne til før du bygger
- Bare videoer med undertekster fungerer. Dette er hovedårsaken til
404 no_transcript. - Automatisk genererte undertekster kan inneholde feil, særlig med navn, aksenter og fagtermer.
- API-et returnerer bare transkripsjonen. Det lager ikke sammendrag. Hvis du vil ha sammendrag, tidsstempler og chat oppå en transkripsjon, gjør YouTube-oppsummereren det, og transkripsjonsverktøyet er versjonen uten kode for én video.
- Det offisielle YouTube Data API er ikke en erstatning her. Metoden for å laste ned undertekster krever tillatelse til å redigere videoen, så den er ment for dine egne videoer (Googles dokumentasjon).
Kilder
Ofte stilte spørsmål
Kan jeg hente en YouTube-transkripsjon uten det offisielle YouTube Data API?
Ja. sum.video Transcript API tar imot en videos URL eller ID og returnerer de eksisterende undertekstene, uten at du trenger et Google Cloud-prosjekt. Googles egen metode for å laste ned undertekster krever tillatelse til å redigere videoen, så den passer bare for dine egne videoer.
Transkriberer API-et videoer som ikke har undertekster?
Nei. Det returnerer eksisterende YouTube-undertekster, manuelt skrevne eller automatisk genererte. Videoer uten undertekster, direktesendinger, private og fjernede videoer returnerer 404 no_transcript, og den forespørselen koster ingenting.
Hva koster én transkripsjon?
2 kreditter per transkripsjon. Pakkene går fra 100 kreditter for $4.49 ($0.090 per transkripsjon) til 5,000 kreditter for $74.99 ($0.030 per transkripsjon), og kreditter utløper aldri.
Hvilke utdataformater finnes?
json (segmenter med offset og duration i sekunder), text og srt. Sett feltet format i forespørselen.
Hvordan kan jeg prøve det gratis?
Den første API-nøkkelen din kommer med 10 gratis kreditter, altså 5 transkripsjoner. Pro-abonnenter får i tillegg 100 bonuskreditter hver måned.
Relatert lesning
YouTube-transkripsjoner for en RAG-app i stor skala: kreditter, automatisk påfyll og budsjetterEn utvikler henter inn 10 000 YouTube-videoer i en RAG-app. Se kostnaden, regnestykket for hastighetsgrensen og hvordan automatisk påfyll og budsjetter holder utgiftene forutsigbare.
De beste YouTube-transkripsjons-API-ene sammenlignet: sum.video, Supadata, Transcribr og Python-biblioteketFire måter å hente YouTube-transkripsjoner i kode på, sammenlignet på pris, grenser og pålitelighet: sum.video, Supadata, Transcribr og youtube-transcript-api.
Siste innlegg
YouTube-transkripsjoner for en RAG-app i stor skala: kreditter, automatisk påfyll og budsjetterEn utvikler henter inn 10 000 YouTube-videoer i en RAG-app. Se kostnaden, regnestykket for hastighetsgrensen og hvordan automatisk påfyll og budsjetter holder utgiftene forutsigbare.
De beste YouTube-transkripsjons-API-ene sammenlignet: sum.video, Supadata, Transcribr og Python-biblioteketFire måter å hente YouTube-transkripsjoner i kode på, sammenlignet på pris, grenser og pålitelighet: sum.video, Supadata, Transcribr og youtube-transcript-api.