wanx2.1-i2v-plus
Wanx 2.1 I2V Plus vytváří video z dodaných obrazových podkladů a promptu popisujícího pohyb. Ailoot pro záběr zpřístupňuje rozlišení 720P, délku a pole související se zvukem.
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
Zvolte wanx2.1-i2v-plus s poli model, image, prompt a negative_prompt na endpointu /v1/videos. Pole image předejte ve vstupní podobě zdokumentované pro tento konkrétní profil. Rozlišení je 720P a pole duration má výchozí hodnotu pět sekund. Zpřístupněna jsou také pole prompt_extend, audio_url a audio.
Popište pohyb, který se má rozvinout ze zdrojového obrázku, včetně požadované konečné pózy nebo kompozice. Detaily objektu, které mají zůstat zachovány, popište odděleně od pokynů pro kameru a změn pozadí. Negativním promptem určete nežádoucí zpracování daného zadání. Původní obrázek a případný zvukový vstup uchovejte společně se zvolenými nastaveními pro kontrolu hotového klipu.
Odešlete záběr jednou přes /v1/videos a uchovejte vrácené ID požadavku. Přes /v1/videos/{request_id} průběžně zjišťujte stav téže operace. Poté uložte všechna dokončená videa i úplnou odpověď. Porovnejte celý průběh akce a konečnou kompozici s dodanými podklady a zadáním.
Ailoot Ultra · Video POST /v1/videos wanx2.1-i2v-plus
wanx2.1-i2v-plusÚvod
Wanx 2.1 I2V Plus vytváří video z dodaných obrazových podkladů a promptu popisujícího pohyb. Ailoot pro záběr zpřístupňuje rozlišení 720P, délku a pole související se zvukem.
- Přijímané vstupy
- Text · Obrázky
- Výsledky
- Video
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Video POST /v1/videos
- Vstup
text,image- Výstup
video
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity wanx2.1-i2v-plus Podmínky: Použijte přesně tento směrovací selektor Ailoot. | Výchozí— |
Poleprompt | Typstring | PožadavekPovinné | Hodnoty a limity Podmínky: Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte. | Výchozí— |
Polenegative_prompt | Typstring | PožadavekPovinné | Hodnoty a limity Podmínky: Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte. | Výchozí— |
Poleprompt_extend | Typboolean | PožadavekVolitelné | Hodnoty a limity Podmínky: Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte. | Výchozífalse |
Poleimage | Typfile | PožadavekPovinné | Hodnoty a limity Podmínky: Zadejte skutečnou dostupnou URL obrázku. Seznam je přijatelný pouze tehdy, když schéma parametru uvádí pole. | Výchozí— |
Poleresolution | Typstring | PožadavekVolitelné | Hodnoty a limity 720P Podmínky: Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte. | Výchozí720P |
Poleaudio_url | Typstring | PožadavekVolitelné | Hodnoty a limity Podmínky: Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte. | Výchozí— |
Poleaudio | Typboolean | PožadavekVolitelné | Hodnoty a limity Podmínky: Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte. | Výchozí— |
Poleduration | Typinteger | PožadavekVolitelné | Hodnoty a limity Podmínky: | Výchozí5 |
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, prompt, negative_prompt, image |
Parametroptional | Kontraktprompt_extend, resolution, audio_url, audio, duration |
Parametrmaterial_types | Kontrakttext, image |
Parametrconditions | KontraktPoužijte přesně tento směrovací selektor Ailoot., Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte., Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte., Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte., Zadejte skutečnou dostupnou URL obrázku. Seznam je přijatelný pouze tehdy, když schéma parametru uvádí pole., Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte., Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte., Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte. |
Aliasy metody: /v1/videos/generations
Životní cyklus: 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}
Tarify
Jak se vypočítá konečný poplatek
Zobrazené sazby slouží k odhadu ceny před generováním. Konečný poplatek se vypočítá z nákladů zaznamenaných u původního generování. Naměřená délka výstupu ani odhadovaná množství nejsou konečným účtovaným množstvím.
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Neuvedeno Při výběru rychlého režimu
- Režim flex
- Neuvedeno Při výběru režimu flex
- Maximální intenzita uvažování
- Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Odhadované sazby pro srovnání
Ceny podle konfigurace
Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.
| Konfigurace | Tabulka sazeb | Předpokládané množství | Účtovací jednotka | Podmínky účtování | Poplatek |
|---|---|---|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Předpokládané množství— | Účtovací jednotka— | Podmínky účtování— | Poplatek Vstup · Vstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů Výstup · Výstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů Vstup · Čtení z mezipaměti · Odhad pouze pro srovnání — / 1K tokenů Vstup · Zápis do mezipaměti · Odhad pouze pro srovnání — / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina · Odhad pouze pro srovnání — / 1K tokenů |
| KonfiguraceVýstupní video | Tabulka sazeb— | Předpokládané množství— | Účtovací jednotkaza sekundu videa | Podmínky účtováníOrientační odhad podle délky výstupního videa. Konečná účtovaná částka vychází ze zaznamenané původní faktury. | Poplatek Výstup · Výstupní video · Odhad pouze pro srovnání $0.3 za sekundu videa Pouze orientační odhad; konečná účtovaná částka vychází ze zaznamenané původní faktury. |
| KonfiguraceOdhadovaná cena generování | Tabulka sazeb— | Předpokládané množstvíodhad pro jedno generování | Účtovací jednotka— | Podmínky účtování— | Poplatek Výstup · Odhadovaná cena generování · Odhad pouze pro srovnání $0.3 odhad před generováním Tento odhad není dodatečným poplatkem ani pevnou sazbou za dokončené generování. |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
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
Přijímání a ukládání výsledků
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}
Uchovejte všechny dokončené výsledky
Uložte každé dokončené video či vrácený soubor; stáhněte obsah každé skutečně vrácené URL souboru.
Uchovejte celou odpověď a hlavičky, původní identifikátory, každý skutečný výstup a všechna pole využití a účtování. Uložte každý jedinečný soubor spravovaný službou a zachovejte každou roli, která na něj odkazuje.
Pokud je nutné ověřit původní odpověď
Uchovejte vrácené veřejné id úlohy nebo operace a všechny hlavičky. Načítejte pouze původní úlohu; unknown ani result_pending_check neopravňují k dalšímu vytvoření.
Pole odpovědi
| Pole | Typ |
|---|---|
Poleid | Typstring |
Polepolling_url | Typstring |
Poleprovider_task_id | Typstring |
Poletask_id | Typstring |
Polestatus | Typstring |
Polevideo_url | Typstring |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaPovinné pole, selektor modelu, typ nebo podoba vstupu jsou neplatné. | Další krokPřed přípravou samostatného požadavku si prohlédněte vrácené podrobnosti validace. |
Odpověď | PodmínkaPůvodní požadavek nebo výsledek je neznámý nebo vyžaduje kontrolu. | Další krokZachovejte původní identifikátory a hlavičky; čtěte pouze podporované záznamy o stavu nebo záznamy knihovny. Požadavek na vytvoření znovu neodesílejte. |
Aliasy
Aliasy modelu
Ailoot Ultra wanx2.1-i2v-plus
Aliasy cest metod
/v1/videos/generations
Související ID modelů
FAQ · wanx2.1-i2v-plus
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/videos·wanx2.1-i2v-plus:text,image→video- Jaká pole požadavek používá?
POST /v1/videos·wanx2.1-i2v-plus:model,prompt,negative_prompt,prompt_extend,image,resolution,audio_url,audio,duration