Usa l'API RunComfy per eseguire qwen/qwen-image-2.1/edit. Per input e output accettati, consulta lo schema.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/qwen/qwen-image-2.1/edit \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7461/media-files/output-example1-4.webp"
],
"prompt": "Change the background to a warm golden-hour studio and add soft rim lighting, keep the subject and clothing unchanged."
}'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/qwen/qwen-image-2.1/edit \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7461/media-files/output-example1-4.webp"
],
"prompt": "Change the background to a warm golden-hour studio and add soft rim lighting, keep the subject and clothing unchanged."
}'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": [
"image_urls",
"prompt"
],
"properties": {
"image_urls": {
"title": "Immagine/i di input",
"description": "Da una a dieci immagini di riferimento. L'ordine corrisponde al prompt (la prima immagine, la seconda immagine). JPEG, PNG, o WebP; ogni file fino a 30MB e 25MP. Mantieni quattro o meno quando l'identità deve rimanere nitida.",
"type": "array",
"items": {
"type": "string",
"format": "image_uri"
},
"minItems": 1,
"maxItems": 10,
"validations": [
{
"validation_rule": "file_size_mb<",
"validation_value": 30,
"validation_error": "File size must be less than 30 MB."
}
],
"default": [
"https://playgrounds-storage-public.runcomfy.net/tools/7461/media-files/output-example1-4.webp"
]
},
"prompt": {
"title": "Istruzione di modifica",
"description": "Descrivi il cambiamento in linguaggio semplice: cosa aggiungere, rimuovere, rinnovare o sostituire. Riporta testualmente qualsiasi testo. Con una maschera, descrivi cosa dovrebbe apparire nell'area bianca.",
"type": "string",
"default": "Change the background to a warm golden-hour studio and add soft rim lighting, keep the subject and clothing unchanged."
},
"mask_url": {
"title": "Immagine maschera",
"description": "Maschera locale opzionale in bianco e nero. Il bianco indica l'area da modificare; il nero rimane. Richiede esattamente un'immagine di riferimento, non può essere usata con uno sfondo trasparente e ignora le proporzioni e la riscrittura del prompt.",
"type": "string"
},
"aspect_ratio": {
"title": "Formato (L:A)",
"description": "Rapporto d'aspetto di output. auto utilizza il primo riferimento. Ignorato in modalità maschera.",
"type": "string",
"enum": [
"auto",
"1:1",
"4:3",
"3:4",
"3:2",
"2:3",
"16:9",
"9:16",
"21:9",
"9:21"
],
"default": "auto"
},
"resolution": {
"title": "Risoluzione",
"description": "Livello di dettaglio dell'output. 1K è più veloce; 2K ha circa quattro volte i pixel e costa di più.",
"type": "string",
"enum": [
"1K",
"2K"
],
"default": "1K"
},
"background": {
"title": "Sfondo",
"description": "opaco per una foto normale. trasparente scrive un vero canale alfa — descrivi solo il soggetto e non usare JPEG. Non può essere combinato con una maschera.",
"type": "string",
"enum": [
"opaque",
"transparent"
],
"default": "opaque"
},
"output_format": {
"title": "Formato di output",
"description": "PNG e WebP possono contenere un canale alfa. JPEG non può, quindi non può essere combinato con uno sfondo trasparente.",
"type": "string",
"enum": [
"png",
"webp",
"jpeg"
],
"default": "png"
},
"enhance_prompt": {
"title": "Migliora il prompt",
"description": "Riscrivi una breve istruzione in una scena più completa prima di modificare. Disattivalo quando l'istruzione è già esatta. Ignorato in modalità maschera.",
"type": "boolean",
"default": true
},
"seed": {
"title": "Seed",
"description": "Semi casuale per la riproducibilità. Usa -1 per un seme casuale a ogni esecuzione.",
"type": "integer",
"default": -1
}
}
}{
"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.