vidu-template
Vidu Template ustvari video z izbrano predlogo in pisnimi navodili. Podajte dejansko vrednost template in neobvezno slikovno gradivo, nato pridobite izvirni rezultat Ailoot.
O modelu
Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.
Uporabite vidu-template s polji model, prompt in template na /v1/videos. Polje template je niz, ki označuje izbrano predlogo. Slikovno gradivo je pri tej zahtevi neobvezno in lahko uporablja niz ali polje z največ desetimi nizi. Dejansko vrednost template hranite skupaj z izvornimi datotekami.
Opišite subjekt in vsebino prizora, ki naj se pojavita v izbrani obdelavi. Ko priložite slike, pojasnite njihovo vlogo in videz za ohranitev. Želeno dejanje, kadriranje in končno pozo jasno navedite v pozivu. Dokončani posnetek preglejte glede na izbiro predloge in podani subjekt, namesto da ime predloge obravnavate kot celotna navodila.
Posnetek oddajte enkrat prek /v1/videos in ohranite vrnjeni ID zahteve. Stanje te iste operacije preverjajte prek /v1/videos/{request_id}, nato shranite vsak dokončani video in celoten odgovor. Celotno dejanje in končno kompozicijo preglejte glede na priloženo gradivo in navodila.
Ailoot Ultra · Video POST /v1/videos vidu-template
vidu-templateZačetek
Vidu Template ustvari video z izbrano predlogo in pisnimi navodili. Podajte dejansko vrednost template in neobvezno slikovno gradivo, nato pridobite izvirni rezultat Ailoot.
- Dovoljeni vhodi
- Besedilo · Slike
- Rezultati
- Video
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · Video POST /v1/videos
- Vhod
text,image- Izhod
video
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve vidu-template Pogoji: Uporabite natanko ta izbirnik usmerjanja Ailoot. | Privzeto— |
Poljeimage | Vrstastring or array<string> | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: Navedite dejanski dosegljivi URL slike. Seznam je sprejet samo, če shema parametra določa polje. | Privzeto— |
Poljeprompt | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve Pogoji: Uporabite dokumentirano polje za izbrani model in navedene možnosti; nedoločeno izbirno vrednost izpustite. | Privzeto— |
Poljetemplate | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve Pogoji: Uporabite dokumentirano polje za izbrani model in navedene možnosti; nedoločeno izbirno vrednost izpustite. | Privzeto— |
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijamodel, prompt, template |
Parameteroptional | Specifikacijaimage |
Parametermaterial_types | Specifikacijatext, image |
Parameterconditions | SpecifikacijaUporabite natanko ta izbirnik usmerjanja Ailoot., Navedite dejanski dosegljivi URL slike. Seznam je sprejet samo, če shema parametra določa polje., Uporabite dokumentirano polje za izbrani model in navedene možnosti; nedoločeno izbirno vrednost izpustite., Uporabite dokumentirano polje za izbrani model in navedene možnosti; nedoločeno izbirno vrednost izpustite. |
Druga imena metode: /v1/videos/generations
Življenjski cikel: 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}
Cenik
Kako se izračuna končni strošek
Prikazane cene so namenjene oceni stroškov pred generiranjem. Končni znesek se izračuna na podlagi stroška, zabeleženega za izvirno generiranje. Izmerjeno trajanje izhoda in napovedane količine niso končna obračunska količina.
Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.
- Hitri način
- Ni navedeno Ko je izbran hitri način
- Način flex
- Ni navedeno Ko je izbran način flex
- Najvišja raven razmišljanja
- Ni navedeno Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)
Ocenjene cene za primerjavo
Cene po nastavitvah
Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.
| Nastavitev | Cenovna lestvica | Predvidena količina | Strošek |
|---|---|---|---|
| NastavitevOsnovne cene žetonov | Cenovna lestvicaOsnovna cena | Predvidena količina— | Strošek Vhod · Vhodni žetoni · Ocena samo za primerjavo — / 1K žetonov Izhod · Izhodni žetoni · Ocena samo za primerjavo — / 1K žetonov Vhod · Branje predpomnilnika · Ocena samo za primerjavo — / 1K žetonov Vhod · Zapis v predpomnilnik · Ocena samo za primerjavo — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura · Ocena samo za primerjavo — / 1K žetonov |
| NastavitevOcenjeni strošek ustvarjanja | Cenovna lestvica— | Predvidena količinaocena za eno generiranje | Strošek Izhod · Ocenjeni stroški ustvarjanja · Ocena samo za primerjavo $0.1 ocena pred ustvarjanjem Ta ocena ni dodatno plačilo ali fiksna cena za dokončano generiranje. |
Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →
Primeri zahtev
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
: "${AILOOT_TEMPLATE_ID:?Set an actual customer material or documented value}"
export AILOOT_TEMPLATE_ID
: "${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": "vidu-template", "prompt": "A cat is walking on grass.", "template": "YOUR_DOCUMENTED_TEMPLATE_ID", "image": "YOUR_ACCESSIBLE_IMAGE_URL"}')
p['template']=os.environ['AILOOT_TEMPLATE_ID']
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
Prejmi in shrani rezultate
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}
Ohrani vse dokončane rezultate
Shranite vsak dokončan video ali vrnjeno datoteko; pridobite vsebino z vsake dejansko vrnjene URL gradiva.
Ohranite celoten odgovor in glave, prvotne identifikatorje, vsak dejanski izhod in vsa polja porabe/obračuna. Shranite vsako enolično sredstvo v vaši lasti in ohranite vsako vlogo, ki kaže nanj.
Če je treba preveriti izvirni odgovor
Ohranite vrnjeni javni id opravila ali operacije in vse glave. Berite samo prvotno opravilo; unknown ali result_pending_check ne dovoljujeta novega ustvarjanja.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljeid | Vrstastring |
Poljepolling_url | Vrstastring |
Poljeprovider_task_id | Vrstastring |
Poljetask_id | Vrstastring |
Poljestatus | Vrstastring |
Poljevideo_url | Vrstastring |
Napake in naslednji koraki
| Odgovor | Pogoj | Naslednji korak |
|---|---|---|
Odgovor400 · invalid_request_error | PogojObvezno polje, izbirnik modela, vrsta ali oblika vhoda ni veljavna. | Naslednji korakPred pripravo ločene zahteve preglejte vrnjene podrobnosti preverjanja veljavnosti. |
Odgovor | PogojIzvirna zahteva ali rezultat je neznan ali zahteva preverjanje. | Naslednji korakOhranite izvirne identifikatorje in glave; berite le podprte zapise o stanju ali zapise v knjižnici. Zahteve za ustvarjanje ne pošiljajte znova. |
Druga imena
Druga imena modelov
Ailoot Ultra vidu-template
Druga imena poti metod
/v1/videos/generations
Povezani ID-ji za klic
FAQ · vidu-template
- Kateri vhodi in rezultati so na voljo?
POST /v1/videos·vidu-template:text,image→video- Katera polja uporablja zahteva?
POST /v1/videos·vidu-template:model,image,prompt,template