script de Python que resuma videos de YouTube

Cómo crear un script de Python que resuma videos de YouTube

¿Te has encontrado alguna vez con un tutorial de 45 minutos cuando solo necesitabas una línea de código? En 2026, el consumo de contenido en video ha alcanzado niveles insostenibles y la fatiga digital es una realidad para cualquier profesional IT.

La buena noticia es que ya no dependemos de servicios de suscripción costosos para ahorrar tiempo. Con el ecosistema actual de Python 3.12+ y los modelos de lenguaje locales, podemos automatizar el procesamiento de información de manera privada y gratuita.

En esta guía técnica, te enseñaré a construir una herramienta robusta que extrae transcripciones, las procesa mediante IA y genera resúmenes estructurados en segundos. Vamos a ensuciarnos las manos con código real y optimizado para el hardware actual.

Requisitos del sistema y entorno Python

Para que este script funcione con fluidez en 2026, necesitamos un entorno de ejecución limpio. No basta con instalar librerías; la gestión de dependencias es clave para evitar conflictos de versiones de biblioteca.

Stack Tecnológico Necesario

  • Python 3.11 o superior (recomendamos 3.12.4 por estabilidad).
  • pip actualizado para gestionar los paquetes.
  • Una API Key de OpenAI o un servidor Ollama corriendo localmente.
  • Conexión a internet estable para la descarga inicial de metadatos.
💡 Consejo Pro: Utiliza siempre un entorno virtual (venv) para este proyecto. Evitarás romper las librerías globales de tu sistema operativo, especialmente en Linux o macOS.

Extracción de datos: YouTube Transcript API

El primer reto técnico es obtener el texto. No vamos a descargar el audio y transcribirlo (lo cual consume recursos de GPU), sino a extraer los subtítulos generados por la plataforma.

Utilizaremos la librería youtube-transcript-api, que es la más fiable actualmente. Esta librería permite acceder a los subtítulos manuales y a los generados automáticamente por A.S.R. (Automatic Speech Recognition).

  1. Instala la librería base: pip install youtube-transcript-api.
  2. Identifica el Video ID (los 11 caracteres tras ‘v=’ en la URL).
  3. Implementa el manejo de excepciones para videos que tienen los subtítulos desactivados.
⚠️ Importante: Algunos videos bloquean el acceso externo a las transcripciones. En esos casos, el script debe devolver un error controlado en lugar de cerrarse inesperadamente.

Integración con LLMs: OpenAI vs. Llama 3 local

Una vez tenemos el texto, necesitamos un cerebro que lo resuma. En 2026, la tendencia es la soberanía de datos, por lo que muchos usuarios prefieren modelos locales.

Motor de IALatenciaPrivacidadCosto
GPT-4o miniBajaMediaPago por uso
Llama 3.1 (Local)Alta (depende GPU)MáximaGratis
Claude 3.5 SonnetMediaMediaSuscripción/API

Configuración de la lógica de resumen

El prompt es el 90% del éxito. No le pidas simplemente «resume este texto». Sé específico: pídele que extraiga puntos clave, conclusiones técnicas y pasos de acción.

Script final paso a paso y ejecución

Aquí tienes la estructura lógica del script. He optimizado este código para que sea modular, permitiéndote cambiar el modelo de IA fácilmente en el futuro.

from youtube_transcript_api import YouTubeTranscriptApi
import openai

def get_transcript(video_id):
    try:
        transcript = YouTubeTranscriptApi.get_transcript(video_id, languages=['es', 'en'])
        return " ".join([t['text'] for t in transcript])
    except Exception as e:
        return f"Error: {str(e)}"

def summarize_text(text):
    # Configuración para OpenAI (puedes usar Ollama aquí)
    response = openai.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": f"Resume técnicamente: {text}"}]
    )
    return response.choices[0].message.content

Para ejecutarlo, simplemente necesitas pasar el ID del video. El script procesará el texto en bloques si el video supera los 20 minutos, evitando así el límite de tokens de contexto que aún afecta a algunos modelos.

Ventajas y Desventajas

✅ Ventajas

  • Ahorro de tiempo masivo en videos educativos.
  • Costo casi nulo usando modelos locales o APIs económicas.
  • Personalización total del formato de salida (Markdown, PDF, etc.).

❌ Desventajas

  • No funciona en videos sin subtítulos o con música únicamente.
  • Dependencia de las políticas de scraping de Google.
  • Requiere conocimientos básicos de terminal.

Preguntas Frecuentes

¿Es legal extraer transcripciones de YouTube?

Sí, siempre que sea para uso personal y no para redistribución masiva. La API de transcripciones es pública, pero Google puede aplicar rate limiting si haces demasiadas peticiones.

¿Qué pasa si el video es muy largo (ej. 3 horas)?

Necesitarás implementar una técnica llamada Map-Reduce: resumes el video por partes y luego creas un resumen de los resúmenes. Esto evita saturar la memoria de contexto de la IA.

¿Puedo usarlo en Android?

Sí, mediante Termux puedes instalar Python y ejecutar este mismo script directamente en tu smartphone, lo cual es ideal para productividad móvil.

Conclusión

  • La combinación de Python y LLMs permite procesar horas de video en segundos.
  • Es fundamental gestionar correctamente los errores de la API de YouTube.
  • La elección entre IA local o en la nube dependerá de tu hardware (VRAM disponible).

Automatizar estas tareas repetitivas es lo que separa a un usuario básico de un profesional de la tecnología. ¿Te animas a integrar esta función en tu propio bot de Telegram? ¡Cuéntanos tu experiencia en los comentarios!

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *