kling-v1
kling-v1 maakt een video uit een tekstprompt met een expliciete modus std of pro. Stel de shotduur en promptinstellingen in en haal vervolgens via Ailoot alle voltooide videoresultaten op.
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.
Gebruik kling-v1 met model, prompt en mode op /v1/videos. Kies std of pro en beschrijf het shot in een prompt van maximaal 500 tekens. Het verzoek biedt een duur van vijf of tien seconden, aspect_ratio, model_name, cfg_scale en een negative_prompt van maximaal 200 tekens.
Gebruik de beschikbare promptruimte voor het hoofdonderwerp, één actie, de omgeving en de cameraregie. Plaats details die de compositie bepalen vóór decoratief taalgebruik. De instelling cfg_scale accepteert waarden van 0 tot 1; bewaar de gekozen instelling bij de beschrijving wanneer je later een variant vergelijkt.
Volg de oorspronkelijke verzoek-ID in plaats van een tweede bewerking te maken om de voortgang te controleren. Het resultaat gebruikt data.task_status en data.task_result.videos[].url, waarbij succeed de voltooiing aangeeft. Sla elke voltooide video met het volledige antwoord op en bekijk vervolgens het hele shot aan de hand van de prompt.
Ailoot Ultra · Video POST /v1/videos kling-v1
kling-v1Aan de slag
kling-v1 maakt een video uit een tekstprompt met een expliciete modus std of pro. Stel de shotduur en promptinstellingen in en haal vervolgens via Ailoot alle voltooide videoresultaten op.
- Toegestane invoer
- Tekst
- Resultaten
- Video
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Video POST /v1/videos
- Invoer
text- Uitvoer
video
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten kling-v1 Voorwaarden: Gebruik precies deze Ailoot-routeringsselector. | Standaard— |
Veldprompt | Typestring | VereisteVereist | Waarden en limieten Maximumlengte: 500 Voorwaarden: | Standaard— |
Veldmode | Typestring | VereisteVereist | Waarden en limieten std, pro Voorwaarden: | Standaard— |
Veldmodel_name | Typestring | VereisteOptioneel | Waarden en limieten Voorwaarden: Optionele waarde om de native instelling te overschrijven. Laat deze weg om automatisch het gekozen model te gebruiken; een uitdrukkelijk opgegeven waarde blijft behouden. | Standaard— |
Veldcfg_scale | Typenumber | VereisteOptioneel | Waarden en limieten Minimum: 0 Maximum: 1 Voorwaarden: | Standaard— |
Veldaspect_ratio | Typestring | VereisteOptioneel | Waarden en limieten Voorwaarden: | Standaard— |
Veldnegative_prompt | Typestring | VereisteOptioneel | Waarden en limieten Maximumlengte: 200 Voorwaarden: | Standaard— |
Veldduration | Typeinteger | VereisteOptioneel | Waarden en limieten 5, 10 Voorwaarden: | Standaard— |
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, prompt, mode |
Parameteroptional | Contractmodel_name, cfg_scale, aspect_ratio, negative_prompt, duration |
Parametermaterial_types | Contracttext |
Parameterconditions | ContractGebruik precies deze Ailoot-routeringsselector., Optionele waarde om de native instelling te overschrijven. Laat deze weg om automatisch het gekozen model te gebruiken; een uitdrukkelijk opgegeven waarde blijft behouden. |
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 getoonde tarieven ramen de kosten vóór de generatie. De definitieve kosten worden berekend op basis van de kosten die voor de oorspronkelijke generatie zijn geregistreerd. De gemeten duur van het gegenereerde resultaat en de geraamde hoeveelheden vormen 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 geselecteerd is
- Flex-modus
- Niet opgegeven Wanneer de flex-modus geselecteerd is
- Maximale redeneerinspanning
- Niet opgegeven Wanneer voor 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 raming is geen extra kost 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
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "kling-v1", "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
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 identificatiecodes, alle werkelijke uitvoer en alle velden voor verbruik en boekhouding. Sla elke unieke asset die je toebehoort op en behoud elke rol die ernaar verwijst.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar de teruggestuurde openbare taak- of operatie-id en alle headers. Raadpleeg uitsluitend de oorspronkelijke taak; unknown of result_pending_check geeft geen toestemming om opnieuw een taak aan te maken.
Antwoordvelden
| Veld | Type |
|---|---|
Veldid | Typestring |
Veldpolling_url | Typestring |
Veldprovider_task_id | Typestring |
Velddata.task_id | Typestring |
Velddata.task_status | Typestring |
Velddata.task_result.videos[].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 teruggegeven validatiedetails voor u een afzonderlijk verzoek voorbereidt. |
Antwoord | VoorwaardeHet oorspronkelijke verzoek of resultaat is onbekend of moet nagekeken worden. | Volgende stapBewaar de oorspronkelijke identificatoren en headers; raadpleeg enkel ondersteunde statusgegevens of bibliotheekrecords. Dien het aanmaakverzoek niet opnieuw in. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra kling-v1
Aliasnamen voor methodepaden
/v1/videos/generations
Gerelateerde aanroeper-ID’s
FAQ · kling-v1
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/videos·kling-v1:text→video- Welke velden gebruikt het verzoek?
POST /v1/videos·kling-v1:model,prompt,mode,model_name,cfg_scale,aspect_ratio,negative_prompt,duration- Welke limieten gelden?
POST /v1/videos·kling-v1:prompt.maximum_length:500;cfg_scale.minimum:0;cfg_scale.maximum:1;negative_prompt.maximum_length:200