CLIP Text Encode (Invert Weights)
Flip your prompt's emphasis
- clip
- CONDITIONING
Niche node, and honestly it's a companion piece to CLIPNegPip rather than something you'd grab on its own. CLIP Text Encode (Invert Weights) encodes your prompt but flips the sign of the emphasis weights - so the things you'd normally push up get pushed down into negative territory. It's a power-user tool for the negative-weight crowd.
What it does
Normal weighting looks like (detailed:1.3) - a value above 1 emphasizes a concept. This node inverts those weights, so the same braces now steer the concept in the opposite direction. Paired with NegPip (which is what makes negative weights actually do something), it lets you take a prompt written in ordinary positive syntax and turn it into its "subtract all this" counterpart without hand-editing every weight. Think of it as a shortcut for building an inverted conditioning from a prompt you already have.
That's the whole reason it exists in this particular pack. On its own, inverting weights on a stock model does very little useful - the whole point only lands when the model can read negative weights, which is CLIPNegPip's job. So treat these two as a set.
Inputs and outputs
Same shape as a normal encode node, plus one toggle:
- clip (CLIP) in
- text (STRING, multiline) - your prompt, written with ordinary weight syntax
- invert_special_tokens (boolean, default false) - whether to also invert the encoder's special start/end tokens, not just your words. Leave it off unless you're specifically experimenting; the default behavior (words only) is what you want almost always.
- CONDITIONING out - wire to your sampler like any other conditioning.
Install
No models, no deps:
- ComfyUI Manager: search "ComfyUI-ppm", install, restart.
- Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/pamparamm/ComfyUI-ppm, then restart.
Honest take
This is deep in "you'll know if you need it" territory, and the impression numbers say almost nobody's searching for it. If you're not already doing negative-weight prompting with NegPip, you can safely ignore this node entirely - it won't make sense in isolation and it won't improve a normal workflow.
Where it earns a slot: you've got a NegPip setup and you want to feed it an inverted version of some prompt fragment (say, to strongly negate a whole style you described positively) without rewriting every :1.3 as :-1.3 by hand. Then this saves the busywork and keeps your two prompts in sync - edit the positive text, the inverted encode follows.
Two things to keep straight. It's a CLIP-model tool (SD1.5, SDXL, Illustrious, NoobAI); on LLM-encoded models weights are discarded entirely, so inverting them is meaningless - you'd just be shipping literal punctuation into the encoder, which hurts more than it helps. And, like everything paired with NegPip, mind the compatibility rules from that node - anything that also rewrites conditioning tensors can conflict.
Pack rule: erroring after an update? Delete the node and re-add it. Otherwise there's nothing to break here - worst case it does nothing visible, and you move on.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| text | STRING | — | |
| invert_special_tokens | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |