wanx2.1-t2v-plus
Wanx 2.1 T2V Plus maakt een video uit een tekstprompt en een negatieve prompt. Kies het uitvoerformaat en bewaar de oorspronkelijke Ailoot-bewerking voor het voltooide shot.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Selecteer wanx2.1-t2v-plus met model, prompt en negative_prompt op /v1/videos. Het veld size biedt 1280*720, 720*1280, 960*960, 1088*832 of 832*1088, met 1280*720 als standaardwaarde. Duration heeft vijf seconden als standaardwaarde; prompt_extend, audio_url en audio zijn aanvullende beschikbare velden.
Gebruik de prompt voor het onderwerp, de scène, de zichtbare actie en het camerapad. Houd de compositie geschikt voor het gekozen frame en beschrijf het gewenste eindbeeld. Een negatieve prompt moet de ongewenste uitwerking behandelen die relevant is voor die scène. Bewaar het gekozen formaat, de beschrijving en de daadwerkelijke audio-invoer wanneer die is aangeleverd, zodat de voltooide video aan de hand van hetzelfde verzoek kan worden gecontroleerd.
Verstuur het shot één keer via /v1/videos en bewaar de teruggegeven verzoek-ID. Vraag de status van diezelfde bewerking op via /v1/videos/{request_id} en sla vervolgens alle voltooide video-uitvoer en het volledige antwoord op. Beoordeel de volledige actie en eindcompositie aan de hand van het aangeleverde materiaal en de beschrijving.
Ailoot Ultra · Video POST /v1/videos wanx2.1-t2v-plus
wanx2.1-t2v-plusAan de slag
Wanx 2.1 T2V Plus maakt een video uit een tekstprompt en een negatieve prompt. Kies het uitvoerformaat en bewaar de oorspronkelijke Ailoot-bewerking voor het voltooide shot.
- Toegestane invoer
- Tekst
- Resultaten
- Video
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Video POST /v1/videos
- Invoer
text- Uitvoer
video
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten wanx2.1-t2v-plus Voorwaarden: Gebruik precies deze Ailoot-routeringsselector. | Standaard— |
Veldprompt | Typestring | VereisteVereist | Waarden en limieten Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg. | Standaard— |
Veldnegative_prompt | Typestring | VereisteVereist | Waarden en limieten Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg. | Standaard— |
Veldprompt_extend | Typeboolean | VereisteOptioneel | Waarden en limieten Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg. | Standaardfalse |
Veldsize | Typestring | VereisteOptioneel | Waarden en limieten 1280*720, 720*1280, 960*960, 1088*832, 832*1088 Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg. | Standaard1280*720 |
Veldaudio_url | Typestring | VereisteOptioneel | Waarden en limieten Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg. | Standaard— |
Veldaudio | Typeboolean | VereisteOptioneel | Waarden en limieten Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg. | Standaard— |
Veldduration | Typeinteger | VereisteOptioneel | Waarden en limieten Voorwaarden: | Standaard5 |
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, prompt, negative_prompt |
Parameteroptional | Contractprompt_extend, size, audio_url, audio, duration |
Parametermaterial_types | Contracttext |
Parameterconditions | ContractGebruik precies deze Ailoot-routeringsselector., Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg., Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg., Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg., Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg., Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg., Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg. |
Methodealiasnamen: /v1/videos/generations
Levenscyclus: 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}
Tarieven
Zo worden de uiteindelijke kosten berekend
De getoonde tarieven ramen de kosten vóór de generatie. De definitieve kosten worden berekend op basis van de kosten die voor de oorspronkelijke generatie zijn geregistreerd. De gemeten duur van het gegenereerde resultaat en de geraamde hoeveelheden vormen niet de definitieve factureerbare hoeveelheid.
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus geselecteerd is
- Flex-modus
- Niet opgegeven Wanneer de flex-modus geselecteerd is
- Maximale redeneerinspanning
- Niet opgegeven Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt
Geschatte tarieven ter vergelijking
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Verwachte hoeveelheid | Rekeneenheid | Factureringsvoorwaarden | Kosten |
|---|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Verwachte hoeveelheid— | Rekeneenheid— | Factureringsvoorwaarden— | Kosten Invoer · Invoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Uitvoer · Uitvoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache lezen · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven, 1 uur · Schatting uitsluitend ter vergelijking — / 1K tokens |
| ConfiguratieUitvoervideo | Tariefstaffel— | Verwachte hoeveelheid— | Rekeneenheidper videoseconde | FactureringsvoorwaardenIndicatieve raming voor de duur van de uitvoervideo. Het definitieve bedrag volgt de geregistreerde oorspronkelijke factuur. | Kosten Uitvoer · Uitvoervideo · Schatting uitsluitend ter vergelijking $0.3 per videoseconde Dit is enkel een indicatieve raming; het definitieve bedrag volgt de geregistreerde oorspronkelijke factuur. |
| ConfiguratieGeschatte generatiekosten | Tariefstaffel— | Verwachte hoeveelheidschatting voor één generatie | Rekeneenheid— | Factureringsvoorwaarden— | Kosten Uitvoer · Geschatte generatiekosten · Schatting uitsluitend ter vergelijking $0.3 schatting vóór generatie Deze raming is geen extra kost of vast tarief voor de voltooide generatie. |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "wanx2.1-t2v-plus", "prompt": "A cat is walking on grass.", "negative_prompt": ""}')
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
Resultaten ophalen en opslaan
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 voltooide resultaten bewaren
Sla elke voltooide video of elk teruggegeven bestand op; haal elke daadwerkelijk teruggegeven bestands-URL op.
Bewaar het volledige antwoord en de headers, de oorspronkelijke identificatiecodes, alle werkelijke uitvoer en alle velden voor verbruik en boekhouding. Sla elke unieke asset die je toebehoort op en behoud elke rol die ernaar verwijst.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar de teruggestuurde openbare taak- of operatie-id en alle headers. Raadpleeg uitsluitend de oorspronkelijke taak; unknown of result_pending_check geeft geen toestemming om opnieuw een taak aan te maken.
Antwoordvelden
| Veld | Type |
|---|---|
Veldid | Typestring |
Veldpolling_url | Typestring |
Veldprovider_task_id | Typestring |
Veldtask_id | Typestring |
Veldstatus | Typestring |
Veldvideo_url | Typestring |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeEen verplicht veld, modelselector, type of invoerrepresentatie is ongeldig. | Volgende stapBekijk de teruggegeven validatiedetails voor u een afzonderlijk verzoek voorbereidt. |
Antwoord | VoorwaardeHet oorspronkelijke verzoek of resultaat is onbekend of moet nagekeken worden. | Volgende stapBewaar de oorspronkelijke identificatoren en headers; raadpleeg enkel ondersteunde statusgegevens of bibliotheekrecords. Dien het aanmaakverzoek niet opnieuw in. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra wanx2.1-t2v-plus
Aliasnamen voor methodepaden
/v1/videos/generations
Gerelateerde aanroeper-ID’s
FAQ · wanx2.1-t2v-plus
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/videos·wanx2.1-t2v-plus:text→video- Welke velden gebruikt het verzoek?
POST /v1/videos·wanx2.1-t2v-plus:model,prompt,negative_prompt,prompt_extend,size,audio_url,audio,duration