Назад в блогИнтеграции

Migrating from TranscriptAPI.com: A Field Guide

Switching a YouTube transcript integration from TranscriptAPI.com to GetYouTubeTranscript - parameter mapping, a before/after curl example, endpoint equivalents, and the real gaps that do not map 1:1.

00:06:00 · SEP 26, 2026

Краткий ответ

Параметры video_url, format и include_timestamp у TranscriptAPI.com соответствуют нашим v и language - но наш публичный API не предоставляет метки времени по сегментам, как их опция format=json. Если вам нужен только обычный текст расшифровки и метаданные, это почти прямая замена; если вы полагаетесь на метки времени по сегментам из самого ответа API, прочитайте раздел различий перед переходом.
01

Сопоставление параметров

Оба API аутентифицируются с помощью bearer-токена и принимают полный URL, короткий URL или голый ID видео. Вот как остальные параметры расшифровки TranscriptAPI соответствуют нашим:

TranscriptAPI.comGetYouTubeTranscriptПримечание
Authorization: Bearer KEYAuthorization: Bearer KEYМы также принимаем x-api-key как альтернативный заголовок.
video_urlv (или url, videoId)Те же принимаемые форматы: полный URL, короткий URL, или голый 11-символьный ID.
languagelanguageНаш принимает один код со значением по умолчанию, а не список приоритетов через запятую - запрашивайте один язык за вызов.
format=json|text(нет - всегда обычный текст)Наш ответ всегда возвращает сплющенную строку расшифровки в поле transcript, что эквивалентно их format=text.
include_timestamp(не предоставляется)Метки времени по сегментам (start/duration) сегодня отсутствуют в нашем публичном ответе - см. различия ниже.
send_metadata=true(всегда включено)title, author_name, author_url и thumbnail_url всегда есть в ответе - никакой флаг не нужен.
02

До / после

TranscriptAPI.com

curl -X GET "https://transcriptapi.com/api/v2/youtube/transcript?video_url=https://youtu.be/dQw4w9WgXcQ&language=en&send_metadata=true" \
  -H "Authorization: Bearer YOUR_API_KEY"

GetYouTubeTranscript

curl "https://getyoutubetranscript.com/api/v1/transcript?v=dQw4w9WgXcQ&language=en" \
  -H "Authorization: Bearer sk_live_..."

# => { "success": true, "data": { "video_id": "...", "language_code": "en",
#      "title": "...", "author_name": "...", "author_url": "...",
#      "thumbnail_url": "...", "transcript": "...", "word_count": 1847 } }

То же видео, один кредит в обоих случаях. Метаданные возвращаются у нас по умолчанию, так что не нужно помнить о флаге send_metadata.

03

Другие эндпоинты

TranscriptAPI.comGetYouTubeTranscriptПримечание
GET /youtube/info (бесплатно)GET /resolve?handle=... (бесплатно)Наш преобразует хендл/URL в ID канала; для метаданных на уровне видео вызовите /transcript и прочитайте поля ответа.
GET /youtube/search (1 кредит)GET /search?q=... (1 кредит/страница)Та же идея - постраничный поиск, один кредит за полученную страницу.
GET /youtube/channel/resolve (бесплатно)GET /resolve?handle=... (бесплатно)Прямой эквивалент.
GET /youtube/channel/videos (1/страница)GET /channel/videos?channel=... (1 кредит/страница)Та же модель пагинации - верните токен continuation из ответа.
GET /youtube/channel/search (1 кредит)GET /channel/search?channel=...&q=... (1 кредит/страница)Прямой эквивалент.
GET /youtube/channel/playlists, /channel/posts(нет эквивалента)Пока не предлагается - см. различия ниже.

Что не соответствует 1:1

  • Нет меток времени по сегментам в ответе API. format=json + include_timestamp=true у TranscriptAPI возвращает сегменты с start/duration; наш публичный API возвращает только сплющенную строку расшифровки. (Метки времени по сегментам существуют в нашей базе данных и обеспечивают кликабельный просмотр расшифровки на самом сайте - просто их пока нет в публичном ответе API.)
  • language здесь - это один код, а не список приоритетов. TranscriptAPI пробует список через запятую вроде de,en,asr слева направо; наш принимает один код со значением по умолчанию. Если вы полагались на цепочку резервных вариантов, повторите попытку самостоятельно с другим значением.
  • Нет эндпоинтов плейлистов канала или постов канала. У /channel/playlists и /channel/posts TranscriptAPI пока нет эквивалента здесь.

Если обычный текст расшифровки, метаданные, поиск и данные канала покрывают ваш случай использования, это почти прямая замена - зарегистрируйтесь и получите 100 бесплатных кредитов (без карты) и посмотрите полный список цен и эндпоинтов, или загляните в документацию API для полного справочника по параметрам.

Часто задаваемые вопросы о миграции

Q01

Нужно ли менять заголовок аутентификации?

Нет - оба API используют Authorization: Bearer ВАШ_КЛЮЧ. Наш также принимает x-api-key как альтернативу.

Q02

Будут ли работать мои существующие URL и ID видео?

Да - оба API принимают полный URL YouTube, короткий URL youtu.be, или голый 11-символьный ID видео в той же позиции параметра (там video_url, здесь v).

Q03

Что произойдёт, если я отправлю список языков через запятую, как в формате TranscriptAPI?

Наш параметр language ожидает один код, а не список. Значение через запятую, скорее всего, просто не совпадёт - запрашивайте один язык за вызов и повторяйте попытку с другим значением, если нужна цепочка резервных вариантов.

Q04

Могу ли я получить метки времени по сегментам из вашего API?

Сегодня нет, не из публичного ответа REST API - он возвращает сплющенный текст расшифровки. Если ваша миграция зависит от этого, подождите, пока это станет доступно, или используйте собственный просмотр расшифровки на сайте, который это поддерживает.

Q05

Бесплатно ли попробовать?

100 бесплатных кредитов при регистрации, карта не нужна - достаточно, чтобы протестировать эндпоинты расшифровки, поиска и канала перед выбором тарифа.

Похожие материалы