Cómo obtener la transcripción de un video de YouTube
Cinco formas de obtener la transcripción de un video de YouTube: en la propia YouTube, con yt-dlp, en Python, mediante la API de Transcript Dock o pidiéndosela a Claude.
Actualizado
Respuesta corta: si el video tiene subtítulos, YouTube puede mostrar su transcripción debajo de la descripción (abre ...more y luego Show transcript). Para obtenerla como archivo o para muchos videos, usa yt-dlp o la biblioteca de Python youtube-transcript-api en tu propia máquina, o haz una sola solicitud a una API alojada como Transcript Dock cuando trabajes en la nube o también necesites TikTok. Los videos sin subtítulos requieren transcribir el audio con IA.
Cuál elegir#
| Método | Ideal para | Costo | Limitación |
|---|---|---|---|
| Panel de transcripción de YouTube | Un video, a mano | Gratis | Solo si el video tiene subtítulos; al copiar se pierden los tiempos |
| yt-dlp | Scripts en tu propia máquina | Gratis | Archivos de subtítulos; bloqueado desde muchas IP de la nube |
| youtube-transcript-api | Notebooks y scripts de Python | Gratis | Necesita un proxy residencial en la nube; solo YouTube |
| API de Transcript Dock | Apps, pipelines, muchos videos | 1 crédito por video | Alojada, también TikTok, transcripción con IA cuando no hay subtítulos |
| Claude o Cursor (MCP) | Hacer preguntas sobre un video | 1 crédito por video | Nada de código |
1. En YouTube#
- Abre el video en una computadora.
- Haz clic en
...moredebajo del título para expandir la descripción. - Desplázate hasta el final de la descripción y haz clic en
Show transcript. - La transcripción se abre junto al video. Usa el menú de la parte superior para ocultar las marcas de tiempo, y luego selecciona y copia.
El botón solo aparece cuando el video tiene subtítulos, ya sea subidos por el creador o generados por YouTube. Sirve para un solo video; copiar a mano pierde los tiempos y no escala.
2. Con yt-dlp#
yt-dlp es una herramienta gratuita de línea de comandos. Este comando guarda los subtítulos en inglés como un archivo SRT sin descargar el video:
yt-dlp --skip-download --write-subs --write-auto-subs --sub-langs en --convert-subs srt \"https://www.youtube.com/watch?v=dQw4w9WgXcQ"
--write-auto-subs incluye los subtítulos automáticos de YouTube cuando el creador no subió ninguno. Funciona bien desde una conexión doméstica; desde un servidor, YouTube a menudo le pide que inicie sesión.
3. En Python#
La biblioteca de código abierto youtube-transcript-api lee los mismos subtítulos sin necesidad de una clave de API:
# pip install youtube-transcript-apifrom youtube_transcript_api import YouTubeTranscriptApitranscript = YouTubeTranscriptApi().fetch("dQw4w9WgXcQ", languages=["en"])for snippet in transcript:print(round(snippet.start, 1), snippet.text)
Su README advierte que YouTube bloquea la mayoría de las direcciones IP que pertenecen a proveedores de nube, así que en AWS, Google Cloud o un VPS necesita un proxy residencial rotativo. Consulta Transcript Dock vs youtube-transcript-api.
4. Con la API de Transcript Dock#
Tres solicitudes: envía el enlace, espera y exporta. Funciona desde cualquier lugar (sin ningún proxy que administrar), devuelve segmentos con tiempos, exporta TXT, SRT, VTT o JSON, y funciona igual para TikTok. Una transcripción de subtítulos cuesta 1 crédito y cada cuenta recibe 50 créditos gratis cada mes.
# 1. submit the link (1 credit)curl -X POST https://www.transcriptdock.com/v1/jobs \-H "Authorization: Bearer td_live_YOUR_KEY" \-H "Idempotency-Key: yt-dQw4w9WgXcQ" \-H "Content-Type: application/json" \-d '{ "source": { "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }, "mode": "captions_only" }'# 2. wait for it (returns as soon as the job finishes)curl "https://www.transcriptdock.com/v1/jobs/JOB_ID?wait=25" -H "Authorization: Bearer td_live_YOUR_KEY"# 3. export the transcript (free)curl "https://www.transcriptdock.com/v1/transcripts/RESULT_ID/export?format=txt" -H "Authorization: Bearer td_live_YOUR_KEY"
El recorrido completo está en el inicio rápido. Para un canal, una lista de reproducción o una búsqueda completos, lista primero los videos con el descubrimiento de videos y luego envíalos como un lote.
5. Pregúntale a Claude o a Cursor#
Agrega Transcript Dock como conector y pregunta con palabras sencillas, por ejemplo "¿Qué dice este video?" junto con el enlace. Claude obtiene la transcripción y responde a partir de ella. La configuración toma un minuto: Claude, Claude Code, Cursor.
Cuando un video no tiene subtítulos#
Todos los métodos anteriores leen subtítulos que ya existen. Cuando no hay ninguno, hay que transcribir el audio. Con Transcript Dock envía mode: "auto": usa los subtítulos cuando existen y la transcripción con IA en caso contrario, a 2 créditos por minuto iniciado en los planes de pago. El resultado incluye tiempos por palabra.
Preguntas frecuentes#
- ¿Está permitido? Leer subtítulos para tu propia investigación, para accesibilidad o para análisis es una práctica común; volver a publicar las palabras de otra persona es una cuestión de derechos de autor. Revisa los términos de YouTube para tu caso de uso.
- ¿Otros idiomas? Pasa
caption_languages, por ejemplo["es", "en"], para preferir una pista. Lista las pistas de un video con el descubrimiento de idiomas. - ¿Shorts? Sí. Los enlaces de Shorts, de watch y de youtu.be funcionan todos.