Vídeo Curto com Um Clique (Orquestração Ponta a Ponta)
Insira um tema e produza automaticamente um vídeo curto. Este SKILL é a camada de orquestração: conecta as peças de produção existentes em uma linha de montagem — Roteiro (video-script) → Imagem por frase (ai-image-gen) ou clipe (ai-video-gen) → Narração (tts-voiceover) → Legendas (auto-subtitle) → BGM (ai-music) → Montagem (scripts/assemble.py). Inspirado no motor de vídeo curto automático do Pixelle-Video / MoneyPrinterTurbo.
Entrada
- Tema / Roteiro (obrigatório)
- Opcional: duração alvo, estilo, se deseja narração/legendas/BGM, se as imagens serão geradas por AI ou素材 do usuário
- Regra rígida de proporção: se o usuário ou tarefa upstream não especificar orientação retrato/paisagem (ou 16:9/9:16/resolução específica), deve-se perguntar e aguardar confirmação antes de qualquer chamada de produção/pagamento; não inferir silenciosamente da plataforma, perfil ou valor padrão. Se já especificado, não repetir.
Saída
O vídeo curto final é salvo em outputs/nome-do-tema/final.mp4; storyboard, imagens, narração e legendas em outputs/nome-do-tema/assets/.
Etapas de Execução (ajustáveis conforme necessário; etapas sem chave de API são automaticamente degradadas ou perguntam)
-
Escrever Roteiro e Storyboard: Use video-script para transformar o tema em um roteiro de narração, dividido em N frases (cada frase um quadro), com uma descrição de cena para cada quadro.
-
Gerar Cenas (uma imagem ou clipe por quadro):
- Com chave de API de imagem → ai-image-gen text2img por frase (na proporção confirmada)
- Se necessário movimento → ai-video-gen text2video/image2video
- Com素材 do usuário → Use image-editing
padpara a proporção confirmada - Sem nenhum → Selecione cartões de imagem na proporção confirmada (retrato: card-xiaohongshu/poster-hero; paisagem: card-quote) e aplique pad, evitando incompatibilidade de proporção.
-
Narração: tts-voiceover sintetiza o roteiro em narração (gerando também SRT). Se
VOICE_PROVIDERestiver configurado, usa voz premium fechada por padrão (com emoção, mais realista); sem chave, cai para edge (robótico) — para narração não 'artificial', configure uma chave fechada. Pule se não precisar de narração. -
Legendas: Use o SRT anexado do TTS, ou execute auto-subtitle na narração; também pode deixar o assemble gerar automaticamente a partir das legendas de cada quadro.
-
BGM: ai-music gera, ou use música fornecida pelo usuário. Opcional.
-
Montagem Final: Escreva os assets em um storyboard JSON e chame o montador:
python skills/openclaw/auto-short-video/scripts/assemble.py assemble \ --storyboard outputs/nome-do-tema/assets/storyboard.json \ -o outputs/nome-do-tema/final.mp4Estrutura do storyboard (escolha entre imagem/vídeo; narração/bgm/legendas opcionais; se duration faltar, distribui uniformemente pela narração):
{ "size": "<dimensão confirmada, ex. 1080x1920 ou 1920x1080>", "image_motion": "ken-burns", "shots": [ {"image": "outputs/nome-do-tema/assets/shot1.png", "duration": 3, "caption": "Primeira frase", "motion": "static"}, {"video": "outputs/nome-do-tema/assets/clip2.mp4", "caption": "Segunda frase"} ], "narration": "outputs/nome-do-tema/assets/voice.mp3", "bgm": "outputs/nome-do-tema/assets/bgm.mp3", "subtitle": "outputs/nome-do-tema/assets/voice.srt" }image_motiondefine o movimento padrão para imagens de toda a linha;motionpor quadro pode sobrescrever: fotos usamken-burns, slides/gráficos/interfaces com texto DEVEM usarstatic(redimensionamento proporcional + preenchimento de bordas, sem cortes ou deslocamentos). O montador automaticamente: gera quadros estáticos ou Ken Burns conformeimage_motion, preenche bordas para a proporção, concatena, mixa narração+BGM (BGM automaticamente reduzido) e queima legendas. -
Entrega: Produz o final.mp4 e anexa uma nota explicativa (quais etapas foram usadas, quais foram degradadas).
Princípios de Orquestração
- Peças podem faltar: Etapas sem chave de API de imagem/vídeo/TTS são automaticamente degradadas (cartões de imagem como fallback / pular narração), sem bloquear o todo, e informa honestamente ao usuário o que foi degradado.
- Plano primeiro: Quando envolver várias APIs pagas (geração de imagem/vídeo/música), informe ao usuário quais serão chamadas, custo aproximado/tempo estimado, e aguarde confirmação antes de executar.
- Manter assets intermediários: Storyboard, imagens, narração e legendas são salvos em
outputs/nome-do-tema/assets/, facilitando substituição individual e remontagem.
Sensibilidade ao Perfil
- Com perfil: Extraia tom/estilo visual de
style.mdpara permear o roteiro e prompts de imagem;platforms.mdusado apenas para sugestões de proporção/duração, mas a proporção ainda deve ser confirmada;preferences.mdaplica filtros de barreira. - Sem perfil: Confirme orientação retrato/paisagem primeiro, depois use estilo de narração genérico.