YouTube Transcripts
YouTube Transcripts es un componente de Nappai que te permite obtener el texto hablado de cualquier video de YouTube. Puedes recibir el contenido completo como un solo bloque de texto o dividirlo en fragmentos con marcas de tiempo. Además, puedes elegir el idioma del subtítulo y, si lo deseas, traducir el resultado a otro idioma.
¿Cómo funciona?
El componente se conecta a la API de YouTube a través de la librería youtube_transcript_api.
- Validación de URL – Se comprueba que la dirección sea un enlace válido de YouTube.
- Extracción de ID – Se extrae el identificador del video para usarlo en la API.
- Descarga del subtítulo –
- Primero intenta obtener el subtítulo directamente con
fetch
. - Si falla, usa
list
yfind_transcript
para localizar el subtítulo en los idiomas solicitados. - Si se solicita traducción, la librería realiza la traducción automática.
- Primero intenta obtener el subtítulo directamente con
- Formato de salida –
- text: concatena todo el subtítulo en un único bloque de texto.
- chunks: agrupa el subtítulo en bloques de duración configurable (por defecto 60 s). Cada bloque incluye el texto y metadatos con los segundos de inicio y fin.
- Fallback – Si la API de YouTube no devuelve subtítulos, el componente intenta con pytube para obtener las pistas de subtítulos disponibles.
- Resultado – Devuelve una lista de objetos
Data
con el contenido o un mensaje de error si no se pudo obtener el subtítulo.
El componente también expone un Tool que puede ser llamado directamente desde un LLM, lo que facilita su uso en flujos de trabajo automatizados.
Entradas
- Video URL
Introduce la dirección completa del video de YouTube del que quieres extraer el subtítulo. - Transcript Format
Elige entre text (un solo bloque de texto) o chunks (fragmentos con marcas de tiempo). - Chunk Size (seconds)
Define la duración de cada fragmento cuando el formato sea chunks. El valor por defecto es 60 s. - Language
Lista separada por comas de códigos de idioma (ej.es,en,fr
). El componente intentará los idiomas en el orden indicado y usará el primero que encuentre. Si lo dejas vacío, se usará el idioma por defecto de YouTube. - Translation Language
Selecciona el idioma al que quieres traducir el subtítulo. Si lo dejas vacío, no se realizará traducción. Los valores disponibles son:en
,es
,fr
,de
,it
,pt
,ru
,ja
,ko
,hi
,ar
,id
.
Salidas
- Data – Un objeto
Data
que contiene el subtítulo.- Si el formato es text, el campo será
transcripts
con todo el texto. - Si el formato es chunks, cada objeto
Data
representa un fragmento concontent
ymetadata
(tiempo de inicio, fin y enlace al video). - En caso de error, el objeto tendrá un campo
error
con el mensaje correspondiente.
- Si el formato es text, el campo será
- Tool – Un objeto
Tool
que permite llamar al componente desde un LLM. El tool devuelve el mismo resultado que la salida Data.
Ejemplo de Uso
-
Obtener subtítulo completo
- Video URL:
https://www.youtube.com/watch?v=dQw4w9WgXcQ
- Transcript Format:
text
- Language:
es
- Translation Language: (vacío)
- Resultado: Un bloque de texto con la transcripción en español.
- Video URL:
-
Obtener subtítulo en fragmentos de 30 s
- Video URL:
https://youtu.be/abc123XYZ
- Transcript Format:
chunks
- Chunk Size (seconds):
30
- Language:
en
- Translation Language:
fr
- Resultado: Una lista de objetos
Data
, cada uno con un fragmento de 30 s traducido al francés.
- Video URL:
Componentes Relacionados
- Text Summarizer – Resume el subtítulo obtenido.
- Language Detector – Detecta el idioma del subtítulo antes de procesarlo.
- Data Exporter – Guarda el subtítulo en un archivo CSV o JSON.
Consejos y Mejores Prácticas
- Verifica la URL – Asegúrate de que el enlace sea público y accesible; los videos privados o con restricciones de país pueden generar errores.
- Usa chunk size moderado – Fragmentos demasiado cortos pueden generar demasiados objetos de salida; 60 s suele ser un buen equilibrio.
- Controla los límites de la API – YouTube limita la cantidad de peticiones por minuto; si necesitas procesar muchos videos, distribuye las llamadas.
- Maneja errores – Siempre revisa el campo
error
en la salida Data antes de usar el contenido. - Aprovecha la traducción – Si tu flujo trabaja en varios idiomas, activa la opción de traducción para evitar pasos adicionales.
Consideraciones de Seguridad
- Privacidad – El componente solo accede a videos públicos; no almacena ni comparte la URL ni el contenido fuera del flujo de trabajo.
- Dependencias externas – Requiere acceso a Internet y a la API de YouTube; asegúrate de que tu entorno de Nappai tenga las credenciales y permisos necesarios.
- Manejo de datos sensibles – Si el video contiene información confidencial, revisa las políticas de privacidad de YouTube y de tu organización antes de procesarlo.