Kling v2.1
Kling v2.1 genera video da un'immagine di riferimento e da un brief scritto sul movimento. La sua scheda image-to-video documentata elenca durate di cinque e dieci secondi, con modalità std e pro per pianificare la sequenza.
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.
Kling v2.1 è un modello video Kling con funzione image-to-video nel catalogo documentato. Parti da un'immagine statica di riferimento che definisca la scena, quindi descrivi il movimento che la trasforma in una ripresa utile. L'immagine di un prodotto, un'ambientazione illustrata o un fotogramma con un personaggio possono fornire la composizione da cui si sviluppa la sequenza.
Scegli un riferimento che renda comprensibile l'azione prevista. Un soggetto posizionato accanto a una porta offre un punto di partenza chiaro per entrare in una stanza; un oggetto collocato su una superficie sgombra permette di esaminarne più facilmente il contorno. Conserva il riferimento alla qualità originale e mantienilo associato alla clip generata.
Descrivi un'azione coerente. Specifica il soggetto, la direzione del movimento e lo stato finale desiderato. Per un'interazione, spiega il rapporto tra i partecipanti: chi tende la mano, che cosa viene toccato e dove termina l'azione. Usa dettagli visibili che possano essere verificati nella sequenza risultante.
Imposta l'inquadratura in base alla destinazione d'uso. La scheda image-to-video documentata elenca rapporti d'aspetto orizzontali, verticali e quadrati, con durate di cinque e dieci secondi. Stabilisci dove il soggetto deve rimanere all'interno del formato selezionato. Una composizione verticale e un ampio campo di ambientazione impongono esigenze diverse allo stesso movimento.
I controlli image-to-video documentati includono le modalità di generazione std e pro. Conserva la modalità scelta insieme al risultato quando confronti diverse proposte. Valuta l'output rispetto al brief: l'azione richiesta, la composizione, l'aspetto del soggetto e i tempi. L'etichetta della modalità, da sola, non indica quanto una singola ripresa soddisfi queste esigenze.
Usa le indicazioni sulla camera per sostenere l'evento. Una camera fissa può mostrare una posa che cambia, un movimento laterale può rivelare un'ambientazione e un movimento in avanti può mettere in risalto un dettaglio. Specifica il rapporto desiderato tra soggetto e punto di vista, così che il movimento della camera non entri in competizione con l'azione che lo spettatore deve seguire.
Verifica la continuità nell'intera clip. Per un prodotto, esamina la forma, i segni distintivi e l'aspetto dei materiali mentre cambia il punto di vista. Per una persona, esamina i tratti del viso, le mani, l'abbigliamento e il contatto con gli oggetti vicini. Controlla la composizione finale nel contesto della ripresa o della grafica successiva nel montaggio.
Salva il video completato, il riferimento, il prompt e le impostazioni selezionate in un'unica scheda della ripresa. In fase di revisione, identifica la discrepanza visiva specifica e conserva le parti che già contribuiscono alla scena. Confronta le proposte con le stesse dimensioni e la stessa velocità di riproduzione, così che la scelta rispecchi il movimento e la composizione che il pubblico vedrà realmente.
Ailoot Ultra · Video POST /v1/videos kling-v2-1
kling-v2-1Introduzione
Kling v2.1 genera video da un'immagine di riferimento e da un brief scritto sul movimento. La sua scheda image-to-video documentata elenca durate di cinque e dieci secondi, con modalità std e pro per pianificare la sequenza.
- Input accettati
- Testo · Immagini
- Risultati
- Video
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Video POST /v1/videos
- Tipi di input
text,image- Tipi di output
video
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti kling-v2-1 Condizioni: Usa esattamente questo selettore di instradamento di Ailoot. | Predefinito— |
Campomode | Tipostring | RequisitoFacoltativo | Valori e limiti std, pro Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato. | Predefinitostd |
Campoaspect_ratio | Tipostring | RequisitoFacoltativo | Valori e limiti 16:9, 9:16, 1:1 Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato. | Predefinito— |
Campoduration | Tipointeger | RequisitoFacoltativo | Valori e limiti 5, 10 Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato. | Predefinito— |
Campoend_image | Tipostring | RequisitoFacoltativo | Valori e limiti Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato. | Predefinito— |
Campoimage | Tipostring or array<string> | RequisitoObbligatorio | Valori e limiti Condizioni: Fornisci un URL reale e raggiungibile della tua immagine. Una lista è accettata solo quando lo schema del parametro prevede un array. | Predefinito— |
Camponegative_prompt | Tipostring | RequisitoFacoltativo | Valori e limiti Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato. | Predefinito— |
Campoprompt | Tipostring | RequisitoObbligatorio | Valori e limiti Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato. | Predefinito— |
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, prompt, image |
Parametrooptional | Contrattomode, aspect_ratio, duration, end_image, negative_prompt |
Parametromaterial_types | Contrattotext, image |
Parametroconditions | ContrattoUsa esattamente questo selettore di instradamento di Ailoot., Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato., Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato., Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato., Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato., Fornisci un URL reale e raggiungibile della tua immagine. Una lista è accettata solo quando lo schema del parametro prevede un array., Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato., Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato. |
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
: "${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-v2-1", "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
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 |
Campotask_id | Tipostring |
Campostatus | Tipostring |
Campovideo_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-v2-1
Alias dei percorsi dei metodi
/v1/videos/generations
ID di chiamata correlati
FAQ · Kling v2.1
- Quali input e risultati sono disponibili?
POST /v1/videos·kling-v2-1:text,image→video- Quali campi usa la richiesta?
POST /v1/videos·kling-v2-1:model,mode,aspect_ratio,duration,end_image,image,negative_prompt,prompt