PVL ComfyDeploy API Caller
A very specific ComfyDeploy deployment, driven from your graph
- human_reference
- image
- text
ComfyDeploy is the service that runs a ComfyUI workflow you built elsewhere as a hosted, queueable deployment - you hit its API with a deployment ID, it runs the workflow in the cloud, and returns the outputs. This node is a client for exactly that: it queues a run on a specific deployment, polls until it's done, and pulls back the image (and a text file) into your local graph. It's part of the pvlprk/comfyui-pvl-api-nodes pack, and it sits alongside the fal nodes as the pack's second cloud route.
The honest caveat: this is a specific client, not a general one. Look at its inputs - mode (text/person/both), three_view, nonHumanChar, t5_clip_prompt_splitter, add_missing_clothes, gemini_gpt_switch - and it's obvious this was built against one particular character-model deployment (the "person / 3-view / clothes" vocabulary gives it away). If that deployment is the one you're using, this is the fastest way to drive it. If not, its sibling PVL ComfyDeploy Universal is the generic fallback.
How it works
It POSTs a payload to https://api.comfydeploy.com/api/run/deployment/queue with your deployment_id and api_key, injecting prompt, the human_reference image (base64 PNG), and the batch/character parameters into the deployment's inputs. Then it polls .../api/run/{run_id} every 5 seconds (up to ~150s) looking for output files - images (.png/.jpg/.jpeg/.webp) become the image output, a .txt file becomes text. If no image arrives in time, it raises a timeout rather than silently returning nothing.
Inputs that matter
deployment_idandapi_key(both required) - the deployment you own on ComfyDeploy and its API key.mode(text/person/both),three_view,batch_size,seed- the character-parameter controls that match the target deployment.promptandhuman_reference(IMAGE, optional) - the actual content.
Outputs: image (IMAGE) and text (STRING) - text stays empty if the deployment never emits a .txt.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/pvlprk/comfyui-pvl-api-nodes
Restart ComfyUI. You'll need a ComfyDeploy account, a deployment, and its API key - ComfyDeploy itself is a real, established service, but this node assumes you already have one configured. The pack's requirements.txt covers the requests dependency.
Where people get burned
- The fixed parameters are the trap.
nonHumanChar,gemini_gpt_switch,T5-CLIP_prompt_splitterare hardcoded into the payload because they matched one deployment's input schema. If your deployment doesn't define those inputs, the run may reject the payload - use the Universal node instead and name your parameters yourself. - Cloud runs cost and take time. The ~150s polling window is generous but not infinite; heavy workflows that exceed it will time out on you.
- It assumes one image + one text file out. If your deployment returns multiple images or nonstandard outputs, this client only surfaces the first of each - the Universal node is the better fit for anything unusual.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| deployment_id | STRING | — | |
| api_key | STRING | — | |
| batch_size | INT | 1 | — |
| nonHumanChar | BOOLEAN | false | — |
| mode | COMBO | 3 options: text, person, both | |
| three_view | BOOLEAN | false | — |
| gemini_gpt_switch | BOOLEAN | false | — |
| seed | INT | 0 | — |
| t5_clip_prompt_splitter | BOOLEAN | false | — |
| add_missing_clothes | BOOLEAN | false | — |
| promptopt | STRING | — | |
| human_referenceopt | IMAGE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| text | STRING | — |