Usa l'API RunComfy per eseguire kling/kling-video-o3/standard/reference-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/standard/reference-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "The woman in Figure 1 and the man in Figure 2 stroll along a Parisian boulevard at night, glowing classic street lamps and softly lit Haussmann-style facades behind them, slow tracking shot, cinematic warm lighting, photoreal detail."
}'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/standard/reference-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "The woman in Figure 1 and the man in Figure 2 stroll along a Parisian boulevard at night, glowing classic street lamps and softly lit Haussmann-style facades behind them, slow tracking shot, cinematic warm lighting, photoreal detail."
}'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 e azione. Richiama i riferimenti per posizione, ad esempio: 'The man in Figure 2 walks with the woman in Figure 1 through a sunlit park.'",
"type": "string",
"default": "The woman in Figure 1 and the man in Figure 2 stroll along a Parisian boulevard at night, glowing classic street lamps and softly lit Haussmann-style facades behind them, slow tracking shot, cinematic warm lighting, photoreal detail."
},
"images": {
"title": "Immagini di riferimento",
"description": "Immagini di personaggi, oggetti o stili. Fino a 7 senza video di riferimento, oppure fino a 4 quando è presente anche un video.",
"type": "array",
"maxItems": 7,
"minItems": 0,
"default": [
"https://playgrounds-storage-public.runcomfy.net/tools/7361/media-files/refs/ref_woman_euro.png",
"https://playgrounds-storage-public.runcomfy.net/tools/7361/media-files/refs/ref_man_euro.png"
]
},
"video": {
"title": "URL del video di riferimento",
"description": "Video facoltativo per guidare il movimento, trasferire lo stile o mantenere la continuità della scena. Se presente, si applica la tariffa con video di riferimento.",
"type": "string"
},
"aspect_ratio": {
"title": "Proporzioni (L:A)",
"description": "Formato del fotogramma in uscita: 16:9 orizzontale, 9:16 verticale per i social e 1:1 quadrato.",
"type": "string",
"enum": [
"16:9",
"9:16",
"1:1"
],
"default": "16:9"
},
"duration": {
"title": "Durata (secondi)",
"description": "Durata della clip generata in secondi (3-15).",
"type": "integer",
"minimum": 3,
"maximum": 15,
"default": 5
},
"sound": {
"title": "Genera audio",
"description": "Se attivo, genera audio sincronizzato insieme al video. Aggiunge circa il 33% al costo per secondo e non ha effetto quando è presente un video di riferimento.",
"type": "boolean",
"default": false
},
"keep_original_sound": {
"title": "Mantieni l’audio originale",
"description": "Quando è presente un video di riferimento, conserva la sua traccia audio originale nel risultato generato.",
"type": "boolean",
"default": true
},
"shot_type": {
"title": "Modalità di montaggio",
"description": "Ambito del montaggio: intelligent sceglie automaticamente ritmo e tagli, mentre customize offre un controllo manuale guidato dal prompt.",
"type": "string",
"enum": [
"customize",
"intelligent"
],
"default": "customize"
}
}
}{
"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.