Introduction
Wan 3.0 Prime Image vers vidéo anime une image d’ouverture de 2 à 30 secondes avec le rendu Prime, avec les mêmes champs que Wan 3.0 Image vers vidéo. image_url est obligatoire et devient exactement la première image ; le prompt est facultatif et n’a besoin de décrire que le mouvement ; last_image_url fixe si besoin la dernière image. La résolution est de 480p, 720p ou 1080p, 720p par défaut, et le son est généré avec l’image sauf si vous passez generate_audio à false.
Choisir le mode selon le matériau de départ
| Matériau de départ | Mode |
|---|---|
| Un brief écrit définit la scène, l’action, la caméra et, si nécessaire, le son. | Wan 3.0 Prime Texte vers vidéo |
| Une image de départ validée fixe le sujet et la composition ; la consigne dirige le mouvement qui suit. | Wan 3.0 Prime Image vers vidéo |
| Des références distinctes peuvent guider l’identité, le lieu, le mouvement ou le son, avec un rôle explicite pour chacune. | Wan 3.0 Prime Références vers vidéo |
Fonctionnalités et points forts
Décor et tenue dans l’image, action dans le prompt
Comme l’image apporte déjà le look, toute la requête peut porter sur l’action et le son. L’exemple du sauna part d’une image fixe qui contient déjà le décor et la tenue ; son prompt décrit une louche d’eau sur des pierres brûlantes, un jet de vapeur, le dos d’un poignet passé sur la clavicule, et une ligne audio nommant le sifflement, le cèdre qui craque et une respiration lente.
Une fin fixée rend les longues transformations sûres
last_image_url fait se terminer le clip exactement sur une image fournie. L’exemple de la piste de danse commence sur une piste vide et finit sur une image fournie d’une salle pleine, 10 secondes en 1080p et 3:4 sans son : le modèle invente comment la salle se remplit, pas ce qui la remplit à la fin.
La forme de l’image par défaut
Sans aspect_ratio, le clip garde la forme de l’image d’ouverture ; une valeur contradictoire recadre. Les sources acceptées sont JPEG, PNG sans transparence, BMP ou WEBP, de 240 à 8000 pixels par côté, jusqu’à 20 Mo et pas plus large que 8:1. L’image de fin suit les mêmes limites.
Paramètres de requête
| Paramètre | Obligatoire | Description |
|---|---|---|
prompt | Non | Facultatif : sans prompt, le modèle anime l’image d’ouverture de lui-même. 1 caractères minimum |
image_url | Oui | L’image d’ouverture, utilisée telle quelle comme première image, et le vrai plafond de qualité du plan. |
last_image_url | Non | Facultative, et uniquement avec |
aspect_ratio | Non | 16:9, 9:16, 1:1, 4:3, 3:4 ou adaptive, qui laisse le modèle choisir. Omettez-le pour hériter de la forme de l’image d’ouverture ; une valeur contradictoire recadre. |
enable_thinking | Non | Fait réfléchir le modèle sur la consigne et le matériel de référence avant de générer. Valeur par défaut: |
resolution | Non | 480p, 720p ou 1080p. Vaut 720p par défaut. |
duration_seconds | Non | N’importe quel nombre entier de 2 à 30, ou -1 pour la durée intelligente, où le modèle choisit la longueur : le maximum de 30 secondes est réservé d’avance, puis seule la durée… |
generate_audio | Non | Actif par défaut. Le clip revient avec le son déjà calé sur l’image. Valeur par défaut: |
enable_prompt_expansion | Non | Inactif par défaut. Une fois actif, le prompt est réécrit avant la génération, ce qui aide les briefs maigres et vous contrarie sur les briefs détaillés. Valeur par défaut: |
seed | Non | De 0 à 2147483647. Gardez-la fixe pour comparer un seul champ modifié à la fois ; retirez-la pour de la variété. |
Tarification
| Spécification | Prix |
|---|---|
| $0.0612 / seconde |
| $0.126 / seconde |
| $0.252 / seconde |
Cas d’utilisation
De l’action rapide à partir d’une image fixe
L’exemple de la plage part d’une cavalière et demande que le petit galop devienne un galop, que le sable et l’eau peu profonde jaillissent derrière les sabots, et qu’un travelling rapide l’accompagne pendant qu’elle file vers un soleil bas. À cette vitesse, l’image d’ouverture n’aide plus : c’est le prompt qui porte la physique — ce qui est projeté, dans quelle direction, et comment la caméra suit.
Un seul geste avec une fin fixée
L’exemple du bal masqué fixe les deux extrémités — une première et une dernière image fournies de la même femme sur le même escalier de marbre — et décrit l’entrée entre les deux : elle ôte son masque doré, rassemble sa robe et descend quelques marches vers la caméra tandis que les invités masqués lèvent leur verre. Comme l’image de fin a été tirée de l’image d’ouverture, la robe, le lustre et les invités restent à leur place. Le clip dure 5 secondes en 720p, avec le son.
Guide de prompt et conseils pratiques
Validez d’abord l’image d’arrivée en image fixe
Quand la fin compte, créez la dernière image avant le rendu, dans le même décor et au même cadrage que la première. La valider en image fixe coûte bien moins cher que d’itérer sur un long milieu, et la tâche du prompt devient la description d’une transition plutôt que l’invention d’une destination.
Écrivez le son comme une liste de sources
Le prompt du sauna se termine par une ligne « Audio: » qui nomme chaque source. C’est plus fiable qu’un mot d’ambiance, et cela rattache chaque son à l’action qui le produit. Passez generate_audio à false, comme l’exemple de la piste de danse, quand le clip sera sonorisé au montage.
Fixez court, puis allongez
Lancez le mouvement à 5 secondes avec seed fixe, puis allongez. Les clips longs dérivent davantage en identité et en géométrie, et les croisements rapides de membres à 30 secondes sont les premiers endroits où apparaissent les artefacts. Laissez enable_prompt_expansion sur sa valeur par défaut, false, pour qu’un brief de mouvement précis ne soit pas réécrit avant la génération.
Démarrage rapide de l’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-prime/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"
La référence API détaille l’authentification, le schéma complet, le polling et la gestion des erreurs.



























