vidu-template
Vidu Template lager en video med en valgt mal og en skriftlig oppgavebeskrivelse. Oppgi den faktiske malverdien og valgfritt bildemateriale, og hent deretter det opprinnelige Ailoot-resultatet.
Om modellen
Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.
Bruk vidu-template med model, prompt og template i /v1/videos. Feltet template er en streng som identifiserer den valgte malen. Bildemateriale er valgfritt i denne forespørselen og kan bruke en streng eller en liste med opptil ti strenger. Behold den faktiske malverdien sammen med kildefilene.
Beskriv motivet og sceneinnholdet som skal vises i det valgte uttrykket. Når bilder legges ved, forklarer du rollen deres og utseendet som skal bevares. Hold ønsket handling, utsnitt og sluttpositur tydelige i instruksjonen. Vurder det ferdige opptaket mot både malvalget og det vedlagte motivet, fremfor å behandle malnavnet som hele oppgavebeskrivelsen.
Send inn opptaket én gang gjennom /v1/videos, og behold den returnerte forespørsels-ID-en. Poll den samme operasjonen gjennom /v1/videos/{request_id}, og lagre deretter alle ferdige videoutdata og hele svaret. Vurder hele handlingen og sluttkomposisjonen mot det vedlagte materialet og oppgavebeskrivelsen.
Ailoot Ultra · Video POST /v1/videos vidu-template
vidu-templateStart
Vidu Template lager en video med en valgt mal og en skriftlig oppgavebeskrivelse. Oppgi den faktiske malverdien og valgfritt bildemateriale, og hent deretter det opprinnelige Ailoot-resultatet.
- Godkjente inndata
- Tekst · Bilder
- Resultater
- Video
Tilgjengelig i Ailoot · inndata & metoder
Ailoot Ultra · Video POST /v1/videos
- Inndatatyper
text,image- Utdatatyper
video
| Felt | Type | Krav | Verdier & grenser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrevd | Verdier & grenser vidu-template Vilkår: Bruk nøyaktig denne rutingsvelgeren for Ailoot. | Standard— |
Feltimage | Typestring or array<string> | KravValgfritt | Verdier & grenser Vilkår: Oppgi bildets faktiske, tilgjengelige URL. En liste godtas bare der parameterskjemaet angir typen array. | Standard— |
Feltprompt | Typestring | KravPåkrevd | Verdier & grenser Vilkår: Bruk det dokumenterte feltet og de angitte alternativene for den valgte modellen; utelat en valgfri verdi som ikke er angitt. | Standard— |
Felttemplate | Typestring | KravPåkrevd | Verdier & grenser Vilkår: Bruk det dokumenterte feltet og de angitte alternativene for den valgte modellen; utelat en valgfri verdi som ikke er angitt. | Standard— |
Metodeparametere og livssyklus
| Parameter | Avtale |
|---|---|
Parametercontent_type | Avtaleapplication/json |
Parameterrequired | Avtalemodel, prompt, template |
Parameteroptional | Avtaleimage |
Parametermaterial_types | Avtaletext, image |
Parameterconditions | AvtaleBruk nøyaktig denne rutingsvelgeren for Ailoot., Oppgi bildets faktiske, tilgjengelige URL. En liste godtas bare der parameterskjemaet angir typen array., Bruk det dokumenterte feltet og de angitte alternativene for den valgte modellen; utelat en valgfri verdi som ikke er angitt., Bruk det dokumenterte feltet og de angitte alternativene for den valgte modellen; utelat en valgfri verdi som ikke er angitt. |
Metodealiaser: /v1/videos/generations
Livssyklus: 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}
Priser
Slik beregnes det endelige beløpet
De viste satsene anslår kostnaden før generering. Det endelige beløpet beregnes ut fra kostnaden som er registrert for den opprinnelige genereringen. Målt varighet på utdataene og anslåtte mengder er ikke den endelige fakturerbare mengden.
Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.
- Hurtigmodus
- Ikke angitt Når hurtigmodus er valgt
- Flex-modus
- Ikke angitt Når flex-modus er valgt
- Maksimal resonneringsinnsats
- Ikke angitt Når justeringen «default» brukes for maksimal resonneringsinnsats
Estimerte satser for sammenligning
Priser etter konfigurasjon
Knytt hver kostnad til de viste vilkårene. Bruk én sats for hvert sett med alternative konfigurasjoner.
| Konfigurasjon | Prisplan | Forventet mengde | Kostnad |
|---|---|---|---|
| KonfigurasjonGrunnpriser for tokener | PrisplanGrunnsats | Forventet mengde— | Kostnad Inndata · Inngående tokener · Estimat kun for sammenligning — / 1K tokener Utdata · Utgående tokener · Estimat kun for sammenligning — / 1K tokener Inndata · Lesing fra hurtigbuffer · Estimat kun for sammenligning — / 1K tokener Inndata · Skriving til hurtigbuffer · Estimat kun for sammenligning — / 1K tokener Inndata · Skriving til hurtigbuffer, 1 time · Estimat kun for sammenligning — / 1K tokener |
| KonfigurasjonAnslått genereringskostnad | Prisplan— | Forventet mengdeestimat for én generering | Kostnad Utdata · Anslått genereringskostnad · Estimat kun for sammenligning $0.1 estimat før generering Dette anslaget er verken en tilleggsavgift eller en fast sats for den fullførte genereringen. |
Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →
Eksempelforespørsler
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
Motta og lagre resultater
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}
Behold alle ferdige resultater
Lagre hver ferdige video eller returnerte fil; hent hver faktisk returnerte ressurs-URL.
Behold hele svaret og alle svarhoder, opprinnelige identifikatorer, alle faktiske utdata og alle felt for forbruk og avregning. Lagre hver unike ressurs du eier, og behold alle roller som viser til den.
Hvis det opprinnelige svaret må kontrolleres
Behold den returnerte offentlige oppgave- eller operasjons-ID-en og alle svarhoder. Les bare den opprinnelige oppgaven; unknown eller result_pending_check gir ikke tillatelse til en ny opprettelse.
Svarfelter
| Felt | Type |
|---|---|
Feltid | Typestring |
Feltpolling_url | Typestring |
Feltprovider_task_id | Typestring |
Felttask_id | Typestring |
Feltstatus | Typestring |
Feltvideo_url | Typestring |
Feil og neste trinn
| Svar | Vilkår | Neste trinn |
|---|---|---|
Svar400 · invalid_request_error | VilkårEt obligatorisk felt, en modellvelger, en type eller en representasjon av inndata er ugyldig. | Neste trinnUndersøk de returnerte valideringsdetaljene før du forbereder en separat forespørsel. |
Svar | VilkårDen opprinnelige forespørselen eller resultatet er ukjent eller må kontrolleres. | Neste trinnBehold opprinnelige identifikatorer og hoder; les bare status- eller biblioteksposter som støttes. Ikke send opprettelsesforespørselen på nytt. |
Aliaser
Modellaliaser
Ailoot Ultra vidu-template
Aliaser for metodestier
/v1/videos/generations
Tilknyttede anroper-ID-er
FAQ · vidu-template
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/videos·vidu-template:text,image→video- Hvilke felt bruker forespørselen?
POST /v1/videos·vidu-template:model,image,prompt,template