Communitygithub.com

michaelboeding/skills

Use esta skill para criar vídeos completos com narração e música de fundo.

O que é skills?

A skill Video Producer permite criar vídeos completos combinando roteiro, narração, música de fundo e clipes visuais gerados por IA. Ela atua como um orquestrador, coordenando ferramentas como Claude para geração de roteiro, Gemini TTS para síntese de voz, Lyria para música e Veo 3.1 para clipes de vídeo, além de realizar a montagem final com FFmpeg. O processo segue um fluxo de trabalho estruturado: primeiro, o usuário é guiado por uma série de perguntas interativas (sobre tema, duração, estilo, assets, áudio, formato e modelo) usando a ferramenta AskUserQuestion. Em seguida, um projeto é inicializado com um script Python, configurado via `project.json` e montado com `assemble.py`. A skill suporta três estratégias de áudio (custom, veo_audio e silent) e oferece flexibilidade para diferentes tipos de vídeo, como demonstrativos de produtos, vídeos explicativos, depoimentos e conteúdo para redes sociais. É compatível com Claude Code (ou agente similar) e requer chave de API do Google (GOOGLE_API_KEY) e FFmpeg instalado.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

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 inferior
  • veo-3 — Geração anterior
  • veo-3-fast — Geração anterior, mais rápido"

Aguarde a resposta.

Referência Rápida

PerguntaDetermina
AssuntoConteúdo da cena e prompts
DuraçãoNúmero de cenas (clipes Veo devem ter 4, 6 ou 8 segundos)
EstiloPrompts visuais e seleção musical
AssetsGerar vs. usar existentes
Áudiocustom, veo_audio ou silent
VozSeleção de voz TTS
MúsicaPrompt Lyria
FormatoProporção de tela para Veo
ResoluçãoQualidade de saída 720p ou 1080p
Modeloveo-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çãoPadrãoDescrição
--nameobrigatórioNome do projeto
--outputdiretório atualDiretório pai
--duration30Duração alvo em segundos
--aspect-ratio16:916:9, 9:16, 1:1, 4:3
--audio-strategycustomcustom, veo_audio, silent
--scenes3Nú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:

  1. Gerar cenas de vídeo (Veo 3.1)
  2. Remover áudio das cenas (se áudio customizado)
  3. Gerar narração (Gemini TTS)
  4. Gerar música de fundo (Lyria)
  5. Mixar narração + música
  6. Concatenar clipes de vídeo
  7. Mesclar áudio com vídeo
  8. 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égiaDescriçãoQuando Usar
customRemover áudio do Veo, adicionar narração + música personalizadaMaioria dos vídeos
veo_audioManter o áudio gerado pelo Veo (diálogo, efeitos sonoros)Cenas cinematográficas, diálogos
silentRemover áudio, exportar vídeo silenciosoAdicionar á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

TipoExemplo
Vídeo de produtoVídeo herói de 30s mostrando um produto
Vídeo explicativoExplicação de como usar ou de funcionalidades
Vídeo promocional/anúncioPropaganda de marketing
Vídeo de demonstraçãoDemonstração de produto
Vídeo de treinamentoConteúdo de treinamento interno
DepoimentoVídeo estilo citação de cliente
Vídeo de marcaHistó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

EstiloPrompt MusicalVoz
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 ArquivoComo é Usado
Imagens do produtoAnimadas com Veo como primeiro quadro
Logotipo (PNG)Sobreposto na cena final
Narração existenteColocar em audio/voiceover.wav
Música da marcaColocar em audio/background_music.wav
Clipes de vídeoColocar na pasta scenes/
Roteiro/textoUsar 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

ErroSoluçã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ídeoTente novamente ou use duração mais curta
Problemas de sincronia áudio/vídeoAjuste 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"

Habilidades Relacionadas