kling-v1
kling-v1 lager en video fra en tekstinstruksjon med eksplisitt std- eller pro-modus. Angi opptaksvarighet og instruksjonsinnstillinger, og hent deretter alle ferdige videoresultater gjennom Ailoot.
Om modellen
Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.
Bruk kling-v1 med model, prompt og mode i /v1/videos. Velg std eller pro, og beskriv opptaket i en instruksjon på opptil 500 tegn. Forespørselen tilbyr varighet på fem eller ti sekunder, aspect_ratio, model_name, cfg_scale og negative_prompt på opptil 200 tegn.
Bruk den tilgjengelige instruksjonsplassen til hovedmotivet, én handling, omgivelser og kameraregi. Plasser detaljer som bestemmer komposisjonen før dekorativt språk. Innstillingen cfg_scale godtar verdier fra 0 til 1; behold den valgte innstillingen sammen med oppgavebeskrivelsen når du sammenligner en senere variant.
Følg den opprinnelige forespørsels-ID-en i stedet for å opprette en ny operasjon for å kontrollere fremdriften. Resultatet bruker data.task_status og data.task_result.videos[].url, med succeed som tegn på fullføring. Lagre hver ferdige video og hele svaret, og kontroller deretter hele opptaket mot instruksjonen.
Ailoot Ultra · Video POST /v1/videos kling-v1
kling-v1Start
kling-v1 lager en video fra en tekstinstruksjon med eksplisitt std- eller pro-modus. Angi opptaksvarighet og instruksjonsinnstillinger, og hent deretter alle ferdige videoresultater gjennom Ailoot.
- Godkjente inndata
- Tekst
- Resultater
- Video
Tilgjengelig i Ailoot · inndata & metoder
Ailoot Ultra · Video POST /v1/videos
- Inndatatyper
text- Utdatatyper
video
| Felt | Type | Krav | Verdier & grenser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrevd | Verdier & grenser kling-v1 Vilkår: Bruk nøyaktig denne rutingsvelgeren for Ailoot. | Standard— |
Feltprompt | Typestring | KravPåkrevd | Verdier & grenser Maksimal lengde: 500 Vilkår: | Standard— |
Feltmode | Typestring | KravPåkrevd | Verdier & grenser std, pro Vilkår: | Standard— |
Feltmodel_name | Typestring | KravValgfritt | Verdier & grenser Vilkår: Valgfri overstyring av den innebygde innstillingen. Utelat den for å bruke den valgte modellen automatisk; en uttrykkelig angitt verdi beholdes. | Standard— |
Feltcfg_scale | Typenumber | KravValgfritt | Verdier & grenser Minimum: 0 Maksimum: 1 Vilkår: | Standard— |
Feltaspect_ratio | Typestring | KravValgfritt | Verdier & grenser Vilkår: | Standard— |
Feltnegative_prompt | Typestring | KravValgfritt | Verdier & grenser Maksimal lengde: 200 Vilkår: | Standard— |
Feltduration | Typeinteger | KravValgfritt | Verdier & grenser 5, 10 Vilkår: | Standard— |
Metodeparametere og livssyklus
| Parameter | Avtale |
|---|---|
Parametercontent_type | Avtaleapplication/json |
Parameterrequired | Avtalemodel, prompt, mode |
Parameteroptional | Avtalemodel_name, cfg_scale, aspect_ratio, negative_prompt, duration |
Parametermaterial_types | Avtaletext |
Parameterconditions | AvtaleBruk nøyaktig denne rutingsvelgeren for Ailoot., Valgfri overstyring av den innebygde innstillingen. Utelat den for å bruke den valgte modellen automatisk; en uttrykkelig angitt verdi beholdes. |
Metodealiaser: /v1/videos/generations
Livssyklus: 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
Slik beregnes det endelige beløpet
De viste satsene anslår kostnaden før generering. Det endelige beløpet beregnes ut fra kostnaden som er registrert for den opprinnelige genereringen. Målt varighet på utdataene og anslåtte mengder er ikke den endelige fakturerbare mengden.
Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.
- Hurtigmodus
- Ikke angitt Når hurtigmodus er valgt
- Flex-modus
- Ikke angitt Når flex-modus er valgt
- Maksimal resonneringsinnsats
- Ikke angitt Når justeringen «default» brukes for maksimal resonneringsinnsats
Estimerte satser for sammenligning
Priser etter konfigurasjon
Knytt hver kostnad til de viste vilkårene. Bruk én sats for hvert sett med alternative konfigurasjoner.
| Konfigurasjon | Prisplan | Forventet mengde | Kostnad |
|---|---|---|---|
| KonfigurasjonGrunnpriser for tokener | PrisplanGrunnsats | Forventet mengde— | Kostnad Inndata · Inngående tokener · Estimat kun for sammenligning — / 1K tokener Utdata · Utgående tokener · Estimat kun for sammenligning — / 1K tokener Inndata · Lesing fra hurtigbuffer · Estimat kun for sammenligning — / 1K tokener Inndata · Skriving til hurtigbuffer · Estimat kun for sammenligning — / 1K tokener Inndata · Skriving til hurtigbuffer, 1 time · Estimat kun for sammenligning — / 1K tokener |
| KonfigurasjonAnslått genereringskostnad | Prisplan— | Forventet mengdeestimat for én generering | Kostnad Utdata · Anslått genereringskostnad · Estimat kun for sammenligning $6 estimat før generering Dette anslaget er verken en tilleggsavgift eller en fast sats for den fullførte genereringen. |
Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →
Eksempelforespørsler
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
Motta og lagre 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 ferdige resultater
Lagre hver ferdige video eller returnerte fil; hent hver faktisk returnerte ressurs-URL.
Behold hele svaret og alle svarhoder, opprinnelige identifikatorer, alle faktiske utdata og alle felt for forbruk og avregning. Lagre hver unike ressurs du eier, og behold alle roller som viser til den.
Hvis det opprinnelige svaret må kontrolleres
Behold den returnerte offentlige oppgave- eller operasjons-ID-en og alle svarhoder. Les bare den opprinnelige oppgaven; unknown eller result_pending_check gir ikke tillatelse til en ny opprettelse.
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 |
Feil og neste trinn
| Svar | Vilkår | Neste trinn |
|---|---|---|
Svar400 · invalid_request_error | VilkårEt obligatorisk felt, en modellvelger, en type eller en representasjon av inndata er ugyldig. | Neste trinnUndersøk de returnerte valideringsdetaljene før du forbereder en separat forespørsel. |
Svar | VilkårDen opprinnelige forespørselen eller resultatet er ukjent eller må kontrolleres. | Neste trinnBehold opprinnelige identifikatorer og hoder; les bare status- eller biblioteksposter som støttes. Ikke send opprettelsesforespørselen på nytt. |
Aliaser
Modellaliaser
Ailoot Ultra kling-v1
Aliaser for metodestier
/v1/videos/generations
Tilknyttede anroper-ID-er
FAQ · kling-v1
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/videos·kling-v1:text→video- Hvilke felt bruker forespørselen?
POST /v1/videos·kling-v1:model,prompt,mode,model_name,cfg_scale,aspect_ratio,negative_prompt,duration- Hvilke grenser gjelder?
POST /v1/videos·kling-v1:prompt.maximum_length:500;cfg_scale.minimum:0;cfg_scale.maximum:1;negative_prompt.maximum_length:200