Kling v2.1 Master
Kling v2.1 Master genererar video från text eller en bildbaserad beskrivning. Använd modellen för en tydligt definierad visuell händelse där motiv, handling, kamerainstruktion och avslutning planeras som en sammanhängande kort tagning.
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 Master är en Kling-videoversion med text-till-video- och bild-till-video-funktion i den dokumenterade modellkatalogen. Välj en skriven scenbeskrivning när du utvecklar en visuell idé från text, eller en bildbaserad beskrivning när motivet och kompositionen redan är fastlagda. Definiera i båda fallen den händelse som den färdiga tagningen ska visa.
När du skapar från text ska du beskriva motiv, miljö och handling i tydlig ordning. En dansare som rör sig genom en studio, ett fordon som kör under träd eller ett glasföremål som fångar skiftande ljus ger var för sig sekvensen ett specifikt syfte. Ta med de detaljer som avgör scenens utseende och håll dem konsekventa genom hela beskrivningen.
När du skapar från en bild ska du förbereda en referens som visar de egenskaper tagningen behöver bevara. Håll ansikten, föremålskanter och utmärkande material synliga. Beskriv vad som förändras från utgångsbilden: motivets gest, en rörelse i miljön eller kamerans position. Ha källbilden tillgänglig när du granskar resultatet.
Planera handlingen utifrån dess avslutning. En person som ställer ned ett föremål ska avsluta med föremålet på en identifierbar plats; ett avslöjande ska avslutas med den viktiga egenskapen synlig. Det gör det lättare att välja en klippunkt och bedöma om rörelsen har uppfyllt sitt syfte.
Den dokumenterade modellposten omfattar längder på fem och tio sekunder, lägena std och pro samt liggande, stående och kvadratiska bildformat. Välj de kontroller som finns i det valda arbetsflödet och spara deras faktiska värden. Bedöm det färdiga klippet mot den avsedda handlingen och bildkompositionen snarare än modellens versionsnamn.
Beskriv motivets och kamerans rörelse separat. För en tagning där kameran följer motivet ska du ange vilket motiv den följer och vilka delar av miljön som ska passera genom bild. För en stillastående tagning ska du ange vilken rörelse som sker i bild. Knyt kamerainstruktionen till det tittaren behöver lägga märke till.
Granska hela sekvensens kontinuitet. Kontrollera att det viktiga motivet förblir igenkännbart, att interaktionerna är rumsligt sammanhängande och att tidsförloppet lämnar utrymme för den avsedda klippningen. Följ förändringar i händer, ansikten, ytdetaljer och överlappande föremål. Bedöm rörelsen och även den starkaste enskilda bildrutan.
Spara varje färdig video med dess prompt, referens och inställningar. Använd samma beskrivning när du jämför en scen mellan olika versioner och anteckna de faktiska visuella skillnaderna. När du korrigerar ett förslag ska du beskriva det observerade problemet och ändra instruktionen som hör till det, samtidigt som du behåller de användbara scenelementen.
Ailoot Ultra · Video POST /v1/videos kling-v2-1-master
kling-v2-1-masterStart
Kling v2.1 Master genererar video från text eller en bildbaserad beskrivning. Använd modellen för en tydligt definierad visuell händelse där motiv, handling, kamerainstruktion och avslutning planeras som en sammanhängande kort tagning.
- Godkända indata
- Text
- Resultat
- Video
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Video POST /v1/videos
- Indatatyper
text- Utdatatyper
video
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser kling-v2-1-master Villkor: Använd exakt denna routningsväljare för Ailoot. | Standard— |
Fältprompt | Typstring | KravObligatoriskt | Värden & gränser Maximal längd: 500 Villkor: | Standard— |
Fältmode | Typstring | KravObligatoriskt | Värden & gränser std, pro Villkor: | Standard— |
Fältmodel_name | Typstring | KravValfritt | Värden & gränser Villkor: Valfri åsidosättning av den inbyggda inställningen. Utelämna den för att använda den valda modellen automatiskt; ett uttryckligen angivet värde bevaras. | Standard— |
Fältcfg_scale | Typnumber | KravValfritt | Värden & gränser Minimum: 0 Maximum: 1 Villkor: | Standard— |
Fältaspect_ratio | Typstring | KravValfritt | Värden & gränser Villkor: | Standard— |
Fältnegative_prompt | Typstring | KravValfritt | Värden & gränser Maximal längd: 200 Villkor: | Standard— |
Fältduration | Typinteger | KravValfritt | Värden & gränser 5, 10 Villkor: | Standard— |
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, prompt, mode |
Parameteroptional | Avtalmodel_name, cfg_scale, aspect_ratio, negative_prompt, duration |
Parametermaterial_types | Avtaltext |
Parameterconditions | AvtalAnvänd exakt denna routningsväljare för Ailoot., Valfri åsidosättning av den inbyggda inställningen. Utelämna den för att använda den valda modellen automatiskt; ett uttryckligen angivet värde bevaras. |
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 →
Exempelbegäranden
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": "kling-v2-1-master", "prompt": "A happy holiday scene at the beach.", "mode": "pro"}')
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
Ta emot och spara resultat
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}
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ältid | Typstring |
Fältpolling_url | Typstring |
Fältprovider_task_id | Typstring |
Fältdata.task_id | Typstring |
Fältdata.task_status | Typstring |
Fältdata.task_result.videos[].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-master
Alias för metodsökvägar
/v1/videos/generations
Relaterade anropar-ID:n
FAQ · Kling v2.1 Master
- Vilka indata och resultat finns?
POST /v1/videos·kling-v2-1-master:text→video- Vilka fält använder begäran?
POST /v1/videos·kling-v2-1-master:model,prompt,mode,model_name,cfg_scale,aspect_ratio,negative_prompt,duration- Vilka gränser gäller?
POST /v1/videos·kling-v2-1-master:prompt.maximum_length:500;cfg_scale.minimum:0;cfg_scale.maximum:1;negative_prompt.maximum_length:200