wanx2.1-i2v-plus
Wanx 2.1 I2V Plus erstellt ein Video aus bereitgestelltem Bildmaterial und einem Bewegungs-Prompt. Ailoot bietet für die Aufnahme eine Auflösung von 720P sowie Felder für Dauer und Audio.
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
Wählen Sie wanx2.1-i2v-plus mit model, image, prompt und negative_prompt unter /v1/videos. Geben Sie image in der für dieses exakte Profil dokumentierten Eingabeform an. Die Auflösung ist 720P und das Feld duration hat standardmässig fünf Sekunden; prompt_extend, audio_url und audio sind ebenfalls verfügbar.
Beschreiben Sie die Bewegung, die sich aus dem Quellbild entwickeln soll, einschliesslich der gewünschten Endpose oder des abschliessenden Bildausschnitts. Halten Sie die beizubehaltenden Motivdetails von Kameraführung und Hintergrundveränderungen getrennt. Verwenden Sie den negativen Prompt für die zum Briefing gehörende unerwünschte Gestaltung. Bewahren Sie das Originalbild und alle Audioeingaben zusammen mit den gewählten Einstellungen für die Prüfung des fertigen Clips auf.
Reichen Sie die Aufnahme einmal über /v1/videos ein und bewahren Sie die zurückgegebene Anfrage-ID auf. Fragen Sie denselben Vorgang über /v1/videos/{request_id} ab und speichern Sie anschliessend jede fertiggestellte Videoausgabe sowie die vollständige Antwort. Prüfen Sie die gesamte Handlung und die abschliessende Bildkomposition anhand des bereitgestellten Materials und des Briefings.
Ailoot Ultra · Video POST /v1/videos wanx2.1-i2v-plus
wanx2.1-i2v-plusEinstieg
Wanx 2.1 I2V Plus erstellt ein Video aus bereitgestelltem Bildmaterial und einem Bewegungs-Prompt. Ailoot bietet für die Aufnahme eine Auflösung von 720P sowie Felder für Dauer und Audio.
- Zulässige Eingaben
- Text · Bilder
- Ergebnisse
- Video
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Video POST /v1/videos
- Eingabe
text,image- Ausgabe
video
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits wanx2.1-i2v-plus Bedingungen: Verwenden Sie genau diesen Ailoot-Routingselektor. | Standard— |
Feldprompt | Typstring | AnforderungErforderlich | Werte und Limits Bedingungen: Verwenden Sie das für das ausgewählte Modell dokumentierte Feld und die aufgeführten Auswahlwerte; lassen Sie einen nicht angegebenen optionalen Wert weg. | Standard— |
Feldnegative_prompt | Typstring | AnforderungErforderlich | Werte und Limits Bedingungen: Verwenden Sie das für das ausgewählte Modell dokumentierte Feld und die aufgeführten Auswahlwerte; lassen Sie einen nicht angegebenen optionalen Wert weg. | Standard— |
Feldprompt_extend | Typboolean | AnforderungOptional | Werte und Limits Bedingungen: Verwenden Sie das für das ausgewählte Modell dokumentierte Feld und die aufgeführten Auswahlwerte; lassen Sie einen nicht angegebenen optionalen Wert weg. | Standardfalse |
Feldimage | Typfile | AnforderungErforderlich | Werte und Limits Bedingungen: Geben Sie Ihre tatsächliche erreichbare Bild-URL an. Eine Liste wird nur akzeptiert, wenn das Parameterschema ein Array vorsieht. | Standard— |
Feldresolution | Typstring | AnforderungOptional | Werte und Limits 720P Bedingungen: Verwenden Sie das für das ausgewählte Modell dokumentierte Feld und die aufgeführten Auswahlwerte; lassen Sie einen nicht angegebenen optionalen Wert weg. | Standard720P |
Feldaudio_url | Typstring | AnforderungOptional | Werte und Limits Bedingungen: Verwenden Sie das für das ausgewählte Modell dokumentierte Feld und die aufgeführten Auswahlwerte; lassen Sie einen nicht angegebenen optionalen Wert weg. | Standard— |
Feldaudio | Typboolean | AnforderungOptional | Werte und Limits Bedingungen: Verwenden Sie das für das ausgewählte Modell dokumentierte Feld und die aufgeführten Auswahlwerte; lassen Sie einen nicht angegebenen optionalen Wert weg. | Standard— |
Feldduration | Typinteger | AnforderungOptional | Werte und Limits Bedingungen: | Standard5 |
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, prompt, negative_prompt, image |
Parameteroptional | Vertragprompt_extend, resolution, audio_url, audio, duration |
Parametermaterial_types | Vertragtext, image |
Parameterconditions | VertragVerwenden Sie genau diesen Ailoot-Routingselektor., Verwenden Sie das für das ausgewählte Modell dokumentierte Feld und die aufgeführten Auswahlwerte; lassen Sie einen nicht angegebenen optionalen Wert weg., Verwenden Sie das für das ausgewählte Modell dokumentierte Feld und die aufgeführten Auswahlwerte; lassen Sie einen nicht angegebenen optionalen Wert weg., Verwenden Sie das für das ausgewählte Modell dokumentierte Feld und die aufgeführten Auswahlwerte; lassen Sie einen nicht angegebenen optionalen Wert weg., Geben Sie Ihre tatsächliche erreichbare Bild-URL an. Eine Liste wird nur akzeptiert, wenn das Parameterschema ein Array vorsieht., Verwenden Sie das für das ausgewählte Modell dokumentierte Feld und die aufgeführten Auswahlwerte; lassen Sie einen nicht angegebenen optionalen Wert weg., Verwenden Sie das für das ausgewählte Modell dokumentierte Feld und die aufgeführten Auswahlwerte; lassen Sie einen nicht angegebenen optionalen Wert weg., Verwenden Sie das für das ausgewählte Modell dokumentierte Feld und die aufgeführten Auswahlwerte; lassen Sie einen nicht angegebenen optionalen Wert weg. |
Methodenaliasnamen: /v1/videos/generations
Lebenszyklus: 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}
Tarife
So wird die endgültige Gebühr berechnet
Die angezeigten Tarife dienen zur Kostenschätzung vor der Generierung. Der endgültige Betrag wird aus den für die ursprüngliche Generierung erfassten Kosten berechnet. Die gemessene Ausgabedauer und prognostizierte Mengen sind nicht die endgültige abrechenbare Menge.
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Geschätzte Tarife zum Vergleich
Preise nach Konfiguration
Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.
| Konfiguration | Tarifstaffel | Prognostizierte Menge | Abrechnungseinheit | Abrechnungsbedingungen | Gebühr |
|---|---|---|---|---|---|
| KonfigurationToken-Basistarife | TarifstaffelGrundtarif | Prognostizierte Menge— | Abrechnungseinheit— | Abrechnungsbedingungen— | Gebühr Eingabe · Eingabetoken · Schätzung nur zum Vergleich — / 1K Tokens Ausgabe · Ausgabetoken · Schätzung nur zum Vergleich — / 1K Tokens Eingabe · Cache lesen · Schätzung nur zum Vergleich — / 1K Tokens Eingabe · Cache schreiben · Schätzung nur zum Vergleich — / 1K Tokens Eingabe · Cache schreiben, 1 Stunde · Schätzung nur zum Vergleich — / 1K Tokens |
| KonfigurationAusgegebenes Video | Tarifstaffel— | Prognostizierte Menge— | Abrechnungseinheitpro Videosekunde | AbrechnungsbedingungenUnverbindliche Schätzung für die Dauer des ausgegebenen Videos. Die endgültige Abrechnung richtet sich nach der erfassten Originalrechnung. | Gebühr Ausgabe · Ausgabevideo · Schätzung nur zum Vergleich $0.3 pro Videosekunde Nur eine unverbindliche Schätzung; die endgültige Abrechnung richtet sich nach der erfassten Originalrechnung. |
| KonfigurationGeschätzte Erzeugungskosten | Tarifstaffel— | Prognostizierte MengeSchätzung für eine Generierung | Abrechnungseinheit— | Abrechnungsbedingungen— | Gebühr Ausgabe · Geschätzte Generierungskosten · Schätzung nur zum Vergleich $0.3 Schätzung vor der Generierung Diese Schätzung ist weder eine zusätzliche Gebühr noch ein fester Tarif für die abgeschlossene Generierung. |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschliessenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Video
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
Ergebnisse abrufen und speichern
Ailoot Ultra · Video
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Alle fertiggestellten Ergebnisse aufbewahren
Speichern Sie jedes fertiggestellte Video oder jede zurückgegebene Datei; rufen Sie jede tatsächlich zurückgegebene Datei-URL ab.
Bewahren Sie die vollständige Antwort samt Headern, ursprünglichen Kennungen, jeder tatsächlichen Ausgabe sowie sämtlichen Verbrauchs- und Abrechnungsfeldern auf. Speichern Sie jedes eindeutige, Ihnen zugeordnete Asset und bewahren Sie jede Rolle auf, die darauf verweist.
Wenn die ursprüngliche Antwort geprüft werden muss
Bewahren Sie die zurückgegebene öffentliche Aufgaben- oder Vorgangs-id und sämtliche Header auf. Lesen Sie ausschliesslich die ursprüngliche Aufgabe; unknown oder result_pending_check berechtigen nicht zu einer weiteren Erstellung.
Antwortfelder
| Feld | Typ |
|---|---|
Feldid | Typstring |
Feldpolling_url | Typstring |
Feldprovider_task_id | Typstring |
Feldtask_id | Typstring |
Feldstatus | Typstring |
Feldvideo_url | Typstring |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungEin Pflichtfeld, die Modellauswahl, der Typ oder die Eingabedarstellung ist ungültig. | Nächster SchrittPrüfen Sie die zurückgegebenen Validierungsdetails, bevor Sie eine separate Anfrage vorbereiten. |
Antwort | BedingungDie ursprüngliche Anfrage oder ihr Ergebnis ist unbekannt oder muss geprüft werden. | Nächster SchrittBewahren Sie die ursprünglichen Kennungen und Header auf; lesen Sie nur unterstützte Status- oder Bibliothekseinträge. Senden Sie den Erstellungsauftrag nicht erneut. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra wanx2.1-i2v-plus
Aliasnamen für Methodenpfade
/v1/videos/generations
Zugehörige Aufrufer-IDs
FAQ · wanx2.1-i2v-plus
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/videos·wanx2.1-i2v-plus:text,image→video- Welche Felder verwendet die Anfrage?
POST /v1/videos·wanx2.1-i2v-plus:model,prompt,negative_prompt,prompt_extend,image,resolution,audio_url,audio,duration