Kaip gauti „YouTube“ transkripciją naudojant API (curl, Python, JavaScript)
Gauk bet kurio viešo „YouTube“ vaizdo įrašo transkripciją viena HTTP užklausa. Veikiantys curl, Python ir JavaScript pavyzdžiai, išvesties formatai, klaidų kodai ir kaina.

Norėdamas gauti „YouTube“ transkripciją per API, išsiųsk vieną HTTP užklausą su vaizdo įrašo URL arba ID ir API raktu, o transkripciją perskaityk iš atsakymo. Šis vadovas rodo užklausą curl, Python ir JavaScript kalbomis naudojant „sum.video“ Transcript API, o tada aptaria formatus, klaidas ir kainą.
Ką grąžina API
Galinis taškas grąžina viešo „YouTube“ vaizdo įrašo esamus subtitrus, ar juos parašė kūrėjas, ar „YouTube“ sugeneravo automatiškai. Jis netranskribuoja garso. Jei vaizdo įrašas neturi subtitrų, vietoj spėjimo gausi klaidą (daugiau žemiau).
Pagrindai:
- Galinis taškas:
POST https://sum.video/api/v1/transcript(veikia irGET) - Autentifikavimas: tavo raktas antraštėje
X-API-KeyarbaAuthorization: Bearer <key> - Įvestis:
urlarbavideo_id - Neprivalomas
lang(numatytasisen) - Neprivalomas
format:json,textarbasrt
Atsakyme taip pat nurodoma tikroji subtitrų takelio kalba ir ar jis sugeneruotas automatiškai, taigi žinai, kokios kokybės tikėtis.
1 žingsnis: sukurk API raktą
Prisijunk ir sukurk raktą API skydelyje (/dashboard/api svetainėje „sum.video“). Gali turėti iki 5 aktyvių raktų, o tai patogu norint atskirti testavimo raktą nuo gamybinio. Pirmasis tavo raktas ateina su 10 nemokamų kreditų, to pakanka 5 transkripcijoms, todėl viską žemiau gali išbandyti be išlaidų.
2 žingsnis: išsiųsk pirmąją užklausą
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"}'
Kadangi veikia ir GET, gali bandyti iš skripto, kuris tik sudaro URL. Raktą geriau perduoti antraštėje, kad jis nepatektų į žurnalus.
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+“ arba naršyklė)
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());
}
Laikyk raktą serveryje. Naršyklės kode esantį raktą gali nukopijuoti kiekvienas, kas atidaro kūrėjo įrankius.
3 žingsnis: pasirink tinkamą formatą
| Formatas | Ką gauni | Geriausia |
|---|---|---|
json |
Segmentai, kiekvienas su offset ir duration sekundėmis |
Laiko žymoms, nuorodoms į konkretų momentą, skaidymui pagal laiką |
text |
Paprasta transkripcija | Užklausoms, paieškos indeksams, santraukoms |
srt |
Subtitrų failo turinys | Vaizdo įrašų redaktoriams, subtitrų įrankiams |
Jei planuoji pateikti nuorodą į konkretų vaizdo įrašo momentą, naudok json ir nuorodą sudaryk iš segmento offset. LLM maitinti text mažesnis ir paprastesnis. Jei vėliau norėsi rankiniu būdu ieškoti transkripcijoje, žr. kaip ieškoti „YouTube“ vaizdo įrašo transkripcijoje.
4 žingsnis: pasirink kalbą
lang pagal numatymą yra en. Nustatyk norimą kalbą, pavyzdžiui, de arba es. Atsakyme nurodoma iš tikrųjų grąžinto takelio kalba, todėl ją patikrink, o ne spėk. Vaizdo įrašas dažnai turi tik vieną subtitrų takelį, o API grąžina tikrus subtitrus, taigi jų tavo vietoje neišverčia.
5 žingsnis: tvarkyk klaidas
Numatyk šiuos atvejus nuo pat pirmos dienos:
404 no_transcript: vaizdo įrašas neturi subtitrų arba tai tiesioginė transliacija, privatus ar pašalintas vaizdo įrašas. Kartoti nėra ko. Praleisk jį arba paprašyk naudotojo kito vaizdo įrašo.402 budget_exceeded: pasiekei nustatytą mėnesio kreditų limitą. Žr. kitą skyrių.- Užklausų riba: kiekvienas raktas leidžia 60 užklausų per minutę. Paskirstyk paketinius darbus ir sulėtink, kai apribojama.
- Gedimai mūsų pusėje: bandyk dar kartą po trumpos pauzės. Jie nieko nekainuoja.
Paprastas ciklas, kuris kartoja esant serverio klaidoms ir praleidžia esant 404, padengia daugumą gamybos poreikių.
Kiek tai kainuoja
Kiekviena transkripcija kainuoja 2 kreditus. Užklausos, kurios negrąžina transkripcijos arba nepavyksta „sum.video“ pusėje, nieko nekainuoja, todėl 404 niekada neištuština tavo likučio. Likutį gali pamatyti su GET /api/v1/credits.
Kreditai parduodami vienkartiniais paketais, kurie niekada nebesibaigia:
| Paketas | Kaina | Už transkripciją |
|---|---|---|
| 100 kreditų | $4.49 | $0.090 |
| 500 kreditų | $13.99 | $0.056 |
| 2,000 kreditų | $37.99 | $0.038 |
| 5,000 kreditų | $74.99 | $0.030 |
„Pro“ prenumeratoriai kas mėnesį gauna ir 100 papildomų kreditų. Sunkesniam darbui, pavyzdžiui, visam kanalui įkelti, perskaityk scenarijų „YouTube“ transkripcijos RAG programai dideliu mastu, kuriame aptariamas automatinis papildymas ir biudžetai. Taip pat žr. kainas.
Apribojimai, kuriuos verta žinoti prieš kuriant
- Veikia tik vaizdo įrašai su subtitrais. Tai pagrindinė
404 no_transcriptpriežastis. - Automatiškai sugeneruotuose subtitruose gali būti klaidų, ypač su vardais, akcentais ir techniniais terminais.
- API grąžina tik transkripciją. Jis nesudaro santraukų. Jei nori santraukų, laiko žymų ir pokalbio virš transkripcijos, tai daro „YouTube“ santraukų kūrėjas, o transkripcijos įrankis yra versija be kodo vienam vaizdo įrašui.
- Oficialus „YouTube Data API“ čia nėra pakaitalas. Jo subtitrų atsisiuntimo metodas reikalauja leidimo redaguoti vaizdo įrašą, todėl skirtas tavo paties vaizdo įrašams („Google“ dokumentacija).
Šaltiniai
Dažniausiai užduodami klausimai
Ar galiu gauti „YouTube“ transkripciją be oficialaus „YouTube Data API“?
Taip. „sum.video“ Transcript API priima vaizdo įrašo URL arba ID ir grąžina esamus subtitrus, nereikalaudamas „Google Cloud“ projekto. Paties „Google“ subtitrų atsisiuntimo metodas reikalauja leidimo redaguoti vaizdo įrašą, todėl tinka tik tavo paties vaizdo įrašams.
Ar API transkribuoja vaizdo įrašus, neturinčius subtitrų?
Ne. Jis grąžina esamus „YouTube“ subtitrus, rašytus rankomis arba sugeneruotus automatiškai. Vaizdo įrašai be subtitrų, tiesioginės transliacijos, privatūs ir pašalinti vaizdo įrašai grąžina 404 no_transcript, ir ta užklausa nieko nekainuoja.
Kiek kainuoja viena transkripcija?
2 kreditai už transkripciją. Paketai prasideda nuo 100 kreditų už $4.49 ($0.090 už transkripciją) iki 5,000 kreditų už $74.99 ($0.030 už transkripciją), o kreditai niekada nebesibaigia.
Kokie išvesties formatai galimi?
json (segmentai su offset ir duration sekundėmis), text ir srt. Nustatyk lauką format užklausoje.
Kaip tai išbandyti nemokamai?
Pirmasis tavo API raktas ateina su 10 nemokamų kreditų, tai yra 5 transkripcijos. „Pro“ prenumeratoriai papildomai kas mėnesį gauna 100 papildomų kreditų.
Susiję skaitiniai
Geriausi „YouTube“ transkripcijų API palyginimas: „sum.video“, „Supadata“, „Transcribr“ ir „Python“ bibliotekaKeturi būdai gauti „YouTube“ transkripcijas kode, palyginti pagal kainą, ribas ir patikimumą: „sum.video“, „Supadata“, „Transcribr“ ir youtube-transcript-api.
„YouTube“ transkripcijos RAG programai dideliu mastu: kreditai, automatinis papildymas ir biudžetaiKūrėja įkelia 10 000 „YouTube“ vaizdo įrašų į RAG programą. Žiūrėk kainą, užklausų ribos skaičiavimą ir kaip automatinis papildymas bei biudžetai išlaiko išlaidas nuspėjamas.
Naujausi įrašai
Geriausi „YouTube“ transkripcijų API palyginimas: „sum.video“, „Supadata“, „Transcribr“ ir „Python“ bibliotekaKeturi būdai gauti „YouTube“ transkripcijas kode, palyginti pagal kainą, ribas ir patikimumą: „sum.video“, „Supadata“, „Transcribr“ ir youtube-transcript-api.
„YouTube“ transkripcijos RAG programai dideliu mastu: kreditai, automatinis papildymas ir biudžetaiKūrėja įkelia 10 000 „YouTube“ vaizdo įrašų į RAG programą. Žiūrėk kainą, užklausų ribos skaičiavimą ir kaip automatinis papildymas bei biudžetai išlaiko išlaidas nuspėjamas.