Source: https://ailoot.ai/models/sv/pika-21/
Canonical: https://ailoot.ai/models/sv/pika-21/
Language: sv

# Pika 2.1

[Markdown](https://ailoot.ai/models/sv/pika-21/index.md) · [JSON](https://ailoot.ai/models/sv/pika-21/facts.json)

## [Pika 2.1](https://ailoot.ai/models/sv/pika-21/)

Pika 2.1 skapar en video från en prompt med valfri bildvägledning. Beskriv klippet och källornas roller och hämta sedan den ursprungliga operationens färdiga video via Ailoot.

- [**Ailoot Ultra · Video** `POST /v1/videos` `pika-21`](https://ailoot.ai/models/sv/pika-21/#method-0)

Om modellen

Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.

Välj pika-21 med model och prompt i /v1/videos. Begäran tar emot image som en sträng eller en array med upp till tio strängar och erbjuder också negative\_prompt. Använd prompten för att beskriva motiv, miljö, synlig handling och kameraregi.

För en textstyrd scen fastställer du kompositionen innan du lägger till rörelse. För ett bildstyrt klipp förklarar du vad det bifogade materialet bidrar med och vilka motivdetaljer som ska förbli igenkännbara. Behåll en tydlig handling och ett sluttillstånd i beskrivningen så att en senare variant kan rikta in sig på en specifik ändring. Behåll källmaterialet och den valda prompten tillsammans med resultatet.

Skicka in klippet en gång via /v1/videos, spara det returnerade begärans-ID:t och fråga efter samma ursprungliga operation via /v1/videos/{request\_id}. Spara alla färdiga videoutdata och hela svaret innan du granskar handlingen, bildutsnittet och sluttillståndet mot uppgiftsbeskrivningen.

**Ailoot Ultra · Video** `POST /v1/videos` `pika-21`

[`pika-21`](https://ailoot.ai/models/sv/#m=pika-21&route=Ultra&caller=pika-21&fmt=videos)

Annat /`pika-21`

### Start

Pika 2.1 skapar en video från en prompt med valfri bildvägledning. Beskriv klippet och källornas roller och hämta sedan den ursprungliga operationens färdiga video via Ailoot.

Godkända indata

Text · Bilder

Resultat

Video

### Tillgängligt i Ailoot · indata & metoder

**Ailoot Ultra · Video** `POST /v1/videos`

Indatatyper

`text`, `image`

Utdatatyper

`video`

| Fält | Typ | Krav | Värden & gränser | Standard |
| --- | --- | --- | --- | --- |
| Fält`model` | Typ`string` | KravObligatoriskt | Värden & gränser pika-21 Villkor: Använd exakt denna routningsväljare för Ailoot. | Standard— |
| Fält`image` | Typ`string or array<string>` | KravValfritt | Värden & gränser Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts. | Standard— |
| Fält`prompt` | Typ`string` | KravObligatoriskt | Värden & gränser Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts. | Standard— |
| Fält`negative_prompt` | Typ`string` | KravValfritt | Värden & gränser Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts. | Standard— |

Metodparametrar och livscykel

| Parameter | Avtal |
| --- | --- |
| Parameter`content_type` | Avtalapplication/json |
| Parameter`required` | Avtalmodel, prompt |
| Parameter`optional` | Avtalimage, negative\_prompt |
| Parameter`material_types` | Avtaltext, image |
| Parameter`conditions` | AvtalAnvänd exakt denna routningsväljare för Ailoot., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts. |

Metodalias: `/v1/videos/generations`

Livscykel: `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å beräknas slutavgiften

De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.

Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.

Snabbt läge

Ej angivet När snabbt läge är valt

Flex-läge

Ej angivet När läget flex är valt

Högsta resonemangsnivå

Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)

#### Uppskattade priser för jämförelse

#### Priser efter konfiguration

Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.

| Konfiguration | Prislista | Prognostiserad mängd | Debiteringsmängd | Avgift |
| --- | --- | --- | --- | --- |
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mängd— | Debiteringsmängd— | Avgift Indata · Indatatoken · Uppskattning endast för jämförelse **—** / 1K token Utdata · Utdatatoken · Uppskattning endast för jämförelse **—** / 1K token Indata · Cacheläsning · Uppskattning endast för jämförelse **—** / 1K token Indata · Skrivning till cache · Uppskattning endast för jämförelse **—** / 1K token Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse **—** / 1K token |
| KonfigurationPer begäran | Prislista— | Prognostiserad mängd— | Debiteringsmängden förfrågan | Avgift Indata · Uppskattning endast för jämförelse **$1.2** per begäran |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Debiteringsmängd— | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse **$1.2** uppskattning före generering Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen. |

Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. [Så fungerar reservation och slutreglering →](https://ailoot.ai/docs/sv/billing/reserve/)

### Exempelbegäranden

#### Ailoot Ultra · Video

curl · skapa en gång och bevara hela resultatetLäs den ursprungliga uppgiftenSpara varje färdig resurs som tillhör dig

```bash
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.
```

```bash
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
```

```bash
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
```

### Ta emot och spara resultat

#### Ailoot Ultra · Video

- `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}`

##### Behåll alla färdiga resultat

Spara varje färdig video eller returnerad fil; hämta varje faktiskt returnerad resurs-URL.

Behåll hela svaret och svarshuvudena, ursprungliga identifierare, varje faktiskt resultat och alla förbruknings- och redovisningsfält. Spara varje unik tillgång som du äger och behåll varje roll som pekar på den.

##### Om det ursprungliga svaret behöver kontrolleras

Behåll det returnerade offentliga uppgifts- eller operations-id:t och samtliga svarshuvuden. Läs endast den ursprungliga uppgiften; unknown eller result\_pending\_check ger inte tillstånd att skapa på nytt.

Svarsfält

| Fält | Typ |
| --- | --- |
| Fält`id` | Typstring |
| Fält`polling_url` | Typstring |
| Fält`provider_task_id` | Typstring |
| Fält`task_id` | Typstring |
| Fält`status` | Typstring |
| Fält`video_url` | Typstring |

Fel och nästa steg

| Svar | Villkor | Nästa steg |
| --- | --- | --- |
| Svar400 · `invalid_request_error` | VillkorEtt obligatoriskt fält, en modellväljare, en typ eller en representation av indata är ogiltig. | Nästa stegGranska den returnerade valideringsinformationen innan du förbereder en separat begäran. |
| Svar`` | VillkorDen ursprungliga begäran eller resultatet är okänt eller behöver kontrolleras. | Nästa stegBehåll ursprungliga identifierare och huvuden; läs endast status- eller biblioteksposter som stöds. Skicka inte skapandebegäran igen. |

### Alias

#### Modellalias

**Ailoot Ultra** [`pika-21`](https://ailoot.ai/models/sv/#m=pika-21&route=Ultra&caller=pika-21&fmt=videos)

#### Alias för metodsökvägar

`/v1/videos/generations`

#### Relaterade anropar-ID:n

[`pika-21`](https://ailoot.ai/models/sv/#m=pika-21&route=Ultra&caller=pika-21&fmt=videos)

FAQ · Pika 2.1

Vilka indata och resultat finns?

`POST /v1/videos` · `pika-21`: `text`, `image` → `video`

Vilka fält använder begäran?

`POST /v1/videos` · `pika-21`: `model`, `image`, `prompt`, `negative_prompt`

Anslut Ailoot till Claude Code, OpenCode, Hermes eller din app.

## Företaget och dess projektportfölj

Företaget och dess projektportfölj: miljontals kunder; månatlig försäljning för miljarder.

## Köp token med rabatt.

Prenumerationsrabatt för återkommande arbete. Kampanjkoder ger upp till 50% vid tokenköp.

Prenumeration

Välj en rabatterad plan för återkommande anrop.

Kampanjkod upp till 50%

Ange koden vid köpet. Priset räknas om enligt kampanjen.

Kostnader i historiken

Modell, token och belopp sparas för varje anrop.

[Välj prenumeration](https://ailoot.ai/docs/sv/billing/subscriptions/) · [Se modellpriser](https://ailoot.ai/models/sv/)

## Anslut API till produkten som du säljer.

SaaS, appar och botar enligt Ailoots officiella villkor och licensavtal. Begär återförsäljarlicens för vidareförsäljning.

Kommersiell applikation

Bygg text-, bild-, video- och ljudgenerering i tjänstens betalda funktioner.

Återförsäljarlicens

Skicka projektbeskrivning och åtkomstupplägg. Begär skriftliga villkor för användning och vidareförsäljning.

Dokument på webbplatsen

Officiella villkor, licensavtal och databehandlingspolicy finns tillgängliga före anslutning.

[Begär återförsäljarlicens](mailto:support@ailoot.ai) · [Officiella villkor och licensavtal](https://ailoot.ai/legal/offer?lang=sv)

## Ailoot · Företaget och dess projektportfölj





Ailoot bygger på etablerad driftserfarenhet, en stor kundbas, stabil service och löpande KPI-kontroll.





Företaget och dess projektportfölj: miljontals kunder; månatlig försäljning för miljarder.





Ailoot använder denna driftserfarenhet för API-åtkomst till AI-funktioner i kundernas produkter, agenter, applikationer och automatiseringar.
