Nunchaku PuLID Loader V2
Load PuLID face identity onto a 4-bit Flux
- model
- MODEL
- PULID_PIPELINE
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, fromNunchakuFluxDiTLoader.pulid_file- the PuLID weights.eva_clip_file- the EVA-CLIP vision encoder PuLID pairs with.insight_face_provider(gpu/cpu, defaultgpu) - which device runs InsightFace's face detection/embedding.gpuis faster; switch tocpuif 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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The nunchaku model. | |
| pulid_file | COMBO | Path to the PuLID model. | |
| eva_clip_file | COMBO | Path to the EVA clip model. | |
| insight_face_provider | COMBO | gpu | InsightFace ONNX provider. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| PULID_PIPELINE | PULID_PIPELINE | — |