Nodes/ComfyUI-PuLID-Flux-Chroma/ChromaPulidFluxEvaClipLoader
ComfyUI Node

ChromaPulidFluxEvaClipLoader

The EVA-CLIP loader with no settings

By nazgut·Created about a year ago·Updated about a year ago· 0
ChromaPulidFluxEvaClipLoader
    • EVA_CLIP

    ChromaPulidFluxEvaClipLoader is the most boring node in the PuLID-Flux-Chroma pack, and that's the nicest thing you can say about a loader. Zero inputs, zero settings, one output. You drop it on the canvas, it builds a face-encoding model, and it hands that model to the apply node. It's the part of PuLID almost nobody talks about, because the other half gets all the drama.

    Why you need a whole node for this

    PuLID doesn't build identity from a single vector. It pairs the ArcFace embedding that InsightFace produces with visual features from a large CLIP model, concatenates the two, and feeds the combined condition through its ID encoder. The InsightFace half is the recognition backbone that makes a face a face. This loader is the CLIP half - it creates EVA02-CLIP-L-14-336 and exposes just its visual encoder, which is all PuLID needs (no text tower, no captioning).

    So if the ChromapplyPulidFlux node is the engine, this loader is one of the three parts bolted on top of it. Miss it and the apply node has nothing to condition on.

    How it works

    It calls the vendored EVA-CLIP factory, creates the EVA02-CLIP-L-14-336 model with a custom CLIP implementation, and returns model.visual. On first run it downloads the pretrained weights from HuggingFace (QuanSun/EVA-CLIP), which is a multi-GB fetch - expect the first execution to hang for a while. After that it's cached, and later runs are effectively instant.

    Install and gotchas

    There's nothing to configure. It ships inside the pack, so installing nazgut/ComfyUI-PuLID-Flux-Chroma gets you this node:

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

    Restart ComfyUI and it's there under the pulid category.

    The one real trap is the first-run download. That "hang" isn't a freeze - it's a model you didn't know existed downloading in the background. Give it a minute or five on a slow connection, and don't kill ComfyUI mid-fetch; the HuggingFace cache resumes cleanly if you let it finish eventually. If you'd rather see it happen, watch the console log while the node runs for the first time.

    That's the whole job. Set the reference image on the apply node, not here - this loader just quietly makes sure the face encoder exists. It's one of those nodes you'll forget about entirely after the first successful render, which is exactly how it should be.

    Categorypulid

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    EVA_CLIPEVA_CLIP