Communitygithub.com

Productor de Video

Crea videos completos con locución y música de fondo.

¿Qué es Productor de Video?

El Productor de Video es una habilidad orquestadora que permite a agentes de IA como Claude Code o Cursor generar videos completos con locución, música y escenas visuales. Combina múltiples modelos de IA: script con Claude, síntesis de voz con Gemini TTS, música con Lyria y generación de clips de video con Veo 3.1, todo ensamblado con FFmpeg. La habilidad guía al usuario mediante preguntas interactivas para definir el tema, duración, estilo, formato, assets existentes, locución y música. Soporta proyectos desde 15 segundos hasta varios minutos, con formatos 16:9, 9:16 y 1:1, y resolución hasta 1080p. Es ideal para videos de producto, explicativos, promocionales, demo, testimoniales y contenidos de marca. El flujo completo incluye inicialización del proyecto, configuración del guion y storyboard, generación de escenas y audio, y ensamblaje final, permitiendo también ejecución paso a paso para ajustes iterativos.

Compatible con✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/michaelboeding/skills/tree/HEAD/skills/video-producer-agent

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Productor de Video?

Crea videos completos con locución, música y visuales.

Esta es una habilidad orquestadora que combina:

  • Generación de guion/storyboard (Claude)
  • Síntesis de locución (Gemini TTS)
  • Música de fondo (Lyria)
  • Generación de clips de video (Veo 3.1) o animación de imágenes
  • Ensamblaje final (FFmpeg vía media-utils)

Flujo de trabajo

Paso 1: Recopilar requisitos (OBLIGATORIO)

⚠️ NO omitas este paso. NO ejecutes init_project.py hasta que tengas TODAS las respuestas.

Usa preguntas interactivas — haz UNA pregunta a la vez, espera la respuesta y luego pasa a la siguiente. Así se crea un proceso colaborativo basado en especificaciones.

Flujo de preguntas

⚠️ Usa la herramienta AskUserQuestion para cada pregunta a continuación. No solo imprimas las preguntas en tu respuesta: usa la herramienta para crear indicaciones interactivas con las opciones mostradas.

P1: Tema

"¡Crearé ese video! Primero — ¿de qué trata?

(ej., lanzamiento de producto, historia de marca, tutorial, explicativo — o describe el tuyo propio)"

Espera la respuesta.

P2: Duración

"¿Qué duración debe tener el video?

  • 15 segundos (gancho rápido)
  • 30 segundos (anuncio estándar)
  • 60 segundos (explicativo)
  • 2+ minutos (detallado)
  • O especifica tu propia duración"

Espera la respuesta.

P3: Estilo

"¿Qué estilo visual?

  • Premium/lujo
  • Divertido/juguetón
  • Corporativo/profesional
  • Dramático/cinematográfico
  • Mínimo/limpio
  • O describe tu propio estilo"

Espera la respuesta.

P4: Assets

"¿Tienes imágenes o videoclips existentes para usar?

  • No, generar todo
  • Sí, tengo imágenes (proporciona las rutas)
  • Sí, tengo videoclips (proporciona las rutas)"

Espera la respuesta.

P5: Estrategia de audio

"¿Cómo manejamos el audio?

  • Personalizado — Yo genero locución + música de fondo
  • Audio nativo de Veo — Usar diálogo/EFX/ambiental de Veo
  • Silencioso — Sin audio, añadirlo después"

Espera la respuesta.

P6: Voz (si audio personalizado)

"¿Qué tono de voz para la locución?

  • Profesional
  • Amigable/cálido
  • Enérgico
  • Tranquilo/sereno
  • Dramático
  • O describe tu propio tono"

Espera la respuesta.

P7: Música (si audio personalizado)

"¿Qué ambiente musical?

  • Electrónico moderno
  • Cinematográfico/épico
  • Pop alegre
  • Ambiental/chill
  • Corporativo
  • O describe tu propio estilo"

Espera la respuesta.

P8: Formato

"¿Qué relación de aspecto?

  • 16:9 (YouTube, web)
  • 9:16 (TikTok, Reels, Shorts)
  • 1:1 (Feed de Instagram)"

