Tutorial
Seedance 2.0 Ext 2D sticker composite prompt: full breakdown
Uma mão tira uma jaqueta de proteção solar cinza-clara de uma bolsa tote em um banco de estação de metrô — nada de excepcional nisso. O que faz este curta de 10 segundos se destacar é o sol de desenho animado 2D plano colado como um adesivo na parte superior da imagem: no início, ele salta, fervendo de calor; quando o tecido UPF da jaqueta é exibido, ele entra em pânico; no último compasso, ele já esfriou completamente até um azul-claro, abraçando satisfeito um cubo de gelo 2D com os olhos fechados, colado ao lado do capuz da jaqueta. Toda a piada se apoia em uma estrutura de prompt com duas imagens de referência para o Seedance 2.0 Ext, e vale a pena destrinchá-la, porque a técnica pode ser generalizada para quase qualquer anúncio de «produto real + mascote de desenho reagindo».
Prompt completo
Este é o prompt que usamos para gerar o curta, traduzido integralmente abaixo (a geração original foi feita em chinês; nada foi simplificado ou resumido):
Cena: vida real, estilo de filmagem na mão. Diante da entrada de uma estação de metrô urbana, uma mão ergue uma jaqueta de proteção solar UPF cinza-clara sobre uma bolsa tote preta apoiada em um banco. Luz natural do dia, atmosfera real de rua; a imagem filmada em si não recebe nenhum tratamento estilizado.
Componha um personagem sol de desenho animado 2D plano (design do personagem em @image1 — não altere suas proporções, paleta de cores ou espessura do traço). O personagem é colado como um adesivo sobre a filmagem real: ele deve permanecer sempre perfeitamente plano em 2D, ignorando a iluminação e as sombras do mundo real ao redor, e nunca deve absorver qualquer sombreamento 3D, reflexo ou distorção de perspectiva da filmagem real.
@image1 — fixa apenas o design do produto do personagem (forma do ícone de sol, rosto, estágios de cor, proporções). Não extraia desta referência detalhes de cena, fundo, mão ou da jaqueta de proteção solar. @image2 — fixa apenas a cena filmada e como a jaqueta é vestida/segurada (posição da mão, banco, entrada do metrô, enquadramento da câmera). Não extraia o design do personagem desta referência.
Marcos temporais (4 batidas cômicas, sincronizadas com os movimentos reais da mão na imagem):
1. 0-2s: o personagem sol aparece em amarelo-laranja brilhante, saltando com energia de «calor» exagerada, acima da jaqueta dobrada.
2. 3-5s: a mão ergue a jaqueta para mostrar o tecido; o personagem faz uma reação exagerada de pânico, com gotas de suor de quadrinhos, e sua cor pende para o laranja-avermelhado.
3. 6-8s: a mão abre totalmente a jaqueta em direção à câmera; o personagem esfria visivelmente, a cor desbota do vermelho para o azul-claro e os movimentos desaceleram.
4. 8-10s: clímax/revelação — o personagem agora está totalmente azul-claro, abraçando um cubo de gelo 2D plano (o cubo também segue a regra de adesivo plano), aninhando-se contente ao lado do capuz da jaqueta, com os olhos fechados, completamente refrescado.
Design de som: um «boing» cômico leve no primeiro salto do personagem, um som de chiado/vapor de desenho animado no compasso do suor, e uma expiração suave de «ah» mais uma sineta delicada no abraço final de refrescamento. Mantenha os sons ambientes reais de metrô/rua durante todo o vídeo — não silencie o áudio da filmagem.
Evitar: nenhum texto legível, etiqueta de preço, elemento de UI, legenda, texto descritivo ou marca d'água em nenhuma parte da imagem. Textos em chinês ou outros idiomas presentes em @image1/@image2 não devem vazar para a composição final. Em nenhum momento adicione sombreamento 3D ou reiluminação ao personagem adesivo.
Por que isso funciona
Duas imagens de referência, duas responsabilidades completamente distintas. @image1 é uma arte limpa do personagem sol em múltiplos ângulos — e nada mais. @image2 é o quadro da cena real (ou uma referência semelhante): mão, jaqueta, banco, entrada do metrô. Essa separação impede que o modelo «contamine» o personagem de desenho com a iluminação da cena, ou arraste objetos da cena para a referência do personagem. No nível da API, isso corresponde diretamente a dois itens no array reference_image_urls do Seedance 2.0 Ext — os marcadores @image1/@image2 no prompt são as posições contadas a partir de 1 nesse array (reference_image_urls[0], reference_image_urls[1]).
A regra do adesivo é onde está toda a piada. Exigir que o modelo mantenha o personagem «perfeitamente plano em 2D» e nunca absorva a iluminação do mundo real é exatamente o que faz a piada funcionar — o personagem parece alguém que colou um adesivo sobre a filmagem real, e não um objeto CG inserido na cena. Sem essa restrição, o personagem começa a absorver a luz ambiente e as sombras da entrada do metrô, e a piada deixa de ter graça.
O ritmo cômico está ancorado nos movimentos físicos reais da imagem, e não em timestamps arbitrários: salto → exibição do tecido → resfriamento → abraço no cubo de gelo. Como cada batida está ancorada no que a mão realmente faz na imagem, a reação do desenho parece uma resposta direta ao produto, e não um enfeite rodando em paralelo.
A lista de negativos realmente faz diferença. «Nenhum texto legível/preço/UI/legenda/marca d'água» e «textos das referências não devem vazar para a composição final» são ambos indispensáveis, porque referências tão específicas (foto de produto em estúdio, fotografia de rua) costumam trazer placas soltas, adesivos de preço ou texto de embalagem, que o modelo, de outro modo, adoraria compor na imagem final.
Reproduza você mesmo: chamada a /v1/tasks
O schema do Seedance 2.0 Ext é rígido (campos desconhecidos são rejeitados diretamente), então abaixo estão os requisitos exatos da requisição — prompt, aspect_ratio e duration são obrigatórios; resolution, reference_image_urls e generate_audio são opcionais:
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0@ext",
"input": {
"prompt": "<the full prompt above>",
"aspect_ratio": "9:16",
"duration": 10,
"resolution": "1080p",
"reference_image_urls": [
"https://your-cdn.example.com/sun-character-turnaround.jpg",
"https://your-cdn.example.com/jacket-scene-reference.jpg"
],
"generate_audio": true
}
}'
Faça polling do taskId retornado até que ele atinja o estado terminal:
curl -s https://api.hiapi.ai/v1/tasks/{taskId} \
-H "Authorization: Bearer $HIAPI_API_KEY"
reference_image_urls aceita até 9 itens — este curta precisa apenas de 2. Na faixa de 1080p, o Seedance 2.0 Ext cobra $0.373 por segundo, então um curta de 10 segundos como este sai por $3.73 no total (as tarifas atuais estão sempre na página de preços).
Perguntas frequentes
Qual é a diferença entre a rota padrão do Seedance 2.0 e a rota @ext?
@ext é uma rota separada no mesmo modelo (seedance-2.0@ext em vez do seedance-2.0 comum), com schema próprio e faixa de preço própria. A rota ext é a que aceita reference_image_urls, e é ela que torna possível a técnica de duas referências deste prompt. O detalhamento campo a campo completo está na documentação do Seedance 2.0.
Preciso fornecer exatamente duas imagens de referência?
Não — o campo aceita até 9. Este prompt funciona bem com duas porque há exatamente duas coisas que precisam ser fixadas de forma independente (design do personagem, estilo de cena/vestuário). Se o seu mascote precisar de uma terceira referência (por exemplo, uma folha de poses específica), adicione um terceiro item e referencie-o no prompt como @image3.
Por que o personagem adesivo nunca parece ser «iluminado» pela cena? Porque o prompt proíbe isso explicitamente. Sem essa instrução, o modelo costuma tentar «ajudar», integrando o personagem à iluminação da cena e arruinando o efeito de adesivo. Declare a restrição diretamente, em vez de esperar que o modelo mantenha o estilo plano por conta própria.
Posso usar isso nas minhas fotos de produto já existentes?
Sim — é exatamente para isso que serve a separação das referências. Use uma foto limpa ou um conjunto de ângulos do seu mascote/personagem como @image1, e uma foto real ou frame de vídeo do produto em uma cena natural como @image2. O modelo compõe o primeiro sobre o segundo.
O generate_audio tem custo adicional?
Não há um item separado na precificação atual — a tarifa por segundo acima já reflete a faixa de 1080p, com ou sem geração de áudio. Antes de rodar em lote, confira sempre a precificação em tempo real, porque as faixas realmente mudam.
Se quiser testar este estilo de composição nas suas próprias fotos de produto, a página do modelo Seedance 2.0 Ext traz o schema atual e os preços, e a documentação de início rápido leva você da API key até a primeira tarefa em poucos minutos.
Artigos relacionados
Ver todos os artigos →-
Tutorial
Como chamar hailuo-2.3-fast/image-to-video pela API HiAPI: curl e Python na prática
A primeira requisição executável do nível rápido e econômico de geração de vídeo a partir de imagem — do ID do modelo ao download do MP4
-
Tutorial
Como chamar hailuo-2.3/text-to-video pela API HiAPI: curl, Python e exemplos de requisição executáveis
-
Tutorial
Usar Kandinsky 6.0 Pro text-to-video na HiAPI: tutorial de curl e Python
Demonstração prática com foco na requisição: montar a chamada de prompt para clipe de vídeo, enviar a requisição, consultar o status de conclusão e baixar o resultado