Procedura di richiesta
Per utilizzare l’API di generazione di video Kling, prima di tutto vai al Pannello di controllo di Ace Data Cloud per ottenere il tuo API Token, da conservare per uso futuro.
Se non hai ancora effettuato il login o la registrazione, verrai automaticamente reindirizzato alla pagina di login che ti invita a registrarti e accedere; una volta completato, verrai riportato automaticamente alla pagina corrente.
Un API Token è sufficiente per accedere a tutti i servizi della piattaforma, senza necessità di richiederne uno separato per ogni servizio. La prima richiesta ti darà un credito gratuito, per un’esperienza senza costi; quando il credito è insufficiente, puoi ricaricare il saldo generale nel pannello di controllo.
📘 Documentazione completa: API di generazione di video Kling →
Utilizzo di base
Iniziamo a comprendere il modo di utilizzo di base, che consiste nell’inserire la parola chiaveprompt, l’azione action, l’URL dell’immagine di riferimento per il primo fotogramma start_image_url e il modello model, per ottenere il risultato elaborato. Prima di tutto, è necessario passare un campo action, il cui valore è text2video, che include principalmente tre azioni: video da testo (text2video), video da immagine (image2video), video esteso (extend). Inoltre, dobbiamo inserire il modello model, attualmente disponibili i modelli kling-v1, kling-v1-6, kling-v2-master, kling-v2-1-master, kling-v2-5-turbo, kling-v2-6, kling-v3, kling-v3-omni, kling-o1, i dettagli specifici sono i seguenti:

accept: il formato della risposta desiderata, qui impostato suapplication/json, ovvero formato JSON.authorization: la chiave per chiamare l’API, che può essere selezionata direttamente dopo la richiesta.
model: il modello per generare il video, principalmentekling-v1,kling-v1-6,kling-v2-master,kling-v2-1-master,kling-v2-5-turbo,kling-v2-6,kling-v3,kling-v3-omni,kling-o1.mode: la modalità di generazione del video, i valori opzionali sono modalità standardstd, modalità veloceproe modalità nativa 4K4k. La modalità4kè supportata solo dakling-v3ekling-v3-omni, e non è compatibile concamera_control(controllo della camera).action: l’azione per il compito di generazione video, che include principalmente tre azioni: video da testo (text2video), video da immagine (image2video), video esteso (extend).start_image_url: quando si sceglie l’azione video da immagineimage2video, è necessario caricare il link dell’immagine di riferimento per il primo fotogramma.end_image_url: opzionale per video da immagine, specifica il fotogramma finale.duration: durata del video, in secondi.kling-v3ekling-v3-omnisupportano durate intere da 3 a 15 secondi;kling-o1supporta solo 5 secondi; altri modelli supportano 5 o 10 secondi.generate_audio: se generare audio in sincrono, opzionale, valore booleano. Supportakling-v3,kling-v3-omniekling-v2-6(solo modalità pro). Di default èfalse.aspect_ratio: rapporto di aspetto del video, opzionale, supporta16:9,9:16,1:1, di default16:9.cfg_scale: intensità di correlazione, intervallo [0,1], maggiore è il valore, più si adatta alla parola chiave.camera_control: opzionale, parametri per controllare il movimento della camera, supporta preset type/simple e configurazioni come horizontal, vertical, pan, tilt, roll, zoom.negative_prompt: opzionale, parole chiave inverse che non si desidera appaiano, massimo 200 caratteri.image_list: elenco di immagini di riferimento Omni, applicabile ai modellikling-o1ekling-v3-omni, vedere la sezione “Riferimento Omni” qui sotto.video_list: elenco di video di riferimento Omni (supporta l’editing video), applicabile ai modellikling-o1ekling-v3-omni, vedere la sezione “Riferimento Omni” qui sotto.prompt: parola chiave.callback_url: URL per ricevere il risultato.async: opzionale, impostato sutrueper restituire immediatamentetask_id, senza necessità di fornirecallback_url, successivamente è possibile ottenere i risultati tramite l’interfaccia di query del compito corrispondente.

