API ilə YouTube transkriptini necə əldə etmək olar (curl, Python, JavaScript)
İstənilən açıq YouTube videosunun transkriptini bir HTTP sorğusu ilə əldə et. İşləyən curl, Python və JavaScript nümunələri, çıxış formatları, xəta kodları və xərclər.

API ilə YouTube transkriptini əldə etmək üçün videonun URL-i və ya ID-si ilə API açarını göndərən bir HTTP sorğusu göndər və transkripti cavabdan oxu. Bu bələdçi sorğunu sum.video Transcript API ilə curl, Python və JavaScript-də göstərir, sonra formatlara, xətalara və xərclərə keçir.
API nə qaytarır
Son nöqtə açıq YouTube videosunun mövcud subtitrlərini qaytarır: istər müəllifin yazdığı, istərsə YouTube-un avtomatik yaratdığı. O, səsi mətnə çevirmir. Videonun subtitri yoxdursa, təxmin əvəzinə xəta alırsan (aşağıda daha ətraflı).
Əsaslar:
- Son nöqtə:
POST https://sum.video/api/v1/transcript(GETdə işləyir) - Autentifikasiya: açarın
X-API-Keybaşlığında, yaxudAuthorization: Bearer <key> - Giriş:
urlvə yavideo_id - İstəyə bağlı
lang(susmaya görəen) - İstəyə bağlı
format:json,textvə yasrt
Cavab həm də subtitr trekinin real dilini və onun avtomatik yaradılıb-yaradılmadığını bildirir, beləliklə hansı keyfiyyətə gözləmək lazım olduğunu bilirsən.
1-ci addım: API açarı yarat
Daxil ol və API panelində (sum.video-da /dashboard/api) açar yarat. Aktiv açarların sayı 5-ə qədər ola bilər, bu da test açarını istehsal açarından ayırmaq üçün əlverişlidir. İlk açarınla 10 pulsuz kredit gəlir, bu 5 transkript üçün kifayətdir, beləliklə aşağıdakıların hamısını xərcsiz sınaya bilərsən.
2-ci addım: İlk sorğunu göndər
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"}'
GET də işlədiyindən, yalnız URL qurur skriptdən də sınaya bilərsən. Açarın loqlara düşməməsi üçün onu başlıqda ötürmək daha yaxşıdır.
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+ və ya brauzer)
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());
}
Açarı serverdə saxla. Brauzer koduna qoyulmuş açarı tərtibatçı alətlərini açan hər kəs kopyalaya bilər.
3-cü addım: Düzgün formatı seç
| Format | Nə alırsan | Ən yaxşı nə üçün |
|---|---|---|
json |
Hər biri saniyə ilə offset və duration olan seqmentlər |
Zaman damğaları, videonun müəyyən anına keçidlər, zamana görə bölmə |
text |
Sadə transkript | Promptlar, axtarış indeksləri, xülasələr |
srt |
Subtitr faylının məzmunu | Video redaktorları, subtitr alətləri |
Videonun müəyyən anına keçid vermək istəyirsənsə, json istifadə et və keçidi seqmentin offset dəyərindən qur. LLM-ə vermək üçün text daha kiçik və sadədir. Sonra transkript daxilində əl ilə axtarmaq istəsən, YouTube videosunun transkripti daxilində necə axtarmaq olar yazısına bax.
4-cü addım: Dil seç
lang susmaya görə en-dir. Onu istədiyin dilə təyin et, məsələn de və ya es. Cavab əslində qaytarılan trekin dilini bildirir, ona görə fərz etmək əvəzinə yoxla. Videonun çox vaxt yalnız bir subtitr treki olur, API isə real subtitrləri qaytarır, yəni onları sənin üçün tərcümə etmir.
5-ci addım: Xətaları idarə et
Bu halları ilk gündən nəzərə al:
404 no_transcript: videonun subtitri yoxdur, ya da canlı yayım, gizli video və ya silinmiş videodur. Təkrar cəhd etməyə dəyməz. Onu keç, ya da istifadəçidən başqa video istə.402 budget_exceeded: təyin etdiyin aylıq kredit limitinə çatdın. Növbəti bölməyə bax.- Sürət limiti: hər açar dəqiqədə 60 sorğuya icazə verir. Toplu işləri aralıqla işlət və məhdudlaşdırılanda yavaşla.
- Bizim tərəfdəki nasazlıqlar: qısa gecikmədən sonra yenidən cəhd et. Onlar heç nəyə başa gəlmir.
Server xətalarında yenidən cəhd edən və 404-də keçən sadə dövr istehsalın əksər ehtiyaclarını ödəyir.
Nəyə başa gəlir
Hər transkript 2 kredit tutur. Transkript qaytarmayan və ya sum.video tərəfində uğursuz olan sorğular heç nəyə başa gəlmir, belə ki 404 balansını heç vaxt azaltmır. Balansı GET /api/v1/credits ilə görə bilərsən.
Kreditlər heç vaxt başa çatmayan birdəfəlik paketlərlə satılır:
| Paket | Qiymət | Transkript başına |
|---|---|---|
| 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 abunəçiləri hər ay 100 bonus kredit də alır. Daha ağır iş yükü üçün, məsələn bütöv kanalı yükləmək üçün, avtomatik doldurma və büdcələri əhatə edən ssenarini, böyük miqyasda RAG tətbiqi üçün YouTube transkriptləri oxu. Qiymətlərə də bax.
Qurmazdan əvvəl bilməli olduğun məhdudiyyətlər
- Yalnız subtitri olan videolar işləyir.
404 no_transcript-in əsas səbəbi budur. - Avtomatik yaradılmış subtitrlərdə, xüsusən adlarda, vurğularda və texniki terminlərdə səhvlər ola bilər.
- API yalnız transkripti qaytarır. Xülasə etmir. Transkriptin üstündə xülasə, zaman damğaları və çat istəyirsənsə, bunu YouTube xülasəçisi edir, transkript aləti isə bir video üçün kodsuz versiyadır.
- Rəsmi YouTube Data API burada əvəz deyil. Onun subtitr yükləmə metodu videonu redaktə etmək icazəsi tələb edir, ona görə sənin öz videoların üçündür (Google sənədi).
Mənbələr
Tez-tez verilən suallar
Rəsmi YouTube Data API olmadan YouTube transkripti ala bilərəmmi?
Bəli. sum.video Transcript API videonun URL-ini və ya ID-sini qəbul edir və mövcud subtitrləri qaytarır, Google Cloud layihəsi lazım deyil. Google-un öz subtitr yükləmə metodu videonu redaktə etmək icazəsi tələb edir, ona görə yalnız öz videolarına yarayır.
API subtitri olmayan videoları transkriptə çevirirmi?
Xeyr. O, əl ilə yazılmış və ya avtomatik yaradılmış mövcud YouTube subtitrlərini qaytarır. Subtitri olmayan videolar, canlı yayımlar, gizli və silinmiş videolar 404 no_transcript qaytarır və bu sorğu heç nəyə başa gəlmir.
Bir transkript nəyə başa gəlir?
Transkript başına 2 kredit. Paketlər 100 kredit üçün $4.49-dan ($0.090 transkript başına) 5,000 kredit üçün $74.99-a ($0.030 transkript başına) qədərdir və kreditlər heç vaxt başa çatmır.
Hansı çıxış formatları mövcuddur?
json (saniyə ilə offset və duration olan seqmentlər), text və srt. Sorğuda format sahəsini təyin et.
Onu pulsuz necə sınayım?
İlk API açarınla 10 pulsuz kredit gəlir, yəni 5 transkript. Pro abunəçiləri hər ay əlavə 100 bonus kredit də alır.
Əlaqəli oxu
Böyük miqyasda RAG tətbiqi üçün YouTube transkriptləri: kreditlər, avtomatik doldurma və büdcələrBir tərtibatçı 10 000 YouTube videosunu RAG tətbiqinə yükləyir. Xərcə, sürət limiti hesabına və avtomatik doldurma ilə büdcələrin xərci necə proqnozlaşdırıla bilən etdiyinə bax.
Ən yaxşı YouTube transkript API-ləri müqayisədə: sum.video, Supadata, Transcribr və Python kitabxanasıYouTube transkriptlərini kodla əldə etməyin dörd yolu qiymət, limitlər və etibarlılığa görə müqayisədə: sum.video, Supadata, Transcribr və youtube-transcript-api.
Son yazılar
Böyük miqyasda RAG tətbiqi üçün YouTube transkriptləri: kreditlər, avtomatik doldurma və büdcələrBir tərtibatçı 10 000 YouTube videosunu RAG tətbiqinə yükləyir. Xərcə, sürət limiti hesabına və avtomatik doldurma ilə büdcələrin xərci necə proqnozlaşdırıla bilən etdiyinə bax.
Ən yaxşı YouTube transkript API-ləri müqayisədə: sum.video, Supadata, Transcribr və Python kitabxanasıYouTube transkriptlərini kodla əldə etməyin dörd yolu qiymət, limitlər və etibarlılığa görə müqayisədə: sum.video, Supadata, Transcribr və youtube-transcript-api.