Source: https://ailoot.ai/models/sv/kling-v2-1/
Canonical: https://ailoot.ai/models/sv/kling-v2-1/
Language: sv

# Kling v2.1

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

## [Kling v2.1](https://ailoot.ai/models/sv/kling-v2-1/)

Kling v2.1 genererar videor utifrån en referensbild och en skriven rörelsebeskrivning. Den dokumenterade bild-till-video-posten anger valbara längder på fem och tio sekunder samt lägena std och pro för planering av sekvensen.

- [**Ailoot Ultra · Video** `POST /v1/videos` `kling-v2-1`](https://ailoot.ai/models/sv/kling-v2-1/#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.

Kling v2.1 är en Kling-videomodell med bild-till-video-funktion i den dokumenterade katalogen. Börja med en referensstillbild som etablerar scenen och beskriv sedan rörelsen som gör den till en användbar tagning. En produktbild, en illustrerad miljö eller en bildruta med en karaktär kan ge den komposition som sekvensen utvecklas från.

Välj en referens som gör den avsedda handlingen begriplig. Ett motiv placerat bredvid en dörr ger en tydlig utgångspunkt för att gå in i ett rum; ett föremål på en ren, avskalad yta gör konturen lättare att granska. Bevara referensen i ursprunglig kvalitet och håll den kopplad till det genererade klippet.

Beskriv en sammanhängande handling. Ange motivet, rörelseriktningen och det avsedda slutläget. För en interaktion ska du förklara förhållandet mellan deltagarna: vem som sträcker sig, vad som berörs och var handlingen slutar. Använd synliga detaljer som går att kontrollera i den färdiga sekvensen.

Anpassa utsnittet efter var tagningen ska användas. Den dokumenterade bild-till-video-posten anger liggande, stående och kvadratiska bildförhållanden samt valbara längder på fem och tio sekunder. Bestäm var motivet ska stanna inom det valda bildformatet. En stående komposition och en vid etableringsbild ställer olika krav på samma rörelse.

De dokumenterade bild-till-video-kontrollerna omfattar genereringslägena std och pro. Spara det valda läget tillsammans med resultatet när du jämför förslag. Bedöm resultatet mot beskrivningen: den önskade handlingen, kompositionen, motivets utseende och tidsförloppet. En lägesbeteckning säger i sig inte hur väl en enskild tagning uppfyller dessa behov.

Använd kamerainstruktioner som stödjer händelsen. En stillastående kamera kan visa en pose som förändras, en rörelse i sidled kan visa en miljö och en rörelse framåt kan framhäva en detalj. Ange det avsedda förhållandet mellan motiv och perspektiv så att kamerarörelsen inte konkurrerar med handlingen som tittaren behöver följa.

Granska kontinuiteten genom hela klippet. För en produkt ska du undersöka form, märkningar och materialets utseende när perspektivet förändras. För en person ska du undersöka ansiktsdrag, händer, kläder och kontakt med föremål i närheten. Kontrollera slutkompositionen i förhållande till nästa tagning eller grafik i klippningen.

Spara den färdiga videon, referensen, prompten och de valda inställningarna som en samlad post för tagningen. Vid revidering ska du identifiera den specifika visuella avvikelsen och behålla de delar som redan passar scenen. Jämför förslag i samma uppspelningsstorlek och hastighet så att valet speglar den rörelse och komposition publiken faktiskt kommer att se.

**Ailoot Ultra · Video** `POST /v1/videos` `kling-v2-1`

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

Kling /`kling-v2-1`

### Start

Kling v2.1 genererar videor utifrån en referensbild och en skriven rörelsebeskrivning. Den dokumenterade bild-till-video-posten anger valbara längder på fem och tio sekunder samt lägena std och pro för planering av sekvensen.

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 kling-v2-1 Villkor: Använd exakt denna routningsväljare för Ailoot. | Standard— |
| Fält`mode` | Typ`string` | KravValfritt | Värden & gränser std, pro 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. | Standardstd |
| Fält`aspect_ratio` | Typ`string` | KravValfritt | Värden & gränser 16:9, 9:16, 1:1 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`duration` | Typ`integer` | KravValfritt | Värden & gränser 5, 10 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`end_image` | 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— |
| Fält`image` | Typ`string or array<string>` | KravObligatoriskt | Värden & gränser Villkor: Ange bildens verkliga, tillgängliga URL. En lista godtas endast där parameterschemat anger en array. | 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— |
| 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— |

Metodparametrar och livscykel

| Parameter | Avtal |
| --- | --- |
| Parameter`content_type` | Avtalapplication/json |
| Parameter`required` | Avtalmodel, prompt, image |
| Parameter`optional` | Avtalmode, aspect\_ratio, duration, end\_image, 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., 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., Ange bildens verkliga, tillgängliga URL. En lista godtas endast där parameterschemat anger en array., 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 | Avgift |
| --- | --- | --- | --- |
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mä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 |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse **$6** 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
: "${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": "kling-v2-1", "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.
```

```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** [`kling-v2-1`](https://ailoot.ai/models/sv/#m=kling-v2-1&route=Ultra&caller=kling-v2-1&fmt=videos)

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

`/v1/videos/generations`

#### Relaterade anropar-ID:n

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

FAQ · Kling v2.1

Vilka indata och resultat finns?

`POST /v1/videos` · `kling-v2-1`: `text`, `image` → `video`

Vilka fält använder begäran?

`POST /v1/videos` · `kling-v2-1`: `model`, `mode`, `aspect_ratio`, `duration`, `end_image`, `image`, `negative_prompt`, `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.
