Introduction
Wan 3.0 Pro Image vers vidéo anime une image d’ouverture et livre le clip en 1080p, 2K ou 4K, de 2 à 30 secondes. image_url est le seul champ obligatoire et sert exactement de première image : garde-robe, corps, décor et lumière viennent donc de votre photo. Le prompt est facultatif et ne devrait porter que le mouvement et la caméra. last_image_url fixe exactement la dernière image si vous le souhaitez, et ne fonctionne qu’avec image_url. Le son est généré avec l’image, sauf si vous le désactivez.
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 Pro 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 Pro 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 Pro Références vers vidéo |
Fonctionnalités et points forts
Un rendu 4K ne rend pas nette une image floue
L’image d’ouverture fixe le plafond de qualité du plan, et les paliers 2k et 4k agrandissent un rendu natif en 1080p sans dessiner de nouveaux détails. Une source douce ou basse résolution reste douce en 4K. Fournissez l’image la plus nette possible, en JPEG, PNG sans transparence, BMP ou WEBP, de 240 à 8000 pixels par côté, jusqu’à 20 Mo et pas plus large que 8:1.
Les deux extrémités fixées pour des masters prêts au montage
L’exemple du flacon envoie le même packshot en image_url et en last_image_url, en 4k, avec l’expansion du prompt et le son désactivés et une graine fixe, 5512090. Le flacon fait un quart de tour, le reflet parcourt toute la longueur du verre, puis il revient à son angle de départ : un master dont l’étiquette reste lisible quand le monteur zoome numériquement.
Le cadre suit la source par défaut
aspect_ratio vaut adaptive par défaut et suit l’image d’ouverture. N’imposez 16:9, 4:3, 1:1, 3:4 ou 9:16 que si le format de livraison est fixé. Aucun des quatre exemples publiés ne précise de ratio : chaque clip garde la forme de son image source.
Paramètres de requête
| Paramètre | Obligatoire | Description |
|---|---|---|
prompt | Non | Facultatif ici, puisque l’image porte déjà le look. Servez-vous-en uniquement pour le mouvement et la caméra. 1 caractères minimum · 20000 caractères maximum |
image_url | Oui | L’image d’ouverture, utilisée telle quelle comme première image, et le vrai plafond de qualité du plan. 1 caractères minimum |
last_image_url | Non | Facultative, et uniquement avec |
resolution | Non | 1080p, 2k ou 4k, 1080p par défaut. |
aspect_ratio | Non | adaptive suit l’image d’ouverture. Ne fixez 16:9, 4:3, 1:1, 3:4 ou 9:16 que lorsque le format de livraison est imposé. |
duration_seconds | Non | N’importe quel nombre entier de 2 à 30, 5 par défaut, 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 s… |
generate_audio | Non | Actif par défaut. Le son est généré avec l’image et arrive dans le même fichier. Valeur par défaut: |
enable_prompt_expansion | Non | Active par défaut dans cette famille. Elle étoffe les briefs maigres et réécrit les briefs détaillés : coupez-la dès que votre prompt est une description de plan précise. Valeur par défaut: |
seed | Non | De 0 à 2147483647. Fixez-la pendant que vous réglez la résolution ou la durée, sinon chaque relance change deux choses à la fois. |
Tarification
| Spécification | Prix |
|---|---|
| $0.144 / seconde |
| $0.16 / seconde |
| $0.184 / seconde |
Cas d’utilisation
De longs trajets vers une arrivée validée
L’exemple du sommet fournit le pied de la montagne en image_url et le sommet en last_image_url, puis rend 10 secondes en 4K, le prompt ne décrivant que l’ascension entre les deux. Une longue montée, c’est précisément là qu’une fin non fixée dérive ; fixer l’image d’arrivée permet de valider la chute en image fixe avant de payer un rendu 4K.
La garde-robe reste dans l’image
L'exemple de l'épaule en soie part d'une image qui contient déjà la tenue, si bien que son prompt consacre tout au mouvement : les épaules se tournent lentement vers la caméra, la soie capte la lumière, la respiration se pose, un push-in lent avec une lumière principale dure venant de la gauche et de la pluie sur la fenêtre derrière. Les épaules tournent lentement vers la caméra, une bretelle de soie glisse le long du bras, la respiration s’apaise, avec un lent travelling avant, une lumière principale dure venant de la gauche et la pluie sur la vitre derrière. Le rendu dure 5 secondes en 2k.
Guide de prompt et conseils pratiques
Réservez le prompt au mouvement et à la caméra
Dans cette famille, l’expansion du prompt est activée par défaut et réécrit un brief de mouvement détaillé : passez enable_prompt_expansion à false une fois votre texte arrêté, comme le fait l’exemple du flacon. Dites ensuite qui bouge, de combien et à quelle vitesse, et ce que fait la caméra. Le prompt accepte jusqu’à 20 000 caractères, mais une action claire fait davantage bouger le résultat qu’une longue liste.
Validez en 1080p, puis rendez en grand
Fixez cadrage et mouvement à 5 secondes et en 1080p avec seed bloqué ; une relance qui change à la fois la résolution et la graine change deux choses d’un coup. Quand les deux images sont validées et que le mouvement se lit bien, renvoyez le même corps de requête en 2k ou 4k. La durée va de 2 à 30 secondes entières, ou -1 pour laisser le modèle choisir.
Contrôlez les détails agrandis dans le fichier livré
Dans un fichier 2K ou 4K, vérifiez d’abord les zones qu’un agrandissement étire : texte d’étiquette, reflets spéculaires durs, texture des cheveux et de la peau. L'exemple du miroir embué est un cas exigeant : la vapeur qui monte et embue un miroir, la silhouette détournée de l'objectif, un push-in lent devant une applique murale, rendu en 4k entre une première et une dernière image épinglées.
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-pro/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"
La référence API détaille l’authentification, le schéma complet, le polling et la gestion des erreurs.



























