HiAPI
Blog

Tutoriel

Tutoriel d'intégration de l'API Wan 3.0 : curl, Python et tous les paramètres

Comment appeler Wan 3.0 Standard : soumission et récupération du résultat, première et dernière image, mode référence, tous les paramètres, erreurs courantes, 480P 5 secondes à $0.20.

Oct 19, 2026
Tutoriel d'intégration de l'API Wan 3.0 : curl, Python et tous les paramètres

Wan 3.0 Standard (wan3.0-video) utilise sur HiAPI l'interface asynchrone unifiée : soumission via POST /v1/tasks, obtention d'un taskId, puis récupération du résultat via GET /v1/tasks/{taskId}. Il suffit d'un seul prompt pour générer une vidéo avec son ; vous pouvez aussi ajouter une première image, une dernière image, ou jusqu'à 10 images de référence, 5 vidéos de référence et 5 audios de référence pour contrôler ensemble la génération. Cet article fournit des exemples curl et Python directement exécutables, l'ensemble des paramètres actuels, ainsi que quelques points à vérifier avant la mise en production.

Prix d'abord

Résolution Par seconde 5 secondes
480P $0.04 $0.20
720P $0.08 $0.40
1080P (par défaut) $0.16 $0.80

Tarif actuel de HiAPI, vérifié le 18 octobre 2026. Le son est activé par défaut, sans surcoût.

Attention aux valeurs par défaut : sans resolution, c'est 1080P ; sans duration, c'est 5 secondes, soit $0.80 la vidéo. Pour tester un prompt, pensez à indiquer explicitement "resolution": "480P".

Pour une génération plus rapide, vous pouvez utiliser la version accélérée wan3.0-video-prime, facturée plus du double du tarif standard (480P à $0.0875 par seconde).

Une vidéo réelle

480P, 16:9, 5 secondes, avec son :

A steaming noodle stall at a night market, close on the cook's hands as she lifts a tangle of noodles from a boiling pot and swirls them into a blue-rimmed bowl; slow push-in, warm tungsten light against cool blue street glow, steam drifting through the frame. Sound: rolling boil, the clink of a ladle, crowd murmur and a scooter passing in the distance.

Générer avec ce prompt →

wan3.0-video, 480P, 5 secondes, $0.20.

Réaliser la première génération

Préparation : créez une clé API dans la console. Les nouveaux utilisateurs reçoivent 200 crédits à l'inscription.

curl : soumettre la tâche

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "input": {
      "prompt": "A steaming cup of coffee on a wooden table, soft morning light, gentle steam rising. Sound: a quiet cafe.",
      "resolution": "480P",
      "duration": 5,
      "aspect_ratio": "16:9"
    }
  }'

Le taskId est renvoyé immédiatement, la génération se poursuit en arrière-plan :

{"code": 200, "message": "success", "data": {"taskId": "tk-hiapi-..."}}

curl : consulter le résultat

curl -s https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
  -H "Authorization: Bearer $HIAPI_KEY"

Une fois que data.status passe à success, data.output[0].url correspond à l'adresse de la vidéo. Cette adresse temporaire expire au bout d'environ 7 jours ; téléchargez-la et archivez-la rapidement. fail indique un échec, sans facturation.

Python

import os, time, requests

KEY = os.environ["HIAPI_KEY"]
BASE = "https://api.hiapi.ai/v1"
H = {"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"}

r = requests.post(f"{BASE}/tasks", headers=H, json={
    "model": "wan3.0-video",
    "input": {
        "prompt": "A steaming cup of coffee on a wooden table, soft morning light, gentle steam rising. Sound: a quiet cafe.",
        "resolution": "480P",
        "duration": 5,
    },
})
task_id = r.json()["data"]["taskId"]

while True:
    d = requests.get(f"{BASE}/tasks/{task_id}", headers=H).json()["data"]
    if d["status"] in ("success", "fail"):
        break
    time.sleep(10)

print(d["output"][0]["url"] if d["status"] == "success" else d)

Une courte vidéo est généralement générée en quelques minutes ; un intervalle de polling de 10 secondes suffit.

Tous les paramètres