Espera la respuesta.

P9: Resolución

"¿Qué resolución?

  • 720p (generación más rápida)
  • 1080p (HD estándar)"

Espera la respuesta.

P10: Modelo

"¿Qué modelo Veo?

  • veo-3.1 — Más reciente, mayor calidad (predeterminado)
  • veo-3.1-fast — Generación más rápida, calidad ligeramente inferior
  • veo-3 — Generación anterior
  • veo-3-fast — Generación anterior, más rápida"

Espera la respuesta.

Referencia rápida

PreguntaDetermina
TemaContenido de las escenas y prompts
DuraciónNúmero de escenas (los clips de Veo deben durar 4, 6 u 8 segundos)
EstiloPrompts visuales y selección musical
AssetsGenerar vs. usar existentes
Audiopersonalizado, audio_veo o silencioso
VozSelección de voz TTS
MúsicaPrompt para Lyria
FormatoRelación de aspecto para Veo
ResoluciónCalidad de salida 720p o 1080p
Modeloveo-3.1, veo-3.1-fast, veo-3, veo-3-fast

Paso 2: Inicializar el proyecto

Una vez que tengas las respuestas del usuario, inicializa el proyecto con sus preferencias:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-producer-agent/scripts/init_project.py \
  --name "Video de lanzamiento de producto" \
  --duration 30 \
  --aspect-ratio 16:9 \
  --audio-strategy custom \
  --scenes 5

Paso 3: Configurar project.json

Edita project.json con los prompts de las escenas, el texto de la locución y el estilo musical según las respuestas del usuario.

Paso 4: Ensamblar el video

python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-producer-agent/scripts/assemble.py \
  --project ~/mi_proyecto_video/

Estructura del proyecto

Cuando inicializas un proyecto, se crea esta estructura de carpetas:

mi_proyecto/
├── project.json          # Configuración: escenas, locución, música, ajustes
├── storyboard.md         # Documento de planificación del video
├── scenes/               # Clips de video generados por Veo
│   ├── scene1_intro.mp4
│   ├── scene2_caracteristicas.mp4
│   └── scene3_cta.mp4
├── audio/                # Assets de audio
│   ├── voiceover.wav     # Locución generada
│   ├── background_music.wav  # Música generada
│   └── final_mix.mp3     # Pista de audio mezclada
├── work/                 # Archivos intermedios (generados automáticamente)
│   ├── silent_scene1.mp4
│   ├── video_concatenated.mp4
│   └── ...
└── output/               # Entregables finales
    └── video_lanzamiento_producto_final.mp4

Scripts

init_project.py

Inicializa un nuevo proyecto de video con estructura de carpetas y plantillas.

# Proyecto básico
python3 init_project.py --name "Mi Video" --duration 30

# Crear en un directorio específico
python3 init_project.py --name "Video Demo" --output ~/Videos/

# Video vertical para redes sociales
python3 init_project.py --name "Reel de Instagram" --aspect-ratio 9:16 --duration 15

# Usar audio nativo de Veo (sin locución/música personalizada)
python3 init_project.py --name "Escena Cinematográfica" --audio-strategy veo_audio

# Más escenas
python3 init_project.py --name "Video Largo" --duration 60 --scenes 5

Opciones:

OpciónPredeterminadoDescripción
--nameobligatorioNombre del proyecto
--outputdirectorio actualDirectorio padre
--duration30Duración objetivo en segundos
--aspect-ratio16:916:9, 9:16, 1:1, 4:3
--audio-strategycustomcustom, veo_audio, silent
--scenes3Número de marcadores de escena

assemble.py

Orquesta el pipeline completo de ensamblaje de video.

# Pipeline completo (generar todo + ensamblar)
python3 assemble.py --project ~/mi_proyecto/

# Omitir generación (usar archivos de escena/audio existentes)
python3 assemble.py --project ~/mi_proyecto/ --skip-generation

# Simulación (mostrar lo que se haría)
python3 assemble.py --project ~/mi_proyecto/ --dry-run

