Nodes/PuLID_ComfyUI/Load Eva Clip (PuLID)
ComfyUI Node Runs on cloud

Load Eva Clip (PuLID)

No inputs, one output, and the reason PuLID keeps your prompt clean

By cubiq·Created 2 years ago·Updated about a year ago· 910
Load Eva Clip (PuLID)
    • EVA_CLIP

    The node that needs no settings and a big download

    Load Eva Clip (PuLID) is the rare ComfyUI node with an empty settings panel. No provider, no dropdown, no sliders - you drag it onto the canvas, it outputs one EVA_CLIP object, and that's the whole UI. Everything interesting about it happens on first use, when it quietly downloads a large model file.

    That file is EVA02-CLIP-L-14-336, a roughly 1.4 GB vision encoder from BAAI, fetched from the QuanSun/EVA-CLIP repo on Hugging Face and cached in your Hugging Face directory. It only downloads once, but don't judge the node by that first run - it looks frozen while it pulls the weights. This is also the only node in the pack that needs network access at runtime; offline ComfyUI installs can't get past it.

    Why PuLID needs a second encoder at all

    Here's the design that makes PuLID different from the face-adapters that came before it, and it's worth understanding because it explains half the pack. InsightFace gives you the identity - the biometric "this is this person" vector. But identity alone is a blunt instrument; it can't tell the model anything about skin texture, hair shape, or the details that make a face look real rather than generic. That's the job of the EVA-CLIP. It reads the appearance of the aligned face crop - with the background parsed out and turned gray so it doesn't leak into the conditioning - and produces the visual features that get concatenated with the InsightFace embedding before both go into the IDEncoder.

    In plainer terms: InsightFace says "this is the person," EVA-CLIP says "and this is what they look like up close." Cut either one and you get a face that's recognizably close but missing the finish.

    Wiring and expectations

    The EVA_CLIP output feeds into the Apply PuLID node alongside the PULID, FACEANALYSIS and the reference image. It doesn't touch anything else, so there's no real wiring to get wrong - the only common mistake is forgetting to connect it at all, which leaves Apply PuLID complaining about a missing input.

    Because this encoder is detail-hungry, it's also the hidden reason the reference image quality matters so much. The README is blunt about it: "The quality of the reference image is very important... Be sure to use a clean and sharp picture!" The EVA-CLIP faithfully encodes whatever you give it, including the blur and noise. A soft, phone-in-the-dark reference gets you a soft, muddy identity transfer, and no amount of weight tweaking in the Apply node fixes that - it's garbage-in at the encoder.

    Install

    Same pack install as the rest of PuLID:

    cd ComfyUI/custom_nodes
    git clone https://github.com/cubiq/PuLID_ComfyUI
    

    Restart ComfyUI (or install via ComfyUI Manager, search "PuLID"). This node in particular pulls in the pack's timm and ftfy dependencies - the bundled eva_clip code is a trimmed copy of open_clip and wants both. If the node loads but errors on the download, check your HF cache is writable and you're not on a proxy-blocked network. First run is the test: watch for the download progress, and know that this is the slow node, once.

    Categorypulid

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    EVA_CLIPEVA_CLIP