Geração de Vídeo
Submete um trabalho de geração de vídeo por chamada e retorna um jobId. O gerenciamento de trabalhos (espera/status) pertence ao track_progress; esta skill não coloca vídeos na linha do tempo automaticamente.
Quando Usar
Sempre que o usuário quiser gerar um clipe de vídeo — texto-para-vídeo, imagem-para-vídeo, transição primeiro-último quadro, geração baseada em referência, storyboard multi-corte, ou editar/estender generativamente um vídeo existente (produzindo novas imagens geradas a partir de um clipe fonte; não corte na linha do tempo).
Modelos
| Modelo | Referência | Pontos Fortes |
|---|---|---|
fal + falModel | referências/fal.md | Catálogo explícito Fal; veja o esquema da ferramenta para limites por modelo |
seedance2 | referências/seedance2.md | Padrão quando configurado. Referências multimodais, primeiro/último, editar/estender/ponte, 2–15s, 480p/720p/1080p/4k, controles de áudio/semente/câmera/marca d'água/último quadro/tarefa. |
kling | referências/kling.md | Câmera/performance técnica; Omni multi-corte; imagens ≤7 (≤4 com um recurso refVideos); std/pro; 3–15s. |
hailuo | referências/hailuo.md | MiniMax 海螺. T2V / I2V / primeiro+último; 6s ou 10s; 512P (Hailuo-02), 720p→768P, 1080P (6s); sem multi-ref / multi-corte. |
grok-imagine-video | referências/grok-imagine-video.md | xAI Grok Imagine. Apenas texto-para-vídeo; 1–15s; 480p/720p/1080p; trilha de áudio incluída. |
ofox | referências/ofox.md | Gateway multi-modelo OFox (Seedance/Wan e mais por trás de uma chave). Texto/imagem-para-vídeo, primeiro+último quadro, até 9 referências de imagem; 2–30s com limites de API por modelo; 480p/720p/1080p por modelo. |
IMPORTANTE: Antes de gerar, LEIA a referência do modelo escolhido para capacidades, canais de entrada, modos, estrutura de prompt e comportamento específico do modelo. Nunca invente parâmetros que a referência proíba.
Seleção de Modelo
Respeite os fornecedores configurados do prompt de capacidades (chame apenas um modelo cuja chave esteja ativa).
- Usuário nomeou um fornecedor ("用海螺", "MiniMax", "Kling", "Seedance") → esse
model, se configurado. - Se Fal.ai estiver selecionado ou solicitado, use
model: "fal"e ofalModelsolicitado ou o padrão Fal salvo das capacidades. Pergunte se nenhum modelo Fal foi selecionado. Leia as restrições do catálogo Fal no esquema da ferramenta; os limites do provedor nativo abaixo não se aplicam. - Caso contrário, padrão
seedance2quando Seedance estiver configurado. - Caso contrário, se apenas Kling estiver ativo →
kling. Caso contrário, se apenas MiniMax estiver ativo →hailuo. Caso contrário, se apenas xAI estiver ativo →grok-imagine-video. Caso contrário, se apenas OFox estiver ativo →ofox. - Mudar do padrão quando:
- Precisar de customização/inteligência multi-corte →
kling(confirme se não foi nomeado pelo usuário). - Precisar de referências multimodais ricas (referências de vídeo/áudio, editar/estender) →
seedance2. - Precisar de uma batida curta única e apenas MiniMax estiver disponível, ou o usuário quiser Hailuo →
hailuocom duração 6 ou 10.
- Precisar de customização/inteligência multi-corte →
Se o modelo necessário não estiver configurado, informe e ofereça: outro fornecedor de vídeo configurado, upload ou Motion Graphic — não finja que a API existe.
Informe brevemente ao usuário o que você irá gerar antes de submeter.
Parâmetros da Ferramenta
| Parâmetro | Valores | Padrão |
|---|---|---|
model | seedance2, kling, hailuo, grok-imagine-video, ofox, fal | seedance2 quando disponível |
durationSeconds | específico do modelo | seedance/kling ~5; hailuo 6 ou 10 (1080p → 6 apenas); grok 1–15; ofox 2–30 (limites de API por modelo) |
ratio | veja docs do modelo | 16:9 (seedance/kling/grok/ofox); ignorado no hailuo |
resolution | 480p, 512p, 720p, 1080p, 4k | específico do provedor; hailuo adiciona 512p para Hailuo-02; grok: 480p/720p/1080p |
refVideoMode | feature, base | apenas kling, com refVideos |
promptOptimizer / fastPretreatment | booleano | apenas hailuo |
generateAudio, seed, cameraFixed, watermark | controles | apenas seedance |
returnLastFrame, executionExpiresAfter, priority | controles | apenas seedance; o último quadro solicitado se torna outro asset de imagem |
name | nome descritivo do asset | necessário para boa UX do pool |
firstFrame | referência de asset de imagem do projeto | opcional |
lastFrame | referência de asset de imagem do projeto | seedance / kling / hailuo (requer firstFrame; não com multi-ref no seedance) |
refImages / refVideos / refAudios | referências de asset | seedance completo; kling: imagens + 1 vídeo funcional (sem áudio); hailuo: nenhum (quadros / assunto S2V) |
mode / shotType / multiPrompts | Kling multi-corte | apenas kling |
Parâmetros específicos do modelo — veja a referência do modelo.
Resolução de Entrada
firstFrame / lastFrame / refImages / refVideos / refAudios todos aceitam uma referência de asset do projeto. Prefira um UUID completo ou prefixo curto de read_project; asset://<id> e URLs de assets do mesmo projeto retornadas por read_project também são aceitas. Tipo por slot: slots de quadro e refImages → imagem; refVideos → vídeo; refAudios → áudio.
URLs externas e base64 não são aceitos. Se a fonte for uma URL pública, faça o download para o projeto primeiro (download_media para vídeo/áudio, submit_image para imagens) e passe o id do asset resultante.
Fluxo de Trabalho
Loop de quatro etapas. Para cada nova geração, recomece da Etapa 1 se a intenção do usuário mudou.
Etapa 1 — Alinhar escopo com o usuário
Antes de escrever qualquer prompt, alinhe três dimensões:
-
Duração e segmentos — duração total, quantos cortes, e se eles vivem em um clipe ou vários.
Se o usuário já declarou uma direção ("做一段", "em um vídeo", "分别生成", "dividir em N cortes", etc.), siga — não questione.
Caso contrário, apresente os dois caminhos e deixe o usuário escolher:
- Multi-corte dentro de um clipe (veja ref do modelo) — inferência única, assunto/iluminação/estilo fisicamente consistente entre sub-cortes; adequa-se a uma narrativa coesa dentro do limite de duração por clipe.
- Múltiplos clipes — cada clipe é independentemente controlável e regerável, mas a continuidade de identidade e estilo tem que ser mantida por âncoras; adequa-se a durações além do limite ou quebras de cena bruscas.
Ofereça a troca; não escolha pelo usuário.
-
Conteúdo — o que cada clipe retrata. Resuma de volta o que você entendeu, segmento por segmento. Quando o conteúdo for vago (exemplo: "gerar um vídeo de uma garota dançando"), o usuário normalmente não especificou um ou mais de:
- Assunto: quem / o que é o assunto principal (aparência, roupa, características definidoras)?
- Ação: o que estão fazendo? (Para tomadas de fala/emoção, qual microexpressão?)
- Cena: onde — cenário, hora do dia, detalhes ambientais?
- Iluminação / clima de cor: qual atmosfera?
- Câmera: alguma preferência de tamanho de plano/ângulo/movimento?
- Estilo: estilo visual ou referência (cinematográfico/anime/documentário/...).
Foque nos itens que importam para esta solicitação específica e não podem ser inferidos com segurança — não transforme isso em um exercício de preenchimento de lacunas. Resuma as partes compreendidas de volta ao usuário antes de prosseguir.
-
Âncoras de consistência — apenas quando vários cortes reutilizam um personagem, objeto ou cena: identifique qual âncora (imagem ou vídeo de referência) fixar entre os cortes. Para regras de obtenção, veja §Consistência visual entre cortes abaixo.
Para cada dimensão, verifique as palavras do usuário:
- Claro — prossiga.
- Ambíguo ou faltando — PERGUNTE ao usuário. Não adivinhe, não use sua própria interpretação como padrão. Uma confirmação de ida e volta é mais barata que uma geração desperdiçada.
O que NÃO fazer
- Não "diga e depois submeta" — anunciar "Vou fazer isso como 2 clipes" e submeter imediatamente não é alinhamento, é uma decisão unilateral com anúncio.
- Não divida por padrão uma solicitação de um único vídeo em múltiplos clipes. Um único clipe pode carregar vários sub-cortes (veja ref do modelo), com assunto/iluminação/estilo fisicamente consistente entre eles. Apresente a troca, depois deixe o usuário escolher.
- Não pule a pergunta porque você acha que a resposta é óbvia.
Substituições forçadas (a palavra explícita do usuário vence)
- "um clipe / clipe único / 一条 / 一个镜头 / em 1 clipe" → nunca divida, mesmo que a descrição seja objetivamente longa.
- "N cortes / N 段 / N 个镜头" → gere exatamente N.
- "use esta imagem / 用这张图" → use como referência, não substitua.
Etapa 2 — Escrever o prompt
Veja a referência do modelo escolhido para estrutura de prompt e combinações de parâmetros (por exemplo, estrutura de 8 elementos e modos do Seedance; dicas de prompt do Kling). Antes de submeter, verifique:
nameé um nome de asset descritivo — descritivo o suficiente para o usuário (e você em turnos posteriores) reconhecer este asset na biblioteca do projeto. Evite nomes vagos como "Sem título" ou "clipe 1".- A combinação de parâmetros corresponde à intenção do usuário — veja a seção Modos na referência do modelo.
- O áudio do vídeo gerado não é um parâmetro da ferramenta (lado do provedor). Hailuo não tem ratio/multi-ref; não invente esses parâmetros.
- Em falha de validação, leia o erro e corrija as entradas — não tente novamente cegamente os mesmos argumentos inválidos.
Etapa 3 — Submeter um, aguardar, confirmar
Submeta um trabalho de geração por vez. A menos que o usuário tenha explicitamente solicitado múltiplos clipes em paralelo, não submeta o próximo clipe até que o atual termine e o usuário o revise. Submissão paralela esconde problemas: se o primeiro corte tiver deriva ou enquadramento errado, o usuário prefere refazê-lo uma vez do que ter vários cortes desalinhados para descartar.
submit_video.ratiocontrola apenas o asset gerado; não altera a tela da linha do tempo do projeto. Se o usuário solicitou uma proporção de aspecto final (por exemplo "9:16 vertical" ou "16:9 paisagem"), defina a tela da linha do tempo para a mesma proporção commanage_timelinesaction=update (exemplo: ratio:"9:16") antes de colocar o asset completo. Se o usuário pediu sem barras pretas / sem bordas, passefit:"cover"ao definir a tela ou ao atualizar/adicionar o item visual.- Não use esta skill para gerenciamento de trabalhos — use a ferramenta
track_progresspara status/espera. - Após submeter, termine seu turno (informe ao usuário que o trabalho foi criado) a menos que uma tarefa de acompanhamento já esteja na fila.
- Quando o trabalho terminar, apresente o resultado ao usuário para revisão antes de prosseguir para o próximo corte.
- Tratamento de falha específico do modelo — veja a referência do modelo.
Etapa 4 — Iterar
Quando o usuário quiser um próximo clipe, uma revisão ou uma continuação:
- Se for o próximo corte em uma sequência multi-corte — reutilize a âncora estabelecida (veja §Consistência visual entre cortes abaixo para princípios, ref do modelo para detalhes de flags).
- Se o feedback do usuário for ambíguo ("não parece certo") — pergunte o que especificamente mudar antes de regenerar.
- Se o mesmo ajuste de prompt de texto falhou duas vezes — pare de ajustar texto. Mude para imagens de referência, ou mude para modo de edição onde o modelo suporta (veja ref do modelo).
- Cada nova geração reinicia o loop na Etapa 1 — realinhe se o escopo mudou.
Consistência visual entre cortes
Apenas texto não pode manter de forma confiável a identidade visual entre cortes; referências visuais restringem a saída de forma muito mais precisa do que palavras.
Âncoras: a pedra angular da consistência
Uma âncora é uma imagem ou vídeo de referência fixado em todos os cortes que compartilham o mesmo personagem, objeto ou estilo. Qualquer sequência multi-corte com elementos visuais recorrentes precisa de uma âncora — não tente reproduzi-los a partir de texto.
Obtendo uma âncora
Tenha consciência de referências. Quando a solicitação do usuário envolver um personagem/objeto/cena recorrente, pense em qual âncora usar antes de escrever prompts:
- Verifique o projeto primeiro. O que o usuário já forneceu ou aprovou? Imagens enviadas, cortes gerados e aprovados anteriormente, ou assets de projetos anteriores podem servir como âncoras.
- Combine com a intenção do usuário. Se o usuário apontou para um asset específico ("use esta foto", "像上一段那样"), use esse. Se descreveram um personagem apenas em palavras, nenhuma âncora existe ainda e uma deve ser estabelecida.
- Quando em dúvida, pergunte ao usuário. Não adivinhe qual asset fixar e não gere silenciosamente uma nova âncora quando o usuário pode já ter uma em mente.
Estabelecendo uma nova âncora (com consentimento do usuário)
Quando nenhum asset existente se encaixa e um deve ser gerado, proponha-o ao usuário primeiro — ele molda todos os cortes subsequentes. Caminhos específicos do modelo — veja a ref do modelo escolhido.
Usando a âncora
- Passe a âncora em todo corte que compartilhe o personagem/objeto/estilo. As flags específicas a usar dependem do modelo — veja a ref do modelo.
- Descreva a âncora pela aparência no prompt, não pelo nome: "O CARRO DE CORRIDA PRETO com escapamento cromado" restringe muito mais do que "Fleetmaster". Quando houver probabilidade de confusão de papéis, adicione negações explícitas: "A motocicleta NÃO transforma."
- Refira-se à âncora com
@Image1/@Video1no prompt — não frases vagas como "o mesmo carro de antes". - Quando um corte depender de uma geração anterior, espere o trabalho anterior ser concluído (via
track_progresscomaction=wait) para obter seuassetId, depois passe-o como referência de âncora. Não submeta cortes dependentes em paralelo.
Projetos com múltiplos personagens
Quando um projeto tem vários personagens nomeados com atributos distintos (exemplo: Faz com energia de fogo, Kev com energia de gelo), trate cada personagem como uma âncora separada — um asset de referência por personagem. Em todo prompt:
- Nomeie o personagem ativo e anexe seus atributos distintivos ("Kev tem energia elétrica de gelo azul").
- Adicione negações explícitas para os outros para evitar vazamento de atributos ("NÃO energia de fogo vermelha, NÃO aparência de Faz").
- Fixe a âncora do personagem correto (flag específica do modelo — veja ref do modelo). Não reutilize a âncora de outro personagem por acidente.
A falta de atribuição explícita ou negação causa mistura de atributos entre personagens.
Múltiplos personagens no mesmo quadro. Para cortes onde vários personagens aparecem juntos (especialmente de frente para a câmera), o modelo é propenso a troca de rostos ou recorte de corpos. Adicione âncoras fortes de posição + vestuário para cada personagem e prefira uma câmera fixa
...
[truncado para tradução]