success, lo stato attuale del compito di generazione video.task_id, l’ID del compito di generazione video attuale.video_id, l’ID del video generato dal compito di generazione video attuale.video_url, il link al video generato dal compito di generazione video attuale.duration, la durata del video generato dal compito di generazione video attuale.state, lo stato attuale del compito di generazione video.
data per ottenere il video Kling generato.
Inoltre, se desideri generare il codice di integrazione corrispondente, puoi semplicemente copiarlo, ad esempio il codice CURL è il seguente:
Matrice delle capacità del modello
Il supporto ai parametri varia notevolmente tra i diversi modelli. La seguente matrice è stata organizzata dalla documentazione ufficiale dei modelli video Kling, prima di effettuare una chiamata verifica se la combinazione attuale dimodel / mode / duration supporta le funzionalità richieste, altrimenti il sistema restituirà errori come model/mode/duration(...) is not supported with image_tail.
Note:
mode=4ksupportato solo dakling-v3ekling-v3-omni; e in conflitto concamera_control(controllo della camera).end_image_urlpuò essere utilizzato solo conaction=image2videoinsieme astart_image_url. Inviare soloend_image_url(senzastart_image_url) verrà rifiutato.kling-v3/kling-v3-omniaccettano qualsiasi interodurationda 3 a 15 secondi;kling-o1accetta solo 5; gli altri modelli accettano solo 5 o 10.generate_audioè impostato sufalseper impostazione predefinita. Solokling-v3,kling-v3-omniekling-v2-6(modalità pro) supportano.
Funzionalità di estensione video
Se si desidera continuare a generare un video Kling già creato, è possibile impostare il parametroaction su extend e inserire l’ID del video da continuare a generare. L’ID del video può essere ottenuto in base all’uso di base, come mostrato nell’immagine seguente:

Nota: l’video_id qui è l’ID del video generato. Se non sai come generare un video, puoi fare riferimento all’uso di base descritto sopra.
Successivamente, dobbiamo compilare le parole chiave necessarie per personalizzare la generazione del video, specificando i seguenti contenuti:
model: modello per la generazione del video, principalmentekling-v1,kling-v1-5ekling-v1-6.mode: modalità di generazione del video, valori opzionali sono modalità standardstd, modalità veloceproe modalità nativa 4K4k(solo supportata dakling-v3ekling-v3-omni, non compatibile con il controllo della camera).duration: durata del video per questo compito di generazione, principalmente 5s e 10s.start_image_url: quando si sceglie l’azione di generazione video da immagineimage2video, è necessario caricare il link dell’immagine di riferimento del fotogramma iniziale.prompt: parole chiave.


