Usa l'API RunComfy per eseguire kling/kling-video-o3/pro/text-to-video. Per input e output accettati, consulta lo schema.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/kling/kling-video-o3/pro/text-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Golden hour on a coastal cliff, a lone surfer carries a longboard down a winding stone path toward turquoise waves, slow cinematic tracking shot, warm rim light, photoreal detail, gentle wind in the grass."
}'Imposta la variabile d'ambiente YOUR_API_TOKEN con la tua chiave API (gestione nel Profilo) e includi in ogni richiesta un token Bearer nell'intestazione Authorization : Authorization: Bearer $YOUR_API_TOKEN.
Invia un job di generazione asincrono e ricevi subito un request_id e URL per stato, risultati e annullamento.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/kling/kling-video-o3/pro/text-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Golden hour on a coastal cliff, a lone surfer carries a longboard down a winding stone path toward turquoise waves, slow cinematic tracking shot, warm rim light, photoreal detail, gentle wind in the grass."
}'Recupera lo stato corrente per un request_id ("in_queue", "in_progress", "completed" o "cancelled").
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/status \
--header "Authorization: Bearer <token>"Recupera output finali e metadati per il request_id; se il job non è completo, la risposta restituisce lo stato corrente per continuare il polling.
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/result \
--header "Authorization: Bearer <token>"Annulla un job in coda tramite request_id; i job in corso non possono essere annullati.
curl --request POST \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/cancel \
--header "Authorization: Bearer <token>"Fornisci un URL HTTPS raggiungibile pubblicamente. L'host deve consentire fetch lato server (senza login/cookie), senza rate limit eccessivo o blocco bot. Consigliato: immagini ≤ 50 MB (~4K), video ≤ 100 MB (~2–5 min a 720p). Per asset privati, URL stabili o pre-firmati.
{
"type": "object",
"title": "Schema di input",
"required": [
"prompt"
],
"properties": {
"prompt": {
"title": "Prompt",
"description": "Descrivi scena, personaggi, movimento di camera, illuminazione e atmosfera che il modello deve rendere.",
"type": "string",
"default": "Golden hour on a coastal cliff, a lone surfer carries a longboard down a winding stone path toward turquoise waves, slow cinematic tracking shot, warm rim light, photoreal detail, gentle wind in the grass."
},
"aspect_ratio": {
"title": "Proporzioni (L:A)",
"description": "Formato del fotogramma in uscita: 16:9 per l’orizzontale, 9:16 per i social verticali e 1:1 per il quadrato.",
"type": "string",
"enum": [
"16:9",
"9:16",
"1:1"
],
"default": "16:9"
},
"duration": {
"title": "Durata (secondi)",
"description": "Durata della clip generata in secondi. Il prezzo cresce linearmente con la durata scelta.",
"type": "integer",
"enum": [
5,
10
],
"default": 5
},
"sound": {
"title": "Genera audio",
"description": "Se attivo, genera insieme al video audio ambientale ed effetti coerenti. Aggiunge circa il 25% al costo per secondo.",
"type": "boolean",
"default": false
},
"shot_type": {
"title": "Modalità di montaggio",
"description": "Modalità di montaggio. Usa intelligent per lasciare al modello la gestione automatica di ritmo e struttura, oppure customize per un controllo preciso guidato dal prompt.",
"type": "string",
"enum": [
"customize",
"intelligent"
],
"default": "customize"
},
"multi_prompt": {
"title": "Prompt multipli",
"description": "Segmenti di prompt aggiuntivi che guidano progressione e transizioni della scena. La somma delle durate dei segmenti deve coincidere con la durata totale del video.",
"type": "array",
"items": {
"prompt": {
"title": "Prompt",
"description": "Segmento di prompt aggiuntivo per guidare una transizione o la progressione della scena.",
"type": "string",
"format": "str"
},
"duration": {
"title": "Durata",
"description": "Durata del segmento di prompt in secondi.",
"type": "integer",
"format": "int_slider_with_range",
"minimum": 3,
"maximum": 15,
"default": 5
}
},
"maxItems": 20,
"minItems": 0
}
}
}{
"output": {
"type": "object",
"properties": {
"image": {
"type": "string",
"format": "uri",
"description": "URL immagine singola"
},
"video": {
"type": "string",
"format": "uri",
"description": "URL video singolo"
},
"images": {
"type": "array",
"description": "più URL immagine",
"items": {
"type": "string",
"format": "uri"
}
},
"videos": {
"type": "array",
"description": "più URL video",
"items": {
"type": "string",
"format": "uri"
}
}
}
}
}RunComfy è la piattaforma principale ComfyUI che offre ComfyUI online ambiente e servizi, insieme a workflow di ComfyUI con visuali mozzafiato. RunComfy offre anche AI Models, consentire agli artisti di sfruttare gli ultimi strumenti di AI per creare arte incredibile.