Region Overlay
See where your regions land before you blame the sampler
- image
- regions
- masks
- fusion_input
- image
Regional anything fails in ways that all look the same from the outside: the wrong hair colour on the wrong girl, a third face where you wanted two, a LoRA that seems to be doing nothing. Every one of those has a different cause, and a bad mask, a subject that drifted out of its region, and a LoRA bleeding for some unrelated reason are indistinguishable from the output image alone.
Region Overlay is the diagnostic for the first two. It draws your regional setup over a picture - regions tinted, numbered and named, fusion cells outlined with a ghost of the reference copy that landed there, mirrored copies marked - so you can look at where things are instead of guessing from what came out.
What it draws
The regions wire (from Region LoRAs, which knows each region's LoRA names) takes precedence if it's connected, and labels come out as R1 myStyleLoRA - a numbered region with the LoRA names attached. That's the difference between "region 3" and "the one with the ponytail LoRA", and it matters more than it should when you have six of them. Wire a plain masks batch instead and you get R1, R2, … with no names.
fusion_input (the pipe coming out of Fusion Regions) adds the fusion side: the cell outlines and a ghosted copy of the reference that landed in each, with mirrored copies marked. So if you're running the two things the pack's Regions group is actually built for - a LoRA per region and a fused reference copy per region - this one node shows you both layers of the same layout.
tint (0.35) is how strongly regions are coloured over the image; ghost (0.35) is the opacity of the reference copies, and 0 gives you outlines only. Both are 0 to 1.
Everything's optional, including the image
image, regions, masks and fusion_input are all optional inputs, which makes the node a tap rather than a mandatory link in the chain: connect whichever wires you have and it shows what it can. Unwire image and it draws on a blank canvas at the regions' aspect (longest side 1024), which is the right way to check a layout before you've generated anything.
Output: a single image. It's an output node, so it runs and previews on the node by itself.
Colours are shared with Region Inspect and Regions Preview, so a given region reads the same colour in all three - pre-sampling, post-sampling, and overlay. That's a small consistency decision that makes the three nodes usable together instead of three unrelated visualisations.
When to reach for it
Before the run, on the blank canvas, to check that Region Grid's strings did what you meant - especially with grouped regions, where 1+4, 2+3 either gives you two tidy regions or a mess, and the difference is invisible in a text field.
After the run, over the sampled image, to answer the question "did the subject stay in its region". If region 2's LoRA is clearly gated to the left third of the frame and the character is standing in the middle, the problem is the composition, not the LoRA.
And when you're debugging someone else's workflow, which is a real use case: it's much faster than reading their graph.
Install
Manager → search Nynxz → ComfyUI-NynxzNodes, or:
comfy node install comfyui-nynxz-nodes
From source:
cd ComfyUI/custom_nodes
git clone https://github.com/Nynxz/ComfyUI-NynxzNodes
cd ComfyUI-NynxzNodes
pnpm install && pnpm build
Restart. No models, no dependencies. It's PIL drawing.
Troubleshooting
The overlay is empty. Nothing wireable was connected. It needs at least regions or masks to draw anything - an image alone has no regions to show, and a blank canvas with nothing on it is exactly as useful as it sounds.
Region labels are just numbers. You wired masks, not regions. Only the regions wire carries LoRA names.
The tint hides the picture. 0.35 default over a dark image is heavy. Drop tint to 0.15–0.2 for a post-run check; the point is to see the boundary, not the fill.
Mirrored copies aren't marked. Mirroring comes from fusion_input (or a layout that carries it), not from the masks. If you only wired masks, the node has no idea which copies were flipped.
Keep the expectation honest: this is a debugging and preview node for an experimental, Krea-2-only group of the pack. It will show you the truth about your layout, and it will not fix it.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| tint | FLOAT | 0.350–1 | How strongly regions are coloured over the image. |
| ghost | FLOAT | 0.350–1 | Opacity of the reference copies drawn in the fusion cells. 0 = outline only. |
| imageopt | IMAGE | What to draw over — the sampled output, a reference, anything. Its size sets the frame. Unwired = a blank canvas at the regions' aspect. | |
| regionsopt | NYNXZ_REGIONS | The regions wire (after Region LoRAs, to label each region with its LoRAs). Takes precedence over `masks`. | |
| masksopt | MASK | A plain region MASK batch, e.g. Region Grid's. | |
| fusion_inputopt | NYNXZ_FUSION_INPUT | The fusion_input coming out of Fusion Regions — shows where each reference copy went and which are mirrored. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |