Nodes/☁️BizyAir Nodes/☁️BizyAir NunchakuPulidApply
ComfyUI Node

☁️BizyAir NunchakuPulidApply

Pasting a face's identity onto a quantized Flux model

By siliconflow·Created 2 years ago·Updated 11 months ago· 855
☁️BizyAir NunchakuPulidApply
  • pulid
  • image
  • model
  • BIZYAIR_MODEL
ip_weight1.00

This is the node where PuLID's identity actually gets injected into your generation. Everything upstream of it - loading the model, loading PuLID's weights - is setup; this is the apply step, where a reference face turns into a conditioning signal the model has to respect while it denoises.

PuLID is ByteDance's identity adapter, and its whole pitch is that it degrades your prompt and your model's style less than older identity tools. Instead of just cramming a face embedding into cross-attention and hoping for the best, it was trained with a contrastive setup - one branch conditioned on the identity, one branch not, pushed to stay close to each other - so injecting a face doesn't wreck everything else about the generation the way earlier adapters did. That's the actual reason PuLID became the default for Flux face work: not because the face-similarity number was dramatically better than InstantID's (it's close), but because the text-following and image-quality numbers were.

The inputs and outputs that matter

  • pulid (BIZYAIR_PULID) - comes straight from a NunchakuPulidLoader upstream. Not optional, and not swappable for anything else.
  • image - the reference photo. Its tooltip is direct about the job: "the image to encode." This is the face PuLID extracts identity from.
  • model (BIZYAIR_MODEL) - the nunchaku (quantized) Flux model this identity gets patched into.
  • ip_weight - default 1, range 0–2. This is the one dial you'll actually touch. Push it up for a tighter likeness match, pull it down if the face is overpowering everything else about the generation - pose, lighting, style. PuLID's whole design goal is minimizing that trade-off compared to older adapters, but it's not zero; there's still a point where cranking identity strength starts fighting your prompt.

Output: a modified BIZYAIR_MODEL, ready for your sampler.

What's underneath, worth knowing even though it's cloud-side

PuLID needs a face detector and identity embedding to work with in the first place, and the standard path for that (in the official pipeline this node mirrors) runs through InsightFace's ArcFace models. Those model weights are released for non-commercial research use only - the code is MIT, the pretrained weights aren't - which is the same restriction sitting underneath nearly every no-training face tool in this space (FaceID, InstantID, ReActor). Running this through BizyAir's cloud doesn't change what's underneath it, only who's operating the server; if you're building something commercial on top of BizyAir's PuLID nodes, that's worth a look at BizyAir's own terms rather than assuming the license question disappears because you didn't install anything locally.

Installing it

ComfyUI Manager: search BizyAir, install, restart - or:

cd ComfyUI/custom_nodes
git clone https://github.com/siliconflow/BizyAir.git

Set your BizyAir API key on first use.

Where people get burned

Getting a blurry or "almost right but off" face is normal for PuLID generally, not a sign you did something wrong - the honest community consensus is that PuLID nails the skeleton (face shape, skin tone, general structure) and stops short of exact likeness. If you need closer to pixel-perfect, the standard recipe is PuLID for structure, then a pixel-level face-swap pass on top for the final likeness - not cranking ip_weight past what the model can do gracefully. And remember the type chain: this node's BIZYAIR_MODEL output only plugs into other BizyAir nodes, so keep the sampler and everything after it inside the same BizyAir pipeline until you're back to a plain IMAGE.

Category☁️BizyAir/Nunchaku

Inputs (4)

NameTypeDefaultDescription
pulidBIZYAIR_PULIDfrom Nunchaku Pulid Loader
imageIMAGEThe image to encode
modelBIZYAIR_MODELThe nunchaku model.
ip_weightFLOAT1.000–2ip_weight

Outputs (1)

NameTypeDescription
BIZYAIR_MODELBIZYAIR_MODEL