Wan 3.0
Video Generationalibaba/wan-3.0Wan 3.0 est le modèle de génération vidéo Tongyi Wanxiang d'Alibaba, sorti le 2026-08-24, qui unifie dans un seul modèle le texte-vers-vidéo, l'image-vers-vidéo (première image ou première et dernière image) et la vidéo à partir de références. Les entrées peuvent mêler texte, image, vidéo et audio, avec jusqu'à 10 images de référence et 5 clips vidéo ou audio de référence. Il produit des clips 480P, 720P ou 1080P de 2 à 30 secondes selon six rapports d'aspect plus un mode adaptatif, émet un audio synchronisé par défaut et prend en charge la continuation et l'édition vidéo. Facturé à la seconde de sortie, selon la résolution. Accessible via le protocole compatible OpenAI.
Providers
provider.type: "aliyun"| Résolution | Mode | Audio | Prix / seconde |
|---|---|---|---|
| 480p | Tous | Tous | $0.0429/s |
| 720p | Tous | Tous | $0.0857/s |
| 1080p | Tous | Tous | $0.1714/s |
| Toutes les autres combinaisons | $0.1714/s | ||
/v1/videosprovider.type: "alicloud"| Résolution | Mode | Audio | Prix / seconde |
|---|---|---|---|
| 480p | Tous | Tous | $0.054/s |
| 720p | Tous | Tous | $0.11/s |
| 1080p | Tous | Tous | $0.21/s |
| Toutes les autres combinaisons | $0.21/s | ||
/v1/videosFacturation à la seconde de vidéo générée. Les combinaisons de paramètres prises en charge et les prix sont déterminés par l'API en temps réel et peuvent varier selon la version du modèle.
Exemples de code
import timeimport requestsBASE = "https://api.ofox.io/v1/videos"HEADERS = {"Authorization": "Bearer YOUR_OFOX_API_KEY"}# Create the generation tasktask = requests.post(BASE, headers=HEADERS, json={"model": "alibaba/wan-3.0","prompt": "A golden retriever running on the beach at sunset","duration": 2,"resolution": "1080p","generate_audio": True,"provider": {"type": "aliyun"},# Or: "provider": {"type": "alicloud"}}).json()# Poll until the task reaches a terminal statewhile True:task = requests.get(f"{BASE}/{task['id']}", headers=HEADERS).json()if task["status"] in ("completed", "failed", "cancelled", "expired"):breaktime.sleep(10)# Prefer mirror_urls (persistent) then fall back to unsigned_urls (24h)print((task.get("mirror_urls") or task.get("unsigned_urls") or [None])[0])