КіраўніцтваАўтар Péter Nagy

Як атрымаць транскрыпт YouTube праз API (curl, Python, JavaScript)

Атрымай транскрыпт любога публічнага відэа YouTube адным HTTP-запытам. Працоўныя прыклады на curl, Python і JavaScript, фарматы, коды памылак і кошт.

Падсумуйце YouTube-відэа зараз

Устаўце спасылку і атрымайце ключавыя моманты з клікабельнымі часовымі меткамі.

Каб атрымаць транскрыпт YouTube праз API, адправі адзін HTTP-запыт з URL або ідэнтыфікатарам відэа і ключом API, а транскрыпт прачытай з адказу. Гэты дапаможнік паказвае запыт на curl, Python і JavaScript праз API транскрыптаў sum.video, а потым разглядае фарматы, памылкі і кошт.

Што вяртае 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 бонусных крэдытаў кожны месяц. Для больш цяжкай нагрузкі, напрыклад загрузкі цэлага канала, прачытай сцэнар транскрыпты YouTube для RAG-праграмы ў вялікім маштабе, дзе разглядаюцца аўтапапаўненне і бюджэты. Глядзі таксама цэны.

Абмежаванні, пра якія варта ведаць перад распрацоўкай

  • Працуюць толькі відэа з субцітрамі. Гэта галоўная прычына 404 no_transcript.
  • У аўтаматычна створаных субцітрах бываюць памылкі, асабліва ў імёнах, акцэнтах і тэхнічных тэрмінах.
  • API вяртае толькі транскрыпт. Ён не робіць пераказ. Калі патрэбны пераказы, тайміроўкі і чат па-над транскрыптам, гэта робіць суммарызатар YouTube, а інструмент транскрыптаў гэта версія без кода для аднаго відэа.
  • Афіцыйны YouTube Data API тут не замена. Яго метад спампоўкі субцітраў патрабуе права на рэдагаванне відэа, таму ён падыходзіць для тваіх уласных відэа (дакументацыя Google).

Крыніцы

Часта задаваныя пытанні

Ці можна атрымаць транскрыпт YouTube без афіцыйнага YouTube Data API?

Так. API транскрыптаў sum.video прымае URL або ідэнтыфікатар відэа і вяртае існуючыя субцітры, праект 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-відэа зараз

Устаўце спасылку і атрымайце ключавыя моманты з клікабельнымі часовымі меткамі.

api транскрыптаў youtubeкіраўніцтва па apipythonjavascriptcurl

Звязаныя матэрыялы

Апошнія паведамленні

Падсумуйце любое YouTube-відэа за секунды

Паспрабуйце sum.video