models

wanx2.1-i2v-plus

Markdown · JSON

wanx2.1-i2v-plus

Wanx 2.1 I2V Plus crée une vidéo à partir d’images fournies et d’un prompt de mouvement. Ailoot expose une résolution 720P, la durée et des champs liés au son pour le plan.

À 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.

Sélectionnez wanx2.1-i2v-plus avec model, image, prompt et negative_prompt sur /v1/videos. Fournissez image selon le format d’entrée documenté pour ce profil exact. La résolution est 720P et le champ duration vaut cinq secondes par défaut ; prompt_extend, audio_url et audio sont également exposés.

Décrivez le mouvement qui doit se développer à partir de l’image source, y compris la pose ou le cadrage final souhaité. Séparez les détails du sujet à préserver des consignes de caméra et des changements du fond. Utilisez le prompt négatif pour le traitement indésirable pertinent pour le brief. Conservez l’image originale et toute entrée audio avec les paramètres sélectionnés pour évaluer le clip terminé.

Soumettez le plan une seule fois via /v1/videos, conservez l’identifiant de requête renvoyé et interrogez cette opération initiale via /v1/videos/{request_id}. Enregistrez toutes les vidéos terminées et la réponse complète avant de comparer l’action, le cadrage et l’état final au brief.

Ailoot Ultra · Video POST /v1/videos wanx2.1-i2v-plus

wanx2.1-i2v-plus

Autre /wanx2.1-i2v-plus

Premiers pas

Wanx 2.1 I2V Plus crée une vidéo à partir d’images fournies et d’un prompt de mouvement. Ailoot expose une résolution 720P, la durée et des champs liés au son pour le plan.

Entrées acceptées
Texte · Images
Résultats
Vidéo

Disponible dans Ailoot · entrées et méthodes

Ailoot Ultra · Video POST /v1/videos
Entrée
text, image
Sortie
video
ChampTypeExigenceValeurs et limitesPar défaut
ChampmodelTypestringExigenceObligatoireValeurs et limites
wanx2.1-i2v-plus
Conditions: Utilisez exactement ce sélecteur de routage Ailoot.
Par défaut—
ChamppromptTypestringExigenceObligatoireValeurs et limites
Conditions: Utilisez le champ documenté pour le modèle sélectionné et les choix indiqués ; omettez toute valeur facultative non précisée.
Par défaut—
Champnegative_promptTypestringExigenceObligatoireValeurs et limites
Conditions: Utilisez le champ documenté pour le modèle sélectionné et les choix indiqués ; omettez toute valeur facultative non précisée.
Par défaut—
Champprompt_extendTypebooleanExigenceFacultatifValeurs et limites
Conditions: Utilisez le champ documenté pour le modèle sélectionné et les choix indiqués ; omettez toute valeur facultative non précisée.
Par défautfalse
ChampimageTypefileExigenceObligatoireValeurs et limites
Conditions: Fournissez l’URL réelle et accessible de votre image. Une liste est acceptée uniquement lorsque le schéma du paramètre prévoit un tableau.
Par défaut—
ChampresolutionTypestringExigenceFacultatifValeurs et limites
720P
Conditions: Utilisez le champ documenté pour le modèle sélectionné et les choix indiqués ; omettez toute valeur facultative non précisée.
Par défaut720P
Champaudio_urlTypestringExigenceFacultatifValeurs et limites
Conditions: Utilisez le champ documenté pour le modèle sélectionné et les choix indiqués ; omettez toute valeur facultative non précisée.
Par défaut—
ChampaudioTypebooleanExigenceFacultatifValeurs et limites
Conditions: Utilisez le champ documenté pour le modèle sélectionné et les choix indiqués ; omettez toute valeur facultative non précisée.
Par défaut—
ChampdurationTypeintegerExigenceFacultatifValeurs et limites
Conditions:
Par défaut5
Paramètres et cycle de vie de la méthode
ParamètreContrat
Paramètrecontent_typeContratapplication/json
ParamètrerequiredContratmodel, prompt, negative_prompt, image
ParamètreoptionalContratprompt_extend, resolution, audio_url, audio, duration
Paramètrematerial_typesContrattext, image
ParamètreconditionsContratUtilisez exactement ce sélecteur de routage Ailoot., Utilisez le champ documenté pour le modèle sélectionné et les choix indiqués ; omettez toute valeur facultative non précisée., Utilisez le champ documenté pour le modèle sélectionné et les choix indiqués ; omettez toute valeur facultative non précisée., Utilisez le champ documenté pour le modèle sélectionné et les choix indiqués ; omettez toute valeur facultative non précisée., Fournissez l’URL réelle et accessible de votre image. Une liste est acceptée uniquement lorsque le schéma du paramètre prévoit un tableau., Utilisez le champ documenté pour le modèle sélectionné et les choix indiqués ; omettez toute valeur facultative non précisée., Utilisez le champ documenté pour le modèle sélectionné et les choix indiqués ; omettez toute valeur facultative non précisée., Utilisez le champ documenté pour le modèle sélectionné et les choix indiqués ; omettez toute valeur facultative non précisée.

Alias de méthode : /v1/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/media/assets

GET /v1/media/assets/{asset_id}

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.

