# Навык агента транскриптов YouTube

> Скачивайте транскрипты видео, субтитры и обложки YouTube по URL или ID видео. Поддерживает несколько языков, перевод, главы и идентификацию говорящих для улучшения доступности контента. Начните бесплатно за считанные секунды.

- Canonical: https://nanoskill.ai/ru/skills/youtube-transcript
- Markdown: https://nanoskill.ai/ru/skills/youtube-transcript.md
- Author: JimLiu
- Published: 2026-06-03T05:58:31.787Z
- Updated: 2026-07-15T13:36:15.347Z
- Language: ru
- Source type: github
- Popularity signal: 1040

## Sources

- https://github.com/JimLiu/baoyu-skills

## Install

```shell
npx skills add https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-youtube-transcript
```

## About

Навык загрузчика транскриптов YouTube предоставляет надежное решение для извлечения полной информации из видео YouTube. Этот навык позволяет пользователям легко скачивать полные транскрипты, субтитры и даже обложки видео YouTube, просто указав URL или ID видео. Он предназначен для создателей контента, исследователей и всех, кому необходимо преобразовать устный контент в текст, предлагая такие функции, как поддержка нескольких языков, возможности перевода и расширенные опции структурирования.

Используя прямой доступ к InnerTube API YouTube и умный резервный вариант с \`yt-dlp\`, навык обеспечивает надежное и эффективное получение данных без необходимости личных API-ключей. Он предлагает гибкие форматы вывода, включая Markdown для детального анализа с временными метками и маркерами глав, и SRT для стандартной интеграции субтитров. Кроме того, он поддерживает сегментацию глав из описаний видео и предоставляет рабочий процесс для идентификации говорящих на основе ИИ, создавая хорошо организованный и атрибутированный текст.

Благодаря интеллектуальному кешированию навык минимизирует избыточные сетевые запросы, делая последующие операции с тем же видео исключительно быстрыми. Будь то анализ видеоконтента, создание доступных субтитров, перевод материалов для глобальной аудитории или просто извлечение метаданных и миниатюр видео, этот навык упрощает процесс, предоставляя мощный инструмент для управления контентом YouTube.

## Key features

- **Прямой доступ к YouTube**: Осуществляет прямой доступ к InnerTube API YouTube для быстрого получения транскриптов, автоматически переключаясь на \`yt-dlp\`, если прямой API заблокирован, обеспечивая надёжный доступ без ключей API.
- **Поддержка нескольких языков и перевод**: Укажите предпочитаемые языки для транскриптов и переведите их на целевой язык, делая контент доступным для глобальной аудитории.
- **Сегментация по главам и идентификация говорящих**: Автоматически сегментирует транскрипты по главам видео и поддерживает последующую обработку ИИ для идентификации говорящих, предоставляя структурированный и атрибутированный текст.
- **Гибкие форматы вывода**: Создаёт транскрипты в формате Markdown с временными метками или файлы субтитров SRT, подходящие для различных применений от анализа контента до видеоплееров.
- **Умное кэширование для эффективности**: Кэширует необработанные данные видео, метаданные и сегментированные транскрипты, обеспечивая быстрое переформатирование и уменьшая сетевые запросы при последующих обращениях к тому же видео.

## Use cases

- **Создание транскриптов YouTube для анализа контента**: Создатели контента и исследователи могут быстро получать полные транскрипты YouTube, включая временные метки и метки глав, для анализа видеоконтента, извлечения ключевой информации или преобразования устного контента в текстовые статьи.
- **Создание файлов субтитров для доступности**: Видеоредакторы и специалисты по доступности могут генерировать файлы субтитров SRT из видео YouTube, обеспечивая доступность контента для слабослышащей аудитории или тех, кто предпочитает потреблять контент без звука.
- **Перевод видеоконтента для глобального охвата**: Маркетологи и преподаватели могут переводить транскрипты YouTube на несколько языков, расширяя охват своего видеоконтента на неносителей языка и улучшая глобальное вовлечение.
- **Извлечение метаданных и изображений обложек**: Пользователи могут легко извлекать метаданные видео и высококачественные изображения обложек, что полезно для каталогизации, продвижения в социальных сетях или создания визуальных ресурсов, связанных с видеоконтентом.

## Result preview

Ознакомьтесь с профессиональным отчетом об анализе видео, созданным с помощью этого навыка.

![A presentation cover slide featuring a TED Talk analysis titled 'This Is How Kids Should Be Learning with AI'. The slide uses a bold red background with large white headline text centered prominently across the page. Beneath the title, the speaker and event are identified as 'Priya Lakhani | TEDNext 2025', accompanied by the subtitle 'TED Talk Analysis & Knowledge Report'. The lower portion of the slide contains a thumbnail image from the TED presentation showing the speaker on stage alongside the text 'AI Isn't a Shortcut to Learning'. A teal horizontal accent bar runs along the bottom edge, creating visual contrast. The overall design resembles a professional report or presentation cover summarizing key insights from a TED Talk about artificial intelligence and education.](https://file.nanoskill.ai/youtube-transcript-outcome1.png)

![A report page titled '\[ Executive Summary \]' from a TED Talk analysis on artificial intelligence and education. The page summarizes key arguments presented by education entrepreneur Priya Lakhani at TEDNext 2025, discussing the impact of AI in classrooms, the risks of students using AI to avoid learning, and the importance of productive struggle in effective education. Several paragraphs explain how neuroscience-informed AI systems can support deeper learning when designed to challenge rather than replace student effort. A section titled 'Key Statistics at a Glance' highlights major findings using four large color-coded statistic cards. The statistics include 20% of UK students leaving secondary school without adequate reading and writing skills, 74% of teachers considering leaving the profession within three years due to workload, one in five students using AI to complete all homework assignments, and over 40 billion data points collected on how children learn. The layout uses a clean report style with a red section header, structured text blocks, and colorful infographic-style data highlights to emphasize key educational challenges and opportunities.](https://file.nanoskill.ai/youtube-transcript-outcome2.png)

![A report page titled '\[ The Four Pillars of Learning \]' that presents four evidence-based learning principles supported by cognitive science and educational research. The page is organized into four color-coded sections: Retrieval Practice, Spacing, Generation, and Reflection. Each section includes a concise explanation of the learning principle and a highlighted 'Classroom Applications' box containing practical implementation examples. Retrieval Practice emphasizes recalling information from memory through activities such as flashcards, self-testing, and closed-book quizzes. Spacing focuses on distributing learning over time using spaced repetition and interleaved study sessions. Generation encourages learners to produce answers themselves through prediction, fill-in-the-blank exercises, and open-ended questioning. Reflection highlights structured self-assessment and feedback processes that help students evaluate progress, identify learning goals, and address knowledge gaps. The page uses a clean educational report layout with colored headers, explanatory text, and application callout boxes to summarize effective learning strategies for classrooms and AI-supported education.](https://file.nanoskill.ai/youtube-transcript-outcome3.png)

![A report page from a TED Talk analysis featuring two major sections: 'Neuroscience: The London Taxi Study' and 'AI in Education: Well-Designed vs. Poorly Used.' The first section explains a neuroscience study of London black cab drivers who memorize thousands of city streets to pass 'The Knowledge' exam. It describes how brain scans revealed that experienced drivers developed a larger hippocampus, demonstrating that sustained mental effort and navigation challenges can physically strengthen the brain. A highlighted key insight box emphasizes that mental effort is essential for durable learning, expertise development, and human creativity rather than being a flaw in the learning process. The second section presents a side-by-side comparison of educational AI usage. The left panel, labeled 'AI Well-Designed,' lists benefits such as identifying learning patterns, predicting forgetting, encouraging answer generation, providing targeted feedback, personalizing instruction, supporting teachers, and reducing workload. The right panel, labeled 'AI Poorly Used,' outlines risks including students using AI to complete all work, avoiding genuine learning, replacing thinking with shortcuts, creating false confidence, confusing fluency with understanding, and reducing productive struggle. The layout uses contrasting green and red comparison panels, educational report styling, and structured visual hierarchy to highlight the difference between AI that supports learning and AI that undermines it.](https://file.nanoskill.ai/youtube-transcript-outcome4.png)

## Result walkthrough

### Установить

Добавьте навык агента транскриптов YouTube в своего ИИ-агента.

![A screenshot showing the installation process of the 'baoyu-youtube-transcript' AI agent skill from a GitHub repository using an NPX command. At the top, a blue command banner displays the installation command for adding the skill from the GitHub repository. Below, a conversational interface explains the installation workflow, including handling an interactive installation prompt, detecting that the process did not complete automatically, rerunning the command with a '-y' flag to bypass prompts, and explicitly targeting the Hermes Agent environment. The log then describes creating a symbolic link from the agent skills directory to the Hermes skills directory so the skill can be recognized by the Hermes Agent. A final confirmation states that the 'baoyu-youtube-transcript' skill was successfully installed, linked, and is available for use through a skill invocation command. The interface uses a clean chat-style layout with gray response panels, dark blue command highlighting, and monospaced code snippets for file paths and terminal commands.](https://file.nanoskill.ai/youtube-transcript-install.png)

### Предоставьте контент

Поделитесь ссылкой на YouTube и укажите желаемый формат вывода.

![A screenshot showing a prompt and response workflow for a YouTube transcript analysis skill. The top section contains a dark blue prompt panel describing an AI-powered content research and knowledge extraction system designed to analyze YouTube videos and transform them into structured knowledge assets. The prompt outlines requirements such as extracting complete transcripts, metadata, chapter structures, timestamps, speaker distinctions, key topics, major insights, statistics, examples, and actionable takeaways. It also lists supported output formats including executive summaries, study notes, blog articles, social media content, newsletter drafts, and research reports. Additional instructions emphasize transcript quality evaluation, improved readability, information hierarchy, redundancy removal, and generating a polished final deliverable. The requested output is a visually engaging PDF report with chapter navigation, highlighted takeaways, and presentation-ready layouts. Beneath the prompt, a gray response panel shows the AI acknowledging that the skill has been loaded successfully but explaining that a YouTube URL is still required before transcript extraction and report generation can begin. The interface uses a clean chat-style layout with large rounded panels, white text on a dark blue background, and structured instructional formatting.](https://file.nanoskill.ai/youtube-transcript-task.png)

### Извлеките инсайты

Создавайте структурированные транскрипты, резюме, ключевые выводы и многоразовый контент.

![A presentation cover slide for a TED Talk analysis and knowledge report. The slide features a bold red background with a teal accent bar running along the bottom edge. Centered at the top is the large white title 'This Is How Kids Should Be Learning with AI.' Below the title, the speaker attribution reads 'Priya Lakhani | TEDNext 2025,' followed by the subtitle 'TED Talk Analysis & Knowledge Report' in italicized white text. In the center of the slide is a thumbnail image from the TED Talk showing Priya Lakhani on stage. The thumbnail includes the prominent message 'AI Isn't a Shortcut to Learning' alongside the TED logo. The overall design resembles a professional research report cover, using strong typography, high contrast colors, and a clean layout to introduce an educational analysis focused on artificial intelligence, learning science, and the future of education.](https://file.nanoskill.ai/youtube-transcript-outcome.png)

## Skill definition

# Транскрипт YouTube

Загружает расшифровки (субтитры/титры) из видео YouTube. Работает как с созданными вручную, так и с автоматически сгенерированными транскриптами. Не требует API-ключа или браузера — использует InnerTube API YouTube напрямую и автоматически переключается на `yt-dlp`, когда YouTube блокирует прямой путь API.

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

## Директория скриптов

Скрипты в поддиректории `scripts/`. `{baseDir}` = путь к директории этого SKILL.md. Определение среды выполнения `${BUN_X}`: если `bun` установлен → `bun`; если доступен `npx` → `npx -y bun`; иначе предложить установить bun. Замените `{baseDir}` и `${BUN_X}` на фактические значения.

| Скрипт | Назначение |
|--------|---------|
| `scripts/main.ts` | CLI для загрузки транскриптов |

## Использование

```bash
# По умолчанию: markdown с метками времени (английский)
${BUN_X} {baseDir}/scripts/main.ts <youtube-url-or-id>

