Wan 2.2 Animate precisa de uma imagem de personagem e um vídeo de condução. A imagem fornece a aparência; o vídeo fornece o movimento do corpo, a expressão facial e a duração. Escolha animate para que o personagem da imagem execute o movimento no cenário próprio da imagem, ou replace para colocar esse personagem na cena do vídeo de condução. Para a primeira tentativa, use um adulto totalmente visível, um gesto de seis segundos e nenhum corte.
Abra Wan 2.2 Animate animação de personagens. Nos preços listados em 3 de outubro de 2026, seis segundos custam $0,318 em 480p ou $0,66 em 720p. Nenhum dos dois modos inventa um novo local a partir do prompt: o fundo sempre vem de um dos seus dois arquivos.
Escolha o modo antes de gravar
| Resultado desejado | Modo | Fundo e câmera no resultado |
|---|---|---|
| O personagem de referência executa um movimento gravado | animate | O cenário próprio da imagem do personagem, com movimento e câmera do vídeo de condução |
| O personagem substitui a intérprete em um ambiente já existente | replace | A cena e o movimento de câmera do vídeo de condução; exige uma intérprete visível e proporções corporais plausíveis |
Por exemplo, uma mulher adulta ilustrada com jaqueta ameixa e calças marfim pode executar um passo lateral de boas-vindas. Se a sala de ensaio for irrelevante, use animate com uma imagem de personagem de fundo liso. Se a janela em arco e o piso de madeira precisarem permanecer no quadro, use replace e examine como o novo corpo encontra esse piso. Um vídeo de condução com várias pessoas não dá a replace como escolher quem é substituído; use uma única intérprete, ou veja a última seção.
O projeto oficial Wan-Animate descreve as duas tarefas, inclusive como a substituição se ajusta à iluminação e às cores da cena. Seu guia de pré-processamento avisa que uma forte divergência de proporções corporais entre o personagem e a intérprete causa artefatos na substituição.
Prepare uma imagem de personagem que mostre as partes que se movem
Use uma imagem de corpo inteiro, com sapatos, em uma postura relaxada de frente, com os braços um pouco afastados do tronco e com o traje que você quer animar. Um fundo liso e iluminado por igual mantém limpo o resultado de animate, porque esse fundo se torna a cena. Um close-up deixa sem definição as pernas da calça, o calçado e a compleição, e uma descrição de traje mais longa no prompt não fornece essas vistas.
O arquivo deve ser JPEG, PNG ou WebP com menos de 10 MB e precisa conter um rosto ou pessoa reconhecível; caso contrário, a tarefa é rejeitada com invalid_request.
Aqui está uma descrição de imagem não explícita de uma adulta fictícia que você pode usar em um gerador de imagens:
Referência de corpo inteiro de uma mulher adulta fictícia, com cerca de 30 anos, cachos curtos e escuros, jaqueta de ensaio ameixa, calças marfim e sapatos rasos cor de carvão. Postura confortável e equilibrada, braços relaxados um pouco afastados do tronco, as duas mãos e os dois sapatos visíveis. Fundo de estúdio liso e silencioso, rosto e roupa legíveis, sem letras, sem outras pessoas.
Uma figura estilizada serve, mas membros com comprimentos muito diferentes dos da intérprete tornam mais difícil avaliar o contato com o piso e o alcance.

