API reference
ComfyUI
ComfyUI with ITS INCOM AI: the editor in the browser, the add-on that runs your ComfyUI Desktop jobs on our GPUs, and ComfyUI's own API with your key.
Last updated: 2026-11-10
ITS INCOM AI runs ComfyUI on its own GPUs. You build the workflow, our machines do the computing, and you pay for the seconds a machine works on your job. There are three ways in, with the same account, the same models and the same price:
| Way in | Where the editor lives | What you install |
|---|---|---|
| Editor in the browser | https://my.ai.itsincom.org/comfy/ | nothing |
| ComfyUI Desktop with the add-on | your computer | ComfyUI Desktop and the add-on |
| ComfyUI's API | your script | nothing |
The page https://ai.itsincom.org/comfyui has the examples, the models with their licences and the price per second.
The editor in the browser
Sign in to the dashboard and open ComfyUI. Workflows are saved in your account and results stay in the cloud for 30 days. The models are already installed: the template browser's "missing models" notice does not apply.
ComfyUI Desktop with the add-on
The add-on puts a button next to Run. It decides where Run runs the workflow: on this computer or on our GPUs. In cloud mode the whole graph is sent, progress and previews come back while the machine works, and the results are saved in this computer's output folder.
Install it once per computer.
macOS and Linux:
curl -fsSL https://ai.itsincom.org/comfyui/install.sh | sh
Windows (PowerShell):
irm https://ai.itsincom.org/comfyui/install.ps1 | iex
The installer looks for ComfyUI's folder, downloads the add-on and unpacks it
into custom_nodes/comfyui-cloud-gpu. Where it does not find the folder, pass
it: curl -fsSL https://ai.itsincom.org/comfyui/install.sh | sh -s -- /path/to/ComfyUI.
By hand, download the zip and unpack it into
custom_nodes. Then restart ComfyUI, press the button next to Run, paste an
API key and choose ITS INCOM AI.
| Setting | Where |
|---|---|
| Key and chosen mode | user/cloud_gpu.json in ComfyUI's folder, readable only by you |
| Key from the environment | CLOUD_GPU_KEY, for a shared or scripted install |
| Server from the environment | CLOUD_GPU_SERVER |
What to expect in cloud mode:
- The node search and the model lists show what our machines have. A workflow that uses a node we do not have is stopped before it starts, with the node's name, and nothing is charged.
- Files the workflow loads from the input folder are uploaded before the job, once per content.
- Cancel stops the job on the GPU.
- When the job is done a notice says the seconds, the machine and the cost.
The add-on is at version 0.1 and was tested with ComfyUI 0.44 on Linux. Tell us what you see on Windows and macOS at segreteria@itsincom.it.
ComfyUI's API
The service speaks ComfyUI's API under https://my.ai.itsincom.org/comfy/api, with
your key as a bearer token. In the editor, Workflow → Export (API) gives
the graph in the form the API takes.
Queue a job:
curl https://my.ai.itsincom.org/comfy/api/prompt \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": { ... }}'
The answer carries a prompt_id. Read the job with it:
curl https://my.ai.itsincom.org/comfy/api/jobs/PROMPT_ID -H "Authorization: Bearer $KEY"
status goes from pending to in_progress and ends as completed,
failed or cancelled. A completed job lists its files under outputs;
download each one with its filename, subfolder and type:
curl "https://my.ai.itsincom.org/comfy/api/view?filename=FILE&subfolder=cloud&type=output" \
-H "Authorization: Bearer $KEY" -o result.png
| Call | What it does |
|---|---|
POST /api/prompt |
queues a workflow |
GET /api/jobs, GET /api/jobs/{id} |
your jobs, one job |
POST /api/jobs/cancel, POST /api/interrupt |
cancels queued or running jobs |
GET /api/queue, GET /api/history |
the queue and the history, as ComfyUI gives them |
GET /api/view |
downloads a result or an uploaded file |
POST /api/upload/image, POST /api/upload/mask |
uploads an input file |
GET /api/object_info |
the nodes and the models installed |
GET /api/siati/macchine |
the machines you can use, with price per second and queue |
/ws |
ComfyUI's WebSocket: progress and previews of your own jobs |
Each user sees only their own queue, files and history.
Choosing the machine. Without a choice the job goes to the machine with
the shortest queue. To pick one, send its nome from /api/siati/macchine in
the X-Siati-Macchina header of POST /api/prompt.
What the job cost. GET /api/jobs/{id} has a siati object with the
machine, its price per second and the seconds it worked. The cost is their
product, booked when the job completes.
Limits
- 3 jobs at a time per user, queued or running.
- Input files up to 50 MB each.
- Results stay in the cloud for 30 days.
- ComfyUI's stock nodes only: no third-party node packs and no models of your own for now.
Content checks
The texts of a workflow are checked before it is queued, and every result is
checked before it is delivered. A workflow whose texts are refused is not run
and costs nothing. A result that is withheld is not delivered: the job's
siati object says how many files were withheld and why. The job did run, so
its seconds are counted.
Errors
Errors have ComfyUI's shape, {"error": {"type": "...", "message": "..."}}.
| Status | type |
When |
|---|---|---|
| 400 | prompt_refused |
the workflow's texts did not pass the content check |
| 400 | invalid_input_file |
the workflow names an input file that was not uploaded |
| 400 | ComfyUI's own types | the graph is not valid: the message and node_errors say where |
| 401 | unauthorized |
the key is missing or wrong |
| 402 | insufficient_credits |
the credit has run out |
| 403 | forbidden |
ComfyUI is not available for this account |
| 413 | upload_too_large |
the file is over the size limit |
| 429 | too_many_jobs |
you already have 3 jobs queued or running |
| 502 | engine_unreachable |
the machine does not answer: try again in a minute |
| 503 | no_engine, unavailable, check_unavailable |
no machine is free of faults right now, or a check could not be made: nothing was run |