# Указать языки (в порядке приоритета)
${BUN_X} {baseDir}/scripts/main.ts <url> --languages zh,en,ja

# Без меток времени
${BUN_X} {baseDir}/scripts/main.ts <url> --no-timestamps

# С сегментацией по главам
${BUN_X} {baseDir}/scripts/main.ts <url> --chapters

# С идентификацией говорящих (требуется постобработка ИИ)
${BUN_X} {baseDir}/scripts/main.ts <url> --speakers

# Файл субтитров SRT
${BUN_X} {baseDir}/scripts/main.ts <url> --format srt

# Перевести транскрипт
${BUN_X} {baseDir}/scripts/main.ts <url> --translate zh-Hans

# Показать доступные транскрипты
${BUN_X} {baseDir}/scripts/main.ts <url> --list

# Принудительно перезапросить (игнорировать кэш)
${BUN_X} {baseDir}/scripts/main.ts <url> --refresh
```

## Опции

| Опция | Описание | По умолчанию |
|--------|-------------|---------|
| `<url-or-id>` | URL YouTube или ID видео (можно несколько) | Обязательно |
| `--languages <codes>` | Коды языков, через запятую, в порядке приоритета | `en` |
| `--format <fmt>` | Формат вывода: `text`, `srt` | `text` |
| `--translate <code>` | Перевести на указанный код языка | |
| `--list` | Показать доступные транскрипты вместо загрузки | |
| `--timestamps` | Включать метки времени `[ЧЧ:ММ:СС → ЧЧ:ММ:СС]` на каждый абзац | вкл |
| `--no-timestamps` | Отключить метки времени | |
| `--chapters` | Сегментация по главам из описания видео | |
| `--speakers` | Необработанный транскрипт с метаданными для идентификации говорящих | |
| `--exclude-generated` | Пропустить автоматически сгенерированные транскрипты | |
| `--exclude-manually-created` | Пропустить транскрипты, созданные вручную | |
| `--refresh` | Принудительно перезапросить, игнорировать кэшированные данные | |
| `-o, --output <path>` | Сохранить в указанный файл | авто-генерация |
| `--output-dir <dir>` | Базовая директория вывода | `youtube-transcript` |

## Необязательные переменные окружения

| Переменная | Описание |
|----------|-------------|
| `YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER` | Передаётся в `yt-dlp --cookies-from-browser` при откате, например `chrome`, `safari`, `firefox` или `chrome:Profile 1` |

## Входные форматы

Допускаются любые из следующих вариантов ввода видео:
- Полный URL: `https://www.youtube.com/watch?v=dQw4w9WgXcQ`
- Короткий URL: `https://youtu.be/dQw4w9WgXcQ`
- URL встраивания: `https://www.youtube.com/embed/dQw4w9WgXcQ`
- URL Shorts: `https://www.youtube.com/shorts/dQw4w9WgXcQ`
- ID видео: `dQw4w9WgXcQ`

