Nodes/ComfyUI-ZeroCLIP-nodes/ZeroClip-D Conditioning
ComfyUI Node

ZeroClip-D Conditioning

Conditioning from the model's own prior

By MushroomFleet·Created 5 months ago·Updated 5 months ago· 0
ZeroClip-D Conditioning
  • anchors
  • seed
  • conditioning

ZeroClip-D Conditioning is the node that runs the pack's most unusual idea: take seed numbers, and produce a CONDITIONING from anchor embeddings that the diffusion model discovered by probing itself - no text encoder at any stage. It's the same algorithm as ZeroClip-A, just with a fundamentally different source of anchors.

Worth saying plainly what that means. With A, your seed is really selecting a blend of "concepts" that came from words. With D, your seed is selecting a blend of latent regions the model already knows how to draw well. The README calls it "model-discovered semantics" and the category name is "Self-Bootstrapped" - the prior anchors were found via coherence probing, gradient refinement, and clustering over the diffusion model's own responses. It's the closest thing in this pack to asking the model what it likes.

The inputs

  • anchors - the ZEROCLIP_D_ANCHORS from a ZeroClip-D Load Anchors node (pointing at anchors_bootstrap.npy).
  • seed - the standard ZEROCLIP_SEED from Seed Pack or Seed From Random. The four values hash down and pick the weighted combination.

Output: conditioning for the KSampler positive input; pair with Empty Conditioning on the negative at CFG > 1.

How it works

Mechanically identical to A: FNV-1a hash of the packed seed, coherent-noise weight distribution over the anchor library (4 octaves of smooth value noise across the concept/style coordinate plane, softmaxed), weighted sum, L2-normalized, expanded to [1, 77, D]. The whole difference lives in the anchors file - and that difference is the point. Same "nearby seeds → related outputs" property applies, because the weighting function is the same smooth noise.

Install

Part of ComfyUI-ZeroCLIP-nodes. ComfyUI Manager (search "ZeroCLIP"), or:

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

Restart ComfyUI; it's under ZeroClip/D - Self-Bootstrapped. No pip install; you need the prebuilt anchors_bootstrap.npy in models/zeroclip/ (the bootstrap build takes ~5 hours on GPU - download it from huggingface.co/mushroomfleet/zeroclip instead).

The honest take

D is a research variant, and it behaves like one. It's text-free in the strongest sense - there's no language anywhere - but that's also its weakness for everyday use: you can't reason about what a seed means, and results can be spectacular or baffling with no obvious pattern. If you're new to the pack, start with A. Try D when you want to see what the model's own latent structure produces, or if you're genuinely curious about text-free priors. It's the least "practical" and most intellectually interesting node set in the pack, and it's fine to treat it that way.

CategoryZeroClip/D - Self-Bootstrapped

Inputs (2)

NameTypeDefaultDescription
anchorsZEROCLIP_D_ANCHORS
seedZEROCLIP_SEED

Outputs (1)

NameTypeDescription
conditioningCONDITIONING