Nodes/SAX Bridge/SAX Image Noise
ComfyUI Node

SAX Image Noise

Add texture where your image is too clean to redraw

By so16tm·Created 6 months ago·Updated 3 months ago· 0
SAX Image Noise
  • image
  • mask
  • IMAGE
intensity0.15
noise_type
color_mode
seed0
mask_shrink2
mask_blur0.0

There's a specific situation this node exists for: you want to run an img2img pass on part of an image, but the region is so clean and uniform that the sampler has nothing to grip. Diffusion img2img works by starting from noise and denoising back to the image - if you feed it a perfectly smooth area at low denoise, nothing happens; at high denoise, the composition collapses. SAX Image Noise breaks that deadlock by injecting controlled noise into the image (or a masked region) before you sample, giving the redraw texture to work with. The pack positions it as a standalone utility for composing with a plain KSampler or other custom nodes - the i2i workflows the SAX detailer already does internally, minus the detailer.

How it works

Feed it an image, pick a noise_type and color_mode, set an intensity, and it returns a noised IMAGE. The three noise types are gaussian, uniform, and grain - and grain is the interesting one: it's luminance-sensitive, applying stronger noise to dark areas, which is what makes it useful for photography-style texture rather than TV-static. color_mode switches between rgb (full-color noise) and grayscale (luminance-only, which keeps color intact while roughening the surface). Everything's seeded via seed, so a given image + seed gives you a reproducible noise field.

The mask handling is where it earns its keep. Optional mask restricts noise to a region; mask_shrink (default 2) erodes the mask a bit so noise doesn't bleed past the boundary, and mask_blur feathers it. No mask at all = noise over the whole image.

What to set

  • intensity (default 0.15) - the amount. 0.1–0.3 is the useful band for "give the sampler texture" work; higher gets you into "visible static" territory.
  • noise_type - gaussian for general i2i prep, grain for photographic texture restoration, uniform when you want a harsher, more even scatter.
  • color_mode - grayscale unless you specifically want chromatic noise; luminance noise is the safer default for texture.

Where it fits

The intended composition is: LoadImage → SAX Image Noise → plain KSampler (or any i2i node), possibly with a mask so only the target region gets the treatment. It's also the "outside the detailer" counterpart to the Enhanced Detailer's latent_noise_intensity - the pack's docs are explicit that for noise inside a SAX Detailer pass you use that knob instead, and this node is for hand-built chains.

A genuinely good use: restoring old or compressed photos before an upscaler. The KB's upscaling doc notes that a soft, over-smoothed source has nothing for the upscaler to enhance - a whisper of grain noise gives the model high-frequency detail to lock onto, then the upscaler runs. Start subtle; noise is an input to the sampler, not a finished look.

Installing

Part of the pack, no extras:

cd ComfyUI/custom_nodes
git clone https://github.com/so16tm/SAX_Bridge

SAX/Bridge/Option → SAX Image Noise. The one thing to remember: this node outputs a noised image, not a final image - it's a stage, and the sampler after it is what turns the noise back into coherent detail.

CategorySAX/Bridge/Option

Inputs (8)

NameTypeDefaultDescription
imageIMAGE
intensityFLOAT0.150–1
noise_typeCOMBO3 options: gaussian, grain, uniform
color_modeCOMBO2 options: rgb, grayscale
seedINT00–18446744073709550000
mask_shrinkINT20–64
mask_blurFLOAT0.00–32
maskoptMASK

Outputs (1)

NameTypeDescription
IMAGEIMAGE