Introduzione
Wan 3.0 Pro Prime Immagine in video anima un frame iniziale con il render Prime e lo consegna a 1080p, 2K o 4K per 2-30 secondi. image_url è obbligatorio e diventa esattamente il primo frame; il prompt è facoltativo e dovrebbe descrivere movimento e camera; last_image_url fissa facoltativamente il frame finale. I campi coincidono esattamente con quelli di Wan 3.0 Pro Immagine in video, quindi una richiesta costruita per quell’endpoint funziona qui cambiando solo il nome del modello.
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 Pro Prime Testo in video |
| Un’immagine iniziale approvata fissa soggetto e composizione; l’istruzione dirige il movimento successivo. | Wan 3.0 Pro Prime Immagine in video |
| Riferimenti distinti possono guidare identità, luogo, movimento o suono, con un ruolo esplicito per ciascuno. | Wan 3.0 Pro Prime Riferimenti in video |
Caratteristiche principali
Istruzioni a due frame, come uno spostamento di fuoco
Uno spostamento di fuoco è per natura una questione di due frame, ed è proprio a questo che serve last_image_url. L’esempio del bocciolo parte a fuoco su un bocciolo e termina su un frame fornito a fuoco su una camicia sbottonata dietro di esso, 6 secondi a 4k; il prompt dice solo quando avviene il passaggio. Una profondità di campo molto ridotta lascia al render poco margine per atterrare sul piano giusto senza un finale fissato.
Il tetto lo fissa la sorgente, non il livello
La risoluzione governa il render, non l’input. I livelli 2k e 4k sono ingranditi da un render nativo a 1080p, quindi fornisci l’immagine più nitida che hai: JPEG, PNG senza trasparenza, BMP o WEBP, da 240 a 8000 pixel per lato, fino a 20 MB e non più larga di 8:1.
Inquadrature ferme per montaggi sonorizzati a parte
L’esempio della luce nel vicolo è un’inquadratura ferma di 4 secondi a 2k con audio ed espansione del prompt entrambi disattivati: "Nobody moves. Only the neon tube above her stutters and the rain keeps falling, dragging its reflection across the wet plastic. Locked camera." È la forma di richiesta per un’inquadratura che verrà sonorizzata al montaggio invece di portare un audio proprio.
Parametri della richiesta
| Parametro | Obbligatorio | Nota |
|---|---|---|
prompt | No | Qui è facoltativo. Usalo per movimento e camera; ripetere ciò che è già visibile nel fotogramma invita il modello a ridisegnarlo. almeno 1 caratteri · al massimo 20000 caratteri |
image_url | Sì | Il fotogramma iniziale, usato esattamente come primo fotogramma, e il vero tetto di qualità dell'inquadratura. almeno 1 caratteri |
last_image_url | No | Facoltativo, e solo insieme a |
resolution | No | 1080p, 2k o 4k, predefinito 1080p. |
aspect_ratio | No | adaptive segue il fotogramma iniziale. Fissa un rapporto solo quando lo impone il formato di consegna. |
duration_seconds | No | Qualsiasi numero intero da 2 a 30, predefinito 5, oppure -1 per la durata intelligente, in cui è il modello a scegliere la lunghezza: il massimo di 30 secondi viene riservato in… |
generate_audio | No | Attivo di default. Il suono viene generato insieme alle immagini e arriva dentro lo stesso file. Predefinito: |
enable_prompt_expansion | No | Attivo di default su questa famiglia. Completa i brief scarni e riscrive quelli dettagliati, quindi disattivalo appena il tuo prompt è una descrizione precisa dell'inquadratura. Predefinito: |
seed | No | Da 0 a 2147483647. Tienilo fisso mentre regoli risoluzione o durata, altrimenti ogni ripetizione cambia due cose insieme. |
Prezzi
| Specifiche | Prezzo |
|---|---|
| $0.234 / secondo |
| $0.252 / secondo |
| $0.279 / secondo |
Casi d’uso
L’ambiente che cambia attorno a un soggetto fermo
L’esempio del vicolo al neon parte da una tavola che contiene già il vicolo, la pioggia e l’impermeabile trasparente, quindi il prompt dice solo cosa cambia: la pioggia che si intensifica, un tubo al neon che sfarfalla una volta, il vapore che esce da una grata e il soggetto che tiene lo sguardo in macchina per tutto il tempo. La riga audio nomina ogni sorgente: pioggia sull’acciaio, un tubo che ronza, una grata che sibila.
Dettagli ravvicinati con il finale fissato
L’esempio della camicia riusa gli stessi due frame dell’esempio del bocciolo a 1080p per 4 secondi: una mano scosta lentamente una camicia aperta sotto una luce dorata radente e la lascia ricadere, mentre il bocciolo tra le pieghe si apre un poco. Fissare entrambi gli estremi fa sì che una profondità di campo molto ridotta atterri sul piano voluto.
Consigli avanzati
Lascia fuori dal prompt ciò che si vede già
Ridescrivere ciò che è già nel frame invita il modello a ridisegnarlo. Usa il prompt solo per movimento e camera e lascia aspect_ratio su adaptive, così la clip segue la forma del frame; fissa un rapporto solo quando il formato di consegna lo richiede.
Approva a 1080p, consegna a 2K o 4K
Definisci il movimento a 5 secondi e 1080p con seed fisso, poi invia di nuovo il body a 2k o 4k. Ogni ripetizione che cambia sia risoluzione sia seed cambia due cose insieme, quindi una deve restare fissa mentre valuti l’altra.
Disattiva l’espansione per un movimento esatto
In questa famiglia enable_prompt_expansion vale true per impostazione predefinita. Aiuta un’idea di due parole e riscrive un brief di movimento preciso; l’esempio della luce nel vicolo lo disattiva perché le sue tre frasi brevi vengano eseguite così come sono. È accettata qualsiasi durata intera da 2 a 30 secondi, e -1 lascia al modello la scelta della lunghezza.
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-pro-prime/image-to-video",
"input": {
"aspect_ratio": "adaptive",
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"resolution": "1080p"
}
}'
# 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.



























