kling-v1
kling-v1 skaber en video ud fra en tekstprompt med en udtrykkelig std- eller pro-tilstand. Indstil optagelsens varighed og promptindstillinger, og hent derefter alle færdige videoresultater via Ailoot.
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
Brug kling-v1 med model, prompt og mode på /v1/videos. Vælg std eller pro, og beskriv optagelsen i en prompt på op til 500 tegn. Anmodningen stiller en varighed på fem eller ti sekunder, aspect_ratio, model_name, cfg_scale og negative_prompt på op til 200 tegn til rådighed.
Brug promptpladsen på hovedmotivet, én handling, omgivelser og kamerainstruktion. Placér detaljer, som bestemmer kompositionen, før dekorativt sprog. Indstillingen cfg_scale accepterer værdier fra 0 til 1; gem den valgte værdi sammen med beskrivelsen, når du sammenligner en senere variation.
Følg det oprindelige request-ID frem for at oprette en anden operation for at kontrollere fremdriften. Resultatet bruger data.task_status og data.task_result.videos[].url, og succeed markerer afslutning. Gem alle færdige videoer og hele svaret, og undersøg derefter hele optagelsen ud fra prompten.
Ailoot Ultra · Video POST /v1/videos kling-v1
kling-v1Start
kling-v1 skaber en video ud fra en tekstprompt med en udtrykkelig std- eller pro-tilstand. Indstil optagelsens varighed og promptindstillinger, og hent derefter alle færdige videoresultater via Ailoot.
- Accepterede input
- Tekst
- Resultater
- Video
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · Video POST /v1/videos
- Inputtyper
text- Outputtyper
video
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser kling-v1 Betingelser: Brug præcis denne routingvælger for Ailoot. | Standard— |
Feltprompt | Typestring | KravPåkrævet | Værdier og grænser Maksimal længde: 500 Betingelser: | Standard— |
Feltmode | Typestring | KravPåkrævet | Værdier og grænser std, pro Betingelser: | Standard— |
Feltmodel_name | Typestring | KravValgfrit | Værdier og grænser Betingelser: Valgfri tilsidesættelse af den native værdi. Udelad den for automatisk at bruge den valgte model; en udtrykkeligt angivet værdi bevares. | Standard— |
Feltcfg_scale | Typenumber | KravValgfrit | Værdier og grænser Minimum: 0 Maksimum: 1 Betingelser: | Standard— |
Feltaspect_ratio | Typestring | KravValgfrit | Værdier og grænser Betingelser: | Standard— |
Feltnegative_prompt | Typestring | KravValgfrit | Værdier og grænser Maksimal længde: 200 Betingelser: | Standard— |
Feltduration | Typeinteger | KravValgfrit | Værdier og grænser 5, 10 Betingelser: | Standard— |
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, prompt, mode |
Parameteroptional | Kontraktmodel_name, cfg_scale, aspect_ratio, negative_prompt, duration |
Parametermaterial_types | Kontrakttext |
Parameterconditions | KontraktBrug præcis denne routingvælger for Ailoot., Valgfri tilsidesættelse af den native værdi. Udelad den for automatisk at bruge den valgte model; en udtrykkeligt angivet værdi bevares. |
Metodealiaser: /v1/videos/generations
Livscyklus: 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ådan beregnes det endelige beløb
De viste satser bruges til at anslå omkostningen før genereringen. Det endelige beløb beregnes ud fra den registrerede omkostning for den oprindelige generering. Den målte varighed af outputtet og de anslåede mængder er ikke den endelige fakturerbare mængde.
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Ikke angivet Når hurtig tilstand er valgt
- flex-tilstand
- Ikke angivet Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Estimerede takster til sammenligning
Priser efter konfiguration
Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.
| Konfiguration | Takstplan | Forventet mængde | Beløb |
|---|---|---|---|
| KonfigurationGrundpriser for tokens | TakstplanGrundtakst | Forventet mængde— | Beløb Input · Inputtokens · Estimat kun til sammenligning — / 1K tokens Output · Outputtokens · Estimat kun til sammenligning — / 1K tokens Input · Cachelæsning · Estimat kun til sammenligning — / 1K tokens Input · Cacheskrivning · Estimat kun til sammenligning — / 1K tokens Input · Cacheskrivning, 1 time · Estimat kun til sammenligning — / 1K tokens |
| KonfigurationAnslået genereringsomkostning | Takstplan— | Forventet mængdeestimat for én generering | Beløb Output · Anslået genereringsomkostning · Estimat kun til sammenligning $6 estimat før generering Dette estimat er hverken et ekstra gebyr eller en fast pris for den færdige generering. |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
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
Hent og gem resultater
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}
Behold alle færdige resultater
Gem hver færdig video eller returneret fil; hent hver faktisk returneret fil-URL.
Behold hele svaret og alle headere, de oprindelige identifikatorer, hvert faktisk output og alle felter til forbrug og afregning. Gem hvert entydigt aktiv, du ejer, og behold alle roller, der henviser til det.
Hvis det oprindelige svar skal kontrolleres
Behold det returnerede offentlige opgave- eller operations-id og alle headere. Læs kun den oprindelige opgave; unknown eller result_pending_check giver ikke tilladelse til en ny oprettelse.
Svarfelter
| Felt | Type |
|---|---|
Feltid | Typestring |
Feltpolling_url | Typestring |
Feltprovider_task_id | Typestring |
Feltdata.task_id | Typestring |
Feltdata.task_status | Typestring |
Feltdata.task_result.videos[].url | Typestring |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseEt påkrævet felt, en modelvælger, en type eller en inputrepræsentation er ugyldig. | Næste trinUndersøg de returnerede valideringsoplysninger, før du forbereder en separat anmodning. |
Svar | BetingelseDen oprindelige anmodning eller resultatet er ukendt eller skal kontrolleres. | Næste trinBevar de oprindelige identifikatorer og headere; læs kun understøttede status- eller biblioteksposter. Indsend ikke oprettelsesanmodningen igen. |
Aliaser
Modelaliaser
Ailoot Ultra kling-v1
Aliaser for metodestier
/v1/videos/generations
Relaterede kalder-ID’er
FAQ · kling-v1
- Hvilke input og resultater er tilgængelige?
POST /v1/videos·kling-v1:text→video- Hvilke felter bruger anmodningen?
POST /v1/videos·kling-v1:model,prompt,mode,model_name,cfg_scale,aspect_ratio,negative_prompt,duration- Hvilke grænser gælder?
POST /v1/videos·kling-v1:prompt.maximum_length:500;cfg_scale.minimum:0;cfg_scale.maximum:1;negative_prompt.maximum_length:200