Nodes/ComfyUI-Tensor-Operations/Fast Image to Noise
ComfyUI Node

Fast Image to Noise

A noise generator that builds its palette from your own pixels, on the GPU

By ttulttul·Created 3 years ago·Updated 2 years ago· 8
Fast Image to Noise
  • images
  • mask
  • image
num_colors16
black_mix0.0
gaussian_mix0.0
brightness1.00
output_mode
seed0

Picture static on a TV - but the static's colors come entirely from a photo you fed in. That's this node: it reads an image, picks a handful of its pixels as a palette, then repaints the whole image by randomly reassigning each pixel one of those colors. Out comes a noisy, textured field that's unmistakably your image's palette and nothing else.

The author built it as a GPU re-implementation of the WAS Node Suite's Image to Noise node, and the "fast" in the name is doing work: the whole thing runs as tensor ops on the GPU instead of grinding through pixels in Python. It's genuinely the tool for one job - seeding an inpaint region with colors that match its surroundings so the generated content doesn't stick out like a sore thumb.

Why you'd use it

Inpainting has a classic failure mode: you regenerate a chair, and it comes back with colors that belong to a different lighting setup than the room it sits in. The fix that's been floating around the community forever is to feed the sampler noise that already looks like the area - the model denoises from a starting point that carries the right color character. This node manufactures exactly that starting point. The README's canonical flow: use ComfyUI Segment Anything to grab a sofa's mask, feed both the image and mask here so the palette comes from the sofa, composite the noise over the chair you're fixing, then run your inpaint. The colors now match, and the sampler just fills in structure.

The inputs that matter

  • num_colors (2–256, default 16) - how many distinct colors the palette holds. Low numbers give chunky, flat, posterized noise; higher numbers get finer and noisier.
  • mask (optional) - restricts palette sampling to the white areas. Note the subtlety: it only changes where colors come from, not where noise lands - the output is still noise over the whole image, so you composite it onto the region you care about.
  • black_mix (0–1) - the probability any given pixel turns black, for when you want dark static.
  • gaussian_mix (0–1024) - blur amount. Crank it and the noise melts into a soft, textured color wash; leave at 0 for crisp static.
  • brightness (0–2, default 1), seed (reproducibility), output_mode (batch concatenates frames into one image, list emits them separately).

Where people get burned

  • This is the one node in the pack that hard-requires a CUDA GPU. The code calls .cuda() directly, so a CPU-only ComfyUI install will fail here - unlike the pack's two normalize nodes, which are device-agnostic.
  • The mask doesn't limit coverage. New users expect masking to crop the noise to a region. It doesn't; you mask the composite yourself.
  • Mask values matter. The palette only samples where the mask equals 1 (white), so a feathered or anti-aliased mask thins out your sample pool. A crisp white selection is what you want.

Installing it

Same tiny pack as its siblings, no dependencies beyond what ComfyUI already ships, no model files:

cd ComfyUI/custom_nodes
git clone https://github.com/ttulttul/ComfyUI-Tensor-Operations

Or ComfyUI Manager → search ComfyUI-Tensor-Operations → install, then restart ComfyUI.

CategoryWAS Suite/Image/Generate/Noise

Inputs (8)

NameTypeDefaultDescription
imagesIMAGE
num_colorsINT162–256
black_mixFLOAT0.00–1
gaussian_mixFLOAT0.00–1024
brightnessFLOAT1.000–2
output_modeCOMBO2 options: batch, list
seedINT00–18446744073709550000
maskoptMASK

Outputs (1)

NameTypeDescription
imageIMAGE