Kling v1.5
Kling v1.5 is een videomodel met een gedocumenteerde beeld-naar-videoworkflow. Begin met een voorbereid stilstaand beeld en beschrijf de beweging, het standpunt en de eindcompositie voor een kort shot van een personage, object of omgeving.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Kling v1.5 is een Kling-editie voor videogeneratie met beeld-naar-videofunctionaliteit in de gedocumenteerde modelcatalogus. Een aangeleverd stilstaand beeld vormt het visuele uitgangspunt, terwijl de geschreven briefing beschrijft hoe de scène moet bewegen. Gebruik het om een gebaar van een personage, een bewegend object of een veranderende omgeving uit te werken vanuit een afbeelding waarvan de compositie al bij het shot past.
Bereid de afbeelding voor rond de belangrijke details van het onderwerp. Bij een personage moeten gezicht, houding en kleding goed zichtbaar zijn; een object heeft een duidelijke contour en zichtbare materiaalkenmerken nodig. Laat in de compositie ruimte voor de beoogde beweging. Bewaar het oorspronkelijke stilstaande beeld bij de voltooide sequentie, zodat veranderingen in het uiterlijk rechtstreeks kunnen worden beoordeeld.
Schrijf de handeling als een waarneembare gebeurtenis. Beschrijf bijvoorbeeld een zittende persoon die zich naar een raam draait of een stoffen lint dat in een zacht briesje beweegt. Geef de richting en het beoogde einde aan. Benoem bij meerdere objecten welk object handelt en welke op hun plaats blijven.
Leg de rol van de camera uit. Vanuit een vast standpunt is een klein gebaar gemakkelijk te beoordelen, terwijl een bewegend standpunt een andere kant van de scène kan onthullen. Beschrijf die beweging ten opzichte van het onderwerp. Een verzoek om het onderwerp te naderen en een verzoek om het onderwerp de camera te laten naderen hebben verschillende visuele bedoelingen.
De gedocumenteerde beeld-naar-videovermelding noemt een duur van vijf of tien seconden, de modi std en pro en liggende, staande en vierkante kaders. Kies de instellingen die de geselecteerde workflow biedt voordat je het resultaat beoordeelt. Bewaar bij het vergelijken van kandidaatshots de daadwerkelijk gebruikte modus, duur en beeldverhouding samen met de bronafbeelding en de prompt.
Bepaal bij een objectpresentatie welk visueel kenmerk de beweging moet onthullen. Dat kan een reflecterend oppervlak zijn, een plooi in een materiaal of de vorm van een handvat. Houd de handeling zo gericht dat het belangrijke kenmerk zichtbaar blijft. Beoordeel het object tijdens de hele beweging en in het eindbeeld dat in de montage wordt gebruikt.
Beschrijf bij een personagescène één betekenisvol gebaar en de relatie van het personage tot objecten in de buurt. Beoordeel gezicht, handen, kleding en lichaamsverhoudingen gedurende de clip. Controleer of het gebaar zijn beoogde eindpunt bereikt en of de scène een samenhangende ordening van voorgrond- en achtergrondelementen behoudt.
Bewaar de volledige gegenereerde clip en het bronmateriaal. Beoordeel de opening, de centrale handeling en het einde als één sequentie en richt aanpassingen vervolgens op een concrete afwijking. Een notitie als ‘het personage draait van het raam weg’ geeft de volgende briefing een gerichte correctie, terwijl de rest van de scène behouden blijft.
Ailoot Ultra · Video POST /v1/videos kling-v1-5
kling-v1-5Aan de slag
Kling v1.5 is een videomodel met een gedocumenteerde beeld-naar-videoworkflow. Begin met een voorbereid stilstaand beeld en beschrijf de beweging, het standpunt en de eindcompositie voor een kort shot van een personage, object of omgeving.
- Toegestane invoer
- Tekst · Afbeeldingen
- Resultaten
- Video
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Video POST /v1/videos
- Invoertypen
text,image- Uitvoertypen
video
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten kling-v1-5 Voorwaarden: Gebruik exact deze Ailoot-routeringsselector. | Standaard— |
Veldmode | Typestring | VereisteOptioneel | Waarden en limieten std, pro Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde opties van het geselecteerde model; laat een niet-ingestelde optionele waarde weg. | Standaardstd |
Veldaspect_ratio | Typestring | VereisteOptioneel | Waarden en limieten 16:9, 9:16, 1:1 Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde opties van het geselecteerde model; laat een niet-ingestelde optionele waarde weg. | Standaard— |
Veldduration | Typeinteger | VereisteOptioneel | Waarden en limieten 5, 10 Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde opties van het geselecteerde model; laat een niet-ingestelde optionele waarde weg. | Standaard— |
Veldend_image | Typestring | VereisteOptioneel | Waarden en limieten Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde opties van het geselecteerde model; laat een niet-ingestelde optionele waarde weg. | Standaard— |
Veldimage | Typestring or array<string> | VereisteVereist | Waarden en limieten Voorwaarden: Geef uw werkelijk bereikbare afbeeldings-URL op. Een lijst wordt alleen geaccepteerd als het parameterschema een array vermeldt. | Standaard— |
Veldnegative_prompt | Typestring | VereisteOptioneel | Waarden en limieten Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde opties van het geselecteerde model; laat een niet-ingestelde optionele waarde weg. | Standaard— |
Veldprompt | Typestring | VereisteVereist | Waarden en limieten Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde opties van het geselecteerde model; laat een niet-ingestelde optionele waarde weg. | Standaard— |
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, prompt, image |
Parameteroptional | Contractmode, aspect_ratio, duration, end_image, negative_prompt |
Parametermaterial_types | Contracttext, image |
Parameterconditions | ContractGebruik exact deze Ailoot-routeringsselector., Gebruik het gedocumenteerde veld en de vermelde opties van het geselecteerde model; laat een niet-ingestelde optionele waarde weg., Gebruik het gedocumenteerde veld en de vermelde opties van het geselecteerde model; laat een niet-ingestelde optionele waarde weg., Gebruik het gedocumenteerde veld en de vermelde opties van het geselecteerde model; laat een niet-ingestelde optionele waarde weg., Gebruik het gedocumenteerde veld en de vermelde opties van het geselecteerde model; laat een niet-ingestelde optionele waarde weg., Geef uw werkelijk bereikbare afbeeldings-URL op. Een lijst wordt alleen geaccepteerd als het parameterschema een array vermeldt., Gebruik het gedocumenteerde veld en de vermelde opties van het geselecteerde model; laat een niet-ingestelde optionele waarde weg., Gebruik het gedocumenteerde veld en de vermelde opties van het geselecteerde model; laat een niet-ingestelde optionele waarde weg. |
Methodealiasnamen: /v1/videos/generations
Levenscyclus: 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}
Tarieven
Zo worden de uiteindelijke kosten berekend
De weergegeven tarieven geven een schatting van de kosten vóór de generatie. Het definitieve bedrag wordt berekend op basis van de kosten die voor de oorspronkelijke generatie zijn geregistreerd. De gemeten duur van de uitvoer en de geschatte hoeveelheden zijn niet de definitieve factureerbare hoeveelheid.
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus is geselecteerd
- Flexmodus
- Niet opgegeven Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Niet opgegeven Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt
Geschatte tarieven ter vergelijking
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Verwachte hoeveelheid | Kosten |
|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Verwachte hoeveelheid— | Kosten Invoer · Invoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Uitvoer · Uitvoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache lezen · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven, 1 uur · Schatting uitsluitend ter vergelijking — / 1K tokens |
| ConfiguratieGeschatte generatiekosten | Tariefstaffel— | Verwachte hoeveelheidschatting voor één generatie | Kosten Uitvoer · Geschatte generatiekosten · Schatting uitsluitend ter vergelijking $6 schatting vóór generatie Deze schatting is geen extra bedrag of vast tarief voor de voltooide generatie. |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
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-v1-5", "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
Resultaten ophalen en opslaan
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}
Alle voltooide resultaten bewaren
Sla elke voltooide video of elk teruggegeven bestand op; haal elke daadwerkelijk teruggegeven bestands-URL op.
Bewaar het volledige antwoord en de headers, de oorspronkelijke identificaties, alle daadwerkelijke uitvoer en alle gebruiks-/afrekenvelden. Sla elke unieke asset op die u bezit en behoud elke rol die ernaar verwijst.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar de geretourneerde openbare taak- of operatie-id en alle headers. Lees uitsluitend de oorspronkelijke taak; unknown of result_pending_check geeft geen toestemming voor een nieuwe aanmaak.
Antwoordvelden
| Veld | Type |
|---|---|
Veldid | Typestring |
Veldpolling_url | Typestring |
Veldprovider_task_id | Typestring |
Veldtask_id | Typestring |
Veldstatus | Typestring |
Veldvideo_url | Typestring |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeEen verplicht veld, modelselector, type of invoerrepresentatie is ongeldig. | Volgende stapBekijk de geretourneerde validatiedetails voordat u een afzonderlijk verzoek voorbereidt. |
Antwoord | VoorwaardeHet oorspronkelijke verzoek of resultaat is onbekend of moet worden gecontroleerd. | Volgende stapBewaar de oorspronkelijke identificatoren en headers; lees alleen ondersteunde statusgegevens of bibliotheekrecords. Dien het aanmaakverzoek niet opnieuw in. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra kling-v1-5
Aliasnamen voor methodepaden
/v1/videos/generations
Gerelateerde aanroeper-ID’s
FAQ · Kling v1.5
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/videos·kling-v1-5:text,image→video- Welke velden gebruikt het verzoek?
POST /v1/videos·kling-v1-5:model,mode,aspect_ratio,duration,end_image,image,negative_prompt,prompt