Pasos del pipeline:

  1. Generar escenas de video (Veo 3.1)
  2. Extraer audio de las escenas (si es audio personalizado)
  3. Generar locución (Gemini TTS)
  4. Generar música de fondo (Lyria)
  5. Mezclar locución + música
  6. Concatenar clips de video
  7. Fusionar audio con video
  8. Generar video final

Configuración de project.json

{
  "name": "Video de lanzamiento de producto",
  "duration_target": 30,
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "audio_strategy": "custom",
  
  "scenes": [
    {
      "id": 1,
      "name": "scene1_hero",
      "prompt": "Zoom lento cinematográfico sobre producto premium, iluminación dramática, estilo comercial de alta gama",
      "duration": 6,
      "notes": "Solo música, sin locución"
    },
    {
      "id": 2,
      "name": "scene2_caracteristicas",
      "prompt": "Demostración de características del producto, animaciones elegantes, estética tecnológica moderna",
      "duration": 8,
      "notes": "La locución comienza aquí"
    },
    {
      "id": 3,
      "name": "scene3_cta",
      "prompt": "Producto con logotipo sobre fondo limpio, momento de llamada a la acción",
      "duration": 6,
      "notes": "La música se intensifica, la locución termina"
    }
  ],
  
  "voiceover": {
    "enabled": true,
    "text": "Presentamos el futuro del audio. Sonido cristalino. Comodidad todo el día. Descubre la diferencia.",
    "voice": "Charon",
    "style": "Profesional, seguro, voz de marca premium"
  },
  
  "music": {
    "enabled": true,
    "prompt": "electrónico moderno, premium, elegante, exhibición de producto, bajo sutil",
    "duration": 35,
    "bpm": 100,
    "brightness": 0.6
  },
  
  "assembly": {
    "transition": "fade",
    "transition_duration": 0.5,
    "music_volume": 0.3,
    "fade_in": 1.0,
    "fade_out": 2.0
  }
}

Estrategias de audio

EstrategiaDescripciónCuándo usarla
customExtraer audio de Veo, añadir locución y música personalizadaLa mayoría de los videos
veo_audioConservar el audio generado por Veo (diálogo, efectos)Escenas cinematográficas, diálogos
silentExtraer audio, generar video silenciosoAñadir audio después

Flujo de trabajo: Creación de un video

Paso 1: Inicializar proyecto

python3 init_project.py --name "Promo Auriculares Inalámbricos" --duration 30

Paso 2: Planificar el storyboard

Edita storyboard.md para planificar la estructura de tu video:

## Escena 1: Presentación del héroe (0-5s)
- Visual: Auriculares emergiendo de la sombra, iluminación premium
- Audio: Solo música (introducción dramática)

## Escena 2: Calidad de sonido (5-12s)
- Visual: Ondas sonoras, persona disfrutando la música
- Audio: Locución: "Sonido cristalino. Bajos inmersivos."

## Escena 3: Comodidad (12-20s)
- Visual: Primer plano del ajuste, persona corriendo
- Audio: Locución: "Comodidad todo el día. Ajuste seguro."

## Escena 4: CTA (20-30s)
- Visual: Producto + logotipo
- Audio: Locución: "Descubre la diferencia." + aumento musical

Paso 3: Configurar project.json

Completa los prompts de las escenas, el texto de la locución y el estilo musical según tu storyboard.

Paso 4: Ensamblar

python3 assemble.py --project ~/promo_auriculares_inalambricos/

Paso 5: Revisar e iterar

Revisa el resultado en output/. Si se necesitan ajustes:

# Re-ejecutar con escenas existentes (solo remezclar audio)
python3 assemble.py --project ~/promo_auriculares_inalambricos/ --skip-generation

Lo que puedes crear

TipoEjemplo
Video de productoVideo hero de 30s mostrando un producto
Video explicativoExplicación de cómo funciona o de características
Video promocional/anuncioAnuncio de marketing
Video demoDemostración de producto
Video de capacitaciónContenido de formación interna
TestimonialVideo estilo cita de cliente
Video de marcaHistoria de empresa/marca

