Usa l'API RunComfy per eseguire wan-ai/wan-2-2/lora/image-to-video. Per input e output accettati, consulta lo schema.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/wan-ai/wan-2-2/lora/image-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "The woman is walking slowly",
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase5-1-2-input.jpg",
"loras": [
{
"path": "https://huggingface.co/neph1/hard_cut_wan_lora/blob/main/hard_cut_200_wan_i2v_high.safetensors",
"transformer": "both",
"scale": 1
}
]
}'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/wan-ai/wan-2-2/lora/image-to-video \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "The woman is walking slowly",
"image_url": "https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase5-1-2-input.jpg",
"loras": [
{
"path": "https://huggingface.co/neph1/hard_cut_wan_lora/blob/main/hard_cut_200_wan_i2v_high.safetensors",
"transformer": "both",
"scale": 1
}
]
}'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",
"image_url",
"loras"
],
"properties": {
"image_url": {
"title": "Immagine iniziale",
"description": "URL obbligatorio dell’immagine usata come fotogramma iniziale del video.",
"type": "string",
"default": "https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase5-1-2-input.jpg"
},
"prompt": {
"title": "Prompt",
"description": "Descrivi soggetto, azione, ambiente, inquadratura e direzione visiva desiderata.",
"type": "string",
"default": "The woman is walking slowly"
},
"loras": {
"title": "LoRA",
"description": "Elenco obbligatorio di massimo 3 LoRA; ogni percorso può essere un URL o l’ID di un repository Hugging Face.",
"type": "array",
"default": [
{
"path": "https://huggingface.co/neph1/hard_cut_wan_lora/blob/main/hard_cut_200_wan_i2v_high.safetensors",
"transformer": "both",
"scale": 1
}
],
"items": {
"path": {
"title": "Percorso LoRA",
"description": "URL o ID repository Hugging Face (owner/repo) dei pesi LoRA.",
"type": "string",
"format": "str",
"default": ""
},
"transformer": {
"title": "Destinazione LoRA",
"description": "Scegli `high`, `low` o `both`; il valore predefinito è `both`.",
"type": "string",
"format": "str_with_choice",
"enum": [
"high",
"low",
"both"
],
"default": "both"
},
"scale": {
"title": "Intensità LoRA",
"description": "Intensità di applicazione da 0 a 4; il valore predefinito è 1.",
"type": "float",
"format": "float_slider_with_range",
"minimum": 0,
"maximum": 4,
"default": 1
}
},
"maxItems": 3,
"minItems": 0
},
"num_frames": {
"title": "Numero di fotogrammi",
"description": "Valore da 17 a 161; il valore predefinito è 81.",
"type": "integer",
"default": 81,
"minimum": 17,
"maximum": 161
},
"frames_per_second": {
"title": "Fotogrammi al secondo",
"description": "Valore da 4 a 60; il valore predefinito è 16.",
"type": "integer",
"default": 16,
"minimum": 4,
"maximum": 60
},
"resolution": {
"title": "Risoluzione",
"description": "Scegli `480p`, `580p` o `720p`; il valore predefinito è `480p`.",
"type": "string",
"enum": [
"480p",
"580p",
"720p"
],
"default": "480p"
},
"aspect_ratio": {
"title": "Proporzioni (L:A)",
"description": "Scegli `16:9`, `9:16`, `1:1` o `auto`; il valore predefinito è `auto`.",
"type": "string",
"enum": [
"16:9",
"9:16",
"1:1",
"auto"
],
"default": "auto"
},
"num_inference_steps": {
"title": "Numero di passaggi di inferenza",
"description": "Valore da 2 a 40; il valore predefinito è 27.",
"type": "integer",
"default": 27,
"minimum": 2,
"maximum": 40
},
"negative_prompt": {
"title": "Prompt negativo",
"description": "Descrizione facoltativa degli elementi da evitare.",
"type": "string",
"default": ""
},
"seed": {
"title": "Seed",
"description": "Seed intero da 10000 a 99999.",
"type": "integer",
"maximum": 99999,
"minimum": 10000,
"default": 15775
}
}
}{
"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.