Nodes/ComfyUI Assistant Node/PVL ComfyDeploy Avatar PulID API
ComfyUI Node

PVL ComfyDeploy Avatar PulID API

Queue an avatar-generation deployment and pull the result back

By pvlprk·Created about a year ago·Updated 8 months ago· 1
PVL ComfyDeploy Avatar PulID API
  • ref_image
  • image
deployment_id
api_key
batch1
style
prompt
seed-1
timeout60
debugfalse

Somewhere on ComfyDeploy there's a hosted workflow that takes a reference face and renders it as an avatar - the PuLID-style character/portrait generation people use for profile pics and character sheets. This node is the remote control for that: give it a ref_image plus the deployment's deployment_id and api_key, and it queues the run, polls ComfyDeploy until it's done, and returns the generated avatar as a ComfyUI IMAGE. It's a member of the pvlprk/comfyui-pvl-api-nodes pack and, like its sibling PVL ComfyDeploy Universal, it's a cloud-run client - nothing heavy runs locally, but every run consumes your ComfyDeploy quota.

The PuLID connection matters for expectations, not installation: PuLID is the identity adapter that gives a model a face (per the KB, ByteDance's contrastive-alignment adapter that won on Flux), and this deployment presumably uses that to pin the avatar to your reference. All of that is already configured in the hosted workflow - your job is just feeding it an image and the parameters it expects.

How it works

The node base64-encodes ref_image into a data URI and POSTs it, with style, prompt, batch, and seed, to the ComfyDeploy queue endpoint. It then polls the run endpoint every 3 seconds for up to ~200 seconds, grabs the first image from the outputs, converts it to a tensor, and returns it. timeout (60s default) is kept for graph compatibility but the actual poll window is the hardcoded ~200s cap - so don't set timeout below 5 and expect it to govern, and don't expect instant results on a busy cloud.

Inputs that matter

  • ref_image (required) - the face. A clean, front-facing reference gives the avatar its best shot.
  • deployment_id and api_key (required strings) - from your ComfyDeploy deployment.
  • batch (default 1), style (a style hint string, empty by default), prompt (the generation prompt), seed (-1 = random).
  • debug toggles verbose logging if something's going wrong.

Output: image (IMAGE).

Install

cd ComfyUI/custom_nodes
git clone https://github.com/pvlprk/comfyui-pvl-api-nodes

Restart ComfyUI. You need a ComfyDeploy account and the deployment's API key before this does anything useful.

Where people get burned

  • It's wired to one deployment's expectations. The input names (style, batch, ref_image) are assumptions about what that avatar workflow exposes. If your deployment names its inputs differently, you'll get a payload mismatch - the Universal node is the escape hatch.
  • Cloud identity = the reference image quality decides the outcome. A bad reference makes a bad avatar; there's no local control to compensate, since all the model-side tuning lives in the hosted workflow.
  • Timeouts and quota. Runs can take a while and cost credits; don't hammer it with batch set high. And the effective poll cap (~200s) can outrun the timeout field you set - it's a compat field, not a hard limit.
CategoryPVL/API

Inputs (9)

NameTypeDefaultDescription
ref_imageIMAGE
deployment_idSTRING
api_keySTRING
batchINT10–999999
styleSTRING
promptSTRING
seedINT-1-1–2147483647
timeoutFLOAT605–3600
debugBOOLEANfalse

Outputs (1)

NameTypeDescription
imageIMAGE