Kling v2.1
Kling v2.1 generuje videa z referenčního obrázku a písemného zadání pohybu. Jeho dokumentovaná položka pro převod obrázku na video uvádí možnosti délky pět a deset sekund a při plánování sekvence umožňuje zvolit režim std nebo pro.
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
Kling v2.1 je video model Kling, který v dokumentovaném katalogu podporuje převod obrázku na video. Začněte referenčním statickým obrázkem, který vymezí scénu, a poté popište pohyb, jenž z něj vytvoří užitečný záběr. Produktový obrázek, ilustrované prostředí nebo snímek postavy mohou poskytnout kompozici, z níž se sekvence rozvine.
Vyberte referenci, která umožňuje pochopit zamýšlenou akci. Subjekt umístěný vedle dveří poskytuje jasný výchozí bod pro vstup do místnosti; objekt položený na nepřeplněném povrchu usnadňuje prohlížení jeho obrysu. Zachovejte referenci v původní kvalitě a uchovávejte ji ve spojení s vygenerovaným klipem.
Popište jeden soudržný úsek akce. Určete hlavní subjekt, směr pohybu a zamýšlený konečný stav. U interakce vysvětlete vztah mezi účastníky: kdo natahuje ruku, čeho se dotýká a kde akce končí. Používejte viditelné detaily, které lze ve výsledné sekvenci zkontrolovat.
Zvolte kompozici záběru podle jeho cílového použití. Dokumentovaná položka pro převod obrázku na video uvádí poměry stran na šířku, na výšku a čtverec a možnosti délky pět a deset sekund. Určete, kde má hlavní subjekt ve zvoleném obrazu zůstávat. Kompozice na výšku a široký celek uvádějící prostředí kladou na stejný pohyb odlišné nároky.
Mezi dokumentované ovládací prvky převodu obrázku na video patří režimy generování std a pro. Při porovnávání variant uchovávejte zvolený režim společně s výsledkem. Výstup posuzujte podle zadání: požadované akce, kompozice, vzhledu hlavního subjektu a časování. Samotné označení režimu neříká, jak dobře konkrétní záběr tyto potřeby splňuje.
Pokyny pro kameru využijte k podpoře události. Nehybná kamera může ukázat proměnu pózy, boční pohyb může odhalit prostředí a pohyb vpřed může zdůraznit detail. Uveďte zamýšlený vztah mezi hlavním subjektem a pohledem kamery, aby pohyb kamery nesoutěžil s akcí, kterou má divák sledovat.
Prověřte návaznost v celém klipu. U produktu kontrolujte tvar, označení a vzhled materiálu při změnách pohledu. U člověka kontrolujte rysy obličeje, ruce, oblečení a kontakt s okolními objekty. Závěrečnou kompozici posuďte v kontextu následujícího záběru nebo grafiky ve střihu.
Dokončené video, referenci, prompt a vybraná nastavení uložte jako jeden záznam záběru. Při úpravě určete konkrétní vizuální nesoulad a zachovejte části, které už scéně slouží. Varianty porovnávejte při stejné velikosti a rychlosti přehrávání, aby volba odrážela pohyb a kompozici, které publikum skutečně uvidí.
Ailoot Ultra · Video POST /v1/videos kling-v2-1
kling-v2-1Úvod
Kling v2.1 generuje videa z referenčního obrázku a písemného zadání pohybu. Jeho dokumentovaná položka pro převod obrázku na video uvádí možnosti délky pět a deset sekund a při plánování sekvence umožňuje zvolit režim std nebo pro.
- Přijímané vstupy
- Text · Obrázky
- Výsledky
- Video
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Video POST /v1/videos
- Vstup
text,image- Výstup
video
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity kling-v2-1 Podmínky: Použijte přesně tento směrovací selektor Ailoot. | Výchozí— |
Polemode | Typstring | PožadavekVolitelné | Hodnoty a limity std, pro Podmínky: Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte. | Výchozístd |
Poleaspect_ratio | Typstring | PožadavekVolitelné | Hodnoty a limity 16:9, 9:16, 1:1 Podmínky: Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte. | Výchozí— |
Poleduration | Typinteger | PožadavekVolitelné | Hodnoty a limity 5, 10 Podmínky: Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte. | Výchozí— |
Poleend_image | Typstring | PožadavekVolitelné | Hodnoty a limity Podmínky: Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte. | Výchozí— |
Poleimage | Typstring or array<string> | PožadavekPovinné | Hodnoty a limity Podmínky: Zadejte skutečnou dostupnou URL obrázku. Seznam je přijatelný pouze tehdy, když schéma parametru uvádí pole. | Výchozí— |
Polenegative_prompt | Typstring | PožadavekVolitelné | Hodnoty a limity Podmínky: Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte. | Výchozí— |
Poleprompt | Typstring | PožadavekPovinné | Hodnoty a limity Podmínky: Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte. | Výchozí— |
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, prompt, image |
Parametroptional | Kontraktmode, aspect_ratio, duration, end_image, negative_prompt |
Parametrmaterial_types | Kontrakttext, image |
Parametrconditions | KontraktPoužijte přesně tento směrovací selektor Ailoot., Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte., Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte., Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte., Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte., Zadejte skutečnou dostupnou URL obrázku. Seznam je přijatelný pouze tehdy, když schéma parametru uvádí pole., Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte., Použijte dokumentované pole pro vybraný model a uvedené možnosti; nezadanou volitelnou hodnotu vynechte. |
Aliasy metody: /v1/videos/generations
Životní cyklus: 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}
Tarify
Jak se vypočítá konečný poplatek
Zobrazené sazby slouží k odhadu ceny před generováním. Konečný poplatek se vypočítá z nákladů zaznamenaných u původního generování. Naměřená délka výstupu ani odhadovaná množství nejsou konečným účtovaným množstvím.
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Neuvedeno Při výběru rychlého režimu
- Režim flex
- Neuvedeno Při výběru režimu flex
- Maximální intenzita uvažování
- Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Odhadované sazby pro srovnání
Ceny podle konfigurace
Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.
| Konfigurace | Tabulka sazeb | Předpokládané množství | Poplatek |
|---|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Předpokládané množství— | Poplatek Vstup · Vstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů Výstup · Výstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů Vstup · Čtení z mezipaměti · Odhad pouze pro srovnání — / 1K tokenů Vstup · Zápis do mezipaměti · Odhad pouze pro srovnání — / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina · Odhad pouze pro srovnání — / 1K tokenů |
| KonfiguraceOdhadovaná cena generování | Tabulka sazeb— | Předpokládané množstvíodhad pro jedno generování | Poplatek Výstup · Odhadovaná cena generování · Odhad pouze pro srovnání $6 odhad před generováním Tento odhad není dodatečným poplatkem ani pevnou sazbou za dokončené generování. |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
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": "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.
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
Přijímání a ukládání výsledků
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}
Uchovejte všechny dokončené výsledky
Uložte každé dokončené video či vrácený soubor; stáhněte obsah každé skutečně vrácené URL souboru.
Uchovejte celou odpověď a hlavičky, původní identifikátory, každý skutečný výstup a všechna pole využití a účtování. Uložte každý jedinečný soubor spravovaný službou a zachovejte každou roli, která na něj odkazuje.
Pokud je nutné ověřit původní odpověď
Uchovejte vrácené veřejné id úlohy nebo operace a všechny hlavičky. Načítejte pouze původní úlohu; unknown ani result_pending_check neopravňují k dalšímu vytvoření.
Pole odpovědi
| Pole | Typ |
|---|---|
Poleid | Typstring |
Polepolling_url | Typstring |
Poleprovider_task_id | Typstring |
Poletask_id | Typstring |
Polestatus | Typstring |
Polevideo_url | Typstring |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaPovinné pole, selektor modelu, typ nebo podoba vstupu jsou neplatné. | Další krokPřed přípravou samostatného požadavku si prohlédněte vrácené podrobnosti validace. |
Odpověď | PodmínkaPůvodní požadavek nebo výsledek je neznámý nebo vyžaduje kontrolu. | Další krokZachovejte původní identifikátory a hlavičky; čtěte pouze podporované záznamy o stavu nebo záznamy knihovny. Požadavek na vytvoření znovu neodesílejte. |
Aliasy
Aliasy modelu
Ailoot Ultra kling-v2-1
Aliasy cest metod
/v1/videos/generations
Související ID modelů
FAQ · Kling v2.1
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/videos·kling-v2-1:text,image→video- Jaká pole požadavek používá?
POST /v1/videos·kling-v2-1:model,mode,aspect_ratio,duration,end_image,image,negative_prompt,prompt