# Habilidad del Agente de Transcripción de TúTubo

> Descarga transcripciones de vídeos de TúTubo, subtítulos e imágenes de portada por URL o ID de vídeo. Soporta múltiples idiomas, traducción, capítulos e identificación de hablantes para mejorar la accesibilidad del contenido. Comienza gratis en segundos.

- Canonical: https://nanoskill.ai/es/skills/youtube-transcript
- Markdown: https://nanoskill.ai/es/skills/youtube-transcript.md
- Author: JimLiu
- Published: 2026-06-03T05:58:31.787Z
- Updated: 2026-07-15T13:36:15.347Z
- Language: es
- 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

La Habilidad de Descarga de Transcripciones de TúTubo proporciona una solución robusta para extraer información completa de vídeos de TúTubo. Esta habilidad permite a los usuarios descargar sin esfuerzo transcripciones completas de TúTubo, subtítulos e incluso imágenes de portada simplemente proporcionando una URL o ID de vídeo. Está diseñada para creadores de contenido, investigadores y cualquier persona que necesite convertir contenido hablado en texto, ofreciendo funciones como soporte multilingüe, capacidades de traducción y opciones avanzadas de estructuración.

Aprovechando el acceso directo a la API InnerTube de TúTubo y un sistema de respaldo inteligente a \`yt-dlp\`, la habilidad garantiza una recuperación de datos fiable y eficiente sin necesidad de claves API personales. Ofrece formatos de salida flexibles, incluyendo Markdown para análisis detallado con marcas de tiempo y marcadores de capítulo, y SRT para la integración estándar de subtítulos. Además, soporta la segmentación de capítulos a partir de las descripciones de vídeo y proporciona un flujo de trabajo para la identificación de hablantes potenciada por IA, ofreciendo un texto altamente organizado y atribuido.

Con almacenamiento en caché inteligente, la habilidad minimiza las solicitudes de red redundantes, haciendo que las operaciones posteriores sobre el mismo vídeo sean excepcionalmente rápidas. Ya sea que necesites analizar contenido de vídeo, crear subtítulos accesibles, traducir material para una audiencia global o simplemente extraer metadatos y miniaturas de vídeo, esta habilidad agiliza el proceso, proporcionando una herramienta poderosa para la gestión de contenido de TúTubo.

## Key features

- **Acceso directo a YouTube**: Accede directamente a la API InnerTube de YouTube para una rápida recuperación de transcripciones, recurriendo automáticamente a \`yt-dlp\` si la API directa está bloqueada, garantizando un acceso confiable sin claves API.
- **Soporte multilingüe y traducción**: Especifica los idiomas preferidos para las transcripciones y tradúcelas a un idioma de destino, haciendo que el contenido sea accesible para una audiencia global.
- **Segmentación por capítulos e identificación de hablantes**: Segmenta automáticamente las transcripciones por capítulos de video y admite el posprocesamiento con IA para la identificación de hablantes, proporcionando texto estructurado y atribuido.
- **Formatos de salida flexibles**: Genera transcripciones en Markdown con marcas de tiempo o archivos de subtítulos SRT, adecuados para diversos usos desde el análisis de contenido hasta reproductores de video.
- **Almacenamiento en caché inteligente para eficiencia**: Almacena en caché los datos de video sin procesar, los metadatos y las transcripciones segmentadas, lo que permite un rápido reformateo y reduce las llamadas de red en solicitudes posteriores para el mismo video.

## Use cases

- **Generar transcripciones de YouTube para análisis de contenido**: Los creadores de contenido e investigadores pueden obtener rápidamente transcripciones completas de YouTube, incluidas marcas de tiempo y marcadores de capítulo, para analizar el contenido de video, extraer información clave o reutilizar el contenido hablado en artículos de texto.
- **Crear archivos de subtítulos para accesibilidad**: Los editores de video y especialistas en accesibilidad pueden generar archivos de subtítulos SRT a partir de videos de YouTube, asegurando que el contenido sea accesible para audiencias con discapacidad auditiva o para aquellos que prefieren consumir contenido en silencio.
- **Traducir contenido de video para alcance global**: Los especialistas en marketing y educadores pueden traducir transcripciones de YouTube a varios idiomas, ampliando el alcance de su contenido de video a hablantes no nativos y mejorando la participación global.
- **Extraer metadatos e imágenes de portada**: Los usuarios pueden extraer fácilmente metadatos de video e imágenes de portada de alta calidad, útiles para catalogar, promocionar en redes sociales o crear recursos visuales relacionados con el contenido del video.

## Result preview

Explora un informe de análisis de vídeo profesional impulsado por esta Habilidad.

![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

### Instalar

Añade la Habilidad de Agente de Transcripción de TúTubo a tu agente de IA.

![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)

### Proporcionar Contenido

Comparte un enlace de TúTubo y especifica el formato de salida deseado.

![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)

### Extraer información clave

Genera transcripciones estructuradas, resúmenes, conclusiones clave y contenido reutilizable.

![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

# Transcripción de YouTube

Descarga transcripciones (subtítulos/leyendas) de videos de YouTube. Funciona tanto con transcripciones creadas manualmente como con las generadas automáticamente. No requiere clave de API ni navegador — utiliza la API InnerTube de YouTube directamente y recurre automáticamente a `yt-dlp` cuando YouTube bloquea la ruta directa de la API.

Obtiene metadatos del video e imagen de portada en la primera ejecución, almacena en caché los datos sin procesar para un reformateo rápido.

## Directorio de scripts

Scripts en el subdirectorio `scripts/`. `{baseDir}` = ruta del directorio de este SKILL.md. Resolver el entorno de ejecución `${BUN_X}`: si `bun` está instalado → `bun`; si `npx` está disponible → `npx -y bun`; de lo contrario, sugerir instalar bun. Reemplazar `{baseDir}` y `${BUN_X}` con los valores reales.

| Script | Propósito |
|--------|-----------|
| `scripts/main.ts` | CLI de descarga de transcripciones |

## Uso

```bash
# Predeterminado: markdown con marcas de tiempo (inglés)
${BUN_X} {baseDir}/scripts/main.ts <url-o-id-de-youtube>

