Kā iegūt YouTube transkriptu ar API (curl, Python, JavaScript)
Iegūsti jebkura publiska YouTube video transkriptu ar vienu HTTP pieprasījumu. Darbojoši curl, Python un JavaScript piemēri, izvades formāti, kļūdu kodi un izmaksas.

Lai iegūtu YouTube transkriptu ar API, nosūti vienu HTTP pieprasījumu ar video URL vai ID un API atslēgu, bet transkriptu izlasi no atbildes. Šajā pamācībā pieprasījums parādīts curl, Python un JavaScript, izmantojot sum.video Transcript API, un pēc tam aplūkoti formāti, kļūdas un izmaksas.
Ko API atgriež
Galapunkts atgriež publiska YouTube video esošos subtitrus, vai nu autora rakstītos, vai YouTube automātiski izveidotos. Tas netranskribē audio. Ja videoklipam nav subtitru, tu saņem kļūdu, nevis minējumu (vairāk zemāk).
Pamati:
- Galapunkts:
POST https://sum.video/api/v1/transcript(darbojas arīGET) - Autentifikācija: tava atslēga galvenē
X-API-KeyvaiAuthorization: Bearer <key> - Ievade:
urlvaivideo_id - Neobligāts
lang(noklusējumsen) - Neobligāts
format:json,textvaisrt
Atbilde arī norāda subtitru ieraksta reālo valodu un to, vai tas ir izveidots automātiski, lai tu zinātu, kādu kvalitāti gaidīt.
1. solis: izveido API atslēgu
Piesakies un izveido atslēgu API informācijas panelī (/dashboard/api vietnē sum.video). Vari turēt līdz 5 aktīvām atslēgām, kas ērti, lai atdalītu testa atslēgu no ražošanas atslēgas. Tava pirmā atslēga nāk ar 10 bezmaksas kredītiem, kas pietiek 5 transkriptiem, tāpēc visu tālāk minēto vari izmēģināt bez izmaksām.
2. solis: nosūti pirmo pieprasījumu
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"}'
Tā kā darbojas arī GET, vari testēt no skripta, kas tikai veido URL. Atslēgu labāk nodot galvenē, lai tā neiekļūtu žurnālos.
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+ vai pārlūkprogramma)
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());
}
Glabā atslēgu serverī. Pārlūkprogrammas kodā ievietotu atslēgu var nokopēt ikviens, kas atver izstrādātāja rīkus.
3. solis: izvēlies pareizo formātu
| Formāts | Ko tu saņem | Vislabāk piemērots |
|---|---|---|
json |
Segmenti, katrs ar offset un duration sekundēs |
Laika zīmogiem, saitēm uz konkrētu brīdi, dalīšanai pēc laika |
text |
Vienkāršs transkripts | Uzvednēm, meklēšanas indeksiem, kopsavilkumiem |
srt |
Subtitru faila saturs | Video redaktoriem, subtitru rīkiem |
Ja plāno veidot saiti uz konkrētu video brīdi, izmanto json un saiti veido no segmenta offset. LLM barošanai text ir mazāks un vienkāršāks. Ja vēlāk gribēsi meklēt transkriptā ar roku, skaties kā meklēt YouTube video transkriptā.
4. solis: izvēlies valodu
lang pēc noklusējuma ir en. Iestati to uz vēlamo valodu, piemēram, de vai es. Atbilde ziņo par patiešām atgrieztā ieraksta valodu, tāpēc pārbaudi to, nevis pieņem. Videoklipam bieži ir tikai viens subtitru ieraksts, un API atgriež īstus subtitrus, tāpēc tas tos tavā vietā netulko.
5. solis: apstrādā kļūdas
Plāno šos gadījumus jau no pirmās dienas:
404 no_transcript: videoklipam nav subtitru, vai arī tā ir tiešraide, privāts vai noņemts videoklips. Atkārtot nav ko. Izlaid to vai palūdz lietotājam citu videoklipu.402 budget_exceeded: esi sasniedzis iestatīto mēneša kredītu limitu. Skaties nākamo sadaļu.- Pieprasījumu ierobežojums: katra atslēga atļauj 60 pieprasījumus minūtē. Izkliedē pakešu darbus un palēnini, kad tevi ierobežo.
- Kļūmes mūsu pusē: mēģini vēlreiz pēc īsas pauzes. Tās nemaksā neko.
Vienkāršs cikls, kas atkārto servera kļūdu gadījumā un izlaiž 404 gadījumā, aptver lielāko daļu ražošanas vajadzību.
Cik tas maksā
Katrs transkripts maksā 2 kredītus. Pieprasījumi, kas neatgriež transkriptu vai neizdodas sum.video pusē, nemaksā neko, tāpēc 404 nekad neiztukšo tavu atlikumu. Atlikumu vari apskatīt ar GET /api/v1/credits.
Kredīti tiek pārdoti vienreizējās pakās, kuru derīgums nekad nebeidzas:
| Pakā | Cena | Par transkriptu |
|---|---|---|
| 100 kredīti | $4.49 | $0.090 |
| 500 kredīti | $13.99 | $0.056 |
| 2,000 kredīti | $37.99 | $0.038 |
| 5,000 kredīti | $74.99 | $0.030 |
Pro abonenti ik mēnesi saņem arī 100 bonusa kredītus. Smagākam darbam, piemēram, veselu kanālu ielādei, izlasi scenāriju YouTube transkripti RAG lietotnei lielā mērogā, kurā aplūkota automātiskā papildināšana un budžeti. Skaties arī cenas.
Ierobežojumi, kas jāzina pirms būvēšanas
- Darbojas tikai video ar subtitriem. Tas ir galvenais
404 no_transcriptiemesls. - Automātiski izveidotos subtitros var būt kļūdas, īpaši vārdos, akcentos un tehniskos terminos.
- API atgriež tikai transkriptu. Tas neveido kopsavilkumus. Ja vēlies kopsavilkumus, laika zīmogus un tērzēšanu virs transkripta, to dara YouTube kopsavilkuma veidotājs, bet transkriptu rīks ir versija bez koda vienam video.
- Oficiālais YouTube Data API šeit nav aizstājējs. Tā subtitru lejupielādes metodei nepieciešama atļauja rediģēt video, tāpēc tā paredzēta taviem pašu video (Google dokumentācija).
Avoti
Bieži uzdotie jautājumi
Vai es varu iegūt YouTube transkriptu bez oficiālā YouTube Data API?
Jā. sum.video Transcript API pieņem video URL vai ID un atgriež esošos subtitrus, un Google Cloud projekts nav vajadzīgs. Paša Google subtitru lejupielādes metodei nepieciešama atļauja rediģēt video, tāpēc tā der tikai taviem pašu video.
Vai API transkribē video, kuriem nav subtitru?
Nē. Tas atgriež esošos YouTube subtitrus, rokām rakstītus vai automātiski izveidotus. Video bez subtitriem, tiešraides, privāti un noņemti video atgriež 404 no_transcript, un šis pieprasījums nemaksā neko.
Cik maksā viens transkripts?
2 kredīti par transkriptu. Pakas ir no 100 kredītiem par $4.49 ($0.090 par transkriptu) līdz 5,000 kredītiem par $74.99 ($0.030 par transkriptu), un kredīti nekad nebeidzas.
Kādi izvades formāti ir pieejami?
json (segmenti ar offset un duration sekundēs), text un srt. Iestati lauku format pieprasījumā.
Kā to izmēģināt bez maksas?
Tava pirmā API atslēga nāk ar 10 bezmaksas kredītiem, tas ir 5 transkripti. Pro abonenti papildus ik mēnesi saņem 100 bonusa kredītus.
Saistītā lasāmviela
YouTube transkripti RAG lietotnei lielā mērogā: kredīti, automātiskā papildināšana un budžetiIzstrādātāja ielādē 10 000 YouTube video RAG lietotnē. Skaties izmaksas, pieprasījumu ierobežojuma aprēķinu un to, kā automātiskā papildināšana un budžeti padara izdevumus prognozējamus.
Labākie YouTube transkriptu API salīdzinājumā: sum.video, Supadata, Transcribr un Python bibliotēkaČetri veidi, kā iegūt YouTube transkriptus kodā, salīdzināti pēc cenas, ierobežojumiem un uzticamības: sum.video, Supadata, Transcribr un youtube-transcript-api.
Jaunākās ziņas
YouTube transkripti RAG lietotnei lielā mērogā: kredīti, automātiskā papildināšana un budžetiIzstrādātāja ielādē 10 000 YouTube video RAG lietotnē. Skaties izmaksas, pieprasījumu ierobežojuma aprēķinu un to, kā automātiskā papildināšana un budžeti padara izdevumus prognozējamus.
Labākie YouTube transkriptu API salīdzinājumā: sum.video, Supadata, Transcribr un Python bibliotēkaČetri veidi, kā iegūt YouTube transkriptus kodā, salīdzināti pēc cenas, ierobežojumiem un uzticamības: sum.video, Supadata, Transcribr un youtube-transcript-api.