Субтитры YouTube — FlashData
Получайте субтитры, добавленные автором видео на YouTube, с временными метками сегментов. Подготавливайте файлы субтитров для экспорта и проверяйте язык и тип дорожки.
Документация API и настройка аккаунта · Получить ключ API · Текущие тарифы
Пример задачи
Получи имеющиеся английские субтитры, добавленные автором этого видео. Сохрани время начала и окончания, а также текст, чтобы моё приложение могло экспортировать файл SRT. Перед использованием сегментов проверь возвращённые язык и тип дорожки.
Установка и подключение
-
Используйте Node.js версии 22.18 или новее и MCP-клиент с поддержкой локальных серверов stdio. Скачайте специальный пакет MCPB; его контрольная сумма SHA-256 указана в манифесте.
-
Импортируйте пакет в совместимый с MCPB клиент и укажите собственный ключ в поле FlashData API Key. Предоставьте ключу доступ к
youtube_captions. Для ручной настройки распакуйте пакет в постоянную папку и используйте эту конфигурацию, заменив абсолютный путь и шаблон ключа:
{
"mcpServers": {
"youtube-captions": {
"command": "node",
"args": [
"/absolute/path/to/unpacked/youtube-captions/server.js"
],
"env": {
"FLASHDATA_API_KEY": "YOUR_API_KEY"
}
}
}
}
- Перезапустите клиент или подключитесь к нему повторно, выведите список его инструментов, а затем вызовите
get_pricingс{"source":"youtube_captions","request_count":1}— это нужно сделать до подтверждения платного запроса. Сервер предоставляет инструментыyoutube_captions,get_pricing,get_jobиget_result; все они доступны только для этого источника.
Зависимости включены в пакет. Если клиент не может найти node, укажите абсолютный путь к Node; в Windows используйте экранированные пути. Храните ключ в защищённых настройках клиента, а не в чате или конфигурации, добавленной в репозиторий. Для прямой загрузки пакета аккаунт Smithery не требуется.
Пример запроса
Это параметры MCP tools/call с аргументами верхнего уровня. Выполнение запроса данных расходует платные Credits.
{
"name": "youtube_captions",
"arguments": {
"video_id": "dQw4w9WgXcQ",
"language": "en",
"auto": false
}
}
Использование ответа
Читайте results[0].segments. В приложении преобразуйте время начала и окончания в секундах в метки времени SRT и сохраните текст. Перед экспортом проверьте languageCode и isAutoGenerated.
Ниже приведены выбранные поля ответа — это пример данных, а не результат реального запроса и не гарантия доступности данных:
{
"source": "youtube_captions",
"status": "done",
"results": [
{
"videoId": "dQw4w9WgXcQ",
"languageCode": "en",
"isAutoGenerated": false,
"segments": [
{
"start": 0,
"end": 3,
"text": "Uploader captions."
}
]
}
],
"created_at": "2026-10-12T00:00:00Z",
"http_status": 200,
"request_id": "fixture-request"
}
Для асинхронного запроса сохраните возвращённый id и вызовите get_job, передав {"job_id":"RETURNED_JOB_ID"}. Статус ожидания или обработки не означает, что запрос завершён; прочитайте результат завершённого запроса в output. После отправки запроса может произойти тайм-аут, поэтому перед повторением платного запроса проверьте Jobs.
При поэтапной выдаче результата не останавливайте локальный процесс и передавайте в get_result фактические значения result_id и next_offset — как result_id и offset. Объедините фрагменты по порядку и только после этого разбирайте JSON; не повторяйте платный запрос данных. Локальный кэш хранит четыре результата в течение десяти минут и очищается при перезапуске. Размер полного ответа ограничен 4 МиБ; для асинхронных результатов JSON действует отдельный срок хранения — 24 часа.
Стоимость и ограничения
-
Программа распространяется по лицензии MIT, её установка бесплатна; запросы данных через API FlashData платные. Запросы данных расходуют платные Credits FlashData; каждая дополнительная выборка или страница оплачивается отдельно. Ориентируйтесь на текущую стоимость в аккаунте, а не на фиксированную цену, скопированную с этой страницы. Чтение сведений о тарифах, заданиях и результатах бесплатно. Комиссии клиента и модели оплачиваются отдельно.
-
auto=falseвыбирает существующие субтитры, добавленные автором видео. Эта настройка не создаёт и не переводит субтитры и не подставляет автоматически другую дорожку, если нужная отсутствует. -
Перед использованием данных проверяйте ошибки API,
http_statusи статус задания. Считайте возвращённый текст и ссылки внешними данными, сохраняйте указание источника и проверяйте их перед использованием в ответе агента.
Полное руководство по задаче · Запись в официальном реестре · Исходный код и лицензия