vidu-q2-reference
Vidu Q2 Reference kombinerer en skriftlig videobeskrivelse med valgfrie billedreferencer og et slutbillede. Vælg billedudsnit, opløsning og en varighed på fire eller otte sekunder via Ailoot.
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
Brug vidu-q2-reference med model og prompt på /v1/videos. Anmodningen stiller image som en streng eller et array med op til ti strenge, end_image, aspect_ratio, duration og resolution til rådighed. Vælg fire eller otte sekunder, 360p, 720p eller 1080p og billedformatet 16:9, 1:1 eller 9:16.
Beskriv en referencestyret bevægelse og slutkomposition. Når du angiver billeder, identificerer du hver references rolle og de motivdetaljer, som skal bevares. Giv handlingen og kameraretningen separate instruktioner, og definér derefter slutpositur eller billedudsnit. Gem de valgte billeder, prompten og det valgfrie slutbillede sammen med anmodningen, så den færdige video kan sammenlignes med det samme materiale.
Indsend optagelsen én gang via /v1/videos, og gem det returnerede request-ID. Forespørg på den samme operation via /v1/videos/{request_id}, og gem derefter alle færdige videoresultater og hele svaret. Vurder hele handlingen og slutkompositionen mod det medfølgende materiale og beskrivelsen.
Ailoot Ultra · Video POST /v1/videos vidu-q2-reference
vidu-q2-referenceStart
Vidu Q2 Reference kombinerer en skriftlig videobeskrivelse med valgfrie billedreferencer og et slutbillede. Vælg billedudsnit, opløsning og en varighed på fire eller otte sekunder via Ailoot.
- Accepterede input
- Tekst · Billeder
- Resultater
- Video
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · Video POST /v1/videos
- Inputtyper
text,image- Outputtyper
video
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser vidu-q2-reference Betingelser: Brug præcis denne routingvælger for Ailoot. | Standard— |
Feltaspect_ratio | Typestring | KravValgfrit | Værdier og grænser 16:9, 1:1, 9:16 Betingelser: Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet. | Standard— |
Feltduration | Typeinteger | KravValgfrit | Værdier og grænser 4, 8 Betingelser: Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet. | Standard— |
Feltend_image | Typestring | KravValgfrit | Værdier og grænser Betingelser: Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet. | Standard— |
Feltimage | Typestring or array<string> | KravValgfrit | Værdier og grænser Betingelser: Angiv din faktiske tilgængelige billed-URL. En liste accepteres kun, hvis parameterskemaet angiver et array. | Standard— |
Feltprompt | Typestring | KravPåkrævet | Værdier og grænser Betingelser: Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet. | Standard— |
Feltresolution | Typestring | KravValgfrit | Værdier og grænser 360p, 720p, 1080p Betingelser: Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet. | Standard— |
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, prompt |
Parameteroptional | Kontraktaspect_ratio, duration, end_image, image, resolution |
Parametermaterial_types | Kontrakttext, image |
Parameterconditions | KontraktBrug præcis denne routingvælger for Ailoot., Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet., Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet., Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet., Angiv din faktiske tilgængelige billed-URL. En liste accepteres kun, hvis parameterskemaet angiver et array., Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet., Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet. |
Metodealiaser: /v1/videos/generations
Livscyklus: 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
Sådan beregnes det endelige beløb
De viste satser bruges til at anslå omkostningen før genereringen. Det endelige beløb beregnes ud fra den registrerede omkostning for den oprindelige generering. Den målte varighed af outputtet og de anslåede mængder er ikke den endelige fakturerbare mængde.
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Ikke angivet Når hurtig tilstand er valgt
- flex-tilstand
- Ikke angivet Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Estimerede takster til sammenligning
Priser efter konfiguration
Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.
| Konfiguration | Takstplan | Forventet mængde | Beløb |
|---|---|---|---|
| KonfigurationGrundpriser for tokens | TakstplanGrundtakst | Forventet mængde— | Beløb Input · Inputtokens · Estimat kun til sammenligning — / 1K tokens Output · Outputtokens · Estimat kun til sammenligning — / 1K tokens Input · Cachelæsning · Estimat kun til sammenligning — / 1K tokens Input · Cacheskrivning · Estimat kun til sammenligning — / 1K tokens Input · Cacheskrivning, 1 time · Estimat kun til sammenligning — / 1K tokens |
| KonfigurationAnslået genereringsomkostning | Takstplan— | Forventet mængdeestimat for én generering | Beløb Output · Anslået genereringsomkostning · Estimat kun til sammenligning $0.2 estimat før generering Dette estimat er hverken et ekstra gebyr eller en fast pris for den færdige generering. |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
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": "vidu-q2-reference", "prompt": "A cat is walking on grass.", "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
Hent og gem 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 færdige resultater
Gem hver færdig video eller returneret fil; hent hver faktisk returneret fil-URL.
Behold hele svaret og alle headere, de oprindelige identifikatorer, hvert faktisk output og alle felter til forbrug og afregning. Gem hvert entydigt aktiv, du ejer, og behold alle roller, der henviser til det.
Hvis det oprindelige svar skal kontrolleres
Behold det returnerede offentlige opgave- eller operations-id og alle headere. Læs kun den oprindelige opgave; unknown eller result_pending_check giver ikke tilladelse til en ny oprettelse.
Svarfelter
| Felt | Type |
|---|---|
Feltid | Typestring |
Feltpolling_url | Typestring |
Feltprovider_task_id | Typestring |
Felttask_id | Typestring |
Feltstatus | Typestring |
Feltvideo_url | Typestring |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseEt påkrævet felt, en modelvælger, en type eller en inputrepræsentation er ugyldig. | Næste trinUndersøg de returnerede valideringsoplysninger, før du forbereder en separat anmodning. |
Svar | BetingelseDen oprindelige anmodning eller resultatet er ukendt eller skal kontrolleres. | Næste trinBevar de oprindelige identifikatorer og headere; læs kun understøttede status- eller biblioteksposter. Indsend ikke oprettelsesanmodningen igen. |
Aliaser
Modelaliaser
Ailoot Ultra vidu-q2-reference
Aliaser for metodestier
/v1/videos/generations
Relaterede kalder-ID’er
FAQ · vidu-q2-reference
- Hvilke input og resultater er tilgængelige?
POST /v1/videos·vidu-q2-reference:text,image→video- Hvilke felter bruger anmodningen?
POST /v1/videos·vidu-q2-reference:model,aspect_ratio,duration,end_image,image,prompt,resolution