Nodes/ComfyUI-PuLID-Flux-GR/GR Load PuLID Flux Model
ComfyUI Node

GR Load PuLID Flux Model

The dropdown that starts the whole thing

By GraftingRayman·Created 2 years ago·Updated 2 months ago· 60
GR Load PuLID Flux Model
    • PULIDFLUX
    pulid_file

    GR Load PuLID Flux Model is the least interesting-looking node in the pack and the one you can't skip. It's a single dropdown that loads the actual PuLID-Flux adapter - the IDFormer encoder ByteDance trained for Flux - and passes it down the wire as a PULIDFLUX object. Without it, the apply node has no idea what an identity embedding is supposed to look like.

    Think of the pack as a four-node assembly line for PuLID-on-Flux: this loader feeds the model, the InsightFace loader feeds the face detector, the Eva Clip loader feeds the CLIP encoder, and GR Apply PuLID Flux does the actual patching. This node is step one, and it's also the step beginners usually stumble on, because the README assumes you know where the weights live.

    How it works

    The node reads a dropdown of files from ComfyUI's models/pulid folder. Pick one, and it instantiates the model and calls from_pretrained on it. One detail the author got right: it loads the model into memory once and keeps it there, so fiddling with parameters on the apply node doesn't re-read the safetensors every run - you'll feel that on a several-hundred-MB adapter. It also carries proper __del__ cleanup that moves the model to CPU, deletes it, and empties the CUDA cache when the graph tears down, which was one of the "long standing issues" the GR fork was explicitly built to fix.

    The one input, and the missing one

    The only input is pulid_file, a dropdown that lists .safetensors files in models/pulid. The missing piece is where to get the file - the README is silent on it. Grab pulid_flux_v0.9.1.safetensors from ByteDance's official ToTheBeginning/PuLID GitHub releases (that's the last official Flux release, and the model file you'll see referenced in every workflow that uses these nodes) and drop it here:

    mkdir -p ComfyUI/models/pulid
    # place pulid_flux_v0.9.1.safetensors into ComfyUI/models/pulid/
    

    If the dropdown shows up empty, that's why. Restart ComfyUI after adding the file and it'll appear.

    The output is PULIDFLUX, which wires directly into the pulid_flux input on GR Apply PuLID Flux.

    Installing the pack

    Via ComfyUI Manager (search "ComfyUI-PuLID-Flux-GR") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/GraftingRayman/ComfyUI-PuLID-Flux-GR
    cd ComfyUI-PuLID-Flux-GR
    pip install -r requirements.txt
    

    Portable installs must point pip at their embedded Python: ComfyUI\python_embeded\python.exe -m pip install -r <path>\requirements.txt. The requirements (insightface, onnxruntime, onnxruntime-gpu, facexlib, timm, filterpy, …) are the heavy part, and the onnx stack is the usual pain point - the classic failure is insightface dying on a too-new onnxruntime, fixed by pinning onnx==1.14.0 and onnxruntime-gpu==1.15.0. The repo was renamed in January 2025 to stop it colliding with older PuLID installs, so don't run two ComfyUI-PuLID-Flux* folders side by side.

    The one thing to know

    This node doesn't download anything - the adapter is the only model in the whole pipeline you have to fetch by hand. Everything else (InsightFace's antelopev2, EVA-CLIP) auto-downloads. If you're following a workflow and this node is red with a missing-file error, nine times out of ten the pulid_flux_v0.9.1.safetensors file just isn't in models/pulid.

    Categorypulid

    Inputs (1)

    NameTypeDefaultDescription
    pulid_fileCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    PULIDFLUXPULIDFLUX