Champ Obligatoire Valeurs Description
prompt Oui Texte Indiquez ici la scène, l'action, le cadrage, la lumière et le son ; en mode référence, utilisez Image1, Video1, Audio1 pour désigner les éléments
resolution Non 480P / 720P / 1080P (par défaut) Détermine le prix par seconde
duration Non Entier 2–30, par défaut 5 La durée totale des vidéos de référence plus la durée de sortie ne doit pas dépasser 30 secondes
aspect_ratio Non adaptive (par défaut) / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 adaptive choisit automatiquement selon les éléments et le prompt
audio Non Booléen, par défaut true Indique si une piste audio synchronisée est incluse
seed Non 0–2147483647 Fixez-la pour faciliter la reproduction
first_frame_url Non 1 URL d'image Mode première image
last_frame_url Non 1 URL d'image À utiliser avec la première image pour spécifier la dernière image
reference_image_urls Non 10 maximum Images de référence
reference_video_urls Non 5 maximum, 1–15 secondes par segment, 15 secondes au total maximum Vidéos de référence
reference_audio_urls Non 5 maximum, WAV/MP3 À utiliser avec des images ou des vidéos
reference_file_urls Non 1 maximum Document ou présentation
reference_link_urls Non 1 maximum Page web sans authentification

Les deux modes ne peuvent pas être combinés : le mode première/dernière image et le mode référence reference_* sont mutuellement exclusifs ; une requête ne peut en choisir qu'un seul.

Exemple d'utilisation du mode référence :

{
  "model": "wan3.0-video",
  "input": {
    "prompt": "Use Image1 as the product: slow quarter orbit around it on a wooden counter, soft morning window light. Sound: gentle pouring water.",
    "reference_image_urls": ["https://example.com/product.jpg"],
    "resolution": "480P",
    "duration": 5
  }
}

Erreurs courantes

Toutes sont renvoyées synchroniquement en HTTP 400 lors de la soumission ; aucune tâche n'est créée et aucun crédit n'est débité :

  • duration: maximum: got 99, want 30 : la durée dépasse 30 secondes.
  • resolution: value must be one of '480P', '720P', '1080P' : le P de la résolution doit être en majuscule.
  • additional properties 'negative_prompt', 'image_urls' not allowed : ce modèle n'a pas de prompt négatif ; le champ des images de référence s'appelle reference_image_urls, et non image_urls.
  • Une clé API incorrecte renvoie HTTP 401 ; un solde insuffisant renvoie 402.

Si une tâche échoue après sa création, le résultat de la requête indique status: "fail", mais le code HTTP reste 200 ; il faut donc consulter data.status.

À vérifier avant la mise en production

  • Utiliser un callback au lieu du polling : ajoutez au niveau supérieur du corps de la requête "callback": {"url": "https://votre-domaine/hiapi/callback", "when": "final"}, et HiAPI vous notifiera à la fin de la tâche. callback se place au niveau supérieur, pas dans input.
  • Éviter la double facturation : incluez l'en-tête Idempotency-Key lors de la soumission. En cas de nouvelle tentative après un délai réseau, utilisez la même clé : le même taskId est renvoyé et aucune tâche supplémentaire n'est créée.
  • Archiver rapidement : l'adresse temporaire expire au bout d'environ 7 jours. Pour une conservation à long terme, passez "storage": "persistent" à la création, ou convertissez ensuite en stockage persistant ; voir la documentation de création de tâche.

Questions fréquentes

Peut-on l'utiliser sans image de référence ?

Oui. Un simple prompt suffit pour générer une vidéo ; les éléments de référence sont facultatifs.

Le son est-il facturé en supplément ?

Non. audio est activé par défaut et le prix dépend uniquement de la résolution et du nombre de secondes. Pour désactiver le son, passez false.

Comment obtenir un format vertical ?

Passez aspect_ratio à 9:16.

Peut-on utiliser la première image et des images de référence ensemble ?

Non, il faut choisir l'un ou l'autre.

Pour plus d'exemples de prompts, consultez le recueil de prompts Wan 3.0, avec une vidéo réelle pour chacun des 4 scénarios. Vous pouvez aussi copier directement le prompt du stand de nouilles ci-dessus et en générer une pour $0.20.

Articles similaires

Voir tous les articles →

Commencez avec des artefacts IA persistants

Obtenez votre clé API et appelez des modèles d'image, de vidéo et d'audio via une API unique basée sur les tasks.

Lire la documentation de l'API