Pika 2.1
Pika 2.1 lager en video fra en instruksjon med valgfri bildestyring. Beskriv opptaket og kilderollene, og hent deretter den ferdige videoen fra den opprinnelige operasjonen gjennom Ailoot.
Om modellen
Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.
Velg pika-21 med model og prompt i /v1/videos. Forespørselen godtar image som en streng eller en liste med opptil ti strenger og tilbyr også negative_prompt. Bruk instruksjonen til å beskrive motiv, omgivelser, synlig handling og kameraregi.
For en tekststyrt scene etablerer du komposisjonen før du legger til bevegelse. For et bildestyrt klipp forklarer du hva det vedlagte materialet bidrar med og hvilke motivdetaljer som skal forbli gjenkjennelige. Hold én tydelig handling og sluttilstand i oppgavebeskrivelsen, slik at en senere variant kan rette seg mot en bestemt endring. Behold kildematerialet og den valgte instruksjonen sammen med resultatet.
Send inn opptaket én gang gjennom /v1/videos, behold den returnerte forespørsels-ID-en og poll den opprinnelige operasjonen gjennom /v1/videos/{request_id}. Lagre alle ferdige videoutdata og hele svaret før du vurderer handling, utsnitt og sluttilstand opp mot oppgavebeskrivelsen.
Ailoot Ultra · Video POST /v1/videos pika-21
pika-21Start
Pika 2.1 lager en video fra en instruksjon med valgfri bildestyring. Beskriv opptaket og kilderollene, og hent deretter den ferdige videoen fra den opprinnelige operasjonen gjennom Ailoot.
- 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 pika-21 Vilkår: Bruk nøyaktig denne rutingsvelgeren for Ailoot. | Standard— |
Feltimage | Typestring or array<string> | KravValgfritt | 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— |
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— |
Feltnegative_prompt | Typestring | KravValgfritt | 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 |
Parameteroptional | Avtaleimage, negative_prompt |
Parametermaterial_types | Avtaletext, image |
Parameterconditions | AvtaleBruk nøyaktig denne rutingsvelgeren for Ailoot., 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., 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 | Faktureringsmengde | Kostnad |
|---|---|---|---|---|
| KonfigurasjonGrunnpriser for tokener | PrisplanGrunnsats | Forventet mengde— | Faktureringsmengde— | 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 |
| KonfigurasjonPer forespørsel | Prisplan— | Forventet mengde— | Faktureringsmengdeén forespørsel | Kostnad Inndata · Estimat kun for sammenligning $1.2 per forespørsel |
| KonfigurasjonAnslått genereringskostnad | Prisplan— | Forventet mengdeestimat for én generering | Faktureringsmengde— | Kostnad Utdata · Anslått genereringskostnad · Estimat kun for sammenligning $1.2 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
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "pika-21", "prompt": "A cat is walking on grass."}')
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 pika-21
Aliaser for metodestier
/v1/videos/generations
Tilknyttede anroper-ID-er
FAQ · Pika 2.1
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/videos·pika-21:text,image→video- Hvilke felt bruker forespørselen?
POST /v1/videos·pika-21:model,image,prompt,negative_prompt