Chomfy Universal Regional Noise
Re-roll just one region of the image, leave the rest alone
- original_latent
- mask_override
- LATENT
"That face is off, redo just it." For years that sentence meant masks, inpaint conditioning nodes, and a stack of plumbing. Chomfy Universal Regional Noise takes the older, blunter route: it injects fresh noise into a box - or any shape you give it - inside your latent, and you let the sampler re-draw only that spot. It's the ComfyUI descendant of A1111's "latent noise" inpaint fill, and for a quick regional re-roll it's genuinely hard to beat.
Don't confuse it with regional prompting. That technique re-weights the text conditioning per area (see the KB's regional-prompting panel). This node doesn't touch conditioning - it paints the latent itself, mixing clean noise into a region before the sampler sees it. The region gets regenerated; everything outside stays exactly as it was.
How it works
The "universal" part is doing the work: the node reads the dtype and device of whatever latent you feed it and generates its noise in the exact same format. Flux's 16-channel BF16 latent, SDXL's 4-channel, Wan 2.1's 5D video tensor, GGUF and FP8 quantized models - all handled, because it just mirrors the tensor instead of assuming a shape. No empty latent required; it makes its own noise.
Two ways to pick the region:
- Box mode (default):
pixel_x,pixel_y,pixel_width,pixel_heightdefine a rectangle in pixel space. The node divides by 8 to land in latent space, because that's the VAE compression factor. Draw your box, done. - Mask override: plug a MASK into the optional input and it resizes the mask to the latent's dimensions with bilinear interpolation - so you get soft, feathered edges and any shape you can paint. It expands the mask across all channels, and for video latents across the time axis too.
Then the blend: inside the region it's original * (1 - strength) + noise * strength, with mix_strength defaulting to 0.3 (30% noise, 70% original). Outside the region, untouched. Output is a LATENT.
Using it
The recipe from the README, and it works: box the region, set strength around 0.3, feed the output into a KSampler at low denoise (0.3–0.5). Low denoise is the key - you're telling the sampler "keep this mostly, re-roll this spot," and the fresh noise inside the box is what gets hallucinated into new detail.
The inputs that matter
original_latent is required, obviously. Then mix_strength (how much noise replaces the original inside the region), noise_seed (re-roll the region deterministically per seed), and the four pixel_* box coordinates. mask_override is the only optional input and the escape hatch to non-rectangular shapes.
Installing it
ComfyUI Manager → search ComfyUI-ChomfyNodes, or:
cd ComfyUI/custom_nodes
git clone https://github.com/chchchadzilla/ComfyUI-ChomfyNodes.git
Restart. Pure Python, no requirements to install, no models to download.
Where people get burned
The box math: pixel coordinates divide by 8 with integer division, so a box not aligned to a multiple of 8 lands slightly off where you pointed. Draw with multiples of 8 in mind.
Hard box edges can leave a visible seam between the re-rolled region and the original - usually the low-denoise pass hides it, but if it doesn't, switch to mask_override with a feathered mask and the bilinear resize gives you soft edges for free.
And the big one: this node does not constrain the sampler. Crank the denoise to 0.8 and the whole image drifts, not just your box - you're just giving the sampler a head start inside one region. Keep denoise low, and remember the re-rolled area follows whatever the prompt says everywhere, so steer the new content with the prompt or a ControlNet.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| original_latent | LATENT | — | |
| mix_strength | FLOAT | 0.300–1 | — |
| noise_seed | INT | 00–18446744073709550000 | — |
| pixel_x | INT | 00–10000 | — |
| pixel_y | INT | 00–10000 | — |
| pixel_width | INT | 5120–10000 | — |
| pixel_height | INT | 5120–10000 | — |
| mask_overrideopt | MASK | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |