youtube-skills: расширения для агента, которые дают доступ к YouTube

· 2 мин чтения
agent-skills youtube transcription claude-code research
📂 Исходный код на GitHub

Open-source набор agent skills для работы с YouTube: расшифровки видео с таймкодами, поиск видео и каналов, обход лент канала, плейлисты. Работает через TranscriptAPI, без yt-dlp и headless-браузеров.

youtube-skills: расширения для агента, которые дают доступ к YouTube

youtube-skills: расширения, которые дают агенту доступ к YouTube

Агент не умеет смотреть видео. Он умеет читать текст. Набор youtube-skills закрывает эту дыру: после установки агент получает расшифровку любого видео с YouTube, поиск по платформе и данные каналов. Всё это — обычные HTTP-запросы к REST API, без yt-dlp, без headless-браузеров и без бинарных файлов.

Сам продукт устроен просто: 12 файлов SKILL.md, в каждом — список эндпоинтов, параметры и примеры запросов. Вся логика живёт в файлах, агент читает их и сам собирает вызовы.

Почему не yt-dlp

Обычный путь «поставить yt-dlp и скачать субтитры» работает плохо в двух местах. Первое: YouTube блокирует запросы с основных облачных IP, поэтому на CI и в контейнерах yt-dlp упирается в капчу. Второе: headless-браузер — это сотни мегабайт зависимостей и отдельный процесс, который надо чинить при каждом обновлении Chrome.

Здесь всё решается на стороне сервиса. Агент отправляет один запрос к TranscriptAPI и получает JSON с текстом и таймкодами. Тот же бэкенд работает под сайтом YouTubeToTranscript.com.

Установка

Для большинства случаев нужен один скилл youtube-full — в нём есть всё сразу.

# Claude Code, Cursor, Codex, Cline, Antigravity
npx skills add ZeroPointRepo/youtube-skills --skill youtube-full

# Все 12 скиллов разом
npx skills add ZeroPointRepo/youtube-skills

# OpenClaw (ClawdBot/Moltbot)
npx clawhub@latest install youtube-full

# Hermes Agent
hermes skills install skills-sh/ZeroPointRepo/youtube-skills/skills/youtube-full

Ручная установка — обычный git clone и копирование каталога в папку скиллов агента:

git clone https://github.com/ZeroPointRepo/youtube-skills.git
cp -r youtube-skills/skills/youtube-full ~/.claude/skills/

Что внутри пакета

Скилл Зачем нужен
youtube-full Полный набор: расшифровки, поиск, каналы, плейлисты
transcript Расшифровка видео с таймкодами
youtube-search Поиск видео и каналов по всей платформе
youtube-channels Лента канала, свежие видео, разрешение @handle
youtube-playlist Список всех видео в плейлисте

Ещё семь скиллов — узкие варианты и алиасы (captions, subtitles, youtube-data, transcriptapi, yt и другие). Они лежат для подстраховки: агент найдёт нужный скилл, даже если вы переформулировали запрос. Полный список — в каталоге skills.

Как выглядит работа с агентом

После установки настройки не нужны. Пишете обычную фразу на английском или русском, агент сам выбирает эндпоинт:

Задача Пример запроса
Получить расшифровку «Сделай краткое содержание этого видео: [ссылка]»
Найти видео «Найди видео про машинное обучение»
Посмотреть канал «Что TED выложил на этой неделе?»
Разобрать плейлист «Покажи все видео из этого плейлиста»
Получить субтитры «Дай субтитры к этому видео на испанском»
Массовая обработка «Скачай расшифровки всех видео с этого канала»
Исследование темы «Найди и законспектируй 5 видео про квантовые вычисления»

API-ключ и автонастройка

Ключ нужен для всех запросов. При первом запуске агент сам проходит регистрацию: спрашивает email, просит ввести код подтверждения из письма и сохраняет ключ в конфиг агента и в файл вашего shell. Бесплатный тариф даёт 100 кредитов, карта не нужна.

