Introdução
O Wan 2.2 Animate transforma uma imagem de personagem aprovada e uma referência de movimento separada num clipe novo em que esse personagem atua. Use quando aparência e movimento já foram definidos em materiais diferentes, em vez de pedir as duas coisas a uma única fonte.
Ele funciona em dois modos. Com animation_mode em animate, o personagem da sua imagem se move com o movimento do vídeo guia; com replace, a pessoa do vídeo guia é trocada pela da sua imagem e a cena do vídeo é mantida. A saída dura o mesmo que o vídeo guia, de 2 a 30 segundos, em 480p ou 720p.
Recursos e destaques
Uma pose em A limpa vale mais que um prompt longo
A imagem de referência publicada é exatamente o tipo de imagem que este endpoint quer: corpo inteiro no quadro, pose neutra em A, fundo infinito, luz uniforme. Toda a aparência do resultado vem dessa imagem. Uma imagem cortada ou muito encoberta limita todos os clipes que você fizer com ela, e nenhum prompt recupera isso.
O clipe dura o mesmo que a fonte, até 30 segundos
A saída dura o mesmo que o vídeo guia, que precisa ter de 2 a 30 segundos, então uma fonte de dois minutos precisa ser cortada antes. A cobrança segue os segundos realmente entregues, não o teto usado no orçamento, por isso cortar o vídeo guia antes de enviar é o jeito direto de controlar o custo.
Confira a semelhança em 480p antes de pagar por 720p
O clipe publicado é a mesma imagem guiada por um vídeo de referência: o mesmo top cor de vinho, a mesma calça pantalona, agora no meio de um giro. A resolução é uma faixa de preço e 720p custa mais por segundo que 480p, então confirme primeiro em 480p, com o vídeo guia mais curto que sirva, que a identidade e a silhueta se mantêm.
Parâmetros da requisição
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
animation_mode | Não | Animate move o personagem da sua imagem com o movimento do vídeo-guia. Replace troca a pessoa do vídeo-guia pela da sua imagem e mantém a cena daquele vídeo. |
image_url | Sim | A imagem de personagem. É a pessoa daqui que é animada, então use uma chapa de corpo inteiro com silhueta clara e luz uniforme. pelo menos 1 caracteres |
video_url | Sim | O vídeo-guia, de 2 a 30 segundos: envie um MP4 ou passe a URL de um MP4 ou MOV. pelo menos 1 caracteres |
resolution | Não | 480p ou 720p, padrão 720p, e uma faixa de preço. Prove a transferência em 480p e depois renderize de novo os takes que pretende entregar. |
prompt | Não | Opcional, até 2000 caracteres. Ele orienta estilo e conteúdo da animação — não a identidade, que pertence à imagem de personagem. no máximo 2000 caracteres |
seed | Não | De 0 a 2147483647; zero pede um seed aleatório. Fixe-o para comparar duas execuções sobre o mesmo vídeo-guia. |
Preços
A duração do resultado acompanha o vídeo guia e é cobrada por segundo.
| Especificação | Preço |
|---|---|
| $0.053 / segundo |
| $0.11 / segundo |
Casos de uso
Coloque seu personagem num material existente
Com animation_mode em replace, a pessoa do vídeo guia é trocada pelo personagem da sua imagem, enquanto o material mantém a própria cena. Use quando a locação já existe em vídeo e só quem atua precisa mudar.
Loops curtos a partir de uma folha de personagem
Até 30 segundos dão conta de um loop de feed, um sticker ou um clipe de reação. Mantenha uma imagem e troque os vídeos guia para montar uma biblioteca de gestos, como um aceno, um giro ou um dar de ombros, que parecem todos o mesmo personagem porque compartilham a mesma imagem de referência.
Coreografias e números de performance
Uma imagem de personagem mais um vídeo guia da coreografia que você quer: figurino e biotipo ficam fixados pela imagem, enquanto ritmo, peso e câmera vêm do material. O limite é a propriedade: você precisa dos direitos sobre a imagem e sobre o vídeo guia, e é responsável pelo uso do resultado.
Teste uma imagem antes de um render mais longo
Rode uma transferência de cinco segundos em 480p para ver se uma nova imagem de personagem mantém rosto, mãos e silhueta em movimento. É o jeito mais barato de descartar uma imagem ruim antes de usá-la num trabalho completo de 30 segundos.
Guia de prompt e dicas práticas
Monte a imagem do personagem
Corpo inteiro no quadro, pose neutra, fundo liso, luz uniforme. Essa imagem define o rosto, o figurino e as proporções de todos os clipes que você guiar com ela, então vale gerar e descartar algumas antes de decidir. Se nenhum rosto ou pessoa for encontrado nela, a tarefa é recusada com invalid_request. A imagem publicada veio deste prompt: “Full-body studio photograph of an adult female dancer standing in a neutral A-pose against a seamless grey backdrop, wearing a cropped burgundy tank top and high-waisted wide-leg trousers, barefoot, hair tied back, even soft studio lighting, sharp full-length framing, clean reference plate for character animation.”
Corte o vídeo guia nos segundos de que você precisa
A duração da saída é igual à da fonte, que precisa ter de 2 a 30 segundos, e você paga pelos segundos entregues. Envie o MP4 ou passe um link direto para um arquivo MP4 ou MOV; uma página da web que apenas reproduz o vídeo não é um arquivo, e a chamada falha com a cobrança reembolsada.
Use o prompt para o estilo, não para a identidade
prompt é opcional e aceita até 2000 caracteres. Ele orienta o estilo e o conteúdo da animação; a identidade fica com a imagem do personagem. Fixe seed quando quiser comparar duas execuções com o mesmo vídeo guia.
Confira o resultado antes de iterar
As duas entradas são obrigatórias e não são intercambiáveis: a identidade vem da imagem e o movimento, do vídeo. No modo animate, o cenário fica com a imagem do personagem; na execução de referência, o vídeo guia foi gravado numa cozinha e o resultado ficou no fundo cinza de estúdio da imagem, levando só o movimento e a câmera. Uma fonte mais longa não é comprimida, então corte antes de enviar.
Início rápido da API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "alibaba/wan-2.2-animate/character-animation",
"input": {
"animation_mode": "animate",
"image_url": "https://example.com/reference.png",
"resolution": "720p",
"video_url": "https://example.com/reference.mp4"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Consulte a referência da API para autenticação, esquema completo, polling e tratamento de erros.




























