Video Producer
Crie vídeos completos com narração, música e visuais.
Este é um skill orquestrador que combina:
- Geração de roteiro/storyboard (Claude)
- Síntese de voz (Gemini TTS)
- Música de fundo (Lyria)
- Geração de clipes de vídeo (Veo 3.1) ou animação de imagens
- Montagem final (FFmpeg via media-utils)
Fluxo de Trabalho
Etapa 1: Levantar Requisitos (OBRIGATÓRIO)
⚠️ NÃO pule esta etapa. NÃO execute o init_project.py até ter TODAS as respostas.
Use questionamento interativo — faça UMA pergunta de cada vez, aguarde a resposta e depois faça a próxima. Isso cria um processo colaborativo orientado por especificações.
Fluxo de Perguntas
⚠️ Use a ferramenta AskUserQuestion para cada pergunta abaixo. Não apenas imprima as perguntas na sua resposta — use a ferramenta para criar prompts interativos com as opções mostradas.
P1: Assunto
"Vou criar esse vídeo! Primeiro — sobre o que é?
(ex.: lançamento de produto, história de marca, tutorial, explicativo — ou descreva o seu próprio)"
Aguarde a resposta.
P2: Duração
"Qual deve ser a duração do vídeo?
- 15 segundos (gancho rápido)
- 30 segundos (anúncio padrão)
- 60 segundos (explicativo)
- 2+ minutos (detalhado)
- Ou especifique sua própria duração"
Aguarde a resposta.
P3: Estilo
"Qual estilo visual?
- Premium/luxo
- Divertido/brincalhão
- Corporativo/profissional
- Dramático/cinematográfico
- Mínimo/limpo
- Ou descreva seu próprio estilo"
Aguarde a resposta.
P4: Assets
"Você tem imagens ou clipes de vídeo existentes para usar?
- Não, gerar tudo
- Sim, tenho imagens (forneça os caminhos)
- Sim, tenho clipes de vídeo (forneça os caminhos)"
Aguarde a resposta.
P5: Estratégia de Áudio
"Como devemos lidar com o áudio?
- Personalizado — Eu gero narração + música de fundo
- Veo nativo — Usar diálogo/efeitos sonoros/ambiente integrados do Veo
- Silencioso — Sem áudio, adicionar depois"
Aguarde a resposta.
P6: Voz (se áudio personalizado)
"Qual tom de voz para a narração?
- Profissional
- Amigável/acolhedor
- Energético
- Calmo/suave
- Dramático
- Ou descreva seu próprio tom"
Aguarde a resposta.
P7: Música (se áudio personalizado)
"Qual vibe musical?
- Eletrônico moderno
- Cinematográfico/épico
- Pop animado
- Ambiente/calmo
- Corporativo
- Ou descreva seu próprio estilo"
Aguarde a resposta.
P8: Formato
"Qual proporção de tela?
- 16:9 (YouTube, web)
- 9:16 (TikTok, Reels, Shorts)
- 1:1 (Feed do Instagram)"
Aguarde a resposta.
P9: Resolução
"Qual resolução?
- 720p (geração mais rápida)
- 1080p (HD padrão)"
Aguarde a resposta.
P10: Modelo
"Qual modelo Veo?
veo-3.1— Mais recente, alta qualidade (padrão)veo-3.1-fast— Geração mais rápida, qualidade ligeiramente inferiorveo-3— Geração anteriorveo-3-fast— Geração anterior, mais rápida"
Aguarde a resposta.
Referência Rápida
| Pergunta | Determina |
|---|---|
| Assunto | Conteúdo da cena e prompts |
| Duração | Número de cenas (clipes Veo devem ter 4, 6 ou 8 segundos) |
| Estilo | Prompts visuais e seleção musical |
| Assets | Gerar vs. usar existentes |
| Áudio | custom, veo_audio ou silent |
| Voz | Seleção de voz TTS |
| Música | Prompt Lyria |
| Formato | Proporção de tela para Veo |
| Resolução | Qualidade de saída: 720p ou 1080p |
| Modelo | veo-3.1, veo-3.1-fast, veo-3, veo-3-fast |
Etapa 2: Inicializar Projeto
Depois de obter as respostas do usuário, inicialize o projeto com as preferências dele:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-producer-agent/scripts/init_project.py \
--name "Vídeo de Lançamento de Produto" \
--duration 30 \
--aspect-ratio 16:9 \
--audio-strategy custom \
--scenes 5
Etapa 3: Configurar project.json
Edite project.json com os prompts das cenas, texto da narração e estilo musical com base nas respostas do usuário.
Etapa 4: Montar o Vídeo
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-producer-agent/scripts/assemble.py \
--project ~/meu_projeto_video/
Estrutura do Projeto
Ao inicializar um projeto, esta estrutura de pastas é criada:
meu_projeto/
├── project.json # Configuração: cenas, narração, música, configurações
├── storyboard.md # Documento de planejamento do vídeo
├── scenes/ # Clipes de vídeo gerados pelo Veo
│ ├── scene1_intro.mp4
│ ├── scene2_caracteristicas.mp4
│ └── scene3_cta.mp4
├── audio/ # Assets de áudio
│ ├── voiceover.wav # Narração gerada
│ ├── background_music.wav # Música gerada
│ └── final_mix.mp3 # Faixa de áudio mixada
├── work/ # Arquivos intermediários (gerados automaticamente)
│ ├── silent_scene1.mp4
│ ├── video_concatenado.mp4
│ └── ...
└── output/ # Entregáveis finais
└── video_lancamento_produto_final.mp4
Scripts
init_project.py
Inicialize um novo projeto de vídeo com estrutura de pastas e modelos.
# Projeto básico
python3 init_project.py --name "Meu Vídeo" --duration 30
# Criar em diretório específico
python3 init_project.py --name "Vídeo de Demonstração" --output ~/Videos/
# Vídeo vertical para redes sociais
python3 init_project.py --name "Instagram Reel" --aspect-ratio 9:16 --duration 15
# Usar áudio nativo do Veo (sem narração/música personalizada)
python3 init_project.py --name "Cena Cinematográfica" --audio-strategy veo_audio
# Mais cenas
python3 init_project.py --name "Vídeo Longo" --duration 60 --scenes 5
Opções:
| Opção | Padrão | Descrição |
|---|---|---|
--name | obrigatório | Nome do projeto |
--output | diretório atual | Diretório pai |
--duration | 30 | Duração alvo em 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 placeholders de cena |
assemble.py
Orquestre o pipeline completo de montagem de vídeo.
# Pipeline completo (gerar tudo + montar)
python3 assemble.py --project ~/meu_projeto/
# Pular geração (usar arquivos de cena/áudio existentes)
python3 assemble.py --project ~/meu_projeto/ --skip-generation
# Simulação (mostrar o que seria feito)
python3 assemble.py --project ~/meu_projeto/ --dry-run
Etapas do pipeline:
- Gerar cenas de vídeo (Veo 3.1)
- Extrair áudio das cenas (se áudio personalizado)
- Gerar narração (Gemini TTS)
- Gerar música de fundo (Lyria)
- Mixar narração + música
- Concatenar clipes de vídeo
- Mesclar áudio com vídeo
- Gerar vídeo final
Configuração do project.json
{
"name": "Vídeo de Lançamento de Produto",
"duration_target": 30,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio_strategy": "custom",
"scenes": [
{
"id": 1,
"name": "cena1_heroi",
"prompt": "Zoom lento cinematográfico em produto premium, iluminação dramática, estilo comercial de alto padrão",
"duration": 6,
"notes": "Apenas música, sem narração"
},
{
"id": 2,
"name": "cena2_caracteristicas",
"prompt": "Demonstração das características do produto, animações elegantes, estética tecnológica moderna",
"duration": 8,
"notes": "Narração começa aqui"
},
{
"id": 3,
"name": "cena3_cta",
"prompt": "Produto com logotipo em fundo limpo, momento de chamada para ação",
"duration": 6,
"notes": "Música cresce, narração termina"
}
],
"voiceover": {
"enabled": true,
"text": "Apresentando o futuro do áudio. Som cristalino. Conforto o dia todo. Experimente a diferença.",
"voice": "Charon",
"style": "Profissional, confiante, voz de marca premium"
},
"music": {
"enabled": true,
"prompt": "eletrônico moderno, premium, elegante, showcase de produto, baixo 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
}
}
Estratégias de Áudio
| Estratégia | Descrição | Quando Usar |
|---|---|---|
custom | Extrair áudio do Veo, adicionar narração + música personalizada | Maioria dos vídeos |
veo_audio | Manter áudio gerado pelo Veo (diálogo, efeitos sonoros) | Cenas cinematográficas, diálogos |
silent | Extrair áudio, gerar vídeo silencioso | Adicionar áudio depois |
Fluxo de Trabalho: Criando um Vídeo
Etapa 1: Inicializar Projeto
python3 init_project.py --name "Promo Fones de Ouvido Sem Fio" --duration 30
Etapa 2: Planejar o Storyboard
Edite storyboard.md para planejar a estrutura do seu vídeo:
## Cena 1: Revelação do Herói (0-5s)
- Visual: Fones emergindo da sombra, iluminação premium
- Áudio: Apenas música (introdução dramática)
## Cena 2: Qualidade de Som (5-12s)
- Visual: Ondas sonoras, pessoa curtindo música
- Áudio: Narração: "Som cristalino. Graves envolventes."
## Cena 3: Conforto (12-20s)
- Visual: Close do ajuste, pessoa correndo
- Áudio: Narração: "Conforto o dia todo. Ajuste seguro."
## Cena 4: CTA (20-30s)
- Visual: Produto + logotipo
- Áudio: Narração: "Experimente a diferença." + crescendo musical
Etapa 3: Configurar project.json
Preencha os prompts das cenas, texto da narração e estilo musical com base no seu storyboard.
Etapa 4: Montar
python3 assemble.py --project ~/promo_fones_sem_fio/
Etapa 5: Revisar e Iterar
Verifique a saída em output/. Se forem necessários ajustes:
# Re-executar com cenas existentes (apenas remixar áudio)
python3 assemble.py --project ~/promo_fones_sem_fio/ --skip-generation
O Que Você Pode Criar
| Tipo | Exemplo |
|---|---|
| Vídeo de produto | Vídeo herói de 30s mostrando um produto |
| Vídeo explicativo | Explicação de como fazer ou de funcionalidades |
| Vídeo promocional/anúncio | Propaganda de marketing |
| Vídeo de demonstração | Demonstração de produto |
| Vídeo de treinamento | Conteúdo de treinamento interno |
| Depoimento | Vídeo no estilo de citação de cliente |
| Vídeo de marca | História da empresa/marca |
Pré-requisitos
GOOGLE_API_KEY- Para Veo (vídeo), Gemini TTS (voz), Lyria (música)- FFmpeg instalado:
brew install ffmpeg
Estilos de Vídeo & Combinações Musicais
| Estilo | Prompt Musical | Voz |
|---|---|---|
| Premium/Luxo | "elegante, minimalista, ambiente, sofisticado" | Charon (informativo) |
| Tecnologia/Moderno | "eletrônico, futurista, limpo, inovador" | Kore (firme) |
| Divertido/Brincalhão | "animado, alegre, acústico, positivo" | Puck (otimista) |
| Corporativo | "profissional, inspirador, orquestral leve" | Orus (firme) |
| Estilo de Vida | "descontraído, aspiracional, indie, acolhedor" | Aoede (descontraída) |
| Dramático/Cinematográfico | "épico, orquestral, emocional, crescente" | Gacrux (madura) |
Estruturas Comuns de Vídeo
Vídeo de Produto (30s)
0-5s: Tomada principal do herói (apenas música)
5-15s: Características (narração + música)
15-25s: Estilo de vida/caso de uso (narração + música)
25-30s: Logotipo + CTA (fade musical)
Vídeo Explicativo (60s)
0-5s: Gancho/declaração do problema
5-20s: Introdução da solução
20-45s: Como funciona (3 etapas)
45-55s: Resumo de benefícios
55-60s: CTA
Vídeo de Depoimento (45s)
0-5s: Introdução/cartão de nome
5-35s: Citação do depoimento (várias cenas)
35-45s: Tomada do produto + logotipo
Fluxo de Trabalho Manual (Sem Scripts)
Se preferir executar cada etapa manualmente:
Gerar cenas:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py \
--batch scenes.json
Gerar narração:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/voice-generation/scripts/gemini_tts.py \
--text "Seu texto de narração..." \
--voice Charon \
--style "Profissional, acolhedor"
Gerar música:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/music-generation/scripts/lyria.py \
--prompt "eletrônico moderno, premium" \
--duration 35
Extrair áudio dos clipes:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_strip_audio.py \
-i cena*.mp4
Concatenar vídeos:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_concat.py \
-i silent_*.mp4 --transition fade -o video.mp4
Mixar áudio:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/audio_mix.py \
--voice voiceover.wav --music music.wav -o audio.mp3
Mesclar áudio + vídeo:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_audio_merge.py \
--video video.mp4 --audio audio.mp3 -o final.mp4
Arquivos de Entrada Que Você Pode Fornecer
| Tipo de Arquivo | Como é Usado |
|---|---|
| Imagens do produto | Animar com Veo como primeiro quadro |
| Logotipo (PNG) | Sobrepor na cena final |
| Narração existente | Colocar em audio/voiceover.wav |
| Música da marca | Colocar em audio/background_music.wav |
| Clipes de vídeo | Colocar na pasta scenes/ |
| Roteiro/texto | Usar para texto da narração |
Limitações
- Duração do vídeo Veo: Máximo de 8 segundos por clipe (concatenar para mais tempo)
- Veo 3.1 inclui áudio: Todos os clipes têm áudio gerado (extrair se usar personalizado)
- Tempo de processamento: A geração de vídeo leva de 1 a 3 minutos por clipe
- Resolução: Atualmente 720p ou 1080p (1080p apenas para 8s)
Tratamento de Erros
| Erro | Solução |
|---|---|
| "GOOGLE_API_KEY not set" | Configurar chave de API conforme README |
| "FFmpeg not found" | Instalar: brew install ffmpeg |
| "project.json not found" | Executar init_project.py primeiro |
| Timeout na geração de vídeo | Tentar novamente ou usar duração mais curta |
| Problemas de sincronia áudio/vídeo | Ajustar durações das cenas |
Exemplos de Prompts
Simples:
"Crie um vídeo de produto de 30 segundos para minha nova cafeteira"
Detalhado:
"Crie um vídeo de produto de 45 segundos para nossos novos fones de ouvido sem fio. Toque premium e luxuoso. Tenho fotos do produto anexadas. Narração masculina profissional. Música eletrônica moderna. 16:9 para YouTube."
Com projeto:
"Inicialize um projeto de vídeo chamado 'Demonstração do App' com 5 cenas, 60 segundos no total, formato vertical para TikTok"