ConfigurationBarème tarifaireQuantité prévisionnelleUnité de facturationConditions de facturationCoût
ConfigurationTarifs de base des jetonsBarème tarifaireTarif de baseQuantité 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
ConfigurationVidéo produiteBarème tarifaire—Quantité prévisionnelle—Unité de facturationpar seconde de vidéoConditions de facturationEstimation indicative pour la durée de la vidéo produite. Le montant définitif est établi sur la base de la facture d’origine enregistrée.Coût
Sortie · Vidéo produite · Estimation à des fins de comparaison uniquement $0.3 par seconde de vidéo

Estimation donnée à titre indicatif ; le montant définitif est établi sur la base de la facture d’origine enregistrée.

ConfigurationCoût estimé de la générationBarème tarifaire—Quantité prévisionnelleEstimation pour une générationUnité de facturation—Conditions de facturation—Coût
Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $0.3 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 →

Exemples de requêtes

Ailoot Ultra · Video

curl · créer une seule fois et conserver le résultat completLisez la tâche d’origineEnregistrez chaque ressource finalisée qui vous appartient
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
: "${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "wanx2.1-i2v-plus", "prompt": "A cat is walking on grass.", "negative_prompt": "", "image": "YOUR_ACCESSIBLE_IMAGE_URL"}')
p['image']=os.environ['AILOOT_IMAGE_URL']
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
# Submit once. Retain the complete result, original identifiers and every response header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
    raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
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())
roles={}
def visit(v,path=""):
    if isinstance(v,dict):
        for k,x in v.items(): visit(x,path+"/"+k)
    elif isinstance(v,list):
        for i,x in enumerate(v): visit(x,path+"/"+str(i))
    elif isinstance(v,str):
        u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
        if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
            roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
    target=Path(f"asset-{i}.bin")
    subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
    raw=target.read_bytes()
    if not raw: raise SystemExit("Empty asset; retain original status and metadata")
    ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
    name=f"asset-{i}.{ext}"
    if target.name!=name: target.rename(name)
    manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS

Recevoir et enregistrer les résultats

Ailoot Ultra · Video

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
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 la réponse complète et ses en-têtes, les identifiants d’origine, chaque résultat réel et tous les champs de consommation et de comptabilisation. Enregistrez chaque ressource unique dont vous êtes propriétaire et conservez chaque rôle qui y renvoie.

Si la réponse d’origine doit être vérifiée

Conservez l’id public de la tâche ou de l’opération renvoyé ainsi que tous les en-têtes. Consultez uniquement la tâche d’origine ; unknown ou result_pending_check n’autorise pas une nouvelle création.

Champs de la réponse
ChampType
ChampidTypestring
Champpolling_urlTypestring
Champprovider_task_idTypestring
Champtask_idTypestring
ChampstatusTypestring
Champvideo_urlTypestring
Erreurs et étapes suivantes
RéponseConditionÉtape suivante
Réponse400 · invalid_request_errorConditionUn champ obligatoire, un sélecteur de modèle, un type ou une représentation de l’entrée est invalide.Étape suivanteExaminez les détails de validation renvoyés avant de préparer une requête distincte.
RéponseConditionLa requête d’origine ou son résultat est inconnu ou nécessite une vérification.Étape suivanteConservez les identifiants et les en-têtes d’origine ; consultez uniquement les enregistrements d’état ou de bibliothèque pris en charge. Ne soumettez pas à nouveau la requête de création.

Alias

Alias du modèle

Ailoot Ultra wanx2.1-i2v-plus

Alias des chemins de méthode

/v1/videos/generations

ID d’appel associés

wanx2.1-i2v-plus

FAQ · wanx2.1-i2v-plus
Quelles entrées et quels résultats sont disponibles ?

POST /v1/videos · wanx2.1-i2v-plus: text, image → video

Quels champs la requête utilise-t-elle ?

POST /v1/videos · wanx2.1-i2v-plus: model, prompt, negative_prompt, prompt_extend, image, resolution, audio_url, audio, duration

Plus de détails

Connectez Ailoot à Claude Code, OpenCode, Hermes ou à votre application.

L’entreprise et son portefeuille de projets

L’entreprise et son portefeuille de projets : des millions de clients ; des ventes qui se chiffrent en milliards chaque mois.

Achetez des tokens à prix réduit.

Une remise d’abonnement pour le travail régulier. Des codes promo jusqu’à 50% sur l’achat de tokens.

Abonnement
Choisissez une offre à tarif réduit pour vos requêtes régulières.
Code promo jusqu’à 50%
Saisissez le code à l’achat. Le prix est recalculé selon la promotion en cours.
Dépenses dans l’historique
Modèle, tokens et montant sont enregistrés pour chaque requête.

Choisir un abonnement · Voir les prix des modèles

Connectez l’API au produit que vous vendez.

SaaS, applications et bots selon l’offre officielle et le contrat de licence Ailoot. Pour la revente, demandez une licence revendeur.

Application commerciale
Intégrez la génération de texte, d’images, de vidéo et de son aux fonctions payantes de votre service.
Licence revendeur
Envoyez la description du projet et le mode d’accès. Demandez des conditions écrites d’utilisation et de revente.
Documents sur le site
L’offre officielle, le contrat de licence et la politique de traitement des données sont accessibles avant connexion.

Demander une licence revendeur · Offre officielle et contrat de licence