Icy ConditioningSetAreaStrength
The volume knob for a conditioning region
- conditioning
- CONDITIONING
Reality check before anything else: IcyConditioningSetAreaStrength is not a new node. ComfyUI-IcyHider is a preview-hiding extension, and at startup it auto-generates an Icy subclass of every ComfyUI core node - same inputs, same outputs, same math. This is the core ConditioningSetAreaStrength wearing an Icy prefix so the extension can hide it until you hover. If you don't use the hiding, the plain core node is byte-for-byte equivalent.
So what does the node actually do? It sets the strength of a conditioning - the dial that says how hard the model should obey that text. It's the leaner sibling of ConditioningSetAreaPercentage: that node defines where a conditioning applies, this one defines how much. In practice the two are usually chained - give a region its geometry with the area node, then pipe it through this node to tune how aggressively that region's prompt is enforced.
Inputs and output
The whole thing is two sockets plus a slider:
- conditioning (CONDITIONING) - the conditioning whose strength you're setting. Feed it the output of a
ConditioningSetArea/ConditioningSetAreaPercentagenode to make the strength region-specific, or any conditioning to just soften/harden a prompt globally. - strength (FLOAT, 0–10, default 1) - the enforcement volume. 1.0 is "as written." Below 1 loosens the prompt's grip (useful when a region keeps bleeding its subject into neighboring regions), above 1 pushes it harder.
Output is a single CONDITIONING, which carries the area metadata along unchanged and plugs into the sampler's positive or negative.
Why you'd reach for it
Regional prompting almost always needs per-region strength tuning, and that's exactly the fiddly thing this node exists for. Classic workflow: two characters in one image, character A's region keeps borrowing character B's outfit. Dial character A's strength down to 0.7 and the bleed usually stops without you having to rewrite either prompt. The KB's regional-prompting material points at this same failure mode - separated subjects work great until attributes leak across region boundaries, and strength is the first lever to pull.
One honest note: strength tuning has gotten less fashionable as 2026's LLM-encoder models got better at placing subjects from plain language, so you'll often see whole-frame workflows that never touch this. It's still the right tool on SDXL-class models and whenever you have a genuine multi-region graph.
Installing it
Via ComfyUI Manager (search "IcyHider") or:
cd ComfyUI/custom_nodes
git clone https://github.com/icekiub-ai/ComfyUI-IcyHider
Then restart ComfyUI. No pip dependencies, no models to fetch - the pack is a JS file plus a tiny Python wrapper.
Common issues
- Missing node on load. Shared workflows built with IcyHider reference
IcyConditioningSetAreaStrength; without the pack you get a missing-node error. Swap in coreConditioningSetAreaStrength, it's the same thing. - Strength appears to do nothing. Check you've actually connected the output of this node into the sampler, not left the area node feeding it directly. And remember it modifies the conditioning it receives - if that conditioning never had an area, you're changing global strength, which is a subtle difference from how it feels in a region workflow.
- Wrappers track your ComfyUI version. These Icy nodes are generated from your local core at boot, so a ComfyUI update can change their schema. That's a feature of the pack's design, not a bug you can fix.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | — | |
| strength | FLOAT | 1.000–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |