Usa l'API RunComfy per eseguire wan-ai/wan-2-2/lora/text-to-image. 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/text-to-image \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Cinematic portrait of a woman in a rain soaked city at night, practical lighting, anamorphic bokeh, realistic skin texture",
"loras": [
{
"path": "https://huggingface.co/Instara/instagirlmix-wan-2.2/blob/main/WAN2.2_HighNoise_InstagirlMix_V1.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/text-to-image \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "Cinematic portrait of a woman in a rain soaked city at night, practical lighting, anamorphic bokeh, realistic skin texture",
"loras": [
{
"path": "https://huggingface.co/Instara/instagirlmix-wan-2.2/blob/main/WAN2.2_HighNoise_InstagirlMix_V1.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",
"loras"
],
"properties": {
"prompt": {
"title": "Prompt",
"description": "Descrivi soggetto, azione, ambiente, inquadratura e direzione visiva desiderata.",
"type": "string",
"default": "Cinematic portrait of a woman in a rain soaked city at night, practical lighting, anamorphic bokeh, realistic skin texture"
},
"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/Instara/instagirlmix-wan-2.2/blob/main/WAN2.2_HighNoise_InstagirlMix_V1.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
},
"image_size": {
"title": "Dimensioni immagine (L:A)",
"description": "Scegli una delle 7 dimensioni, inclusa `Custom`; il valore predefinito è `square_hd`.",
"type": "string",
"enum": [
"square_hd",
"square",
"portrait_4_3",
"portrait_16_9",
"landscape_4_3",
"landscape_16_9",
"Custom"
],
"default": "square_hd"
},
"image-format": {
"title": "Formato immagine",
"description": "Scegli `png` o `jpeg`; il valore predefinito è `jpeg`.",
"type": "string",
"enum": [
"png",
"jpeg"
],
"default": "jpeg"
},
"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": 74965
}
}
}{
"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.