Multi-Mask Strength Combiner (10 inputs)
Ten regions, ten strength weights, one weighted mask
- mask_1
- mask_2
- mask_3
- mask_4
- mask_5
- mask_6
- mask_7
- mask_8
- mask_9
- mask_10
- combined_mask
The ten-input edition of the pack's static mask strength combiner. Where the five-input version lets one ControlNet apply different strengths to five regions of an image, this one scales the same idea up to ten - for when your scene has more independent parts than a hand can count, or you just want the fine-grained falloff that comes from a ten-step strength ladder.
How it works
Identical machinery, more channels. Each of ten mask_N inputs is multiplied by its own mask_N_strength, then everything merges via blend_mode - max, add, multiply, or average. base_strength scales the whole composite, and normalize_output clamps to 0–1. The output is a single combined_mask where brightness = control strength, designed to feed a ControlNet that honors per-pixel weights.
The default strengths here are a gentle 1.0, 0.9, 0.8 … down to 0.1 - a descending ladder rather than the five-input version's steeper 1.0 → 0.2. The intent is clear: ten regions usually means a lot of secondary detail, so the defaults are gentler on the tail. You'll override most of them; it's just a saner starting shape for a bigger stack.
Inputs that matter
base_strength(required) - the global multiplier.mask_1…mask_10with per-maskmask_N_strength- the regions and their weights.blend_mode-maxfor non-interfering regions,averagefor softer compositing.normalize_output- keep on; summedaddmode can push past 1.0.
Output: combined_mask (MASK).
When to use ten instead of five
Reach for this when a single image genuinely has that many meaningful parts - a figure with separately-strength'd face, hands, clothing, and a multi-object background. If you're only ever juggling three or four regions, the five-input node is easier to read. The ten-input version exists so you don't have to chain two combiners when a scene really does break down into more pieces than five.
Installing it
Standard pack install, no models:
cd ComfyUI/custom_nodes
git clone https://github.com/diffussy69/comfyui-curved_weight_schedule
pip install matplotlib pillow numpy torch scipy
Restart and hard-refresh.
Where people get burned
Same caveat as the five-input version, worth repeating: this node produces a weighted mask - it doesn't change ControlNet strength by itself. Something downstream has to consume per-pixel mask strength, or the whole thing is inert. And with ten masks it's easier than ever to leave eight of them connected with default strengths you never intended, so actually look at the ladder before you generate.
Inputs (24)
| Name | Type | Default | Description |
|---|---|---|---|
| base_strength | FLOAT | 1.000–2 | Base strength multiplier applied to all masks |
| mask_1opt | MASK | — | |
| mask_1_strengthopt | FLOAT | 1.000–2 | Strength multiplier for mask 1 |
| mask_2opt | MASK | — | |
| mask_2_strengthopt | FLOAT | 0.900–2 | Strength multiplier for mask 2 |
| mask_3opt | MASK | — | |
| mask_3_strengthopt | FLOAT | 0.800–2 | Strength multiplier for mask 3 |
| mask_4opt | MASK | — | |
| mask_4_strengthopt | FLOAT | 0.700–2 | Strength multiplier for mask 4 |
| mask_5opt | MASK | — | |
| mask_5_strengthopt | FLOAT | 0.600–2 | Strength multiplier for mask 5 |
| mask_6opt | MASK | — | |
| mask_6_strengthopt | FLOAT | 0.500–2 | Strength multiplier for mask 6 |
| mask_7opt | MASK | — | |
| mask_7_strengthopt | FLOAT | 0.400–2 | Strength multiplier for mask 7 |
| mask_8opt | MASK | — | |
| mask_8_strengthopt | FLOAT | 0.300–2 | Strength multiplier for mask 8 |
| mask_9opt | MASK | — | |
| mask_9_strengthopt | FLOAT | 0.200–2 | Strength multiplier for mask 9 |
| mask_10opt | MASK | — | |
| mask_10_strengthopt | FLOAT | 0.100–2 | Strength multiplier for mask 10 |
| blend_modeopt | COMBO | 4 options: max, add, multiply, average | |
| normalize_outputopt | BOOLEAN | true | Clamp output to [0,1] range |
| show_debugopt | BOOLEAN | false | Print debug information |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| combined_mask | MASK | — |