vidu-2.0
Vidu 2.0 skaber en video ud fra en prompt med valgfri styring fra billede og slutbillede. Vælg varighed, billedformat og opløsning via Ailoot til den ønskede placering.
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
Vælg vidu-2.0 med model og prompt. Anmodningen stiller image, end_image og negative_prompt til rådighed sammen med en varighed på fire eller otte sekunder, opløsningen 360p, 720p eller 1080p og fem billedformatvalg: 16:9, 1:1, 9:16, 4:3 eller 3:4.
Beskriv motiv, omgivelser og bevægelse, før du tilføjer kamerainstruktion. Hvis billeder styrer optagelsen, forklarer du deres bidrag og de detaljer, som skal forblive genkendelige. Til et produktklip definerer du afsløringen og slutkompositionen; til et karakterøjeblik angiver du gestus og slutpositur. Gem den valgte prompt og billedernes roller sammen med den resulterende video.
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-2.0
vidu-2.0Start
Vidu 2.0 skaber en video ud fra en prompt med valgfri styring fra billede og slutbillede. Vælg varighed, billedformat og opløsning via Ailoot til den ønskede placering.
- 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-2.0 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, 4:3, 3:4 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— |
Feltnegative_prompt | 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— |
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, negative_prompt, 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., 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.4 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-2.0", "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-2.0
Aliaser for metodestier
/v1/videos/generations
Relaterede kalder-ID’er
FAQ · vidu-2.0
- Hvilke input og resultater er tilgængelige?
POST /v1/videos·vidu-2.0:text,image→video- Hvilke felter bruger anmodningen?
POST /v1/videos·vidu-2.0:model,aspect_ratio,duration,end_image,image,negative_prompt,prompt,resolution