## Форматы вывода

| Формат | Расширение | Описание |
|--------|-----------|-------------|
| `text` | `.md` | Markdown с frontmatter (включая `description`), заголовок, краткое содержание, опционально TOC/обложка/метки времени/главы/говорящие |
| `srt` | `.srt` | Формат субтитров SubRip для видеоплееров |

## Выходная директория

```
youtube-transcript/
├── .index.json                          # Сопоставление ID видео → путь директории (для поиска в кэше)
└── {channel-slug}/{title-full-slug}/
    ├── meta.json                        # Метаданные видео (название, канал, описание, длительность, главы и т.д.)
    ├── transcript-raw.json              # Необработанные фрагменты транскрипта из API YouTube (кэшировано)
    ├── transcript-sentences.json        # Транскрипт, сегментированный по предложениям (разделённый по знакам препинания, объединённый между фрагментами)
    ├── imgs/
    │   └── cover.jpg                    # Миниатюра видео
    ├── transcript.md                    # Транскрипт в формате Markdown (сгенерирован из предложений)
    └── transcript.srt                   # Субтитры SRT (сгенерированы из необработанных фрагментов, если указан --format srt)
```

- `{channel-slug}`: Название канала в kebab-case
- `{title-full-slug}`: Полное название видео в kebab-case

