Usa l'API RunComfy per eseguire kling/kling-video-o1/image-to-video. Per input e output accettati, consulta lo schema.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/kling/kling-video-o1/image-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "The girl is walking on the street",
"start_image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7243/media-files/input-1-1.png",
"end_image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7243/media-files/input-1-2.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/image-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "The girl is walking on the street",
"start_image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7243/media-files/input-1-1.png",
"end_image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7243/media-files/input-1-2.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",
"start_image_url",
"end_image_url"
],
"properties": {
"prompt": {
"title": "Prompt",
"description": "Istruzione richiesta. Utilizza `@Image1` per fare riferimento al frame iniziale e `@Image2` per il frame finale.",
"type": "string",
"default": "The girl is walking on the street"
},
"start_image_url": {
"title": "Immagine iniziale",
"description": "Immagine del primo fotogramma obbligatoria. Tipi accettati: `jpg`, `jpeg`, `png`, `webp`, `gif`, `avif`.",
"type": "string",
"default": "https://playgrounds-storage-public.runcomfy.net/tools/7243/media-files/input-1-1.png",
"validations": [
{
"validation_rule": "file_size_mb<",
"validation_value": 10,
"validation_error": "Il file deve avere una dimensione inferiore a 10 MB."
},
{
"validation_rule": "width_pixels>",
"validation_value": 300,
"validation_error": "La larghezza e l’altezza dell’immagine caricata devono entrambe superare 300 pixel."
},
{
"validation_rule": "height_pixels>",
"validation_value": 300,
"validation_error": "La larghezza e l’altezza dell’immagine caricata devono entrambe superare 300 pixel."
},
{
"validation_rule": "width/height>",
"validation_value": 0.4,
"validation_error": "Le proporzioni devono essere comprese tra 0.40 e 2.50."
},
{
"validation_rule": "width/height<",
"validation_value": 2.5,
"validation_error": "Le proporzioni devono essere comprese tra 0.40 e 2.50."
}
]
},
"end_image_url": {
"title": "Immagine finale",
"description": "Immagine dell'ultimo fotogramma obbligatoria. Tipi accettati: `jpg`, `jpeg`, `png`, `webp`, `gif`, `avif`.",
"type": "string",
"default": "https://playgrounds-storage-public.runcomfy.net/tools/7243/media-files/input-1-2.png",
"validations": [
{
"validation_rule": "file_size_mb<",
"validation_value": 10,
"validation_error": "Il file deve avere una dimensione inferiore a 10 MB."
},
{
"validation_rule": "width_pixels>",
"validation_value": 300,
"validation_error": "La larghezza e l’altezza dell’immagine caricata devono entrambe superare 300 pixel."
},
{
"validation_rule": "height_pixels>",
"validation_value": 300,
"validation_error": "La larghezza e l’altezza dell’immagine caricata devono entrambe superare 300 pixel."
},
{
"validation_rule": "width/height>",
"validation_value": 0.4,
"validation_error": "Le proporzioni devono essere comprese tra 0.40 e 2.50."
},
{
"validation_rule": "width/height<",
"validation_value": 2.5,
"validation_error": "Le proporzioni devono essere comprese tra 0.40 e 2.50."
}
]
},
"duration": {
"title": "Durata (secondi)",
"description": "Durata del video in secondi. I valori esatti sono 5 e 10.",
"type": "integer",
"enum": [
5,
10
],
"default": 5
}
}
}{
"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.