Alibaba: Wan 2.7
Alibaba Wan 2.7 crée des vidéos avec du son à partir de texte, d’images de début et de fin ou de références visuelles. Son workflow d’image poursuit aussi un clip source en utilisant la durée totale demandée. Le fabricant annonce du MP4 en 720p ou 1080p à 30 fps : 2–15 secondes pour les modes texte/image et jusqu’à 10 secondes pour la génération à partir de références.
À 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 2.7 est une famille de génération vidéo dotée de profils nommés pour la vidéo à partir de texte, d’images et de références. Le fabricant documente des scènes avec audio synchronisé et des récits à plusieurs plans, tandis que son processus fondé sur des images ajoute la génération à partir de la première et de la dernière image ainsi que le prolongement d’une vidéo initiale. Le résultat utile est un court clip avec sa bande sonore, par exemple une transition de produit, une histoire compacte ou une suite qui s’accorde avec un plan existant. Choisissez le mode selon la source et le contrôle nécessaire sur le début ou la fin.
Pour la vidéo à partir de texte, décrivez le sujet, le décor, l’action, la caméra, le style et le son. Un storyboard peut identifier chaque plan et sa plage temporelle, tandis qu’un brief pour un plan unique doit préciser que l’action reste continue. Le guide de prompts Wan 2.7 laisse le modèle interpréter la structure des plans à partir du brief écrit, au lieu d’utiliser la commande shot_type de la version 2.6. L’API textuelle actuelle accepte des prompts en chinois ou en anglais jusqu’à 5’000 caractères, avec un prompt négatif séparé de 500 caractères ; le texte excédentaire est tronqué. Rendez l’action essentielle et les contraintes claires dans cette limite.
La vidéo à partir d’une première image anime l’image d’ouverture fournie. La génération à partir de la première et de la dernière image définit aussi le point d’arrivée et le mouvement qui y mène. Le guide image 2.7 prend en charge une source audio directrice en complément de ces combinaisons d’images. Préparez des images de début et de fin partageant une scène et un sujet prévu, et décrivez la transition au lieu de demander au modèle de réinterpréter les deux images comme des références de style sans rapport. La sortie se rapproche des proportions de la première image ; le guide traite la résolution comme un palier de nombre de pixels et arrondit les dimensions encodées en conséquence.
Le prolongement vidéo commence par un clip source et peut aussi utiliser une image finale. La durée demandée est celle de toute la vidéo renvoyée, segment original compris. L’exemple du guide associe une source de deux secondes à dix secondes de contenu nouveau pour obtenir un résultat de douze secondes. Préparez l’action finale de la source et indiquez la suite, afin que la caméra et le sujet poursuivent une direction cohérente. Contrôlez le raccord en matière d’apparence, de mouvement, de lumière et de son, au lieu d’évaluer uniquement la fin nouvellement générée.
Le profil de référence séparé actuel du fabricant utilise des images ou de la vidéo pour guider des personnages, des objets ou une scène. Son guide autorise jusqu’à cinq images et vidéos de référence au total et utilise des libellés propres à chaque type, comme Image 1 et Video 1. Décrivez le rôle de chaque source et l’interaction souhaitée. Pour une scène guidée par des références, montrez un personnage provenant d’une référence transportant l’objet d’une autre dans un lieu précisé. Le cadrage par références diffère de la génération à partir de la première image : le brief peut établir une nouvelle composition au lieu d’exiger que la vidéo s’ouvre sur une image fixe fournie.
Pour l’audio personnalisé dans la génération textuelle, les formats documentés sont WAV et MP3, avec une durée de deux à trente secondes et une taille maximale de 15 Mo. La durée vidéo choisie détermine la portion utilisée : un audio plus long est coupé à cette durée, tandis qu’un audio plus court que la vidéo laisse le reste silencieux. Préparez le passage audio exact qui appartient au plan et laissez de la place pour l’action visuelle souhaitée. Sans fichier audio fourni, le fabricant décrit la génération de musique de fond ou d’effets adaptés à la scène ; examinez le son réel et toute parole demandée avec l’image.
La matrice actuelle des modèles indique du MP4 en 720p ou 1080p à 30 images/s, avec une sortie de deux à quinze secondes pour le texte et les images. Le profil de référence séparé est limité à deux à dix secondes. La génération textuelle propose les cadrages 16:9, 9:16, 1:1, 4:3 et 3:4. Les tâches conditionnées par des images suivent leurs propres règles de proportions approximatives de la source ; préparez donc le recadrage d’entrée pour la destination prévue. Une règle de durée ou de format du profil de référence ne doit pas remplacer celle du processus fondé sur des images de début et de fin ou de prolongement.
Le processus documenté du fabricant est asynchrone : un identifiant de tâche suit le traitement, et un résultat réussi fournit l’adresse de la vidéo. La validité documentée des liens de résultat est de vingt-quatre heures ; conservez donc le clip lui-même et les éléments créatifs pour la revue du montage. Les options de réécriture du prompt, de filigrane et de graine aléatoire appartiennent à l’interface sélectionnée. Le fabricant indique qu’une graine fixe peut améliorer la reproductibilité sans garantir un résultat identique. Comparez le livrable renvoyé au brief, au lieu de supposer que les réglages seuls préservent chaque détail.
Par rapport à Wan 2.6, le guide image 2.7 ajoute précisément le contrôle par première et dernière image et le prolongement vidéo au moyen d’entrées multimodales. Wan 3.0 introduit une structure tout-en-un différente et une durée maximale plus longue pour les vidéos générées. Ce profil 2.7 conserve ses commandes et limites propres aux tâches. Vérifiez l’ensemble de la scène pour la continuité du sujet, les images d’ancrage, l’identité des références, le dialogue, les mouvements et les raccords, puis ciblez la correction suivante sur le problème réellement constaté.
Ailoot Ultra · Vidéo POST /v1/videos alibaba/wan-2.7
alibaba/wan-2.7Premiers pas
Alibaba Wan 2.7 crée des vidéos avec du son à partir de texte, d’images de début et de fin ou de références visuelles. Son workflow d’image poursuit aussi un clip source en utilisant la durée totale demandée. Le fabricant annonce du MP4 en 720p ou 1080p à 30 fps : 2–15 secondes pour les modes texte/image et jusqu’à 10 secondes pour la génération à partir de références.
- Entrées acceptées
- Texte
- Résultats
- Vidéo
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Vidéo POST /v1/videos
- Entrée
text- Sortie
video- Format de sortie
- mp4
- Nombre de sorties
- Jusqu’à 4 sorties
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites alibaba/wan-2.7 | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites Nombre maximal d’octets UTF-8: 10'000 Caractères autres que des espaces requis: Oui | Par défaut— |
Champduration | Typeinteger | ExigenceObligatoire | Valeurs et limites 2, 3, 4, 5, 6, 7, 8, 9, 10 | Par défaut— |
Champresolution | Typestring | ExigenceObligatoire | Valeurs et limites 720p | Par défaut— |
Champaspect_ratio | Typestring | ExigenceObligatoire | Valeurs et limites 16:9, 9:16, 1:1, 4:3, 3:4 | Par défaut— |
Champgenerate_audio | Typeboolean | ExigenceObligatoire | Valeurs et limites false, true | Par défaut— |
Combinaisons d’éléments d’entrée
Texte vers vidéo · Obligatoire : prompt
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, prompt, duration, resolution, aspect_ratio, generate_audio |
Paramètreadditional_properties | Contratfalse |
Paramètreparameters | Contrat{"name":"model","type":"string","required":true,"enum":["alibaba/wan-2.7"]}, {"name":"prompt","type":"string","required":true,"non_whitespace":true,"max_utf8_bytes":10000}, {"name":"duration","type":"integer","required":true,"enum":[2,3,4,5,6,7,8,9,10]}, {"name":"resolution","type":"string","required":true,"enum":["720p"]}, {"name":"aspect_ratio","type":"string","required":true,"enum":["16:9","9:16","1:1","4:3","3:4"]}, {"name":"generate_audio","type":"boolean","required":true,"enum":[false,true]} |
Paramètrematerial_types | Contrattext |
Alias de méthode : /v1/videos/generations, /videos, /videos/generations
Cycle de vie : submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/videos/generations/{request_id}/content
Conservez la réponse complète et les identifiants d’origine renvoyés.
Ne renvoyez jamais une demande de création dont l’issue est inconnue.
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 | Options de génération audio | Résolution | Unité de facturation | Coût |
|---|---|---|---|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Quantité prévisionnelle— | Options de génération audio— | Résolution— | Unité 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 |
| ConfigurationUltra | Barème tarifaire— | Quantité prévisionnelleConfiguration demandée ; estimation uniquement. | Options de génération audioSans audio · Avec audio | Résolution720p | Unité de facturationpar seconde de vidéo en sortie | Coût Sortie · seconde estimée de vidéo · Estimation à des fins de comparaison uniquement $0.2 par seconde de vidéo en sortie Le tarif affiché estime le coût avant la génération. La facturation définitive est calculée à partir du coût enregistré pour la génération d’origine. La durée physique de la vidéo n’est pas la quantité facturable. |
| ConfigurationCoût estimé de la génération | Barème tarifaire— | Quantité prévisionnelleEstimation pour une génération | Options de génération audio— | Résolution— | Unité de facturation— | Coût Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $0.4 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
| Configuration | Conditions de facturation | Coût |
|---|---|---|
| ConfigurationTarif vidéo | Conditions de facturationCette clé de tarification ne déclare aucune condition supplémentaire. | 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. |
Exemples de requêtes
Ailoot Ultra · Vidéo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "alibaba/wan-2.7", "prompt": "a calm greenhouse", "duration": 6, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": true}')
Path('request.json').write_text(json.dumps(p,ensure_ascii=False))
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
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_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 chaque URL signée de data[] correspondant à un résultat terminé et dont vous êtes propriétaire, ainsi que toutes les métadonnées d’état. Enregistrez chaque résultat, y compris son audio généré. Une piste audio AAC valide peut être présente même avec generate_audio=false ; conservez le MP4 d’origine complet, y compris cet audio.
Si la réponse d’origine doit être vérifiée
Consultez la tâche d’origine existante ; ne répétez jamais un envoi dont l’issue est inconnue.
Nombre maximal de sorties : 4.
Champs de la réponse
| Champ | Type | Signification |
|---|---|---|
Champid | Typestring | Signification— |
Champobject | Typestring | Signification— |
Champmodel | Typestring | Signification— |
Champstatus | Typestring | Signification— |
Champdata[] | Typesigned content URL | Signification— |
Champcharge_pending_check | Typeboolean | Signification— |
Champerror.code | Typestring | Signification— |
Champerror.message | Typestring | Signification— |
Champoperation_id | Typestring | SignificationRéponse HTTP503 result_pending_check pour l’état ou le contenu d’origine : le même identifiant vidéo public d’origine est renvoyé dans id. |
Champerror.type | Typestring | Significationserver_error dans une réponse HTTP503 result_pending_check. |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse400 · invalid_request_error | ConditionLa lecture du corps brut de la requête échoue avant l’analyse du profil vidéo | Étape suivanteConservez la réponse renvoyée et corrigez le corps illisible de la requête. |
Réponse422 · price_unavailable | ConditionL’analyse du profil vidéo exact échoue, ou le profil complet analysé ne dispose d’aucune fiche tarifaire exacte prête à l’emploi | Étape suivanteConservez la réponse ; utilisez le profil autorisé exact et complet, ainsi que sa fiche publiée. Cette branche est exécutée avant l’envoi au fournisseur. |
Réponse409 · video_not_ready | ConditionLe contenu du résultat d’origine n’est pas encore disponible | Étape suivanteConsultez périodiquement l’identifiant d’origine renvoyé et respectez Retry-After. |
Réponseserver_error | ConditionLa réponse renvoyée indique que l’opération ou le résultat nécessite une vérification | Étape suivanteConservez l’identifiant d’opération/de tâche initialement renvoyé, les en-têtes de la requête et la réponse ; poursuivez les lectures prises en charge de cette opération d’origine. Ne soumettez pas à nouveau la requête de création. |
Réponse503 · result_pending_check | ConditionGET de l’état ou du contenu d’origine : la tâche n’est pas publiée, la tâche d’origine n’est pas en échec, annulée ou expirée, et l’état local est unknown ou l’état de la tâche d’origine est completed. | Étape suivanteConservez les valeurs d’origine id et operation_id, qui désignent le même identifiant vidéo public, ainsi que la réponse et les en-têtes ; consultez uniquement l’état ou le contenu d’origine. N’envoyez jamais de nouvelle demande de génération. |
Alias
Alias du modèle
Ailoot Ultra alibaba/wan-2.7
Alias des chemins de méthode
/v1/videos/generations, /videos, /videos/generations
ID d’appel associés
FAQ · Alibaba: Wan 2.7
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/videos·alibaba/wan-2.7:text→video- Quels champs la requête utilise-t-elle ?
POST /v1/videos·alibaba/wan-2.7:model,prompt,duration,resolution,aspect_ratio,generate_audio