Alibaba: Wan 3.0
Alibaba Wan 3.0 crée des vidéos avec du son à partir d’un prompt, d’une première image ou d’images de début et de fin, ainsi que de références multimodales. Son profil producteur combine storyboard, modification à partir d’une source et prolongement dans un même modèle, avec des sorties MP4 de 2 à 30 secondes à 30 images par seconde en 480p, 720p ou 1080p.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
Alibaba Wan 3.0 est un profil de création vidéo tout-en-un conçu pour transformer un brief et des matériaux complémentaires en scène avec son audio. Le producteur identifie le modèle standard sous le nom wan3.0-video. La génération à partir de texte seul, les images d’ouverture et de fin, les références multimodales, la modification et le prolongement utilisent des configurations d’entrée différentes dans ce profil. Les livrables utiles comprennent une courte narration, une présentation de produit, une transition basée sur des images ou un clip source révisé dont les changements suivent une direction créative précise.
Pour une scène à partir de texte uniquement, préparez le sujet, le lieu, l’action, la caméra, le style visuel et le son. Le producteur prend en charge les plans uniques et les storyboards à plusieurs plans, avec une structure recommandée d’environ quatre à six secondes par plan et des plages temporelles facultatives. Pour une courte histoire, présentez un petit oiseau mécanique sur un établi, suivez son premier mouvement et terminez sur un gros plan maintenu pendant que l’ambiance sonore de la pièce se poursuit. Décrivez la relation visuelle entre ces moments afin que les trente secondes autorisées servent une histoire cohérente plutôt qu’une liste d’actions sans lien.
La génération à partir d’une première image anime une image fixe fournie. Celle-ci définit la composition initiale, tandis que le prompt explique le mouvement et le travail de caméra. La génération avec première et dernière image fixe aussi la fin et décrit la transition entre les deux images. Préparez des extrémités avec une scène compatible et le cadrage souhaité. Le guide recommande la sélection adaptative du rapport largeur/hauteur pour ces modes. Leurs images d’entrée restent séparées des configurations d’images, de vidéos et de sons de référence, de fichiers et de liens web : choisissez donc le mode de matériaux correspondant au plan prévu.
Le mode de références combine jusqu’à dix images, cinq clips vidéo et cinq clips audio, dans une limite totale de vingt matériaux. Les images de référence peuvent identifier un personnage, un objet, un décor ou un style ; la vidéo peut guider le mouvement ou le travail de caméra, et le son peut guider l’interprétation ou le rythme. Les étiquettes propres au type, telles que Image 1, Video 1 et Audio 1, suivent indépendamment l’ordre d’entrée. Donnez un rôle à chaque référence et décrivez ses interactions avec les autres. Un personnage dont l’apparence est correcte dans le mauvais décor constitue un échec différent d’une caméra qui manque le mouvement prévu.
Les limites documentées des fichiers de référence sont de 20 Mo par image, 100 Mo par vidéo et 15 Mo par clip audio. Les vidéos de référence sont limitées ensemble à quinze secondes, et les références audio ont une limite totale distincte de quinze secondes. Un document ou une référence de page web publique peut accompagner les références ; un document et un lien s’excluent mutuellement. La source doit être accessible publiquement sans connexion. Préparez une source ciblée et précisez le contenu qui doit informer le clip, surtout lorsqu’un document contient plus d’informations que la scène ne peut en utiliser.
Le son natif combine le dialogue, la musique de fond, l’ambiance et les effets sonores avec l’image générée. Précisez les mots à prononcer, la personne qui parle et son interprétation, les effets importants et la présence souhaitée ou non de musique de fond. Le son est activé par défaut dans le guide du producteur et peut être désactivé. Pour une scène de démonstration, une courte réplique d’introduction peut précéder un détail de produit tandis qu’un léger bruit mécanique marque le mouvement. Écoutez le clip terminé pour les mots réels, leur attribution et leur synchronisation, au lieu de juger le son à partir du brief écrit seul.
Pour une modification, décrivez le changement et le contenu à conserver. Le guide couvre l’ajout ou la suppression d’éléments, le remplacement d’attributs, les changements de style visuel ou d’éclairage et la révision des dialogues. Pour un prolongement, décrivez ce qui doit se produire avant, après ou autour du clip existant. Le cadrage adaptatif et la durée intelligente aident le processus avec vidéo source à préserver son format et l’intention temporelle. Lorsqu’une entrée vidéo est fournie, la durée combinée documentée de la vidéo d’entrée et de celle de sortie ne doit pas dépasser 30 secondes. Conservez la source originale et examinez la zone modifiée ainsi que la continuité de tout le clip.
La sortie est un MP4 à 30 images par seconde, en 480p, 720p ou 1080p. Les durées de nouvelle génération vont de deux à trente secondes, ou un réglage de durée intelligente peut laisser le modèle choisir la longueur. Les formats paysage, carré et portrait sont documentés, avec un cadrage adaptatif adapté aux matériaux fournis. Le producteur traite la requête comme une tâche et renvoie une adresse de vidéo terminée valide pendant vingt-quatre heures. Conservez le résultat lui-même, le brief et les références comme dossier de production, et vérifiez la durée et le cadrage renvoyés avant de l’assembler avec d’autres clips.
Wan 3.0 standard et sa variante Prime partagent les modes tout-en-un documentés ; Prime met l’accent sur la vitesse de génération. Wan 2.7 et 2.6 ont des règles de durée et de références distinctes selon la tâche : leurs interfaces ne doivent donc pas être considérées comme la configuration de cette édition. Examinez la scène terminée pour l’identité des personnages et des produits, la continuité spatiale, la parole, les effets, les détails issus des sources et le début et la fin souhaités. Une correction suivante précise préserve la direction réussie tout en traitant le défaut réel constaté dans le clip.
Ailoot Ultra · Vidéo POST /v1/videos alibaba/wan-3.0
alibaba/wan-3.0Premiers pas
Alibaba Wan 3.0 crée des vidéos avec du son à partir d’un prompt, d’une première image ou d’images de début et de fin, ainsi que de références multimodales. Son profil producteur combine storyboard, modification à partir d’une source et prolongement dans un même modèle, avec des sorties MP4 de 2 à 30 secondes à 30 images par seconde en 480p, 720p ou 1080p.
- Entrées acceptées
- Texte · Images
- Résultats
- Vidéo
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Vidéo POST /v1/videos
- Types d’entrée
text,image- Types de sortie
video- Format de sortie
- Octets MP4 d’origine ; sans normalisation ni transcodage
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites alibaba/wan-3.0 | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites | Par défaut— |
Champduration | Typeinteger | ExigenceObligatoire | Valeurs et limites 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 Minimum: 1 Maximum: 600 | Par défaut— |
Champresolution | Typestring | ExigenceFacultatif | Valeurs et limites 480p, 720p, 1080p | Par défaut— |
Champaspect_ratio | Typestring | ExigenceFacultatif | Valeurs et limites 16:9, 4:3, 1:1, 3:4, 9:16 | Par défaut— |
Champgenerate_audio | Typeboolean | ExigenceFacultatif | Valeurs et limites false, true | Par défaut— |
Champframe_images | Typearray | ExigenceFacultatif | Valeurs et limites Nombre minimal d’éléments: 1 Nombre maximal d’éléments: 1 Contenu en entrée: Tableau d’objets d’image. Chaque objet comporte type=image_url, image_url contenant url et frame_type. Utilisez une URL HTTPS pour l’image et définissez frame_type sur first_frame. Chaque rôle d’image apparaît au plus une fois. Clés exactes: type, image_url, frame_type Conditions: Ces clés décrivent chaque objet d’image ; image_url contient uniquement url. Omettez frame_images pour une requête contenant uniquement du texte. | Par défaut— |
Champinput_references | Typearray | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Champseed | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: -9 223 372 036 854 775 808 Maximum: 9 223 372 036 854 775 807 | Par défaut— |
Champcallback_url | Typestring | ExigenceFacultatif | Valeurs et limites Motif: ^https:// | Par défaut— |
Champsession_id | Typestring | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Champtrace | Typeobject | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Champuser | Typestring | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Combinaisons d’éléments d’entrée
Texte vers vidéo · Une consigne écrite. · Obligatoire : model, prompt, duration
Fournissez prompt sous forme de texte et duration en secondes entières. Choisissez une résolution prise en charge et, si nécessaire, un rapport d’image.
model: Type : string · alibaba/wan-3.0
prompt: Type : string · Nombre maximal d’octets UTF-8: 10 000 · Caractères autres que des espaces requis: Oui
Image vers vidéo · Une consigne écrite et une image initiale. · Obligatoire : model, prompt, duration, frame_images
frame_images est un tableau. Chaque objet d’image contient type, image_url et frame_type ; image_url contient url. Définissez type sur image_url. Utilisez first_frame. Chaque rôle d’image apparaît au plus une fois. Fournissez une URL HTTPS publique pour chaque image. Choisissez une résolution prise en charge et, si nécessaire, un rapport d’image.
Clés exactes : type, image_url, frame_type
model: Type : string · alibaba/wan-3.0
prompt: Type : string · Nombre maximal d’octets UTF-8: 10 000 · Caractères autres que des espaces requis: Oui
Reference to video · Une consigne écrite et des références image prises en charge. · Obligatoire : model, prompt, duration, input_references
input_references est un tableau d’objets. Définissez type sur image_url et utilisez le champ correspondant contenant url. Utilisez des URL HTTPS publiques. Omettez frame_images pour sélectionner le mode avec références. Choisissez une résolution prise en charge et, si nécessaire, un rapport d’image.
model: Type : string · alibaba/wan-3.0
prompt: Type : string · Nombre maximal d’octets UTF-8: 10 000 · Caractères autres que des espaces requis: Oui
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, prompt, duration |
Paramètrematerial_types | Contrattext, image |
Paramètreadditional_properties | Contratfalse |
Paramètreoptional_controls | Contratresolution, aspect_ratio, generate_audio, frame_images, input_references, seed, callback_url, session_id, trace, user |
Cycle de vie : submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Tarifs
Calcul du coût final
Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs estimés à des fins de comparaison
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Barème tarifaire | Quantité prévisionnelle | Unité de facturation | Conditions de facturation | Coût |
|---|---|---|---|---|---|
| ConfigurationTarifs de base par jeton | Barème tarifaireTarif de base | Quantité prévisionnelle— | Unité de facturation— | Conditions de facturation— | Coût Entrée · Tokens en entrée · Estimation à des fins de comparaison uniquement — / 1K tokens Sortie · Tokens en sortie · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K tokens |
| ConfigurationTarif vidéo | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar seconde de vidéo | Conditions de facturationresolution: 1080p | Coût Sortie · Tarif vidéo · Estimation à des fins de comparaison uniquement $0.4 par seconde de vidéo |
| ConfigurationTarif vidéo | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar seconde de vidéo | Conditions de facturationresolution: 480p | Coût Sortie · Tarif vidéo · Estimation à des fins de comparaison uniquement $0.1 par seconde de vidéo |
| ConfigurationTarif vidéo | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar seconde de vidéo | Conditions de facturationresolution: 720p | Coût Sortie · Tarif vidéo · Estimation à des fins de comparaison uniquement $0.2 par seconde de vidéo |
| ConfigurationCoût de génération estimé | Barème tarifaire— | Quantité prévisionnelleEstimation pour une génération | Unité de facturation— | Conditions de facturation— | Coût Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $0.2 estimation avant génération Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée. |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Détails du tarif de référence
Les barèmes de référence du modèle ne modifient ni la sélection de méthode, ni les devis, ni les coûts. Les frais actifs utilisent les tarifs de la méthode Ailoot sélectionnée.
Références tarifaires des configurations vidéo
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Conditions de facturation | Coût |
|---|---|---|
| ConfigurationTarif vidéo | Conditions de facturationresolution: 480p | Coût Sortie · Tarif vidéo $0.1 par seconde de vidéo Tarif publié de référence pour la configuration affichée. Les frais définitifs correspondent à la configuration réellement facturée. |
| ConfigurationTarif vidéo | Conditions de facturationresolution: 720p | Coût Sortie · Tarif vidéo $0.2 par seconde de vidéo Tarif publié de référence pour la configuration affichée. Les frais définitifs correspondent à la configuration réellement facturée. |
| ConfigurationTarif vidéo | Conditions de facturationresolution: 1080p | Coût Sortie · Tarif vidéo $0.4 par seconde de vidéo Tarif publié de référence pour la configuration affichée. Les frais définitifs correspondent à la configuration réellement facturée. |
Exemples de requêtes
Ailoot Ultra · Vidéo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":8,"model":"alibaba/wan-3.0","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Recevoir et enregistrer les résultats
Ailoot Ultra · Vidéo
URL signées de contenu vous appartenant
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Vérifier l’état de la tâche
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Autres lectures de contenu
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Conserver tous les résultats terminés
Enregistrez chaque vidéo terminée ou fichier renvoyé ; récupérez chaque URL de ressource effectivement renvoyée.
Conservez toutes les sorties réelles vous appartenant et les métadonnées mesurées renvoyées pour chacune.
Si la réponse d’origine doit être vérifiée
503 result_pending_check + originalid + X-Should-Retry:false ; ne rejouez jamais la demande d’origine
Champs de la réponse
| Champ | Type | Signification |
|---|---|---|
Champindex | Typeinteger | SignificationPosition de cette vidéo dans la liste des sorties, en commençant à zéro. |
Champcontent_url | Typestring | SignificationURL HTTPS signée pour télécharger cette vidéo terminée. |
Champsha256 | Typestring | null | SignificationEmpreinte SHA-256 des octets vidéo d’origine ; null si indisponible. |
Champsize_bytes | Typeinteger | null | SignificationTaille du fichier vidéo d’origine en octets ; null si indisponible. |
Champduration_ms | Typeinteger | null | SignificationDurée vidéo mesurée en millisecondes ; null si indisponible. |
Champwidth | Typeinteger | null | SignificationLargeur de la vidéo en pixels ; null si indisponible. |
Champheight | Typeinteger | null | SignificationHauteur de la vidéo en pixels ; null si indisponible. |
Champvideo_codec | Typestring | null | SignificationIdentifiant du codec vidéo ; null s’il n’est pas enregistré. |
Champhas_audio | Typeboolean | null | SignificationIndique si la vidéo contient une piste audio ; null si cela n’a pas été mesuré. |
Champaudio_codec | Typestring | null | SignificationIdentifiant du codec audio ; null lorsqu’aucun identifiant n’est enregistré. |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse404 · not_found_error | ConditionL’accès vidéo n’est pas disponible, ou cet identifiant vidéo est introuvable. | Étape suivanteVérifiez l’accès vidéo. Pour une vidéo existante, utilisez son identifiant public d’origine et la même clé API. |
Réponse401 · authentication_error | ConditionLa clé API ne correspond pas au compte authentifié. | Étape suivanteVérifiez votre clé API et l’accès à votre compte avant de soumettre la demande. |
Réponse400 · invalid_request_error | ConditionLa requête n’a pas pu être lue ou l’index de téléchargement n’est pas valide. | Étape suivanteCorrigez le corps de la requête. Pour un téléchargement, choisissez un index de sortie renvoyé par la tâche d’origine. |
Réponse422 · price_unavailable | ConditionLa configuration vidéo sélectionnée ne peut pas être tarifée. | Étape suivanteChoisissez une configuration vidéo prise en charge et renseignez ses options obligatoires avant de soumettre une demande corrigée. |
Réponse422 · invalid_request_error | ConditionUne entrée vidéo ou une tâche de continuation d’origine n’est pas valide. | Étape suivanteUtilisez des entrées HTTPS valides. Pour une continuation, utilisez l’identifiant vidéo public de votre original terminé avec la même clé API. |
Réponse402 · billing_error | ConditionLe solde disponible ou les limites ne permettent pas de réserver les fonds nécessaires. | Étape suivanteVérifiez votre solde disponible et vos limites avant d’envoyer une nouvelle demande. |
Réponse503 · server_error | ConditionLa vérification vidéo, le stockage ou l’accès au service est temporairement indisponible. | Étape suivanteAttendez que le service soit disponible. Si vous possédez déjà un identifiant vidéo, consultez cette tâche d’origine au lieu de créer une autre génération. |
Réponse503 · result_pending_check | ConditionLe résultat vidéo d’origine et sa facturation nécessitent une vérification. | Étape suivanteConservez l’identifiant vidéo renvoyé et consultez cette tâche. N’envoyez pas de demande de génération de remplacement tant que sa vérification est en cours. |
Réponse503 · owned_result_unavailable | ConditionLe téléchargement de la vidéo existante est temporairement indisponible. | Étape suivanteConsultez cette même tâche vidéo ultérieurement et téléchargez sa sortie existante. Une nouvelle génération crée une opération distincte. |
Réponse409 · video_not_ready | ConditionLe contenu vidéo n’a pas été publié. | Étape suivanteVérifiez le statut de la tâche d’origine. Téléchargez après l’apparition de completed ; si elle indique failed, suivez son avis de vérification de la facturation. |
Alias
Alias du modèle
Ailoot Ultra alibaba/wan-3.0
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
FAQ · Alibaba: Wan 3.0
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/videos·alibaba/wan-3.0:text,image→video- Quels champs la requête utilise-t-elle ?
POST /v1/videos·alibaba/wan-3.0:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,seed,callback_url,session_id,trace,user- Quelles limites s’appliquent ?
POST /v1/videos·alibaba/wan-3.0:duration.minimum:1;duration.maximum:600;frame_images.max_items:1;frame_images.min_items:1;seed.minimum:-9223372036854775808;seed.maximum:9223372036854775807