НұсқаулықтарАвторы Péter Nagy

API арқылы YouTube транскриптін қалай алуға болады (curl, Python, JavaScript)

Кез келген ашық YouTube бейнесінің транскриптін бір HTTP сұрауымен ал. curl, Python және JavaScript-тегі жұмыс істейтін мысалдар, шығыс пішімдері, қате кодтары және құны.

YouTube видеосын қазір қорытындыла

Сілтемені қойып, баспада уақыт белгілері бар негізгі тұстарын ал.

YouTube транскриптін API арқылы алу үшін бейненің URL мекенжайымен немесе ID-мен және API кілтімен бір HTTP сұрауын жібер де, транскриптті жауаптан оқы. Бұл нұсқаулық sum.video Transcript API арқылы сұрауды curl, Python және JavaScript тілдерінде көрсетеді, содан кейін пішімдерді, қателерді және құнды қарастырады.

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 транскриптке жеткілікті, сондықтан төмендегінің бәрін шығынсыз байқап көре аласың.

YouTube видеосын қазір қорытындыла

Сілтемені қойып, баспада уақыт белгілері бар негізгі тұстарын ал.

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 бонус кредит те алады. Ауыр жұмыс үшін, мысалы, тұтас арнаны жүктеу үшін, автоматты толықтыру мен бюджеттерді қамтитын үлкен ауқымдағы RAG қолданбасына арналған YouTube транскрипттері сценарийін оқы. Бағаларды да қара.

Құрмас бұрын білетін шектеулер

  • Тек субтитрлері бар бейнелер жұмыс істейді. Бұл 404 no_transcript үшін басты себеп.
  • Автоматты түрде жасалған субтитрлерде қателер болуы мүмкін, әсіресе есімдерде, акценттерде және техникалық терминдерде.
  • API тек транскриптті қайтарады. Ол қорытындыламайды. Егер транскрипттің үстінде қысқаша мазмұндар, уақыт белгілері және чат қаласаң, мұны YouTube қорытындылағышы жасайды, ал транскрипт құралы бір бейнеге арналған кодсыз нұсқа.
  • Ресми YouTube Data API мұнда алмастырғыш емес. Оның субтитрлерді жүктеу әдісі бейнені өңдеуге рұқсатты талап етеді, сондықтан ол сенің өз бейнелеріңе арналған (Google құжаттамасы).

Дереккөздер

Жиі қойылатын сұрақтар

Ресми YouTube Data API-сіз YouTube транскриптін алуға бола ма?

Иә. 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 видеосын қазір қорытындыла

Сілтемені қойып, баспада уақыт белгілері бар негізгі тұстарын ал.

youtube транскрипт apiapi нұсқаулығыpythonjavascriptcurl

Ұқсас мақалалар

Соңғы жазбалар

Кез келген YouTube видеосын секунд ішінде қорытындыла

sum.video қолданып көру