Nodes/ComfyUI-ZeroCLIP-nodes/ZeroClip-C Conditioning (SDXL)
ComfyUI Node

ZeroClip-C Conditioning (SDXL)

One seed, two dimensions

By MushroomFleet·Created 5 months ago·Updated 5 months ago· 0
ZeroClip-C Conditioning (SDXL)
  • projection_seq
  • projection_pooled
  • conditioning
seed_int42
mode
seq_dimension2048
pooled_dimension1280

Same entropy idea as the base ZeroClip-C node, rebuilt for SDXL's two-part conditioning. ZeroClip-C Conditioning (SDXL) takes one seed, derives two independent entropy samples - one for the 2048-dim sequence embedding, one for the 1280-dim pooled embedding - and packages them into the SDXL CONDITIONING format with pooled_output intact.

The nice touch is that it does the seed derivation for you. The base C node takes a single seed_int and samples one vector; here the same seed is hashed and split into two child seeds (one salted for the sequence path, one for the pooled path) so you get two independent entropy draws that are still deterministically tied to one input number. You don't have to manage two seeds.

The inputs

  • seed_int (default 42) - the single entropy seed. One number drives both draws.
  • mode - pure or guided. Guided needs the optional projection inputs.
  • seq_dimension (default 2048) - dimension for the sequence sample. SDXL's sequence embedding width.
  • pooled_dimension (default 1280) - dimension for the pooled sample. SDXL's pooled width.
  • projection_seq / projection_pooled (optional) - the two ZEROCLIP_C_PROJECTION inputs for guided mode. For SDXL you need both a seq and a pooled projection if you go guided; both are ignored in pure mode.

Output: SDXL-format conditioning (sequence + pooled). Pair it with an SDXL-format Empty Conditioning (the sdxl toggle on) as the negative.

How it works

The seed is FNV-1a hashed to a base, then two child hashes (salted with different constants) derive seq_seed and pooled_seed. Each goes through the same unit-sphere sampler as the base C node - pure mode draws a uniform point on the sphere at that dimension; guided mode projects it through the corresponding PCA projection. The two vectors are then packed into the SDXL conditioning dict.

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/C - Pure Entropy. No pip install; pure mode needs no artifacts, guided needs the SDXL projection files in models/zeroclip/.

Where people get burned

  • Leaving the defaults, expecting SD1.5. The defaults (2048/1280) are SDXL-correct - if you're actually on SD1.5 and reached for this node, the base ZeroClipC_Conditioning with dimension=768 is the one you want. Wrong dims = shape errors downstream.
  • Guided mode with only one projection. In guided mode both projection_seq and projection_pooled are effectively required - connect one and the other path still needs its projection or it errors. In pure mode, neither matters.
  • Thinking the two dimensions are "two prompts." They're two views of the same seed's entropy, not separate concepts. There's no way to steer them independently here; if you want concept-style control on SDXL, that's what the A and B SDXL nodes are for.
CategoryZeroClip/C - Pure Entropy

Inputs (6)

NameTypeDefaultDescription
seed_intINT420–18446744073709550000
modeCOMBO2 options: pure, guided
seq_dimensionINT204864–4096
pooled_dimensionINT128064–4096
projection_seqoptZEROCLIP_C_PROJECTIONProjection for sequence (guided mode)
projection_pooledoptZEROCLIP_C_PROJECTIONProjection for pooled (guided mode)

Outputs (1)

NameTypeDescription
conditioningCONDITIONING