O que AI Video Studio faz?
Fluxo de trabalho de vídeo com IA all-in-one: geração Seedance 2.0 + edição CapCut Mate + renderização e exportação na nuvem.
Capacidades principais
- Geração de clipes de vídeo com IA — Gere vídeos de 5/8/11 segundos usando Seedance 2.0 a partir de prompts de texto/imagem
- Edição e composição automáticas — União de múltiplos clipes, sobreposição de legendas, efeitos de transição e BGM
- Renderização e exportação na nuvem — Gere o MP4 final
Gere vídeos cênicos com um único comando (NOVO — pipeline huobao de quatro camadas)
O subcomando drama encapsula o fluxo completo "roteiro → personagens/cenários → storyboard → renderização", executado por Sonnet com um advisor Opus que seleciona autonomamente modelos narrativos (problema-virada-solução / montagem cênica / dramatização de história / híbrido). A metodologia é baseada em reference/huobao/ (CC BY-NC-SA 4.0).
Vídeo promocional de produto (um comando)
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py drama \
--mode product \
--idea "Garrafa térmica inteligente, o dia de um profissional executivo" \
--scenario "Corrida matinal/metrô/escritório/horas extras" \
--highlights "Isolamento térmico de 12 horas, aço inoxidável aeronáutico, controle de temperatura com um toque" \
--shots 6 --duration 5 --ratio 9:16 --lang pt --run
Curta-metragem (um comando)
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py drama \
--mode shortdrama \
--idea "Encontro casual com ex-namorado no café, uma frase revela um mal-entendido de três anos" \
--shots 6 --duration 8 --ratio 9:16 --lang pt --run
Parâmetros
| Parâmetro | Descrição |
|---|---|
--mode | product (promoção de produto cênico) / shortdrama (curta-metragem) |
--idea | Ideia central ou descrição do produto em uma frase |
--scenario | Restrições de uso/cenário da história (opcional); o advisor compõe em torno disso |
--highlights | Lista de pontos fortes no modo product (o advisor integra naturalmente na narrativa, sem propaganda explícita) |
--shots | Número de tomadas, padrão 6 |
--duration | Duração de cada tomada: 5/8/11 segundos, padrão 5 |
--ratio | Proporção de tela: recomenda-se 9:16 para vídeos verticais |
--advisor-calls | Número máximo de consultas ao Opus, padrão 3 |
--run | Se incluído, executa imediatamente a geração Seedance + renderização ffmpeg; caso contrário, só gera o blueprint JSON |
Saída: o blueprint JSON (contendo characters / scenes / shots / narrative_template / logline) é salvo em $MEDIA_DIR/drama-<mode>-<ts>.json; com --run, continua o pipeline e produz o MP4 final.
Fluxo de trabalho completo (nível fundamental)
Quatro perfis de entrega e renderizadores externos
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py profiles
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py profiles paibao_private
Perfis embutidos: automotive_export, paibao_private, haitun_public, personal_ip. Storyboards podem usar explicitamente renderer: video_use|hyperframes|remotion para integração com edição de material real, animações HTML/GSAP ou templates parametrizados em React; os perfis não selecionam automaticamente renderizadores que dependem de diretórios EDL/projeto.
video_use requer edl e que output e edl.json estejam no mesmo diretório edit/; hyperframes requer project_dir; remotion requer project_dir, entry_point e composition_id. Ambos os projetos Node devem usar package-lock.json para travar o CLI local do projeto e executar npm ci primeiro; a renderização não buscará pacotes online. Renderizadores externos só podem ser executados explicitamente pelo CLI pipeline local; o caminho do servidor/LLM é desabilitado por padrão.
paibao_private proíbe a queima de legendas do storyboard em todos os renderizadores: primeiro gera um mestre de edição sem legendas, que depois é enviado ao paibao-course-publisher para finalização com ASS, extração de quadros, hash e verificação de publicação.
Geração com um comando: do storyboard ao produto final
Crie um arquivo JSON de storyboard e depois chame o pipeline:
# Criar storyboard
cat > /tmp/storyboard.json << 'EOF'
{
"title": "Anúncio de produto",
"ratio": "16:9",
"shots": [
{"prompt": "A modern smartphone floating in space with golden particles around it, cinematic lighting", "duration": 5, "caption": "Novo design, líder do futuro"},
{"prompt": "Hands holding a smartphone with holographic UI elements emerging from screen", "duration": 5, "caption": "Inteligência ao seu alcance"},
{"prompt": "Slow motion water splash revealing a smartphone, dramatic lighting", "duration": 5, "caption": "Nova fronteira em resistência à água"}
],
"bgm_url": null
}
EOF
# Executar o fluxo completo
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py pipeline /tmp/storyboard.json
Saída: caminho do arquivo de vídeo final (ex.: /root/.openclaw/media/studio-xxx.mp4)
Descrição dos campos do storyboard
| Campo | Tipo | Descrição |
|---|---|---|
title | string | Nome do projeto |
ratio | string | Proporção da tela: 16:9, 9:16, 1:1 |
shots[].prompt | string | Prompt de geração Seedance (recomendado em inglês para melhores resultados) |
shots[].duration | int | Duração de cada cena: 5, 8 ou 11 segundos |
shots[].caption | string | Texto da legenda (deixe vazio para sem legenda) |
shots[].ref_image | string? | URL opcional de imagem de referência |
bgm_url | string? | URL opcional de música de fundo |
Uso passo a passo (combinação flexível)
Passo 1: Gerar um único clipe de vídeo
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py generate \
--prompt "Um gato laranja bocejando ao sol" \
--ratio 16:9 \
--duration 5
Retorna: caminho do arquivo de vídeo
Passo 2: Compor múltiplos clipes
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py compose \
--videos /root/.openclaw/media/clip1.mp4,/root/.openclaw/media/clip2.mp4 \
--captions "Primeira cena,Segunda cena" \
--ratio 16:9
Retorna: URL do rascunho + caminho do vídeo exportado
Passo 3: Editar vídeos existentes apenas com CapCut Mate
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py compose \
--videos https://example.com/v1.mp4,https://example.com/v2.mp4 \
--captions "Abertura,Fim" \
--bgm https://example.com/music.mp3 \
--ratio 9:16
Modo de saída direta FFmpeg (recomendado, padrão)
O comando pipeline usa ffmpeg por padrão para gerar MP4 diretamente no servidor, sem depender do cliente CapCut.
Apenas renderização (pula Seedance, usa clipes existentes)
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py render --videos clip1.mp4,clip2.mp4 --captions "Primeira cena,Segunda cena" --bgm https://example.com/music.mp3 --ratio 16:9 --title meuprojeto
Retorna: caminho do arquivo MP4 final
Capacidades de renderização ffmpeg
- União de múltiplos clipes (normalização automática de resolução)
- Queima de legendas SRT (texto branco com borda preta, centralizado na parte inferior)
- Mixagem de BGM (áudio original 100% + BGM 30%)
- Codificação H.264 + AAC, renderização em segundos
Pipeline padrão com ffmpeg
No JSON do storyboard, o renderizador padrão é ffmpeg; defina capcut para alternar para o modo de rascunho CapCut.
Observações importantes
- A geração de vídeo Seedance geralmente leva de 3 a 10 minutos por clipe; envie múltiplos clipes em paralelo
- A renderização na nuvem requer a chave da API CapCut (definida via variável de ambiente
CAPCUT_API_KEY) - Sem a chave de renderização na nuvem, ainda é possível gerar arquivos de rascunho e exportar manualmente com o cliente CapCut
- Diretório de saída de vídeo:
/root/.openclaw/media/ - Recomenda-se usar prompts em chinês para Seedance; resultados melhores
Variáveis de ambiente
| Variável | Uso | Valor padrão |
|---|---|---|
SEEDANCE_API_KEY | API Doubao Seedance | fallback embutido |
CAPCUT_MATE_URL | Endereço do serviço CapCut Mate | http://127.0.0.1:30000 |
CAPCUT_API_KEY | Chave de renderização na nuvem CapCut (opcional) | Nenhum |