როგორ მივიღოთ YouTube-ის ტრანსკრიპტი API-ით (curl, Python, JavaScript)
მიიღე ნებისმიერი საჯარო YouTube ვიდეოს ტრანსკრიპტი ერთი HTTP მოთხოვნით. მოქმედი მაგალითები curl-ში, Python-სა და JavaScript-ში, გამოტანის ფორმატები, შეცდომის კოდები და ხარჯი.

YouTube-ის ტრანსკრიპტის API-ით მისაღებად გააგზავნე ერთი HTTP მოთხოვნა ვიდეოს URL-ით ან ID-ით და API გასაღებით, და წაიკითხე ტრანსკრიპტი პასუხიდან. ეს გზამკვლევი აჩვენებს მოთხოვნას curl-ში, Python-სა და JavaScript-ში sum.video-ს Transcript API-ის გამოყენებით, შემდეგ კი განიხილავს ფორმატებს, შეცდომებს და ხარჯს.
რას აბრუნებს API
ბოლო წერტილი აბრუნებს საჯარო YouTube ვიდეოს არსებულ სუბტიტრებს, იქნება ეს ავტორის დაწერილი თუ YouTube-ის მიერ ავტომატურად შექმნილი. ის ხმას არ ტრანსკრიბირებს. თუ ვიდეოს სუბტიტრები არ აქვს, ვარაუდის ნაცვლად შეცდომას მიიღებ (დეტალები ქვემოთ).
საფუძვლები:
- ბოლო წერტილი:
POST https://sum.video/api/v1/transcript(GET-იც მუშაობს) - ავთენტიფიკაცია: შენი გასაღები
X-API-Keyსათაურში, ანAuthorization: Bearer <key> - შეყვანა:
urlანvideo_id - არასავალდებულო
lang(ნაგულისხმევიen) - არასავალდებულო
format:json,textანsrt
პასუხი ასევე გეუბნება სუბტიტრების ტრეკის რეალურ ენას და იმას, ავტომატურად არის თუ არა შექმნილი, რომ იცოდე რა ხარისხს ელოდო.
ნაბიჯი 1: შექმენი API გასაღები
შედი და შექმენი გასაღები API პანელში (/dashboard/api sum.video-ზე). შეგიძლია გქონდეს 5-მდე აქტიური გასაღები, რაც მოსახერხებელია სატესტო და საწარმოო გასაღების განცალკევებისთვის. შენი პირველი გასაღები მოდის 10 უფასო კრედიტით, რაც 5 ტრანსკრიპტისთვის საკმარისია, ამიტომ ყველაფერი ქვემოთ ხარჯის გარეშე შეგიძლია სცადო.
ნაბიჯი 2: გააგზავნე პირველი მოთხოვნა
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-იც მუშაობს, შეგიძლია გამოსცადო სკრიპტიდან, რომელიც მხოლოდ URL-ებს აგებს. გასაღები სჯობს სათაურში გადასცე, რომ ლოგებში არ მოხვდეს.
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+ ან ბრაუზერი)
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());
}
შეინახე გასაღები სერვერზე. ბრაუზერის კოდში მოთავსებულ გასაღებს გადაიწერს ნებისმიერი, ვინც დეველოპერის ინსტრუმენტებს გახსნის.
ნაბიჯი 3: აირჩიე სწორი ფორმატი
| ფორმატი | რას იღებ | საუკეთესოა |
|---|---|---|
json |
სეგმენტები, თითოეულს აქვს offset და duration წამებში |
დროის ნიშნულებისთვის, ვიდეოს კონკრეტულ მომენტზე ბმულებისთვის, დროით დაყოფისთვის |
text |
უბრალო ტრანსკრიპტი | პრომპტებისთვის, ძიების ინდექსებისთვის, რეზიუმეებისთვის |
srt |
სუბტიტრების ფაილის შიგთავსი | ვიდეორედაქტორებისთვის, სუბტიტრების ინსტრუმენტებისთვის |
თუ გეგმავ ვიდეოს კონკრეტულ მომენტზე ბმულის გაკეთებას, გამოიყენე json და ააგე ბმული სეგმენტის offset-იდან. LLM-ისთვის მისაწოდებლად text უფრო პატარა და მარტივია. თუ მოგვიანებით გინდა ტრანსკრიპტში ხელით ძებნა, იხილე როგორ ვეძებოთ YouTube ვიდეოს ტრანსკრიპტში.
ნაბიჯი 4: აირჩიე ენა
lang-ის ნაგულისხმევი მნიშვნელობაა en. დააყენე სასურველი ენა, მაგალითად de ან es. პასუხი გვატყობინებს რეალურად დაბრუნებული ტრეკის ენას, ამიტომ გადაამოწმე და ნუ ივარაუდებ. ვიდეოს ხშირად მხოლოდ ერთი სუბტიტრების ტრეკი აქვს, API კი რეალურ სუბტიტრებს აბრუნებს, ამიტომ შენთვის არ თარგმნის.
ნაბიჯი 5: დაამუშავე შეცდომები
ეს შემთხვევები პირველივე დღიდან გაითვალისწინე:
404 no_transcript: ვიდეოს სუბტიტრები არ აქვს, ან ეს არის პირდაპირი ეთერი, პირადი ან წაშლილი ვიდეო. განმეორებით საცდელი არაფერია. გამოტოვე ან სთხოვე მომხმარებელს სხვა ვიდეო.402 budget_exceeded: მიაღწიე შენ მიერ დაყენებულ ყოველთვიურ კრედიტის ლიმიტს. იხილე შემდეგი განყოფილება.- სიჩქარის ლიმიტი: თითოეული გასაღები უშვებს 60 მოთხოვნას წუთში. გადაანაწილე ჯგუფური სამუშაოები და შეანელე, როცა გზღუდავენ.
- ჩვენი მხარის წარუმატებლობები: სცადე ხელახლა მცირე პაუზის შემდეგ. ისინი არაფერს ღირს.
მარტივი ციკლი, რომელიც სერვერის შეცდომებზე იმეორებს, 404-ზე კი გამოტოვებს, მოიცავს წარმოების საჭიროებების უმეტესობას.
რა ღირს
თითოეული ტრანსკრიპტი ღირს 2 კრედიტი. მოთხოვნები, რომლებიც ტრანსკრიპტს არ აბრუნებს ან sum.video-ს მხრიდან მარცხდება, არაფერს ღირს, ამიტომ 404 არასდროს ცარიელებს შენს ბალანსს. ბალანსის ნახვა შეგიძლია GET /api/v1/credits-ით.
კრედიტები იყიდება ერთჯერად პაკეტებად, რომლებიც არასდროს იწურება:
| პაკეტი | ფასი | ერთ ტრანსკრიპტზე |
|---|---|---|
| 100 კრედიტი | $4.49 | $0.090 |
| 500 კრედიტი | $13.99 | $0.056 |
| 2,000 კრედიტი | $37.99 | $0.038 |
| 5,000 კრედიტი | $74.99 | $0.030 |
Pro-ს გამომწერები ყოველთვიურად იღებენ 100 ბონუს კრედიტსაც. უფრო მძიმე დატვირთვისთვის, მაგალითად მთელი არხის ჩასატვირთად, წაიკითხე სცენარი YouTube-ის ტრანსკრიპტები RAG აპლიკაციისთვის დიდი მასშტაბით, სადაც განხილულია ავტომატური შევსება და ბიუჯეტები. იხილე ასევე ფასები.
შეზღუდვები, რომლებიც აგებამდე უნდა იცოდე
- მუშაობს მხოლოდ სუბტიტრებიანი ვიდეოები. ეს არის
404 no_transcript-ის მთავარი მიზეზი. - ავტომატურად შექმნილ სუბტიტრებში შეიძლება შეცდომები იყოს, განსაკუთრებით სახელებში, აქცენტებსა და ტექნიკურ ტერმინებში.
- API აბრუნებს მხოლოდ ტრანსკრიპტს. ის არ აჯამებს. თუ ტრანსკრიპტზე დაყრდნობით გინდა რეზიუმეები, დროის ნიშნულები და ჩატი, ამას აკეთებს YouTube-ის შემაჯამებელი, ხოლო ტრანსკრიპტის ინსტრუმენტი ერთი ვიდეოსთვის კოდის გარეშე ვერსიაა.
- ოფიციალური YouTube Data API აქ ჩანაცვლება არ არის. მისი სუბტიტრების ჩამოტვირთვის მეთოდი მოითხოვს ვიდეოს რედაქტირების უფლებას, ამიტომ განკუთვნილია შენი საკუთარი ვიდეოებისთვის (Google-ის დოკუმენტაცია).
წყაროები
ხშირად დასმული კითხვები
შემიძლია თუ არა YouTube-ის ტრანსკრიპტის მიღება ოფიციალური YouTube Data API-ის გარეშე?
დიახ. sum.video-ს Transcript API იღებს ვიდეოს URL-ს ან ID-ს და აბრუნებს არსებულ სუბტიტრებს, Google Cloud პროექტის გარეშე. Google-ის საკუთარი სუბტიტრების ჩამოტვირთვის მეთოდი მოითხოვს ვიდეოს რედაქტირების უფლებას, ამიტომ მხოლოდ შენი საკუთარი ვიდეოებისთვის ვარგა.
ტრანსკრიბირებს თუ არა API ვიდეოებს, რომლებსაც სუბტიტრები არ აქვთ?
არა. ის აბრუნებს YouTube-ის არსებულ სუბტიტრებს, ხელით დაწერილს ან ავტომატურად შექმნილს. ვიდეოები სუბტიტრების გარეშე, პირდაპირი ეთერები, პირადი და წაშლილი ვიდეოები აბრუნებს 404 no_transcript-ს და ეს მოთხოვნა არაფერი ღირს.
რა ღირს ერთი ტრანსკრიპტი?
2 კრედიტი ერთ ტრანსკრიპტზე. პაკეტები იწყება 100 კრედიტიდან $4.49-ად ($0.090 ერთ ტრანსკრიპტზე) და სრულდება 5,000 კრედიტით $74.99-ად ($0.030 ერთ ტრანსკრიპტზე), ხოლო კრედიტები არასდროს იწურება.
რა გამოტანის ფორმატებია ხელმისაწვდომი?
json (სეგმენტები offset და duration-ით წამებში), text და srt. დააყენე format ველი მოთხოვნაში.
როგორ გავსინჯო უფასოდ?
შენი პირველი API გასაღები მოდის 10 უფასო კრედიტით, ანუ 5 ტრანსკრიპტით. Pro-ს გამომწერები ამას გარდა ყოველთვიურად იღებენ 100 ბონუს კრედიტს.
მსგავსი სტატიები
YouTube-ის ტრანსკრიპტები RAG აპლიკაციისთვის დიდი მასშტაბით: კრედიტები, ავტომატური შევსება და ბიუჯეტებიდეველოპერი 10 000 YouTube ვიდეოს RAG აპლიკაციაში ტვირთავს. იხილე ხარჯი, სიჩქარის ლიმიტის გამოთვლა და როგორ ინარჩუნებს ავტომატური შევსება და ბიუჯეტები ხარჯს პროგნოზირებადს.
YouTube-ის ტრანსკრიპტის საუკეთესო API-ების შედარება: sum.video, Supadata, Transcribr და Python ბიბლიოთეკაYouTube-ის ტრანსკრიპტების კოდით მიღების ოთხი გზა, შედარებული ფასით, ლიმიტებითა და საიმედოობით: sum.video, Supadata, Transcribr და youtube-transcript-api.
ბოლო პოსტები
YouTube-ის ტრანსკრიპტები RAG აპლიკაციისთვის დიდი მასშტაბით: კრედიტები, ავტომატური შევსება და ბიუჯეტებიდეველოპერი 10 000 YouTube ვიდეოს RAG აპლიკაციაში ტვირთავს. იხილე ხარჯი, სიჩქარის ლიმიტის გამოთვლა და როგორ ინარჩუნებს ავტომატური შევსება და ბიუჯეტები ხარჯს პროგნოზირებადს.
YouTube-ის ტრანსკრიპტის საუკეთესო API-ების შედარება: sum.video, Supadata, Transcribr და Python ბიბლიოთეკაYouTube-ის ტრანსკრიპტების კოდით მიღების ოთხი გზა, შედარებული ფასით, ლიმიტებითა და საიმედოობით: sum.video, Supadata, Transcribr და youtube-transcript-api.