Riferimento Omni (video editing / video di riferimento / riferimento multi-immagine)
kling-o1 e kling-v3-omni sono due modelli indipendenti, entrambi supportano la capacità di “riferimento universale”. Sulla base della generazione video da testo (action=text2video), è possibile fornire immagini di riferimento o video di riferimento per realizzare riferimenti multi-immagine, video di riferimento e modifiche dirette a video esistenti.
Convenzione principale: il materiale di riferimento deve essere citato nel prompt nel formato <<<image_1>>>, <<<video_1>>> (numerazione a partire da 1) per i materiali corrispondenti in image_list / video_list, affinché il modello applichi questi riferimenti. Se si forniscono solo materiali senza citarli nel prompt, i materiali verranno ignorati.
Nota di sicurezza: l’attuale API non apreLe richieste Omni non supportanoelement_list. L’ID upstream della Kling Element Library appartiene allo spazio dei nomi dell’account del fornitore; prima di fornire un’API di gestione degli elementi con isolamento per i clienti, si consiglia di utilizzareimage_listper fornire immagini di riferimento principali.
negative_prompt, cfg_scale o camera_control, e non possono utilizzare mode=4k. Quando si includono video di riferimento, generate_audio deve essere impostato su false.
Video di riferimento e editing video (video_list)
video_list è utilizzato per passare video di riferimento, è lo scenario più comune per questa funzionalità, i campi degli elementi dell’array sono i seguenti:
video_url: link al video di riferimento, non può essere vuoto. Requisiti: formato MP4/MOV; risoluzione 720px–2160px; durata 3–10 secondi; frame rate 24–60fps; dimensione del file ≤200MB; massimo 1 video.refer_type: tipo di riferimento, opzionalebase(predefinito, video di base da modificare, ovvero “modificare direttamente il video”, è possibile aggiungere/rimuovere/modificare elementi, cambiare composizione, cambiare stile, cambiare colore, cambiare meteo, ecc.) ofeature(riferimento alle caratteristiche, riferimento al suo stile / movimento della camera / continuazione della scena successiva).keep_original_sound: se mantenere l’audio originale del video, opzionaleyes(mantieni) ono(rimuovi).
Nota: quando è presente un video di riferimento,Esempio di CURL per modificare un video esistente (trasformare il video in stile anime):generate_audiodeve esserefalse. I video conrefer_type=basenon possono avere frame iniziali / finali specificati.
Riferimento a più immagini (image_list)
image_list è utilizzato per passare immagini di riferimento (elementi / scene / stili, ecc.), i campi degli elementi dell’array sono i seguenti:
image_url: link all’immagine di riferimento, non può essere vuoto. Requisiti: formato .jpg/.jpeg/.png; dimensione del file ≤10MB; lato più corto ≥300px; rapporto di aspetto 1:2.5 ~ 2.5:1.type: opzionale. Se non specificato, viene considerato come immagine di riferimento pura; se specificatofirst_frame/end_frame, viene utilizzato rispettivamente come frame iniziale / finale (equivalente astart_image_url/end_image_url).
prompt con <<<image_1>>>, <<<image_2>>>. Limiti di quantità: se non ci sono video di riferimento, le immagini di riferimento ≤ 7; se ci sono video di riferimento, le immagini di riferimento ≤ 4. Se si inviano solo frame iniziali / finali, è possibile utilizzare direttamente start_image_url / end_image_url, ma il frame finale deve essere utilizzato insieme al frame iniziale.
Nota: se si inviano contemporaneamenteEsempio di CURL per generare un video con riferimento a più immagini:start_image_url/end_image_urleimage_list, i frame iniziali / finali verranno posizionati prima diimage_list, il che potrebbe influenzare la corrispondenza degli indici di<<<image_N>>>. Si consiglia di scegliere uno dei due: se è necessario un frame iniziale / finale, specificarlo direttamente inimage_listutilizzandotype, senza mescolarlo constart_image_url/end_image_url.
Callback asincrona
Poiché il tempo di generazione dell’API Kling Videos è relativamente lungo, circa 1-2 minuti, se l’API non risponde per un lungo periodo, la richiesta HTTP manterrà la connessione, causando un consumo aggiuntivo di risorse di sistema, quindi questa API offre anche supporto per callback asincroni. Il flusso complessivo è: quando il client invia una richiesta, specifica un campocallback_url aggiuntivo, dopo che il client ha inviato la richiesta API, l’API restituirà immediatamente un risultato, contenente un campo task_id, che rappresenta l’ID del compito corrente. Quando il compito è completato, il risultato del video generato verrà inviato al callback_url specificato dal client in formato POST JSON, che include anche il campo task_id, in modo che il risultato del compito possa essere associato tramite l’ID.
Di seguito vediamo un esempio per capire come operare concretamente.
Innanzitutto, il callback Webhook è un servizio in grado di ricevere richieste HTTP, gli sviluppatori dovrebbero sostituirlo con l’URL del server HTTP che hanno costruito. Qui, per comodità di dimostrazione, utilizziamo un sito Web pubblico di esempio per Webhook https://webhook.site/, aprendo questo sito si ottiene un URL Webhook, come mostrato nell’immagine:
Copia questo URL e puoi usarlo come Webhook, l’esempio qui è https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3.
Successivamente, possiamo impostare il campo callback_url su questo URL Webhook, riempiendo i parametri corrispondenti, il contenuto specifico è mostrato nell’immagine:

https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3, come mostrato nell’immagine:
Il contenuto è il seguente:
task_id, gli altri campi sono simili a quelli sopra, tramite questo campo è possibile realizzare l’associazione del compito.
Gestione degli errori
Quando si chiama l’API, se si verifica un errore, l’API restituirà il codice di errore e le informazioni corrispondenti. Ad esempio:400 token_mismatched: Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.400 api_not_implemented: Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.401 invalid_token: Non autorizzato, token di autorizzazione non valido o mancante.429 too_many_requests: Troppe richieste, hai superato il limite di frequenza.500 api_error: Errore interno del server, qualcosa è andato storto sul server.