Режим `--list` выводит только в stdout (файл не сохраняется).

## Кэширование

При первом запросе скрипт сохраняет:
- `meta.json` — метаданные видео, главы, путь к обложке, информация о языке
- `transcript-raw.json` — необработанные фрагменты транскрипта из API YouTube (`{ text, start, duration }[]`)
- `transcript-sentences.json` — транскрипт, сегментированный по предложениям (`{ text, start: "ЧЧ:мм:сс", end: "ЧЧ:мм:сс" }[]`), разделённый по знакам конца предложения (`.?!…。？！` и т.д.), временные метки пропорционально распределяются по длине символов, с учетом слияния текста для CJK
- `imgs/cover.jpg` — миниатюра видео

Последующие запуски для того же видео используют кэшированные данные (без сетевых вызовов). Используйте `--refresh` для принудительного перезапроса. Если запрошен другой язык, кэш автоматически обновляется.

Когда YouTube возвращает антибот / заблокированные ответы на прямом пути InnerTube, скрипт повторяет попытку с альтернативными идентификаторами клиента, а затем, при наличии, переключается на `yt-dlp`. Если требуется откат, но `yt-dlp` недоступен, агент должен решить, как сделать `yt-dlp` доступным, и продолжить, вместо того чтобы перекладывать решение об установке на пользователя.

