Nodes/ComfyUI-curved_weight_schedule/Multi-Mask Strength Combiner (10 inputs)
ComfyUI Node

Multi-Mask Strength Combiner (10 inputs)

Ten regions, ten strength weights, one weighted mask

By diffussy69·Created 11 months ago·Updated 9 months ago· 2
Multi-Mask Strength Combiner (10 inputs)
  • mask_1
  • mask_2
  • mask_3
  • mask_4
  • mask_5
  • mask_6
  • mask_7
  • mask_8
  • mask_9
  • mask_10
  • combined_mask
base_strength1.00
mask_1_strength1.00
mask_2_strength0.90
mask_3_strength0.80
mask_4_strength0.70
mask_5_strength0.60
mask_6_strength0.50
mask_7_strength0.40
mask_8_strength0.30
mask_9_strength0.20
mask_10_strength0.10
blend_mode
normalize_outputtrue
show_debugfalse

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_1mask_10 with per-mask mask_N_strength - the regions and their weights.
  • blend_mode - max for non-interfering regions, average for softer compositing.
  • normalize_output - keep on; summed add mode 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.

Categorymask

Inputs (24)

NameTypeDefaultDescription
base_strengthFLOAT1.000–2Base strength multiplier applied to all masks
mask_1optMASK
mask_1_strengthoptFLOAT1.000–2Strength multiplier for mask 1
mask_2optMASK
mask_2_strengthoptFLOAT0.900–2Strength multiplier for mask 2
mask_3optMASK
mask_3_strengthoptFLOAT0.800–2Strength multiplier for mask 3
mask_4optMASK
mask_4_strengthoptFLOAT0.700–2Strength multiplier for mask 4
mask_5optMASK
mask_5_strengthoptFLOAT0.600–2Strength multiplier for mask 5
mask_6optMASK
mask_6_strengthoptFLOAT0.500–2Strength multiplier for mask 6
mask_7optMASK
mask_7_strengthoptFLOAT0.400–2Strength multiplier for mask 7
mask_8optMASK
mask_8_strengthoptFLOAT0.300–2Strength multiplier for mask 8
mask_9optMASK
mask_9_strengthoptFLOAT0.200–2Strength multiplier for mask 9
mask_10optMASK
mask_10_strengthoptFLOAT0.100–2Strength multiplier for mask 10
blend_modeoptCOMBO4 options: max, add, multiply, average
normalize_outputoptBOOLEANtrueClamp output to [0,1] range
show_debugoptBOOLEANfalsePrint debug information

Outputs (1)

NameTypeDescription
combined_maskMASK