# Especificar idiomas (orden de prioridad)
${BUN_X} {baseDir}/scripts/main.ts <url> --languages zh,en,ja

# Sin marcas de tiempo
${BUN_X} {baseDir}/scripts/main.ts <url> --no-timestamps

# Con segmentación por capítulos
${BUN_X} {baseDir}/scripts/main.ts <url> --chapters

# Con identificación de hablantes (requiere post-procesamiento con IA)
${BUN_X} {baseDir}/scripts/main.ts <url> --speakers

# Archivo de subtítulos SRT
${BUN_X} {baseDir}/scripts/main.ts <url> --format srt

# Traducir transcripción
${BUN_X} {baseDir}/scripts/main.ts <url> --translate zh-Hans

# Listar transcripciones disponibles
${BUN_X} {baseDir}/scripts/main.ts <url> --list

# Forzar re-obtención (ignorar caché)
${BUN_X} {baseDir}/scripts/main.ts <url> --refresh
```

## Opciones

| Opción | Descripción | Predeterminado |
|--------|-------------|----------------|
| `<url-o-id>` | URL de YouTube o ID del video (se permiten varios) | Requerido |
| `--languages <códigos>` | Códigos de idioma, separados por comas, en orden de prioridad | `en` |
| `--format <fmt>` | Formato de salida: `text`, `srt` | `text` |
| `--translate <código>` | Traducir al código de idioma especificado | |
| `--list` | Listar transcripciones disponibles en lugar de obtener | |
| `--timestamps` | Incluir marcas de tiempo `[HH:MM:SS → HH:MM:SS]` por párrafo | activado |
| `--no-timestamps` | Desactivar marcas de tiempo | |
| `--chapters` | Segmentación por capítulos a partir de la descripción del video | |
| `--speakers` | Transcripción cruda con metadatos para identificación de hablantes | |
| `--exclude-generated` | Omitir transcripciones generadas automáticamente | |
| `--exclude-manually-created` | Omitir transcripciones creadas manualmente | |
| `--refresh` | Forzar re-obtención, ignorar datos en caché | |
| `-o, --output <ruta>` | Guardar en una ruta de archivo específica | auto-generado |
| `--output-dir <directorio>` | Directorio base de salida | `youtube-transcript` |

## Variables de entorno opcionales

| Variable | Descripción |
|----------|-------------|
| `YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER` | Se pasa a `yt-dlp --cookies-from-browser` durante el fallback, p. ej. `chrome`, `safari`, `firefox`, o `chrome:Profile 1` |

## Formatos de entrada

Acepta cualquiera de estos como entrada de video:
- URL completa: `https://www.youtube.com/watch?v=dQw4w9WgXcQ`
- URL corta: `https://youtu.be/dQw4w9WgXcQ`
- URL incrustada: `https://www.youtube.com/embed/dQw4w9WgXcQ`
- URL de Shorts: `https://www.youtube.com/shorts/dQw4w9WgXcQ`
- ID del video: `dQw4w9WgXcQ`