Ilustração: o design do personagem fornece a aparência, o movimento da intérprete fornece o movimento. Não é uma saída do Wan.
Grave um movimento de seis segundos com começo e fim utilizáveis
Fixe a câmera num suporte estável para o primeiro vídeo de condução, para que o movimento do corpo fique fácil de ler. Os dois modos podem carregar o movimento de câmera do vídeo de condução; animate mantém o cenário da imagem do personagem, enquanto replace mantém a cena do vídeo. Enquadre uma intérprete adulta de modo que os dois sapatos e toda a abertura dos braços fiquem visíveis. Comece numa postura neutra de frente parecida com a imagem do personagem e então grave uma pausa curta, um passo lateral, um gesto de abertura de braços pouco profundo, os braços abaixados e uma pausa final. Mantenha as mãos longe do rosto e evite que alguém passe na frente.
O rosto da intérprete importa: a expressão é copiada do vídeo junto com o movimento, então mantenha o rosto no quadro e grande o bastante para ser lido. A referência já deve ter o ritmo que você quer; o prompt não consegue transformar uma rotação rápida em uma saudação lenta nem recuperar o apoio de um pé escondido atrás de uma cadeira.
Recorte o material antes de enviar. Com o FFmpeg instalado, este comando começa um segundo dentro de uma gravação e exporta um MP4 de seis segundos, reduzido a no máximo 720 pixels de altura, mantendo as proporções originais:
ffmpeg -ss 1 -i rehearsal.mov -t 6 \
-vf "scale=-2:'min(720,ih)'" \
-c:v libx264 -crf 18 -pix_fmt yuv420p driving-six-seconds.mp4Evite as barras pretas (letterbox) e o preenchimento: em replace eles viram parte da cena.
A fonte precisa durar de 2 a 30 segundos; arquivos mais curtos ou mais longos são rejeitados antes de qualquer cobrança. Envie um MP4 de até 90 MB ou passe uma URL direta de MP4 ou MOV. Uma página que apenas reproduz o vídeo não é uma URL direta de arquivo, e a tarefa falha com a cobrança reembolsada. A duração da fonte define a duração da saída, então não existe campo duration_seconds para esticar uma apresentação de dois segundos para seis.

Ilustração: o enquadramento de corpo inteiro deixa espaço para o passo lateral e mantém visível o contato com o piso.
Teste primeiro no Playground
- Abra a página de animação de personagens e fique na aba Playground na visão Form. Entre com uma conta com saldo para executar.
- Coloque a imagem do personagem em Input image e o MP4 recortado em Input video. Os dois também aceitam uma Asset URL.
- Defina Animation mode como Animate the image ou Replace in the video.
- Defina Resolution como 480p enquanto você confere identidade e silhueta; refaça a renderização do take que você mantiver em 720p.
- Cole o prompt de apoio abaixo e defina um Seed como
42para que duas execuções sobre o mesmo vídeo de condução sejam comparáveis. - Confira a estimativa de preço e execute.
Anime a mulher adulta fictícia da imagem fornecida usando a apresentação fornecida. Mantenha legível o passo lateral único de boas-vindas e o gesto de abertura de braços pouco profundo, com os pés apoiados no chão e um final relaxado. Preserve o jaqueta ameixa, as calças marfim, os cachos curtos e os sapatos flats. Sem letras adicionadas.
O prompt apoia o movimento gravado; quem aparece vem da imagem. Para a versão de substituição de cena, escolha Replace in the video e peça para manter a câmera, a iluminação e o piso do ambiente fornecido, em vez de solicitar um novo local.
| Campo | Contrato atual |
|---|---|
Input image (image_url) | Imagem de personagem obrigatória; JPEG, PNG ou WebP, abaixo de 10 MB |
Input video (video_url) | Vídeo de condução obrigatório; de 2 a 30 segundos, MP4 enviado com até 90 MB ou URL direta de arquivo MP4/MOV |
Animation mode (animation_mode) | animate ou replace; padrão animate |
Resolution (resolution) | 480p ou 720p; padrão 720p |
Prompt (prompt) | Opcional, no máximo 2.000 caracteres |
Seed (seed) | Inteiro opcional de 0 a 2.147.483.647; zero pede aleatoriedade |
Esta tarefa não tem campo de LoRA, proporção de tela nem entrada de áudio, então não os pegue emprestados de outro endpoint Wan.
A cobrança é por segundo entregue: $0,053 em 480p e $0,11 em 720p, então uma fonte de 12 segundos sai por $0,636 ou $1,32. Só a resolução muda a tarifa; modo, prompt e seed não. Cada tarefa é orçada primeiro no máximo de 30 segundos, e a diferença é reembolsada quando a cobrança é liquidada contra a duração real, então corte primeiro o tempo de ensaio ocioso, mas mantenha os contatos de que o plano final precisa.
Depois execute pelo código
Instale o SDK Python (pip install spicyapi), defina SPICY_API_KEY no ambiente do seu servidor e execute:
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
image = client.upload_file("./character.png") # local files become spicy:// URIs
video = client.upload_file("./driving-six-seconds.mp4")
task = client.create_task(
model="alibaba/wan-2.2-animate/character-animation",
input_data={
"image_url": image["uri"],
"video_url": video["uri"],
"animation_mode": "animate",
"resolution": "720p",
"prompt": "Animate this fictional adult character using the supplied sidestep and open-arm "
"performance. Retain the plum jacket and ivory trousers. No added lettering.",
"seed": 42,
},
idempotency_key=str(uuid.uuid4()),
)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"{task['taskId']} ended as {final['state']}: {final.get('errorCode')}")
print(output_assets(final)[0]["url"]) # copy the clip to your own storage nowOrçamentos, sondagem, downloads, retentativas e códigos de erro estão no guia de tarefas e na referência do SDK Python.
Ou deixe um Agent rodar
Quando um assistente deve fazer as gerações, as três ferramentas oficiais mostram o preço e pedem confirmação antes de uma chamada paga.
- CLI. Envie cada arquivo com
spicyapi files upload ./character.png, coloque os endereçosspicy://retornados emimage_urlevideo_urlde uminput.jsoncom os campos acima e executespicyapi tasks create --model alibaba/wan-2.2-animate/character-animation --input-file input.json --wait. Veja a documentação da CLI. - Servidor MCP. Adicione o servidor MCP ao seu assistente e então peça: "Anime /path/to/character.png com /path/to/driving.mp4 no Wan 2.2 Animate, modo animate, 480p." Ele envia os dois arquivos com
spicyapi_upload_filee depois chamaspicyapi_task_create, que para esperando a sua confirmação de preço. - Skill.
npx skills add spicyapi-ai/spicy-skillinstala o Agent Skill, que faz um assistente de programação ler o esquema do modelo ao vivo em vez de adivinhar os campos.
Mude a entrada que explica a falha
| Problema retornado | Primeira revisão útil |
|---|---|
| Os pés escorregam enquanto o tronco funciona | Use uma fonte em que a transferência de peso e o contato dos dois sapatos apareçam; reduza o tamanho do passo |
| Uma manga se funde com uma mão | Separe as mãos do tronco no gesto de condução; remova referências de traje conflitantes |
| O personagem muda durante uma rotação | Use uma imagem de personagem mais próxima da orientação da fonte, ou uma fonte com rotação menor |
| O rosto parece plano ou errado | A expressão vem do vídeo; use um take em que o rosto fique visível e grande, sem rotações extremas de cabeça |
| A substituição flutua no ambiente | Compare proporções corporais e contato com o piso; use um vídeo de condução mais próximo da compleição do personagem pretendido |
| Os braços saem do quadro | Regrave mais aberto ou recorte para um movimento que caiba |
| A saída se parece mais com a intérprete original do que com a substituição | Confirme o modo replace e a imagem de personagem real; use uma fonte com uma intérprete claramente visível |
| A apresentação errada acontece | Confirme o vídeo realmente enviado e então remova do prompt as ações que não estão nele |
Para replace, compare o piso, as bordas das janelas e os objetos de primeiro plano com o original.
Direitos e quando outra tarefa serve melhor
Você precisa dos direitos dos dois arquivos e do consentimento de qualquer pessoa filmada ou retratada. O Wan 2.2 Animate é listado como modelo sem censura: a SpicyAPI não adiciona filtro de conteúdo, então essa responsabilidade é sua.
Se só o rosto deve mudar, Video Face Swap mantém o resto do clipe original. Se for preciso substituir uma pessoa entre várias, ou o áudio original do clipe tiver de permanecer, use Character Swap, que analisa o clipe e deixa você escolher a pessoa antes de editar. Se não for preciso copiar uma apresentação específica, imagem para vídeo é mais simples.