Prerrequisitos

  • GOOGLE_API_KEY — Para Veo (video), Gemini TTS (voz), Lyria (música)
  • FFmpeg instalado: brew install ffmpeg

Combinaciones de estilos de video y música

EstiloPrompt musicalVoz
Premium/Lujo"elegante, minimalista, ambiental, sofisticado"Charon (informativo)
Tecnológico/Moderno"electrónico, futurista, limpio, innovador"Kore (firme)
Divertido/Juguetón"alegre, animado, acústico, positivo"Puck (enérgico)
Corporativo"profesional, inspirador, orquestal ligero"Orus (firme)
Estilo de vida"tranquilo, aspiracional, indie, cálido"Aoede (desenfadado)
Dramático/Cinematográfico"épico, orquestal, emocional, en crescendo"Gacrux (maduro)

Estructuras de video comunes

Video de producto (30s)

0-5s:   Toma principal (solo música)
5-15s:  Características (locución + música)
15-25s: Estilo de vida/caso de uso (locución + música)
25-30s: Logotipo + CTA (fundido musical)

Video explicativo (60s)

0-5s:   Gancho/planteamiento del problema
5-20s:  Introducción de la solución
20-45s: Cómo funciona (3 pasos)
45-55s: Resumen de beneficios
55-60s: CTA

Video testimonial (45s)

0-5s:   Introducción/tarjeta de nombre
5-35s:  Cita testimonial (varias escenas)
35-45s: Toma del producto + logotipo

Flujo de trabajo manual (sin scripts)

Si prefieres ejecutar cada paso manualmente:

Generar escenas:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py \
  --batch scenes.json

Generar locución:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/voice-generation/scripts/gemini_tts.py \
  --text "Tu texto de locución..." \
  --voice Charon \
  --style "Profesional, cálido"

Generar música:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/music-generation/scripts/lyria.py \
  --prompt "electrónico moderno, premium" \
  --duration 35

Extraer audio de los clips:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_strip_audio.py \
  -i scene*.mp4

Concatenar videos:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_concat.py \
  -i silent_*.mp4 --transition fade -o video.mp4

Mezclar audio:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/audio_mix.py \
  --voice voiceover.wav --music music.wav -o audio.mp3

Fusionar audio + video:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_audio_merge.py \
  --video video.mp4 --audio audio.mp3 -o final.mp4

Archivos de entrada que puedes proporcionar

Tipo de archivoCómo se usa
Imágenes del productoAnimar con Veo como primer fotograma
Logotipo (PNG)Superponer en la escena final
Locución existenteColocar en audio/voiceover.wav
Música de marcaColocar en audio/background_music.wav
VideoclipsColocar en la carpeta scenes/
Guion/textoUsar para el texto de la locución

Limitaciones

  • Duración del video de Veo: Máximo 8 segundos por clip (concatenar para más duración)
  • Veo 3.1 incluye audio: Todos los clips tienen audio generado (extraer si se usa personalizado)
  • Tiempo de procesamiento: La generación de video toma de 1 a 3 minutos por clip
  • Resolución: Actualmente 720p o 1080p (1080p solo para 8s)

Manejo de errores

ErrorSolución
"GOOGLE_API_KEY not set"Configurar la clave API según el README
"FFmpeg not found"Instalar: brew install ffmpeg
"project.json not found"Ejecutar init_project.py primero
Tiempo de espera en generación de videoReintentar, o usar una duración más corta
Problemas de sincronización audio/videoAjustar las duraciones de las escenas

Ejemplos de prompts

Simple:

"Crea un video de producto de 30 segundos para mi nueva cafetera"

Detallado:

"Crea un video de producto de 45 segundos para nuestros nuevos auriculares inalámbricos. Ambiente premium, de lujo. Tengo fotos del producto adjuntas. Locución masculina profesional. Música electrónica moderna. 16:9 para YouTube."

Con proyecto:

"Inicializa un proyecto de video llamado 'Demo de App' con 5 escenas, 60 segundos en total, formato vertical para TikTok"

Skills relacionados