Вывод SRT (`--format srt`) генерируется из `transcript-raw.json`. Текстовый/markdown вывод использует `transcript-sentences.json` для естественных границ предложений.

## Рабочий процесс

Когда пользователь предоставляет URL YouTube и хочет получить транскрипт:

1. Сначала запустите с `--list`, если пользователь не указал язык, чтобы показать доступные варианты
2. **Всегда заключайте URL в одинарные кавычки** при запуске скрипта — zsh обрабатывает `?` как глобальный шаблон, поэтому незакавыченный URL YouTube вызывает "no matches found": используйте `'https://www.youtube.com/watch?v=ID'`
3. По умолчанию: запускайте с `--chapters --speakers` для наиболее полного вывода (главы + идентификация говорящих)
3. Скрипт автоматически сохраняет кэшированные данные + выходной файл и выводит путь к файлу
4. Для режима `--speakers`: после того как скрипт сохранит необработанный файл, выполните приведённый ниже рабочий процесс идентификации говорящих для постобработки с метками говорящих

Если пользователь хочет только изображение обложки или метаданные, запуск скрипта с любой опцией также кэширует `meta.json` и `imgs/cover.jpg`.

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

## Рабочий процесс для глав и говорящих

### Главы (`--chapters`)

Скрипт анализирует временные метки глав из описания видео (например, `0:00 Введение`), сегментирует транскрипт по границам глав, группирует фрагменты в читаемые абзацы и сохраняет как `.md` с оглавлением. Дополнительная обработка не требуется.

Если в описании нет временных меток глав, транскрипт выводится как сгруппированные абзацы без заголовков глав.

### Идентификация говорящих (`--speakers`)

