ZeroClip-A Load Anchors
The file that turns numbers into concepts
- anchors
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 needstransformersinstalled 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 showsanchors.npyas 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.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| anchors_file | COMBO | Select anchor library from models/zeroclip/ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| anchors | ZEROCLIP_A_ANCHORS | — |