Nodes/ComfyUI Smart Model Loader Nova/CLIP Text Encode (Advanced)
ComfyUI Node

CLIP Text Encode (Advanced)

Turning prompt strength into twelve numbers

By r-vage·Created 23 days ago·Updated 3 days ago· 0
CLIP Text Encode (Advanced)
  • clip
  • conditioning
◄text—►
◄rebalance_presetnone►
◄per_layer_weights1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.5, 5.0, 1.1, 4.0, 1.0►
◄multiplier1.0►
◄renormalizetrue►
◄krea2_only_multiplierfalse►

Most "advanced" text encode nodes are the stock encoder with a weight slider bolted on. This one does something more specific: it reaches into the conditioning tensor and scales each of the text encoder's output taps independently. That's a Krea 2 feature first - but the multiplier alone is useful on anything.

The one you've probably heard of

Krea 2 shipped with a trained-in refusal gate, and within hours of release the community had a "conditioning rebalance node" that weakened it. That's this class of node: it doesn't touch the weights, it rescales the embedding the text encoder produced. The KB's Krea 2 panel names it as one of two circulating bypasses alongside an uncensor LoRA, which people prefer because it costs less quality.

So yes, that's a real use. It's also where the complaints come in - a thread on the node titled "changes the subjects completely?" is exactly what you'd expect from something that rescales layer taps by up to 6×. Nudge weights, not slam them.

How the mechanism actually works

Encode the text, get a conditioning tensor, then reshape its last dimension into n_layers × (dim / n_layers) - for Krea 2 that's 12 taps - and multiply each tap by its gain. Then, if renormalize is on (it is by default), compute the result's RMS and rescale it to the original's. That last step is the difference between "prompt style shifted" and "prompt volume cranked to eleven."

Krea 2 detection is a runtime isinstance check against ComfyUI's Krea2TEModel. If it's not a Krea 2 encoder, layer rebalancing is skipped entirely and only the global multiplier applies.

The inputs that matter

clip and text - note text is a forced connection, no widget, same as the plain SML2 encoder. Then:

  • rebalance_preset - none (default), balanced, detail, subtle, uniform, custom. balanced boosts late taps to 5×, detail dampens early taps and pushes late ones to 6×, subtle tops out at 2×, uniform is a flat 1.0 that effectively disables tap shifting while keeping the multiplier path.
  • per_layer_weights - a default balanced list of 12 floats, comma- or semicolon-separated. Only read when the preset is custom.
  • multiplier - global scale on the whole embedding, default 1.0, range −1000 to 1000. Above 1 amplifies prompt influence, below 1 reduces it. This one works on non-Krea 2 models too.
  • renormalize - default true. Keep it on unless you want the volume change.
  • krea2_only_multiplier - default false. Turn it on and the multiplier is ignored on standard models, so a shared workflow can't accidentally over-scale an SDXL prompt.

One output: conditioning. Into the sampler, same as ever.

Installing it

ComfyUI Manager → search Smart Model Loader Nova, or:

cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI_SmartModelLoader_Nova.git
cd ComfyUI_SmartModelLoader_Nova
python -m pip install -r requirements.txt

ComfyUI's Python environment, restart, then Add Node → 🌒 Smart Model Loader Nova → Conditioning. No optional dependencies - it's tensor maths on top of ComfyUI's own encoder.

Where people get burned

Weights that don't divide the conditioning width. If the number of weights doesn't cleanly divide the flat embedding dimension, the node logs a warning, notifies you, and falls back to uniform scaling. So "custom" with seven numbers on a 12-tap model does nothing clever - check the console before assuming your weights applied.

Using custom and expecting the preset to matter. Presets other than custom ignore per_layer_weights entirely. People edit the field, leave the preset on balanced, and see no change. That's not a bug.

Reaching for detail first. It dampens early taps and multiplies late ones by 6. It's a strong move on a model whose filter you're trying to shake; it's a bad default for ordinary prompt tuning. Start at subtle, or plain multiplier at 1.1–1.2.

Expecting this to fix prompt adherence generally. Layer rebalancing on non-Krea 2 models is a no-op by design. On SDXL or Flux you're getting the multiplier, nothing else - and if you needed more prompt weight, CFG or a guidance node is usually the saner lever.

Non-Krea 2 models skip renormalization there too. In the non-Krea 2 path the multiplier is applied without the RMS correction. That's intentional (you asked for a volume change), but it means the same multiplier value behaves differently depending on your encoder.

Category🌒 Smart Model Loader Nova/ Conditioning

Inputs (7)

NameTypeDefaultDescription
clipCLIPThe input CLIP model used to tokenize and encode the prompt.
textSTRINGThe text prompt to be converted into conditioning embeddings.
rebalance_presetCOMBOnoneSelect a layer-gain rebalancing profile for Krea2 multi-layer tap models. 'none' disables rebalancing. 'balanced' boosts late taps up to 5x. 'detail' dampens early taps and aggressively boosts late taps up to 6x. 'subtle' gently boosts late taps up to 2x. 'uniform' applies a flat 1.0. 'custom' uses 'per_layer_weights'.
per_layer_weightsSTRING1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.5, 5.0, 1.1, 4.0, 1.0Comma-separated float gains (e.g. 12 values for Krea2) applied to individual layer outputs. Active only when preset = 'custom'.
multiplierFLOAT1.0-1000–1000Global strength multiplier applied to the conditioning embedding tensor. Values > 1.0 amplify prompt influence; < 1.0 reduce it.
renormalizeBOOLEANtrueWhen enabled, rescales the altered conditioning tensor's RMS to match the original, keeping the overall prompt strength/volume constant after layer weighting.
krea2_only_multiplierBOOLEANfalseWhen enabled, the global multiplier is only applied to Krea2 models. For standard models, the multiplier is ignored (treated as 1.0).

Outputs (1)

NameTypeDescription
conditioningCONDITIONINGA conditioning containing the embedded text used to guide the diffusion model.