Nodes/ComfyUI-ChomfyNodes/Chomfy Universal Regional Noise
ComfyUI Node

Chomfy Universal Regional Noise

Re-roll just one region of the image, leave the rest alone

By chchchadzilla·Created 11 months ago·Updated 4 months ago· 1
Chomfy Universal Regional Noise
  • original_latent
  • mask_override
  • LATENT
mix_strength0.30
noise_seed0
pixel_x0
pixel_y0
pixel_width512
pixel_height512

"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_height define 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.

CategoryChomfyNodes

Inputs (8)

NameTypeDefaultDescription
original_latentLATENT
mix_strengthFLOAT0.300–1
noise_seedINT00–18446744073709550000
pixel_xINT00–10000
pixel_yINT00–10000
pixel_widthINT5120–10000
pixel_heightINT5120–10000
mask_overrideoptMASK

Outputs (1)

NameTypeDescription
LATENTLATENT