Nodes/ComfyUI-ZeroCLIP-nodes/ZeroClip-A Load Anchors
ComfyUI Node

ZeroClip-A Load Anchors

The file that turns numbers into concepts

By MushroomFleet·Created 5 months ago·Updated 5 months ago· 0
ZeroClip-A Load Anchors
    • anchors
    anchors_file

    ZeroClip-A's trick is to replace your text prompt with a weighted sum of pre-built CLIP embeddings - and ZeroClip-A Load Anchors is the node that loads that pre-built library. It's the "model loader" of the A variant, and it's the difference between the pack working and the node menu proudly showing you a red error box.

    Here's the mental model: the A variant bakes a vocabulary of concepts into a file called anchors.npy - a bunch of real CLIP text embeddings, one per concept, pulled from a curated vocabulary. At runtime, a seed picks a soft distribution over those anchors and sums them up. The anchor library is where the "known concepts" actually live. No anchors, no A.

    The one input that matters

    Just anchors_file, a dropdown that lists every .npy file in your ComfyUI/models/zeroclip/ folder. The output is the custom ZEROCLIP_A_ANCHORS type, which you feed into any ZeroClip-A Conditioning node (the plain, SDXL, or Batch variants all consume it).

    The loader has a nice touch: it watches the file's modification time, so if you drop in a new anchors.npy while ComfyUI is running, it picks it up on the next run without a restart. That matters if you're rebuilding anchor libraries and iterating.

    Getting the anchor file

    The loader scans models/zeroclip/, which the pack auto-creates on first load. You need anchors.npy in there, from one of two routes:

    • Download it - prebuilt files (SD1.5 and SDXL variants, plus a bootstrap set) are on huggingface.co/mushroomfleet/zeroclip. This is the "skip the build step" route.
    • Build it yourself - from the pack directory: python build_artifacts.py --variant A --out ../../models/zeroclip/anchors.npy. Takes ~2 minutes on CPU, and it needs transformers installed because it runs a CLIP text encoder over the whole vocabulary to generate the embeddings.

    For SDXL you'll want the SDXL-flavored anchor files (the seq and pooled libraries are separate files), which you'll load with two Load Anchors nodes.

    Install

    Ships in ComfyUI-ZeroCLIP-nodes. ComfyUI Manager (search "ZeroCLIP"), or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/MushroomFleet/ComfyUI-ZeroCLIP-nodes
    

    Restart ComfyUI. The pack needs no pip install (torch and numpy only); the transformers dependency only appears if you build anchors yourself.

    Where people get burned

    • Empty folder, confident dropdown. If models/zeroclip/ is empty, the dropdown still shows anchors.npy as a placeholder - but there's no file behind it, so the load fails. Download the artifact first, then the loader works.
    • Wrong file for your checkpoint. SD1.5 anchors and SDXL anchors are different dimensionalities. Loading the wrong one and feeding it to the wrong Conditioning node is the classic 768-vs-2048 shape error. Pair the loader with the Conditioning Info node to verify.
    • Thinking it makes images by itself. It just loads a library. You still need a Conditioning node and a seed to get a CONDITIONING.
    CategoryZeroClip/A - Basis Decomposition

    Inputs (1)

    NameTypeDefaultDescription
    anchors_fileCOMBOSelect anchor library from models/zeroclip/

    Outputs (1)

    NameTypeDescription
    anchorsZEROCLIP_A_ANCHORS