Nodes/ComfyUI-nunchaku/Nunchaku PuLID Loader V2
ComfyUI Node Runs on cloud

Nunchaku PuLID Loader V2

Load PuLID face identity onto a 4-bit Flux

By nunchaku-ai·Created about a year ago·Updated 6 months ago· 2,909
Nunchaku PuLID Loader V2
  • model
  • MODEL
  • PULID_PIPELINE
pulid_file
eva_clip_file
insight_face_providergpu

Want a specific face on your fast 4-bit Flux without training a LoRA? That's PuLID's whole job, and NunchakuPuLIDLoaderV2 is how you wire it into a Nunchaku model. It loads the PuLID identity model plus the EVA-CLIP vision encoder it needs, and outputs both a patched MODEL and a PULID_PIPELINE that the matching apply node consumes.

PuLID is ByteDance's identity adapter, and its trick isn't copying a face better - it's copying a face while breaking less, keeping prompt adherence intact where older adapters wrecked it. It became the default face tool on Flux for a much more boring reason too: it shipped a Flux port when InstantID never did. This node is the "V2" loader; the older NunchakuPulidLoader is deprecated.

How it works

PuLID needs three pieces: the PuLID weights themselves, a vision encoder (EVA-CLIP) to read the reference image's features, and a face-recognition backbone (InsightFace) to turn the reference face into an identity embedding. This node loads them and bundles the setup into a PULID_PIPELINE, and also returns the MODEL prepared for identity injection. You then pass both into NunchakuFluxPuLIDApplyV2 with your actual reference photo.

The reason it's a Nunchaku-specific node and not just stock PuLID: it has to hook identity into a 4-bit quantized Flux, which the vanilla PuLID nodes don't understand.

The inputs and outputs that matter

  • model (MODEL) - your Nunchaku Flux, from NunchakuFluxDiTLoader.
  • pulid_file - the PuLID weights.
  • eva_clip_file - the EVA-CLIP vision encoder PuLID pairs with.
  • insight_face_provider (gpu / cpu, default gpu) - which device runs InsightFace's face detection/embedding. gpu is faster; switch to cpu if InsightFace's GPU (onnxruntime) path is fighting your setup, which it sometimes does.

Outputs are MODEL and PULID_PIPELINE - both feed into the apply node.

How to install it

Ships with ComfyUI-nunchaku. ComfyUI Manager → search "ComfyUI-nunchaku" → install, or

cd ComfyUI/custom_nodes
git clone https://github.com/mit-han-lab/ComfyUI-nunchaku

then restart. Beyond the pack's usual backend wheel and quantized Flux model, PuLID adds real dependencies: the InsightFace Python package and its face-analysis models (the antelopev2 pack), the PuLID weights, and the EVA-CLIP encoder. InsightFace is historically one of the nastier installs in this whole ecosystem - its 1.0 release finally dropped the C++ build requirement, so install a current version and save yourself the Visual Studio pain.

Common issues & troubleshooting

InsightFace won't install or import. The classic. Use InsightFace 1.0+ (no more compiling from source), and make sure it's in the same Python ComfyUI runs. If GPU inference errors, flip insight_face_provider to cpu - slower, but it dodges onnxruntime-GPU headaches.

"antelopev2 not found." That model pack isn't auto-downloaded - fetch it by hand and unzip it under ~/.insightface/models/ before debugging anything else.

Commercial use. Heads up: InsightFace's models are non-commercial. Anything built on PuLID inherits that, whatever your generation is. That's a licensing fact, not a bug - plan around it if you're selling output.

Empty file dropdowns. You're missing the PuLID and/or EVA-CLIP files. Download them into the folders Nunchaku's PuLID docs specify.

CategoryNunchaku

Inputs (4)

NameTypeDefaultDescription
modelMODELThe nunchaku model.
pulid_fileCOMBOPath to the PuLID model.
eva_clip_fileCOMBOPath to the EVA clip model.
insight_face_providerCOMBOgpuInsightFace ONNX provider.

Outputs (2)

NameTypeDescription
MODELMODEL
PULID_PIPELINEPULID_PIPELINE