YouTube Transcript API
Ena zahteva, celoten prepis. Plačate samo videoposnetke, ki jih pridobite.
Pridobite brezplačen ključ APIHitri začetek
- Prijavite se in ustvarite ključ API na nadzorni plošči API. Dobite 10 brezplačnih kreditov (5 prepisov).
- Ključ pošljite v glavi X-API-Key skupaj z URL-jem YouTube ali ID-jem videoposnetka.
- Ko potrebujete več, kupite paket kreditov ali vklopite samodejno polnjenje.
curl -X POST https://sum.video/api/v1/transcript \
-H "X-API-Key: sv_live_your_key" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "lang": "en"}'Zahteva
POST /api/v1/transcript
url: URL YouTube (povezava watch, youtu.be, shorts, embed ali live). Uporabite to ali video_id.video_id: 11-mestni ID videoposnetka YouTube.lang: Želeni jezik podnapisov, na primer en, de ali pt-BR. Privzeto en. Če tega jezika ni, se vrne izvirna sled, odgovor pa navede njen dejanski jezik.format: json (segmenti s časovnimi oznakami, privzeto), text ali srt.
import requests
response = requests.post(
"https://sum.video/api/v1/transcript",
headers={"X-API-Key": "sv_live_your_key"},
json={"video_id": "dQw4w9WgXcQ", "lang": "en", "format": "text"},
timeout=120,
)
print(response.json()["text"])const response = 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({ url: "https://youtu.be/dQw4w9WgXcQ" }),
});
const { segments, credits_remaining } = await response.json();Odgovor
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"is_generated": false,
"credits_used": 2,
"credits_remaining": 98,
"segments": [
{ "text": "We're no strangers to love", "offset": 18.64, "duration": 3.24 }
]
}Napake
| 401 | invalid_key | Ključ API manjka, je napačen ali preklican. |
| 400 | invalid_input | URL-ja ali ID-ja videoposnetka ni bilo mogoče prebrati. |
| 402 | insufficient_credits | Vaše stanje je pod 2 kreditoma. |
| 402 | budget_exceeded | Dosegli ste mesečno omejitev kreditov, ki ste jo nastavili. |
| 404 | no_transcript | Videoposnetek nima podnapisov ali je zaseben, v živo ali odstranjen. Ni zaračunano. |
| 429 | rate_limited | Več kot 60 zahtev na minuto z enim ključem. Počakajte toliko sekund, kot jih navaja Retry-After. |
| 502 | upstream_error | YouTube ni odgovoril pravočasno. Ni zaračunano, poskusite pozneje. |
Preverite stanje
curl https://sum.video/api/v1/credits -H "X-API-Key: sv_live_your_key"Cene
Vsak prepis stane 2 kredita. Krediti nikoli ne potečejo. Naročniki Pro vsak mesec prejmejo 100 dodatnih kreditov.
| Paket | Krediti | Prepisi | Cena | Na prepis |
|---|---|---|---|---|
| Starter | 100 | 50 | 4,49 $ | 0,090 $ |
| Pro | 500 | 250 | 13,99 $ | 0,056 $ |
| Scale | 2000 | 1000 | 37,99 $ | 0,038 $ |
| Business | 5000 | 2500 | 74,99 $ | 0,030 $ |
Samodejno polnjenje, proračuni in opozorila
- Samodejno polnjenje kupi paket s shranjeno kartico, ko stanje pade pod prag, ki ga izberete.
- Mesečni proračun polnjenja omeji, koliko lahko porabi samodejno polnjenje, mesečna omejitev kreditov pa ustavi zahteve, ko je dosežena.
- Opozorila po e-pošti vas obvestijo, ko je stanje nizko, ko dosežete 80 % mesečne omejitve ali ko polnjenje ne uspe.
Omejitve in poštena uporaba
60 zahtev na minuto na ključ, do 5 aktivnih ključev na račun. API vrača podnapise, ki že obstajajo na YouTubu; zvoka ne prepisuje. Odgovorni ste, da prepise uporabljate v skladu s pravicami lastnikov videoposnetkov in pogoji YouTuba.
Pogosta vprašanja
- Ali za isti videoposnetek plačam znova?
- Da, vsaka uspešna zahteva stane 2 kredita, vendar ponovljene videoposnetke postrežemo iz predpomnilnika v milisekundah.
- Kaj se zgodi, če videoposnetek nima podnapisov?
- Prejmete napako no_transcript in krediti se ne odštejejo.
- Ali je združljiv z drugimi API-ji za prepise?
- Zahteva in odgovor sledita običajni strukturi url, lang in segments, zato zamenjava običajno pomeni le spremembo osnovnega URL-ja in ključa.