ComfyDeploy API Node (Soze)
Fire off a ComfyDeploy run from inside ComfyUI
- run_id
- status
This one's a bit meta: it's a ComfyUI node whose whole job is to call another ComfyUI workflow running somewhere else, over HTTP. ComfyDeploy is a hosted platform where you publish a workflow as a "deployment" and then trigger it via API instead of opening the UI and hitting queue - think of it as putting a workflow behind an endpoint. This node is the trigger: give it a deployment and some parameters, it fires the request and hands you back a run ID so you can go check on it later.
It's the dispatch step of a small pipeline this pack builds out of separate parts - a parameter builder feeds it, and a download/retrieval node on the other end collects the result. This node by itself does neither of those; it only queues the job.
How it works
You point it at a ComfyDeploy deployment (deployment_id) and hand it a parameters blob, and it POSTs a queue request to ComfyDeploy's API. That call returns almost immediately with a run_id and a starting status - it does not block waiting for the run to finish. ComfyDeploy runs the actual workflow on its own infrastructure, on its own time; this node just kicks it off. If you want the finished output, that's a separate node's job (ComfyDeploy API Download Files), fed with the run_id this one gives you.
The inputs and outputs that matter
Three required fields:
api_parameters(STRING) - the payload for whatever inputs your deployed workflow expects. You don't hand-type this; it's built upstream by one of the pack's parameter nodes (ComfyDeploy API String Parameters,Int Parameters,Mixed Parameters, etc.), which package up name/value pairs into the string this node needs.api_url(defaulthttps://api.comfydeploy.com/api/run/deployment/queue) - the queue endpoint. Leave it unless ComfyDeploy changes their API or you're pointing at a self-hosted instance.deployment_id- the ID of the specific workflow you published on ComfyDeploy. You get this from their dashboard after deploying - this node can't create a deployment for you, only trigger an existing one.
Two outputs: run_id (the handle you need to check on this job later) and status (whatever ComfyDeploy reports immediately after queueing - typically something like "queued" or "pending", not a finished result).
How to install it
Via ComfyUI Manager: search "Quality of Life Nodes for ComfyUI" (or "Soze"), install, restart. By hand:
cd ComfyUI/custom_nodes
git clone https://github.com/SozeInc/ComfyUI_Soze.git
pip install -r ComfyUI_Soze/requirements.txt
then restart ComfyUI. On top of that, this node specifically needs a ComfyDeploy API key set as the CD_API_KEY environment variable (or in a .env file at the repo root) - it's read from your environment, not typed into the node. No key, no working node.
Common issues & troubleshooting
Nothing happens, or you get an auth error. Check CD_API_KEY first. It's the single most likely thing to be missing since it's invisible on the node itself - there's no widget for it, so a missing key looks like a silent failure rather than an obvious red box.
Wrong deployment_id. This has to be a deployment you've actually published on ComfyDeploy under the account tied to your API key - copy it fresh from their dashboard rather than reusing an old ID, since deployments get replaced when you republish a workflow.
You expected an image back and got a run_id instead. That's correct behavior, not a bug - this node only queues the job. Pair it with ComfyDeploy API Download Files (poll/download) to actually get results, either right after in the same graph or in a later run using a cached run_id.
This pack is small and low-traffic - worth knowing going in. It's one developer's personal toolbox, not a widely-adopted pack, so if you hit an edge case, don't expect a big community thread to already have the answer waiting; the README and the source are your best references.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| api_parameters | STRING | — | |
| api_url | STRING | https://api.comfydeploy.com/api/run/deployment/queue | — |
| deployment_id | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| run_id | STRING | — |
| status | STRING | — |