Introduction
Wan 3.0 Image vers vidéo anime une image fixe que vous fournissez. image_url sert exactement de première image : garde-robe, corps, décor et direction de la lumière viennent de la photo, et le prompt n’a plus qu’à décrire le mouvement. Le prompt est facultatif ; sans lui, le modèle anime l’image de lui-même. Un last_image_url facultatif fixe exactement la dernière image. Les clips durent de 2 à 30 secondes en 480p, 720p ou 1080p, avec du son généré activé par défaut. C’est le plus littéral des modes : quand le rendu doit coller à votre texte, confiez le look à l’image et consacrez le prompt au mouvement.
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 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 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 Références vers vidéo |
Fonctionnalités et points forts
L’image d’ouverture fixe le plafond de qualité
Puisque la première image est la vôtre, sa netteté, son éclairage et sa composition sont la limite haute du clip. Les sources acceptées sont JPEG, PNG sans transparence, BMP ou WEBP, de 240 à 8000 pixels par côté, pas plus large que 8:1 et 20 Mo au maximum. Sans aspect_ratio, le clip reprend le format de l’image ; un ratio contradictoire la recadre.
Une image d’arrivée imposée, pas suggérée
last_image_url n’est pas une indication vague : le clip se termine exactement sur cette image, et le champ ne fonctionne qu’avec image_url. L’exemple du flacon passe le même packshot pour les deux extrémités : le flacon fait un quart de tour, un reflet traverse le verre, puis il revient à son angle de départ avec l’étiquette lisible.
De longues durées entre deux instants fixés
Quand les deux extrémités sont fournies, seul le passage de l’une à l’autre est généré. L’exemple du toit-terrasse fixe une position de danse ouverte comme première image et le point le plus bas d’un renversé comme dernière, et le modèle remplit les cinq secondes intermédiaires en 720p ; les deux mêmes images peuvent encadrer un mouvement bien plus long, puisque duration_seconds monte jusqu’à 30 sur ce point de terminaison.
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. Laissez-le de côté et le clip hérite 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.045 / seconde |
| $0.09 / seconde |
| $0.18 / seconde |
Cas d’utilisation
Des rotations produit qui reviennent à l’angle principal
Pour un packshot, fournissez l’image validée comme première et dernière image, bloquez la caméra et décrivez un seul mouvement. L’exemple du flacon utilise une douce lumière principale venant de la gauche, pas de musique (generate_audio à false) et une graine fixe, 20260907 : il devient facile de relancer le même mouvement après une petite modification du texte et de comparer les deux fichiers.
Des plans stylisés qui suivent le texte
Quand un vêtement, un corps ou un décor doit apparaître exactement comme validé, placez-le dans l’image d’ouverture. L’exemple de la fenêtre part d’une image fixe d’une femme en chemise de soie ; le prompt décrit seulement son mouvement vers l’objectif, un voilage qui passe devant la lumière et un lent travelling avant tandis que l’aube se lève. Le clip dure 5 secondes en 1080p, avec du son.
Guide de prompt et conseils pratiques
Décrivez ce qui change, pas ce qui se voit
Tout ce qui est dans l’image est repris ; le redécrire consomme des mots dont le mouvement a besoin. Dites qui ou quoi bouge, dans quelle direction et à quelle vitesse, puis ce que fait la caméra : « 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. »
Préparez les deux images comme une paire
Quand vous ajoutez last_image_url, réalisez les deux images au même cadrage et sur le même décor, et laissez le prompt expliquer comment l’une devient l’autre. L’exemple du toit-terrasse associe une image d’ouverture d’un couple en position de danse ouverte à une image de fin du même couple, sur le même toit et depuis la même position de caméra, au point le plus bas d’un renversé, et le prompt ne décrit que le mouvement entre les deux : il l’attire par la main et la renverse en arrière pendant que la caméra reste fixe.
Vérifiez le milieu du clip, pas seulement les extrémités
Une image finale conforme ne prouve pas une transition crédible. Contrôlez l’identité et la géométrie au début, au milieu et à la fin ; en cas de dérive, réduisez le nombre de mouvements simultanés avant d’allonger la durée. Fixez le mouvement à 5 secondes, allongez ensuite, et laissez enable_prompt_expansion sur sa valeur par défaut, false, pour qu’un brief de mouvement détaillé soit exécuté tel quel.
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/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.



