Ключ можно задать и самому:

export TRANSCRIPT_API_KEY="sk_your_key_here"

В зависимости от рантайма агент кладёт ключ в разные файлы: ~/.openclaw/openclaw.json для OpenClaw, ~/.zshenv и ~/.zprofile на macOS, ~/.profile и ~/.bashrc на Linux, ~/.config/fish/config.fish для fish. Запасной вариант — файл ~/.transcriptapi с правами 600. Самый частый сбой: ключ сохранён, но агент запущен из другого shell и файл не подхватился. Помогает перезапуск агента.

Два обязательных заголовка

Каждый запрос несёт заголовок Authorization с ключом и заголовок User-Agent с именем агента. Второй заголовок обязателен, хотя выглядит необязательным: без Cloudflare отдаёт 403 с кодом 1010.

GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_URL&format=text&include_timestamp=true&send_metadata=true
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Стоимость запросов

Тариф Цена Кредиты Лимит
Free $0 100 при регистрации 300 запросов в минуту
Starter $5 в месяц 1 000 в месяц 300 запросов в минуту
Starter Annual $54 в год 1 000 в месяц 300 запросов в минуту

Большинство операций стоит один кредит. Разрешение @handle и список свежих видео — бесплатно. Поиск и обход ленты стоят один кредит за страницу. Ошибочные запросы кредиты не списывают.

Что реально лежит в SKILL.md

Файлы скиллов — не обёртка над CLI, а подробная документация по API. Например, в SKILL.md навыка youtube-full есть таблица стоимости каждого эндпоинта, правила валидации (@handle, UC-ID или URL для канала; префиксы PL, UU, LL, FL, OL для плейлиста), список кодов ошибок и готовые сценарии: «поиск → выбор видео → расшифровка» для исследования темы и «свежие видео → расшифровка» для мониторинга канала.

Есть полезные мелочи про формат ответа. Флаг include_timestamp=false даёт чистый текст — его удобно переводить и анализировать. В ленте канала поле members_only равно true только у видео с пометкой «Members only», и у таких видео нет счётчика просмотров. На вкладке Shorts поля lengthText и publishedTimeText приходят пустыми: сам YouTube их не публикует.

Если что-то пошло не так

Симптом Причина Что делать
401 Unauthorized Ключ не задан или опечатан Проверьте TRANSCRIPT_API_KEY и начало sk_
402 Payment Required Кончились кредиты Проверьте баланс на transcriptapi.com/billing
403 с кодом 1010 Нет заголовка User-Agent Добавьте имя агента в User-Agent
404 Not Found У видео нет субтитров или оно не публичное Откройте ссылку в браузере и проверьте, есть ли дорожка
408 Request Timeout Временная нагрузка на стороне YouTube Повторите запрос через пару секунд
422 Validation Error Неверный формат параметра Каналы принимают @handle, URL или UC-ID; плейлисты — префиксы PL, UU, LL, FL, OL
429 Too Many Requests Упёрлись в лимит Подождите и посмотрите заголовок Retry-After

Отдельные случаи: расшифровки стримов появляются только после окончания трансляции, пока идёт эфир их нет. Многие видео имеют субтитры только на языке оригинала — тогда просите нужный язык параметром или перевод результата.

Итог

Пакет решает одну задачу узко и понятно: дать агенту текст из YouTube. Файлы SKILL.md честно описывают все эндпоинты, примеры запросов готовы к копированию, а платный слой можно не трогать — бесплатных 100 кредитов хватает на первые эксперименты. Лицензия MIT, вклад принимается, правила есть в CONTRIBUTING.md.

Один нюанс стоит держать в голове: это не самостоятельный продукт, а тонкая обвязка над коммерческим API. Сами скиллы бесплатны, кредиты — нет. Зависимость от одного внешнего сервиса здесь никуда не спрятана.

Источник: https://github.com/ZeroPointRepo/youtube-skills