Introduzione
Wan 3.0 Immagine in video anima un’immagine fissa che fornisci tu. image_url viene usato esattamente come primo frame, quindi guardaroba, corpo, set e direzione della luce arrivano dall’immagine e il prompt deve descrivere solo il movimento. Il prompt è facoltativo; senza, il modello anima il frame da solo. Un last_image_url facoltativo fissa esattamente l’ultimo frame. Le clip durano da 2 a 30 secondi a 480p, 720p o 1080p, con audio generato attivo per impostazione predefinita. È la più letterale delle modalità: quando il risultato deve corrispondere al testo, affida il look all’immagine e usa il prompt per il movimento.
Scegli il metodo in base al materiale di partenza
| Materiale di partenza | Metodo |
|---|---|
| Un brief scritto definisce scena, azione, camera e, quando serve, suono. | Wan 3.0 Testo in video |
| Un’immagine iniziale approvata fissa soggetto e composizione; l’istruzione dirige il movimento successivo. | Wan 3.0 Immagine in video |
| Riferimenti distinti possono guidare identità, luogo, movimento o suono, con un ruolo esplicito per ciascuno. | Wan 3.0 Riferimenti in video |
Caratteristiche principali
Il frame iniziale fissa il tetto di qualità
Poiché il primo frame è la tua immagine, nitidezza, luce e composizione sono il limite superiore della clip. Sono accettati JPEG, PNG senza trasparenza, BMP o WEBP, da 240 a 8000 pixel per lato, con proporzioni non più larghe di 8:1 e al massimo 20 MB. Se ometti aspect_ratio, la clip eredita la forma del frame; un rapporto in contrasto lo ritaglia.
Un frame finale imposto, non suggerito
last_image_url non è un’indicazione generica: la clip termina esattamente su quell’immagine, e il campo funziona solo insieme a image_url. L’esempio della bottiglia passa lo stesso packshot a entrambi gli estremi: la bottiglia ruota di un quarto di giro, un riflesso attraversa il vetro e torna all’angolo di partenza con l’etichetta leggibile.
Tratti lunghi tra due momenti fissati
Con entrambi gli estremi forniti, viene generato solo il passaggio dall’uno all’altro. L’esempio della terrazza fissa una presa di ballo aperta come primo frame e il punto più basso di un casqué come ultimo, e il modello riempie i cinque secondi intermedi a 720p; gli stessi due fotogrammi possono racchiudere un movimento molto più lungo, perché su questo endpoint duration_seconds arriva a 30.
Parametri della richiesta
| Parametro | Obbligatorio | Nota |
|---|---|---|
prompt | No | Opzionale: senza di esso il modello anima da solo il fotogramma iniziale. Quando lo scrivi, descrivi l'inquadratura: soggetto, un'azione, un movimento di camera, poi luce e suono. almeno 1 caratteri |
image_url | Sì | Il fotogramma iniziale, usato esattamente come primo fotogramma, e il vero tetto di qualità dell'inquadratura. |
last_image_url | No | Facoltativo, e solo insieme a |
aspect_ratio | No | 16:9, 9:16, 1:1, 4:3, 3:4 oppure adaptive, che lascia scegliere al modello. Omettilo e il clip eredita la forma del fotogramma iniziale; un valore in conflitto ritaglia. |
enable_thinking | No | Fa ragionare il modello sulla richiesta e sul materiale di riferimento prima di generare. Predefinito: |
resolution | No | 480p, 720p o 1080p. Il valore predefinito è 720p. |
duration_seconds | No | Qualsiasi numero intero da 2 a 30, oppure -1 per la durata intelligente, in cui è il modello a scegliere la lunghezza: il massimo di 30 secondi viene riservato in anticipo e l'a… |
generate_audio | No | Attivo per impostazione predefinita. Il clip torna con il suono già agganciato all'immagine. Predefinito: |
enable_prompt_expansion | No | Disattivato per impostazione predefinita. Quando è attivo, il prompt viene riscritto prima della generazione: aiuta i brief scarni e ti ostacola su quelli dettagliati. Predefinito: |
seed | No | Da 0 a 2147483647. Tienilo fisso per confrontare un campo modificato alla volta; toglilo quando vuoi varietà. |
Prezzi
| Specifiche | Prezzo |
|---|---|
| $0.045 / secondo |
| $0.09 / secondo |
| $0.18 / secondo |
Casi d’uso
Rotazioni di prodotto che tornano all’angolo principale
Per un packshot, fornisci l’immagine approvata come primo e ultimo frame, blocca la camera e descrivi un solo movimento. L’esempio della bottiglia usa una luce principale morbida da sinistra, niente musica (generate_audio su false) e un seed fisso, 20260907: così è facile ripetere lo stesso movimento dopo una piccola modifica al testo e confrontare i due file.
Inquadrature con styling che seguono il testo
Quando un capo, un corpo o un set devono apparire esattamente come approvati, mettili nel frame iniziale. L’esempio della finestra parte da un’immagine di una donna in sottoveste di seta; il prompt descrive solo il suo voltarsi verso l’obiettivo, una tenda leggera che passa davanti alla luce e un lento avvicinamento mentre l’alba si fa più intensa. La clip dura 5 secondi a 1080p, con audio.
Consigli avanzati
Descrivi ciò che cambia, non ciò che si vede
Tutto ciò che è già nel frame viene ereditato; descriverlo di nuovo consuma parole che servono al movimento. Scrivi chi o cosa si muove, in quale direzione e a che velocità, poi cosa fa la camera: "The bottle rotates a quarter turn so the highlight travels across the glass, then returns to its starting angle. Locked camera, single soft key from the left, no music."
Prepara i due frame come una coppia
Quando aggiungi last_image_url, crea entrambe le immagini con la stessa inquadratura e sullo stesso set, e lascia che il prompt spieghi come l’una diventa l’altra. L’esempio della terrazza abbina un frame iniziale di una coppia in presa di ballo aperta a un frame finale della stessa coppia, sulla stessa terrazza e dalla stessa posizione di camera, nel punto più basso di un casqué, e il prompt descrive solo il movimento tra i due: lui la attira per mano e la accompagna all’indietro mentre la camera resta fissa.
Controlla il centro della clip, non solo gli estremi
Un frame finale corretto non dimostra una transizione credibile. Controlla identità e geometria all’inizio, a metà e alla fine; se derivano, riduci il numero di movimenti simultanei prima di allungare la durata. Fissa il movimento a 5 secondi, allunga dopo e lascia enable_prompt_expansion sul valore predefinito false, così un brief di movimento dettagliato viene eseguito così com’è.
Avvio rapido dell’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-3.0/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p"
}
}'
# 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"
Nel riferimento dell’API trovi autenticazione, schema completo, polling e gestione degli errori.



