## Formatos de salida

| Formato | Extensión | Descripción |
|--------|-----------|-------------|
| `text` | `.md` | Markdown con frontmatter (incl. `description`), título, resumen, opcional TOC/portada/marcas de tiempo/capítulos/hablantes |
| `srt` | `.srt` | Formato de subtítulos SubRip para reproductores de video |

## Directorio de salida

```
youtube-transcript/
├── .index.json                          # Mapeo de ID de video → ruta del directorio (para búsqueda en caché)
└── {nombre-del-canal}/{titulo-completo-en-slug}/
    ├── meta.json                        # Metadatos del video (título, canal, descripción, duración, capítulos, etc.)
    ├── transcript-raw.json              # Fragmentos de transcripción crudos de la API de YouTube (en caché)
    ├── transcript-sentences.json        # Transcripción segmentada por oraciones (dividida por puntuación, fusionada entre fragmentos)
    ├── imgs/
    │   └── cover.jpg                    # Miniatura del video
    ├── transcript.md                    # Transcripción en Markdown (generada a partir de oraciones)
    └── transcript.srt                   # Subtítulo SRT (generado a partir de fragmentos crudos, si se usa --format srt)
```

- `{nombre-del-canal}`: Nombre del canal en kebab-case
- `{titulo-completo-en-slug}`: Título completo del video en kebab-case

El modo `--list` solo imprime en stdout (no guarda archivo).

## Caché

En la primera obtención, el script guarda:
- `meta.json` — metadatos del video, capítulos, ruta de la imagen de portada, información del idioma
- `transcript-raw.json` — fragmentos de transcripción crudos de la API de YouTube (`{ text, start, duration }[]`)
- `transcript-sentences.json` — transcripción segmentada por oraciones (`{ text, start: "HH:mm:ss", end: "HH:mm:ss" }[]`), dividida por puntuación de fin de oración (`.?!…。？！` etc.), marcas de tiempo asignadas proporcionalmente por longitud de caracteres, fusión de texto con reconocimiento CJK
- `imgs/cover.jpg` — miniatura del video

Ejecuciones posteriores para el mismo video utilizan datos en caché (sin llamadas de red). Usa `--refresh` para forzar la re-obtención. Si se solicita un idioma diferente, la caché se actualiza automáticamente.

Cuando YouTube devuelve respuestas anti-bot / bloqueadas en la ruta directa de InnerTube, el script reintenta con identidades de cliente alternativas y luego recurre a `yt-dlp` si está disponible. Si se necesita el fallback pero `yt-dlp` no está disponible, el agente debe decidir cómo hacer que `yt-dlp` esté disponible y continuar, en lugar de trasladar la decisión de instalación al usuario.

La salida SRT (`--format srt`) se genera a partir de `transcript-raw.json`. La salida de texto/markdown utiliza `transcript-sentences.json` para límites de oración naturales.

## Flujo de trabajo

Cuando el usuario proporciona una URL de YouTube y quiere la transcripción:

1. Ejecutar con `--list` primero si el usuario no ha especificado un idioma, para mostrar las opciones disponibles
2. **Siempre poner la URL entre comillas simples** al ejecutar el script — zsh trata `?` como un comodín global, por lo que una URL de YouTube sin comillas causa "no se encontraron coincidencias": usar `'https://www.youtube.com/watch?v=ID'`
3. Predeterminado: ejecutar con `--chapters --speakers` para la salida más rica (capítulos + identificación de hablantes)
3. El script guarda automáticamente los datos en caché + el archivo de salida e imprime la ruta del archivo
4. Para el modo `--speakers`: después de que el script guarda el archivo crudo, seguir el flujo de trabajo de identificación de hablantes a continuación para post-procesar con etiquetas de hablantes

Cuando el usuario solo quiere una imagen de portada o metadatos, ejecutar el script con cualquier opción también almacenará en caché `meta.json` y `imgs/cover.jpg`.

Al reformatear el mismo video (por ejemplo, primero texto y luego SRT), los datos en caché se reutilizan — no es necesario re-obtener.

## Flujo de trabajo de capítulos e identificación de hablantes

### Capítulos (`--chapters`)

El script analiza las marcas de tiempo de los capítulos de la descripción del video (por ejemplo, `0:00 Introducción`), segmenta la transcripción por los límites de los capítulos, agrupa fragmentos en párrafos legibles y guarda como `.md` con una Tabla de Contenidos. No se requiere procesamiento adicional.

