Mask-Map Prompt Mix (HMN)
The tiny settings box behind Hellrunner's Mask-Maps
- MMPMix
Mask-Map Prompt Mix is the least glamorous node in this pack and you'll probably still use it constantly once you're into Mask-Maps. It doesn't touch a single pixel. It's a settings container: you set four strengths and a prompt sequence, and it packages them into a little MMPMix value that you plug into the Mask-Map Prompt node, which does the actual text merging. Think of it as the control panel being built separately from the machine.
The inputs that matter
- Base, Red, Green, Blue - a strength (0 to 10, default 1.0) for each of the four Mask-Map regions. These become the weights applied to each region's prompt when Mask-Map Prompt merges them. Above 1.0 you're emphasizing that region's prompt, below 1.0 you're letting it fade into the background.
- Order - a comma-separated sequence, default
Base,Red,Green,Blue. This controls the order in which regions are added to the merged prompt. Because the Mask-Map regions layer on top of each other, order genuinely matters: later entries in the sequence build on earlier ones.
How it works
The encode function does almost nothing: it returns a dict of {Base, Red, Green, Blue, Order} as the single MMPMix output. All the real work happens downstream. Mask-Map Prompt has matching _MMPMix inputs for each of its prompt and negative fields, and it reads your strengths and order out of the package to decide how to weight and sequence the merged text. Two things ship in that package: the four weights and the ordering rule.
That's also the gotcha. A container node with no wires does nothing. If you connect it to the wrong _MMPMix input - say, you feed the mix into Base_Prompt_MMPMix but you really wanted to weight the red region - you'll get perfectly logical but unexpected prompt merging. The naming is your map: Red_Prompt_MMPMix takes the mix for the red prompt, and so on.
Wiring it up
The typical Mask-Map setup in this pack looks like:
MaskMapPromptMix ──MMPMix──► MaskMapPrompt (per-region _MMPMix inputs)
│
LoadMaskMap ──masks──► MojoMaker ─┤
▼
KSampler
Set the strengths you want on the mix node, and let Mask-Map Prompt turn them into weighted prompt text for your encoder. If you're new, leave everything at 1.0 and the default order, then start nudging.
Installing it
Same pack, same story: Hellrunner's Magical Nodes. Install once via ComfyUI Manager (search "Hellrunner's Magical Nodes") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Hellrunner2k/ComfyUI-HellrunnersMagicalNodes.git
Restart ComfyUI. No extra dependencies and no model files - this node is pure data packaging.
Troubleshooting
- Nothing changed in your output? Check that the MMPMix is actually wired into Mask-Map Prompt, and that Mask-Map Prompt's output is the text reaching your encoder, not a hardcoded prompt.
- Weights doing nothing? Remember this node only sets strengths - if Mask-Map Prompt isn't seeing your mix (input left unconnected, defaults used), all regions silently stay at 1.0.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| Baseopt | FLOAT | 1.000–10 | Base Prompt strength |
| Redopt | FLOAT | 1.000–10 | Red Prompt strength |
| Greenopt | FLOAT | 1.000–10 | Green Prompt strength |
| Blueopt | FLOAT | 1.000–10 | Blue Prompt strength |
| Orderopt | STRING | Base,Red,Green,Blue | Prompt Sequence. Comma separated sequence of outputs (Base,Red,Green,Blue) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MMPMix | MMPMIX | Mask-Map Mix |