Claude Info
AI и агенты

Youtube-Transcript-API

Youtube-Transcript-Dev/Youtube-Transcript-API

API для массового извлечения, транскрибации и перевода контента YouTube. Поддерживает субтитры, аудиотранскрипцию (ASR), пакетную обработку до 100 видео и более 100 языков. Подходит для AI-разработчиков и data-инженеров.

Установка

terminal
bash
npm install youtube-audio-transcript-api

README


Почему YouTubeTranscript.dev?

Большинство инструментов для работы с субтитрами YouTube ломаются, когда у видео нет субтитров. Наш — нет. API извлекает существующие субтитры и транскрибирует напрямую из аудио с помощью AI-распознавания речи — охватывая 100% видео на YouTube.

  • Молниеносная скорость — кэшированные транскрипты возвращаются менее чем за 2 секунды
  • 🎙 Аудиотранскрипция (ASR) — нет субтитров? Транскрибируем из аудиодорожки
  • 🌍 100+ языков — мультиязычная поддержка с переводом по запросу
  • 📤 Несколько форматов — временны́е метки, абзацы, пословный вывод
  • 📚 Пакетная обработка — до 100 видео за один запрос
  • 🔔 Вебхуки — асинхронная обработка с доставкой на ваш эндпоинт
  • 💰 Предсказуемые тарифы — 1 кредит за транскрипт, никаких сюрпризов
  • 🔒 Готово для продакшена — SLA с аптаймом 99.9%

Получить бесплатный API-ключ


Обзор API V2

V2 — это упрощённая модель транскриптов, принадлежащих пользователю. Приоритет отдаётся быстрым попаданиям в кэш, согласованным ответам и отсутствию неожиданных переводов, если вы явно не запросили конкретный язык.

Как работает V2

  1. Проверка ваших транскриптов (0 кредитов) — если вы уже получали транскрипт, он бесплатен
  2. Получение субтитров (1 кредит) — если транскрипт ещё не получен
  3. Перевод (1 кредит за 2 500 символов) — только при явном запросе конкретного языка
  4. ASR-транскрипция (1 кредит за 90 секунд) — асинхронно через вебхук, для видео без субтитров

Эндпоинты

МетодЭндпоинтОписание
POST/api/v2/transcribeИзвлечь транскрипт одного видео
POST/api/v2/batchИзвлечь транскрипты до 100 видео
GET/api/v2/jobs/{job_id}Проверить статус ASR-задачи
GET/api/v2/batch/{batch_id}Проверить статус пакетного запроса

Стоимость в кредитах

МетодСтоимостьСкоростьПримечания
Нативные субтитры1 кредит5–10 секундЛучшее качество, точный язык
Перевод1 кредит за 2 500 символов5–10 секундТолько при запросе language
ASR (аудио)1 кредит за 90 секунд2–20 минутАсинхронно через вебхук

Быстрый старт

1. Получите API-ключ

Зарегистрируйтесь на youtubetranscript.dev и получите API-ключ в Dashboard.

2. Извлечение транскрипта

bash
curl -X POST https://youtubetranscript.dev/api/v2/transcribe \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"video": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'

3. С параметрами

bash
curl -X POST https://youtubetranscript.dev/api/v2/transcribe \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video": "dQw4w9WgXcQ",
    "language": "es",
    "format": "timestamp"
  }'

4. Пакетный запрос (до 100 видео)

bash
curl -X POST https://youtubetranscript.dev/api/v2/batch \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video_ids": [
      "dQw4w9WgXcQ",
      "https://www.youtube.com/watch?v=VIDEO_ID_2",
      "VIDEO_ID_3"
    ]
  }'

5. ASR с вебхуком (видео без субтитров)

bash
curl -X POST https://youtubetranscript.dev/api/v2/transcribe \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video": "VIDEO_ID",
    "source": "asr",
    "webhook_url": "https://yoursite.com/webhook"
  }'

Возвращает ответ немедленно со статусом status: "processing". Результаты доставляются на вебхук по готовности.


Справочник запросов

Заголовки

ЗаголовокОбязателенЗначение
AuthorizationДаBearer YOUR_API_KEY
Content-TypeДаapplication/json

Поля запроса

ПолеОбязателенОписание
videoДа (одиночный)URL YouTube или 11-символьный ID видео
video_idsДа (пакетный)Массив ID или URL. До 100 за запрос
languageНетКод ISO 639-1 (например, "es", "fr"). Не указывайте, чтобы получить лучший доступный вариант без перевода
sourceНетauto (по умолчанию), manual или asr
formatНетtimestamp, paragraphs или words
webhook_urlНетURL для асинхронной доставки. Обязателен при source="asr"

Поведение вебхуков

  • Запросы с webhook_url возвращают ответ немедленно со статусом status: "processing"
  • Пакетные запросы немедленно возвращают кэшированные результаты и ставят в очередь только отсутствующие элементы

Похожие скиллы