Paano kumuha ng transcript ng YouTube gamit ang API (curl, Python, JavaScript)
Kunin ang transcript ng anumang pampublikong video sa YouTube sa isang HTTP request lang. May mga gumaganang halimbawa sa curl, Python at JavaScript, mga format ng output, error code at gastos.

Para makakuha ng transcript ng YouTube gamit ang API, magpadala ng isang HTTP request na may URL o ID ng video at isang API key, at basahin ang transcript mula sa sagot. Ipinapakita ng gabay na ito ang request sa curl, Python at JavaScript gamit ang Transcript API ng sum.video, at tinatalakay pagkatapos ang mga format, error at gastos.
Ano ang ibinabalik ng API
Ibinabalik ng endpoint ang mga umiiral na caption ng isang pampublikong video sa YouTube, isinulat man ng gumawa o awtomatikong nabuo ng YouTube. Hindi nito itina-transcribe ang audio. Kapag walang caption ang isang video, error ang makukuha mo sa halip na hula (mas marami sa ibaba).
Ang mga batayan:
- Endpoint:
POST https://sum.video/api/v1/transcript(gumagana rin angGET) - Authentication: ang iyong key sa header na
X-API-Key, oAuthorization: Bearer <key> - Input:
urlovideo_id - Opsyonal na
lang(defaulten) - Opsyonal na
format:json,textosrt
Sinasabi rin ng sagot ang totoong wika ng caption track at kung awtomatiko itong nabuo, para alam mo kung anong kalidad ang aasahan.
Hakbang 1: Gumawa ng API key
Mag-sign in at gumawa ng key sa API dashboard (/dashboard/api sa sum.video). Puwede kang magkaroon ng hanggang 5 aktibong key, na kapaki-pakinabang para paghiwalayin ang key para sa pagsubok at key para sa production. Ang una mong key ay may kasamang 10 libreng credit, sapat para sa 5 transcript, kaya masusubukan mo ang lahat ng nasa ibaba nang walang gastos.
Hakbang 2: Gawin ang una mong request
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"}'
Dahil gumagana rin ang GET, puwede kang sumubok mula sa script na gumagawa lang ng mga URL. Mas mabuting ibigay ang key sa header para hindi ito mapunta sa mga log.
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+ o browser)
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());
}
Ilagay ang key sa isang server. Ang key na nasa code ng browser ay maaaring kopyahin ng sinumang magbukas ng developer tools.
Hakbang 3: Piliin ang tamang format
| Format | Ano ang makukuha mo | Pinakamainam para sa |
|---|---|---|
json |
Mga segment, bawat isa ay may offset at duration sa segundo |
Mga timestamp, link sa isang sandali, paghahati ayon sa oras |
text |
Payak na transcript | Mga prompt, search index, buod |
srt |
Nilalaman ng subtitle file | Mga video editor, mga tool sa subtitle |
Kung balak mong mag-link sa isang sandali sa video, gamitin ang json at buuin ang link mula sa offset ng segment. Para pakainin ang isang LLM, mas maliit at mas simple ang text. Kung gusto mong maghanap nang mano-mano sa loob ng transcript sa ibang pagkakataon, tingnan ang paano maghanap sa loob ng transcript ng isang video sa YouTube.
Hakbang 4: Pumili ng wika
Ang lang ay en bilang default. Itakda ito sa wikang gusto mo, halimbawa de o es. Iniuulat ng sagot ang wika ng track na talagang naibalik, kaya suriin ito sa halip na ipagpalagay. Madalas isa lang ang caption track ng isang video, at tunay na caption ang ibinabalik ng API, kaya hindi nito isinasalin para sa iyo.
Hakbang 5: Asikasuhin ang mga error
Paghandaan ang mga kasong ito mula sa unang araw:
404 no_transcript: walang caption ang video, o ito ay live stream, pribadong video o inalis na video. Walang puwedeng subukan ulit. Laktawan ito, o humingi sa user ng ibang video.402 budget_exceeded: umabot ka na sa buwanang limitasyon ng credit na itinakda mo. Tingnan ang susunod na seksyon.- Limitasyon sa bilis: bawat key ay pumapayag ng 60 request kada minuto. Ihiwa-hiwalay ang mga batch job, at magdahan-dahan kapag nilimitahan ka.
- Mga pagkabigo sa panig namin: subukan ulit pagkatapos ng maikling pagkaantala. Wala itong gastos.
Ang isang simpleng loop na umuulit sa mga error ng server at lumalaktaw sa 404 ay sumasakop sa karamihan ng pangangailangan sa production.
Magkano ang gastos
Bawat transcript ay nagkakahalaga ng 2 credit. Ang mga request na hindi nagbabalik ng transcript, o pumapalpak sa panig ng sum.video, ay walang gastos, kaya hindi kailanman nauubos ng 404 ang balanse mo. Makikita mo ang balanse mo gamit ang GET /api/v1/credits.
Ang mga credit ay ibinebenta sa isahang pakete na hindi nag-e-expire kailanman:
| Pakete | Presyo | Bawat transcript |
|---|---|---|
| 100 credit | $4.49 | $0.090 |
| 500 credit | $13.99 | $0.056 |
| 2,000 credit | $37.99 | $0.038 |
| 5,000 credit | $74.99 | $0.030 |
Ang mga subscriber ng Pro ay nakakakuha rin ng 100 bonus credit bawat buwan. Para sa mas mabigat na gawain, gaya ng pag-ingest ng buong channel, basahin ang senaryong mga transcript ng YouTube para sa isang RAG app sa malakihang saklaw, na sumasaklaw sa awtomatikong top-up at mga budget. Tingnan din ang mga presyo.
Mga limitasyong dapat malaman bago ka magtayo
- Mga video lang na may caption ang gumagana. Ito ang pangunahing dahilan ng
404 no_transcript. - Ang mga awtomatikong nabuong caption ay maaaring may pagkakamali, lalo na sa mga pangalan, punto at teknikal na termino.
- Transcript lang ang ibinabalik ng API. Hindi ito nagbubuod. Kung gusto mo ng buod, mga timestamp at chat sa ibabaw ng transcript, ang tagabuod ng YouTube ang gumagawa nito, at ang tool ng transcript ay ang bersyong walang code para sa isang video.
- Hindi kapalit dito ang opisyal na YouTube Data API. Ang paraan nito sa pag-download ng caption ay nangangailangan ng pahintulot na mag-edit ng video, kaya para ito sa sarili mong mga video (dokumentasyon ng Google).
Mga pinagmulan
Mga Madalas Itanong
Makakakuha ba ako ng transcript ng YouTube nang walang opisyal na YouTube Data API?
Oo. Tumatanggap ang Transcript API ng sum.video ng URL o ID ng video at ibinabalik ang mga umiiral na caption, nang hindi nangangailangan ng proyekto sa Google Cloud. Ang sariling paraan ng Google sa pag-download ng caption ay nangangailangan ng pahintulot na mag-edit ng video, kaya sa sarili mo lang na mga video ito angkop.
Itina-transcribe ba ng API ang mga video na walang caption?
Hindi. Ibinabalik nito ang mga umiiral na caption ng YouTube, mano-manong isinulat o awtomatikong nabuo. Ang mga video na walang caption, live stream, pribado at inalis na video ay nagbabalik ng 404 no_transcript, at walang gastos ang request na iyon.
Magkano ang isang transcript?
2 credit bawat transcript. Ang mga pakete ay mula sa 100 credit sa halagang $4.49 ($0.090 bawat transcript) hanggang 5,000 credit sa halagang $74.99 ($0.030 bawat transcript), at hindi nag-e-expire ang mga credit.
Anong mga format ng output ang available?
json (mga segment na may offset at duration sa segundo), text at srt. Itakda ang field na format sa request.
Paano ko ito susubukan nang libre?
Ang una mong API key ay may kasamang 10 libreng credit, ibig sabihin 5 transcript. Ang mga subscriber ng Pro ay nakakakuha pa ng 100 bonus credit bawat buwan.
Kaugnay na babasahin
Mga transcript ng YouTube para sa isang RAG app sa malakihang saklaw: mga credit, awtomatikong top-up at mga budgetNag-iingest ang isang developer ng 10,000 video sa YouTube sa isang RAG app. Tingnan ang gastos, ang limitasyon sa bilis, at kung paano pinananatiling mahuhulaan ng auto top-up at budget ang gastos.
Pinakamahusay na mga transcript API ng YouTube, pinaghambing: sum.video, Supadata, Transcribr at ang Python libraryApat na paraan para kumuha ng mga transcript ng YouTube sa code, pinaghambing batay sa presyo, limitasyon at pagiging maaasahan: sum.video, Supadata, Transcribr at youtube-transcript-api.
Mga pinakabagong post
Mga transcript ng YouTube para sa isang RAG app sa malakihang saklaw: mga credit, awtomatikong top-up at mga budgetNag-iingest ang isang developer ng 10,000 video sa YouTube sa isang RAG app. Tingnan ang gastos, ang limitasyon sa bilis, at kung paano pinananatiling mahuhulaan ng auto top-up at budget ang gastos.
Pinakamahusay na mga transcript API ng YouTube, pinaghambing: sum.video, Supadata, Transcribr at ang Python libraryApat na paraan para kumuha ng mga transcript ng YouTube sa code, pinaghambing batay sa presyo, limitasyon at pagiging maaasahan: sum.video, Supadata, Transcribr at youtube-transcript-api.