¿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 inferiorveo-3— Generación anteriorveo-3-fast— Generación anterior, más rápida"
Espera la respuesta.
Referencia rápida
| Pregunta | Determina |
|---|---|
| Tema | Contenido de las escenas y prompts |
| Duración | Número de escenas (los clips de Veo deben durar 4, 6 u 8 segundos) |
| Estilo | Prompts visuales y selección musical |
| Assets | Generar vs. usar existentes |
| Audio | personalizado, audio_veo o silencioso |
| Voz | Selección de voz TTS |
| Música | Prompt para Lyria |
| Formato | Relación de aspecto para Veo |
| Resolución | Calidad de salida 720p o 1080p |
| Modelo | veo-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ón | Predeterminado | Descripción |
|---|---|---|
--name | obligatorio | Nombre del proyecto |
--output | directorio actual | Directorio padre |
--duration | 30 | Duración objetivo en segundos |
--aspect-ratio | 16:9 | 16:9, 9:16, 1:1, 4:3 |
--audio-strategy | custom | custom, veo_audio, silent |
--scenes | 3 | Nú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:
- Generar escenas de video (Veo 3.1)
- Extraer audio de las escenas (si es audio personalizado)
- Generar locución (Gemini TTS)
- Generar música de fondo (Lyria)
- Mezclar locución + música
- Concatenar clips de video
- Fusionar audio con video
- 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
| Estrategia | Descripción | Cuándo usarla |
|---|---|---|
custom | Extraer audio de Veo, añadir locución y música personalizada | La mayoría de los videos |
veo_audio | Conservar el audio generado por Veo (diálogo, efectos) | Escenas cinematográficas, diálogos |
silent | Extraer audio, generar video silencioso | Añ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
| Tipo | Ejemplo |
|---|---|
| Video de producto | Video hero de 30s mostrando un producto |
| Video explicativo | Explicación de cómo funciona o de características |
| Video promocional/anuncio | Anuncio de marketing |
| Video demo | Demostración de producto |
| Video de capacitación | Contenido de formación interna |
| Testimonial | Video estilo cita de cliente |
| Video de marca | Historia 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
| Estilo | Prompt musical | Voz |
|---|---|---|
| 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 archivo | Cómo se usa |
|---|---|
| Imágenes del producto | Animar con Veo como primer fotograma |
| Logotipo (PNG) | Superponer en la escena final |
| Locución existente | Colocar en audio/voiceover.wav |
| Música de marca | Colocar en audio/background_music.wav |
| Videoclips | Colocar en la carpeta scenes/ |
| Guion/texto | Usar 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
| Error | Solució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 video | Reintentar, o usar una duración más corta |
| Problemas de sincronización audio/video | Ajustar 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"