Produtor de Vídeo
Crie vídeos completos com narração, música e elementos visuais.
Esta é uma skill orquestradora que combina:
- Geração de roteiro/storyboard (Claude)
- Síntese de narração (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: Coletar Requisitos (OBRIGATÓRIO)
⚠️ NÃO pule esta etapa. NÃO execute init_project.py até ter TODAS as respostas.
Use questionamento interativo — faça UMA pergunta por 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?
- Customizado — Eu gero narração + música de fundo
- Veo nativo — Usar o diálogo/efeitos sonoros/ambiente integrados do Veo
- Silencioso — Sem áudio, adicionar depois"
Aguarde a resposta.
P6: Voz (se áudio customizado)
"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 customizado)
"Qual vibe musical?
- Eletrônico moderno
- Cinematográfico/épico
- Pop animado
- Ambiente/chill
- 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, maior 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ápido"
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
Após 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, ajustes
├── storyboard.md # Documento de planejamento do vídeo
├── scenes/ # Clipes de vídeo gerados pelo Veo
│ ├── scene1_intro.mp4
│ ├── scene2_features.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_concatenated.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 "Reel do Instagram" --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 do 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)
- Remover áudio das cenas (se áudio customizado)
- 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
- Exportar 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": "scene1_hero",
"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": "scene2_features",
"prompt": "Demonstração de funcionalidades do produto, animações elegantes, estética tecnológica moderna",
"duration": 8,
"notes": "Narração começa aqui"
},
{
"id": 3,
"name": "scene3_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, vitrine 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 | Remover áudio do Veo, adicionar narração + música personalizada | Maioria dos vídeos |
veo_audio | Manter o áudio gerado pelo Veo (diálogo, efeitos sonoros) | Cenas cinematográficas, diálogos |
silent | Remover áudio, exportar 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 de ouvido 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 apreciando música
- Áudio: Narração: "Som cristalino. Graves envolventes."
## Cena 3: Conforto (12-20s)
- Visual: Close-up 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 usar 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 estilo 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 e Combinações Musicais
| Estilo | Prompt Musical | Voz |
|---|---|---|
| Premium/Luxo | "elegante, minimalista, ambiente, sofisticado" | Charon (informativo) |
| Tecnologia/Moderno | "eletrônico, futurista, limpo, inovador" | Kore (firme) |
| Diversão/Brincalhão | "animado, alegre, acústico, positivo" | Puck (animado) |
| Corporativo | "profissional, inspirador, orquestral leve" | Orus (firme) |
| Estilo de Vida | "descontraído, aspiracional, indie, acolhedor" | Aoede (suave) |
| Dramático/Cinematográfico | "épico, orquestral, emocional, em construção" | Gacrux (maduro) |
Estruturas Comuns de Vídeo
Vídeo de Produto (30s)
0-5s: Tomada heroica (apenas música)
5-15s: Funcionalidades (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 dos 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
Remover áudio dos clipes:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_strip_audio.py \
-i scene*.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 | Animadas com Veo como primeiro quadro |
| Logotipo (PNG) | Sobreposto 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 o texto da narração |
Limitações
- Duração do vídeo Veo: Máximo de 8 segundos por clipe (concatenar para maior duração)
- Veo 3.1 inclui áudio: Todos os clipes têm áudio gerado (remover se usar áudio customizado)
- 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" | Configure a chave de API conforme o README |
| "FFmpeg not found" | Instale: brew install ffmpeg |
| "project.json not found" | Execute init_project.py primeiro |
| Timeout na geração de vídeo | Tente novamente ou use duração mais curta |
| Problemas de sincronia áudio/vídeo | Ajuste as 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. Estilo premium, luxo. 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"