Si no existen marcas de tiempo de capítulos en la descripción, la transcripción se emite como párrafos agrupados sin encabezados de capítulo.

### Identificación de hablantes (`--speakers`)

La identificación de hablantes requiere procesamiento de IA. El script genera un archivo `.md` crudo que contiene:
- Frontmatter YAML con metadatos del video (título, canal, fecha, portada, descripción, idioma)
- Descripción del video (para extracción de nombres de hablantes)
- Lista de capítulos de la descripción (si está disponible)
- Transcripción cruda en formato SRT (marcas de tiempo de inicio/fin precalculadas, eficiente en tokens)

Después de que el script guarda el archivo crudo, generar un sub-agente (usar un modelo más barato como Sonnet para eficiencia de costos) para procesar la identificación de hablantes:

1. Leer el archivo `.md` guardado
2. Leer la plantilla de prompt en `{baseDir}/prompts/speaker-transcript.md`
3. Procesar la transcripción cruda siguiendo el prompt:
   - Identificar hablantes usando metadatos del video (título → invitado, canal → anfitrión, descripción → nombres)
   - Detectar turnos de hablantes a partir del flujo de la conversación, patrones de pregunta-respuesta y pistas contextuales
   - Segmentar en capítulos (usar capítulos de la descripción si están disponibles, de lo contrario crear a partir de cambios de tema)
   - Formatear con etiquetas `**Nombre del hablante:**`, agrupación de párrafos (2-4 oraciones) y marcas de tiempo `[HH:MM:SS → HH:MM:SS]`
4. Sobrescribir el archivo `.md` con la transcripción procesada (mantener el frontmatter YAML)

Cuando se usa `--speakers`, `--chapters` está implícito — la salida procesada siempre incluye segmentación por capítulos.

## Casos de error

| Error | Significado |
|-------|-------------|
| Transcripciones desactivadas | El video no tiene subtítulos en absoluto |
| No se encontró transcripción | El idioma solicitado no está disponible |
| Video no disponible | Video eliminado, privado o bloqueado por región |
| IP bloqueada | Demasiadas solicitudes, intente de nuevo más tarde |
| Restricción de edad | El video requiere iniciar sesión para verificación de edad |
| bot detectado | El script reintenta con clientes alternativos y luego `yt-dlp`; si faltan herramientas de fallback, el agente debe resolverlo por sí mismo; de lo contrario, si aún falla, intentar `YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER=safari` (o tu navegador) |

## FAQ

### ¿Qué es la Habilidad de Descarga de Transcripciones de YouTube?

La Habilidad de Descarga de Transcripciones de YouTube es una herramienta que te permite descargar transcripciones, subtítulos e imágenes de portada de videos de YouTube usando solo su URL o ID de video. Soporta varias funciones como recuperación multilingüe, traducción, segmentación por capítulos e identificación de hablantes.

### ¿Cómo obtiene esta habilidad transcripciones de YouTube sin una clave API?

La habilidad utiliza directamente la API InnerTube de YouTube para obtener transcripciones. Si el acceso directo está bloqueado, automáticamente recurre a \`yt-dlp\` para garantizar una recuperación confiable de transcripciones sin necesidad de una clave API separada.

### ¿Puedo obtener transcripciones en otros idiomas además del inglés?

Sí, puedes especificar una lista de códigos de idioma separados por comas usando la opción \`--languages\`. La habilidad intentará obtener transcripciones en el orden de prioridad especificado. También puedes traducir la transcripción a otro idioma usando la opción \`--translate\`.

### ¿Soporta identificación de hablantes y segmentación por capítulos?

Sí, la habilidad soporta la segmentación por capítulos a partir de las descripciones de video usando la opción \`--chapters\`. Para la identificación de hablantes, puedes usar la opción \`--speakers\`, que genera un archivo sin procesar para que la IA realice un posprocesamiento y etiquete a los hablantes.

### ¿Qué formatos de salida están disponibles para la transcripción de YouTube?

Puedes generar la transcripción en formato Markdown (\`.md\`), que incluye marcas de tiempo, capítulos y datos opcionales de hablantes, o como un archivo de subtítulos SRT (\`.srt\`), compatible con la mayoría de los reproductores de video.

### ¿Existe un mecanismo de almacenamiento en caché y cómo funciona?

Sí, la habilidad almacena en caché los metadatos del video, los datos sin procesar de la transcripción y las oraciones segmentadas. Las ejecuciones posteriores para el mismo video utilizarán estos datos en caché, acelerando el procesamiento. Puedes forzar una nueva obtención con la opción \`--refresh\`.
