Questo documento introduce una procedura di integrazione dell’API Kling Videos Generation, che consente di generare video ufficiali Kling inserendo parametri personalizzati.Documentation Index
Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
Use this file to discover all available pages before exploring further.
Processo di richiesta
Per utilizzare l’API, è necessario prima richiedere il servizio sulla pagina corrispondente di Kling Videos Generation API. Una volta aperta la pagina, cliccare sul pulsante «Acquire», come mostrato:
Se non si è già loggati o registrati, si verrà automaticamente reindirizzati alla pagina di login per registrarsi e loggarsi, dopodiché si ritornerà automaticamente alla pagina corrente.
Durante la prima richiesta, vengono regalati crediti gratuiti per testare l’API gratuitamente.
Utilizzo di base
Innanzitutto, è importante conoscere le modalità di utilizzo di base: inserendo il promptprompt, l’azione di generazione action, l’immagine di riferimento per la prima frame start_image_url e il modello model, si ottiene il risultato elaborato. È sufficiente passare un campo action con valore text2video, che include principalmente tre azioni: testo in video (text2video), immagine in video (image2video) e estensione video (extend).
Inoltre, bisogna inserire il modello model. Al momento sono disponibili principalmente 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-video-o1. Di seguito i dettagli:

accept: formato di risposta desiderato, qui impostato aapplication/json(JSON).authorization: chiave di accesso API, disponibile dopo la richiesta.
model: modello di generazione video, tra i principalikling-v1,kling-v1-6, etc.mode: modalità di generazione video (std,pro,4k).4kè supportato solo dakling-v3ekling-v3-omni, e non è compatibile concamera_control.action: l’azione del task di generazione video (text2video,image2video,extend).start_image_url: URL dell’immagine di riferimento per la prima frame, richiesto nel caso diimage2video.end_image_url: opzionale, URL dell’ultima frame nel caso diimage2video.duration: durata del video in secondi. Perkling-v3ekling-v3-omni, può essere flessibile tra 3-15 secondi (interi), per gli altri modelli, 5 o 10 secondi.generate_audio: opzionale, booleano, indica se generare anche l’audio sincronizzato. Supportato dakling-v3,kling-v3-omni,kling-v2-6(solo in modalità pro). Defaultfalse.aspect_ratio: rapporto di aspetto del video (ad esempio16:9,9:16,1:1), default16:9.cfg_scale: livello di coerenza con il prompt, [0,1], più alto più aderente.camera_control: opzionale, controlla i movimenti della telecamera, supporta presettype/simplee configurazioni di movimento comehorizontal,vertical,pan,tilt,roll,zoom.negative_prompt: opzionale, parole negative da escludere (max 200 caratteri).element_list: lista di riferimenti soggetti, applicabile solo a modellokling-video-o1, per dettagli consultare documentazione ufficiale.video_list: video di riferimento tramite URL, applicabile solo akling-video-o1, per dettagli consultare documentazione ufficiale.prompt: parole chiave.callback_url: URL per il ritorno del risultato.

success: stato del task di generazione.task_id: ID del task.video_id: ID del video generato.video_url: URL del video.duration: durata del video.state: stato del processo.
Matrice delle capacità dei modelli
Diversi modelli supportano parametri differenti. Di seguito, una matrice basata su la documentazione ufficiale dei modelli video Kling. Prima di chiamare, verificare chemodel / mode / duration siano compatibili con le proprie esigenze, altrimenti si riceveranno errori come model/mode/duration(...) is not supported with image_tail.
| Modello | Modalità | end_image_url (soglia) | generate_audio | camera_control | Note |
|---|---|---|---|---|---|
kling-v1 | std / pro | ✅ Solo duration=5 | ❌ | ✅ Solo duration=5 | extend non supporta negative_prompt e cfg_scale |
kling-v1-6 | std | ❌ | ❌ | ❌ | Multi-image in video, extend in tutte le modalità |
kling-v1-6 | pro | ✅ | ❌ | ❌ | |
kling-v2-master | — | ❌ | ❌ | ❌ | Modalità singola, duration=5/10 |
kling-v2-1-master | — | ❌ | ❌ | ❌ | Modalità singola, duration=5/10 |
kling-v2-5-turbo | std | ❌ | ❌ | ❌ | |
kling-v2-5-turbo | pro | ✅ | ❌ | ❌ | |
kling-v2-6 | std | ❌ | ❌ | ❌ | |
kling-v2-6 | pro | ✅ | ✅ | ❌ | Supporta audio e non versione v3 |
kling-v3 | std / pro | ✅ | ✅ | ✅ | duration tra 3-15 sec |
kling-v3 | 4k | ✅ | ✅ | ❌ | Modalità 4K non compatibile con movimento camera |
kling-v3-omni | std / pro / 4k | ✅ | ✅ | ❌ | |
kling-video-o1 | std / pro | ✅ | ❌ | ❌ | Solo duration=5/10 |
mode=4ksupportato solo dakling-v3ekling-v3-omni; non può essere usato concamera_control.end_image_urlpuò essere usato solo conaction=image2videoe insieme astart_image_url. Se fornisci soloend_image_url, sarà rifiutato.kling-v3/kling-v3-omniaccettanodurationtra 3 e 15 secondi interi; gli altri modelli solo 5 o 10.generate_audiodi default èfalse, supportato solo dakling-v3,kling-v3-omni,kling-v2-6(solo in modalità pro).
Funzionalità di estensione video
Per continuare a generare un video Kling già esistente, impostaaction a extend e inserisci l’ID del video. L’ID si ottiene tramite le procedure di utilizzo base, vedi esempio:

Nota: qui, video_id è l’ID del video generato; se non sai come generare video, consulta le indicazioni di utilizzo di base sopra.
Poi, puoi specificare ulteriormente il prompt di estensione, ad esempio:
model: modelli supportati:kling-v1,kling-v1-5,kling-v1-6.mode: modalità (standardstd, rapidopro, 4k4k).duration: durata del nuovo video, tipicamente 5 o 10 secondi.start_image_url: URL immagine di riferimento iniziale, richiesto seaction=image2video.prompt: parole chiave.


Callback asincrono
Poiché il processo di generazione può richiedere circa 1-2 minuti, se la richiesta HTTP si protrae, può consumare risorse di sistema. Per questo, l’API supporta callback asincroni. Il flusso è: il client invia richiesta specificandocallback_url. L’API risponde subito con un risultato contenente task_id. Quando il task è completato, il risultato viene inviato tramite POST a callback_url, includendo task_id per correlare i risultati.
Per esempio:
- Per il callback, si può usare un servizio pubblico come https://webhook.site/, che genera URL personalizzati. Copiare l’URL fornito come callback.
-
Configurare
callback_urlnel payload con l’URL appena ottenuto. - Eseguire la richiesta, che risponderà immediatamente con:
- Successivamente, verificare la risposta di callback sulla piattaforma di webhook, dove si riceverà il payload completo:
Gestione degli errori
In caso di errore, l’API ritorna codici e messaggi come:400 token_mismatched: richiesta non valida, parametri assenti o errati.400 api_not_implemented: funzione non implementata.401 invalid_token: autorizzazione fallita.429 too_many_requests: limite raggiunto.500 api_error: errore interno.

