kling-v1
kling-v1 crea un video da un prompt testuale con una modalità std o pro esplicita. Imposta durata dell’inquadratura e controlli del prompt, quindi recupera tutti i video completati tramite Ailoot.
Informazioni sul modello
Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.
Usa kling-v1 con model, prompt e mode su /v1/videos. Scegli std o pro e descrivi l’inquadratura in un prompt di massimo 500 caratteri. La richiesta espone una durata di cinque o dieci secondi, aspect_ratio, model_name, cfg_scale e un negative_prompt di massimo 200 caratteri.
Usa lo spazio disponibile nel prompt per il soggetto dominante, un’azione, l’ambiente e le indicazioni per la camera. Dai priorità ai dettagli che determinano la composizione rispetto al linguaggio decorativo. Il controllo cfg_scale accetta valori da 0 a 1; conserva l’impostazione scelta con il brief quando confronti una variazione successiva.
Segui l’ID della richiesta originale invece di creare una seconda operazione per verificarne l’avanzamento. Il risultato usa data.task_status e data.task_result.videos[].url, con succeed che indica il completamento. Salva ogni video completato e la sua risposta completa, quindi esamina tutta l’inquadratura rispetto al prompt.
Ailoot Ultra · Video POST /v1/videos kling-v1
kling-v1Introduzione
kling-v1 crea un video da un prompt testuale con una modalità std o pro esplicita. Imposta durata dell’inquadratura e controlli del prompt, quindi recupera tutti i video completati tramite Ailoot.
- Input accettati
- Testo
- Risultati
- Video
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Video POST /v1/videos
- Tipi di input
text- Tipi di output
video
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti kling-v1 Condizioni: Usa esattamente questo selettore di instradamento di Ailoot. | Predefinito— |
Campoprompt | Tipostring | RequisitoObbligatorio | Valori e limiti Lunghezza massima: 500 Condizioni: | Predefinito— |
Campomode | Tipostring | RequisitoObbligatorio | Valori e limiti std, pro Condizioni: | Predefinito— |
Campomodel_name | Tipostring | RequisitoFacoltativo | Valori e limiti Condizioni: Valore nativo sostitutivo facoltativo. Omettilo per usare automaticamente il modello selezionato; un valore esplicito viene conservato. | Predefinito— |
Campocfg_scale | Tiponumber | RequisitoFacoltativo | Valori e limiti Minimo: 0 Massimo: 1 Condizioni: | Predefinito— |
Campoaspect_ratio | Tipostring | RequisitoFacoltativo | Valori e limiti Condizioni: | Predefinito— |
Camponegative_prompt | Tipostring | RequisitoFacoltativo | Valori e limiti Lunghezza massima: 200 Condizioni: | Predefinito— |
Campoduration | Tipointeger | RequisitoFacoltativo | Valori e limiti 5, 10 Condizioni: | Predefinito— |
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, prompt, mode |
Parametrooptional | Contrattomodel_name, cfg_scale, aspect_ratio, negative_prompt, duration |
Parametromaterial_types | Contrattotext |
Parametroconditions | ContrattoUsa esattamente questo selettore di instradamento di Ailoot., Valore nativo sostitutivo facoltativo. Omettilo per usare automaticamente il modello selezionato; un valore esplicito viene conservato. |
Alias del metodo: /v1/videos/generations
Ciclo di vita: 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}
Tariffe
Calcolo del costo finale
Le tariffe visualizzate stimano il costo prima della generazione. L'addebito finale viene calcolato in base al costo registrato per la generazione originale. La durata misurata dell'output e le quantità previste non costituiscono la quantità finale fatturabile.
Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.
- Modalità rapida
- Non specificato Quando è selezionata la modalità rapida
- Modalità flex
- Non specificato Quando è selezionata la modalità flex
- Sforzo massimo di ragionamento
- Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Tariffe stimate per il confronto
Prezzi per configurazione
Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.
| Configurazione | Listino delle tariffe | Quantità prevista | Costo |
|---|---|---|---|
| ConfigurazioneTariffe base dei token | Listino delle tariffeTariffa base | Quantità prevista— | Costo Input · Token in input · Stima solo a fini di confronto — / 1K token Output · Token in output · Stima solo a fini di confronto — / 1K token Input · Lettura dalla cache · Stima solo a fini di confronto — / 1K token Input · Scrittura nella cache · Stima solo a fini di confronto — / 1K token Input · Scrittura nella cache, 1 ora · Stima solo a fini di confronto — / 1K token |
| ConfigurazioneCosto stimato della generazione | Listino delle tariffe— | Quantità previstastima per una generazione | Costo Output · Costo di generazione stimato · Stima solo a fini di confronto $6 stima prima della generazione Questa stima non è un addebito aggiuntivo né una tariffa fissa per la generazione completata. |
Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →
Esempi di richieste
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
Ricevi e salva i risultati
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}
Conserva tutti i risultati completati
Salva ogni video completato o file restituito; recupera ogni URL di risorsa effettivamente restituito.
Conserva la risposta completa e le intestazioni, gli identificatori originali, ogni risultato effettivo e tutti i campi di utilizzo e contabilizzazione. Salva ogni risorsa univoca di tua proprietà e conserva ogni ruolo che vi fa riferimento.
Se occorre verificare la risposta originale
Conserva l'id pubblico dell'attività o dell'operazione restituito e tutte le intestazioni. Consulta solo l'attività originale; unknown o result_pending_check non autorizza un'altra creazione.
Campi della risposta
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campopolling_url | Tipostring |
Campoprovider_task_id | Tipostring |
Campodata.task_id | Tipostring |
Campodata.task_status | Tipostring |
Campodata.task_result.videos[].url | Tipostring |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneUn campo obbligatorio, il selettore del modello, il tipo o la rappresentazione dei dati in ingresso non è valido. | Passaggio successivoEsamina i dettagli di validazione restituiti prima di preparare una richiesta separata. |
Risposta | CondizioneLa richiesta originale o il relativo risultato è sconosciuto o richiede una verifica. | Passaggio successivoConserva gli identificatori e le intestazioni originali; consulta solo i record di stato o della libreria supportati. Non inviare di nuovo la richiesta di creazione. |
Alias
Alias del modello
Ailoot Ultra kling-v1
Alias dei percorsi dei metodi
/v1/videos/generations
ID di chiamata correlati
FAQ · kling-v1
- Quali input e risultati sono disponibili?
POST /v1/videos·kling-v1:text→video- Quali campi usa la richiesta?
POST /v1/videos·kling-v1:model,prompt,mode,model_name,cfg_scale,aspect_ratio,negative_prompt,duration- Quali limiti si applicano?
POST /v1/videos·kling-v1:prompt.maximum_length:500;cfg_scale.minimum:0;cfg_scale.maximum:1;negative_prompt.maximum_length:200