Идентификация говорящих требует обработки ИИ. Скрипт выводит необработанный `.md` файл, содержащий:
- YAML frontmatter с метаданными видео (название, канал, дата, обложка, описание, язык)
- Описание видео (для извлечения имён говорящих)
- Список глав из описания (при наличии)
- Необработанный транскрипт в формате SRT (предварительно вычисленные временные метки начала/конца, эффективное использование токенов)

После того как скрипт сохранит необработанный файл, породите подагента (используйте более дешёвую модель, например Sonnet, для экономии) для обработки идентификации говорящих:

1. Прочитайте сохранённый `.md` файл
2. Прочитайте шаблон промпта из `{baseDir}/prompts/speaker-transcript.md`
3. Обработайте необработанный транскрипт в соответствии с промптом:
   - Идентифицируйте говорящих, используя метаданные видео (название → гость, канал → ведущий, описание → имена)
   - Определите смены говорящих по течению разговора, паттернам вопрос-ответ и контекстным подсказкам
   - Сегментируйте на главы (используйте главы из описания, если есть, иначе создайте из смен тем)
   - Форматируйте с метками `**Имя говорящего:**`, группировкой абзацев (2-4 предложения) и временными метками `[ЧЧ:ММ:СС → ЧЧ:ММ:СС]`
4. Перезапишите `.md` файл обработанным транскриптом (сохраните YAML frontmatter)

При использовании `--speakers` подразумевается `--chapters` — обработанный вывод всегда включает сегментацию по главам.

## Ошибки

| Ошибка | Значение |
|-------|---------|
| Транскрипты отключены | У видео вообще нет субтитров |
| Транскрипт не найден | Запрошенный язык недоступен |
| Видео недоступно | Видео удалено, приватно или заблокировано по региону |
| IP заблокирован | Слишком много запросов, повторите попытку позже |
| Возрастное ограничение | Видео требует входа для проверки возраста |
| Обнаружен бот | Скрипт повторяет попытку с альтернативными клиентами, затем `yt-dlp`; если инструменты отката отсутствуют, агент должен решить эту проблему самостоятельно, в противном случае, если всё равно не удаётся, попробуйте `YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER=safari` (или ваш браузер) |

## FAQ

### Что такое навык загрузки транскриптов YouTube?

Навык загрузки транскриптов YouTube — это инструмент, который позволяет загружать транскрипты, субтитры и обложки видео с YouTube, используя только URL или идентификатор видео. Он поддерживает различные функции, такие как многоязычное извлечение, перевод, сегментация по главам и идентификация говорящих.

### Как этот навык получает транскрипты YouTube без API-ключа?

Навык напрямую использует InnerTube API YouTube для получения транскриптов. Если прямой доступ заблокирован, он автоматически переключается на \`yt-dlp\`, чтобы обеспечить надёжное получение транскриптов без необходимости отдельного ключа API.

### Можно ли получить транскрипты на других языках, кроме английского?

Да, вы можете указать разделённый запятыми список кодов языков с помощью опции \`--languages\`. Навык попытается получить транскрипты в указанном порядке приоритета. Вы также можете перевести транскрипт на другой язык с помощью опции \`--translate\`.

### Поддерживает ли он идентификацию говорящих и сегментацию по главам?

Да, навык поддерживает сегментацию по главам из описаний видео с помощью опции \`--chapters\`. Для идентификации говорящих вы можете использовать опцию \`--speakers\`, которая выводит необработанный файл для последующей обработки ИИ для маркировки говорящих.

### Какие форматы вывода доступны для транскрипта YouTube?

Вы можете вывести транскрипт в формате Markdown (\`.md\`), который включает временные метки, главы и опциональные данные о говорящих, или в виде файла субтитров SRT (\`.srt\`), совместимого с большинством видеоплееров.

### Существует ли механизм кэширования и как он работает?

Да, навык кэширует метаданные видео, необработанные данные транскрипта и сегментированные предложения. Последующие запуски для того же видео будут использовать эти кэшированные данные, ускоряя обработку. Вы можете принудительно выполнить повторное получение с помощью опции \`--refresh\`.
