Usa l'API RunComfy per eseguire kling/kling-video-o1/video-to-video/reference. Per input e output accettati, consulta lo schema.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/kling/kling-video-o1/video-to-video/reference \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Based on @Video1, generate the next shot. keep the style of the video",
"video_url": "https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-1.mp4",
"elements": [
{
"frontal_image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-2.png",
"reference_image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-3.jpeg"
]
}
],
"image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-4.png"
]
}'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-o1/video-to-video/reference \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Based on @Video1, generate the next shot. keep the style of the video",
"video_url": "https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-1.mp4",
"elements": [
{
"frontal_image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-2.png",
"reference_image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-3.jpeg"
]
}
],
"image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-4.png"
]
}'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",
"video_url",
"elements",
"image_urls"
],
"properties": {
"prompt": {
"title": "Prompt",
"description": "Usa @Element1, @Element2 e così via per gli elementi e @Image1, @Image2 e così via per le immagini, seguendo l’ordine degli elenchi.",
"type": "string",
"default": "Based on @Video1, generate the next shot. keep the style of the video"
},
"video_url": {
"title": "URL video",
"description": "URL del video sorgente. Supporta solo .mp4 e .mov, 3–10 secondi, risoluzione di input 720–2160 px e massimo 200 MB.",
"type": "string",
"default": "https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-1.mp4"
},
"elements": {
"title": "Elementi",
"description": "Personaggi o oggetti da includere. Richiamali nel prompt come @Element1, @Element2 e così via, rispettando l’ordine. L’array accetta fino a 7 voci; rispetta anche il limite combinato dei riferimenti per le richieste video.",
"type": "array",
"default": [
{
"frontal_image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-2.png",
"reference_image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-3.jpeg"
]
}
],
"items": {
"frontal_image_url": {
"title": "URL immagine frontale",
"description": "Immagine frontale principale dell’elemento. Massimo 10.0 MB, minimo 300 × 300 px, proporzioni 0.40–2.50 e timeout 20.0 s.",
"type": "string",
"format": "image_uri",
"default": ""
},
"reference_image_urls": {
"title": "URL immagini di riferimento",
"description": "Altre viste dell’elemento. Fornisci da 1 a 4 URL di immagini di riferimento; ne è richiesta almeno una.",
"type": "array",
"format": "image_uris",
"items": {
"type": "string",
"format": "image_uri"
},
"default": [],
"maxItems": 4,
"minItems": 1
}
},
"maxItems": 7,
"minItems": 0
},
"image_urls": {
"title": "Immagini",
"description": "Immagini di riferimento per stile o aspetto. Richiamale nel prompt come @Image1, @Image2 e così via, rispettando l’ordine. L’array accetta fino a 4 immagini; per le richieste video, la descrizione limita a 4 il totale di elementi e immagini di riferimento.",
"type": "array",
"items": {
"type": "string",
"format": "image_uri"
},
"maxItems": 4,
"minItems": 0,
"default": [
"https://playgrounds-storage-public.runcomfy.net/tools/7246/media-files/input-1-4.png"
]
},
"aspect_ratio": {
"title": "Proporzioni (L:A)",
"description": "Proporzioni del fotogramma video generato. `auto` sceglie la corrispondenza più vicina al video di input; le altre opzioni sono `16:9`, `9:16` e `1:1`.",
"type": "string",
"enum": [
"auto",
"16:9",
"9:16",
"1:1"
],
"default": "auto"
},
"duration": {
"title": "Durata",
"description": "Durata del video generato. I valori stringa ammessi sono `5` e `10`.",
"type": "string",
"enum": [
"5",
"10"
],
"default": "5"
},
"keep_audio": {
"title": "Mantieni audio",
"description": "Stabilisce se l’output deve mantenere la traccia audio originale del video in ingresso.",
"type": "boolean",
"default": false
}
}
}{
"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.