🎚️ FoW - Prompt Equalizer Light
Token sliders for a prompt, with a big 'it depends' caveat
- clip
- Combined Conditioning
- Weighted Prompt
A per-token weight editor that's honest about being Light
FoW - Prompt Equalizer Light is the suite's answer to "I want more of this tag and less of that one." You open its modal, it splits your prompt into tokens, and you drag a slider next to each one to set its weight. Then it encodes the whole thing and hands you one combined conditioning plus the weighted prompt text. On paper it's the most sophisticated node in the Light tier. In practice there's an important asterisk.
It's part of SirWillance's FoW_Suite_LIGHT, the free Light tier of the "Force of Will" suite - a self-taught dev's two-month first project, MIT-licensed. The modal is genuinely well built: up to five tokens, weight ranges (0–2 default, with -1–5 and -2–10 options), Standard/Normalized/Experimental modes, and reset buttons. That's more UX polish than most of the pack, and it's the first thing a curious beginner will try.
How it works - and the asterisk
Here's the thing you need to know before you get excited: the backend does not do any weighting. It's the same encode as the agents:
tokens = clip.tokenize(user_input)
cond = clip.encode_from_tokens_scheduled(tokens)
return (cond, user_input)
All the slider work happens in the frontend, which writes (word:weight) syntax back into the text. So whether the sliders do anything at all depends entirely on your checkpoint's text encoder. On SDXL-lineage models (Illustrious, Pony, NoobAI, plain SDXL), (word:1.3) attention weights are real and this works as advertised. On LLM-encoded models the KB's prompt-engineering essay is blunt: (word:1.3) is silently discarded - the encoder wrapper passes disable_weights=True. So on a modern checkpoint this node becomes "an editor that lets you fiddle with sliders that do nothing."
The inputs that matter
- clip (CLIP) - your checkpoint's text encoder.
- user_input (STRING, multiline) - hidden on the node; the modal writes your weighted prompt into it.
Outputs are Combined Conditioning (CONDITIONING) - into a KSampler or fusion node - and Weighted Prompt (STRING), the exact weighted text, which is genuinely useful for seeing what you asked for.
Installing it
One install, whole suite:
cd ComfyUI/custom_nodes
git clone https://github.com/SirWillance/FoW_Suite_LIGHT
Restart ComfyUI, nodes appear under "🧿 FoW - Light". ComfyUI Manager also has it - search "Force of Will Suite Light". No dependencies, no model downloads.
Where people get burned
Mostly the asterisk above. Check what encoder you're actually running before you trust the sliders - if you're on an LLM-encoded model, your weighted prompt still gets encoded, just without the weights, and you'll chase artifacts that were never going to appear. Second, the five-token cap means long prompts silently ignore sliders past token five; don't assume your 30-tag prompt is fully under control. And the "Weighted Prompt" output is the best debugging habit here: read it once after setting sliders and you'll immediately see which tokens got weights and which didn't. For SDXL-lineage users it's the most useful node in the suite; for everyone else it's a well-made editor with a dead feature.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | CLIP model for encoding | |
| user_input | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| Combined Conditioning | CONDITIONING | — |
| Weighted Prompt | STRING | — |