Introdução
Wan 2.2 imagem para vídeo parte de uma imagem fornecida por você e anima o que acontece em seguida. Duas entradas são obrigatórias: um quadro inicial em JPEG, PNG ou WebP de até 10 MB e um prompt de até 5.000 caracteres que descreve o movimento. Cada solicitação devolve um único clipe sem som de cinco segundos, em 480p (o padrão) ou em 720p.
Escolha um modo do Wan 2.2 pelo material de partida
| O que você tem no início | Modo | O que a solicitação precisa |
|---|---|---|
| uma cena escrita ou um roteiro | Wan 2.2 texto para vídeo | um prompt; 16:9 ou 9:16 |
| uma imagem estática que você quer manter | Wan 2.2 imagem para vídeo | uma imagem e um prompt; a imagem define o formato |
Recursos e destaques
A imagem define a aparência
Sujeito, figurino, cenário e direção da luz vêm todos da imagem inicial, então o prompt não precisa descrevê-los de novo. É isso que torna este modo o certo para material que precisa bater com uma referência: no exemplo do frasco de sérum, a imagem fixa o rótulo e a silhueta, e o prompt pede apenas um arco de câmera e uma luz em movimento.
O formato vem da imagem
Este endpoint não tem ajuste de proporção. As proporções mais seguras são 16:9 e 9:16, porque uma imagem em outras proporções pode voltar redimensionada e cortada no centro. Recorte a imagem no formato de entrega antes de enviá-la.
Duração fixa, só imagem
Toda tomada tem cinco segundos de vídeo sem som, e nem a duração nem o áudio podem ser alterados. Com os dois fixos, o movimento é a única variável; por isso cada exemplo publicado pede um único movimento ou uma única relação de causa e efeito.
A expansão do prompt muda mais do que o texto
A expansão do prompt vem desligada. Ativada, ela pode mudar a aparência da renderização, e não só o texto da instrução, então compare com uma execução sem ela antes de mantê-la. O exemplo do sino de vento e da figura a deixa desligada para que a frase seja executada exatamente como foi escrita.
Parâmetros da requisição
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
image_url | Sim | A imagem inicial: JPEG, PNG ou WebP, até 10 MB. Sujeito, figurino, cenário e direção da luz vêm dela, então recorte primeiro. pelo menos 1 caracteres |
prompt | Sim | Obrigatório, até 5.000 caracteres. O que acontece depois da imagem: uma ação e um comportamento de câmera. pelo menos 1 caracteres · no máximo 5000 caracteres |
negative_prompt | Não | O que não pode aparecer: uma segunda pessoa, legendas, um objeto que o modelo insiste em trazer de volta. Escreva uma lista simples em vez de frases negativas. no máximo 500 caracteres |
resolution | Não | 480p ou 720p, padrão 480p. É o único ajuste que muda o preço. |
enable_prompt_expansion | Não | Desligado por padrão. Ligue para uma ideia de uma linha; deixe desligado quando o prompt já descrever uma ação precisa. Valor padrão: |
seed | Não | De 0 até 2147483647. Fixe-o ao comparar 480p e 720p a partir da mesma imagem; para um valor aleatório, omita o campo em vez de enviar 0. |
Preços
Cada requisição devolve um clipe de cinco segundos.
| Especificação | Preço |
|---|---|
| $0.24 / requisição |
| $0.48 / requisição |
Casos de uso
Dar movimento a uma foto de produto
Envie um packshot aprovado e peça um movimento de câmera ou uma mudança de luz enquanto o produto fica no lugar. O exemplo do frasco de sérum mostra o padrão: a câmera faz devagar um quarto de volta ao redor de um frasco conta-gotas, uma faixa suave de luz de janela desliza pelo vidro, e o prompt afirma que o frasco em si não se move.
Um único momento de atuação a partir de um retrato
O exemplo do vestido slip parte de um retrato de estúdio e pede uma só ação: ela transfere o peso, vira os ombros para a lente, dá dois passos lentos e sustenta o olhar. A câmera fica travada, o fundo cinza do estúdio não é alterado e a tomada é renderizada em 720p.
Movimento com causa visível
No exemplo do sino de vento e da figura, um sino de vento gira e uma forma atrás de uma cortina de gaze se move junto, enquanto a sombra da cortina atravessa a cena. Escrever causa e efeito num clipe curto e sem som dá um motivo ao movimento e evita que ele pareça um loop.
Guia de prompt e dicas práticas
Prepare a imagem antes do prompt
Recorte a imagem em 16:9 ou 9:16 e confira se ela já mostra o figurino, o cenário e a luz que você quer, porque o prompt não é o lugar para mudá-los. Remova sobreposições ou sujeitos sobrando que você não queira animar e mantenha o arquivo abaixo de 10 MB.
Descreva só o que acontece depois do quadro inicial
Diga quem ou o que se move, em que direção e em que ritmo, e depois o comportamento da câmera. Descrever de novo objetos que já aparecem gasta caracteres sem acrescentar movimento. Já uma frase dizendo o que deve ficar parado, como o frasco que não se move, vale a pena.
Rascunho em 480p, entrega em 720p
A resolução é o único ajuste que altera o preço. Fixe um seed entre 0 e 2147483647 quando for comparar um rascunho em 480p com a nova renderização em 720p a partir da mesma imagem. Para um resultado aleatório, omita o seed em vez de enviar 0.
Revise o clipe inteiro antes de ampliar a ação
Observe o início, o maior movimento e o último segundo. Se um rosto, um rótulo ou um contorno se deformar, reduza o número de movimentos simultâneos antes de reescrever o prompt. Quando o próximo plano pedir outra composição, comece de uma imagem nova em vez de pedir ao movimento que chegue lá.
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/image-to-video",
"input": {
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "480p"
}
}'
# 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.




























