Nodes/RES4LYF/LatentNoiseBatch_gaussian_channels
ComfyUI Node Runs on cloud

LatentNoiseBatch_gaussian_channels

Hand-tuned starting noise, one channel at a time

By ClownsharkBatwing·Created 2 years ago·Updated 18 days ago· 1,222
LatentNoiseBatch_gaussian_channels
  • latent
  • means
  • mean_luminositys
  • mean_cyan_reds
  • mean_lime_purples
  • mean_pattern_structures
  • stds
  • latent
mean0.000
mean_luminosity0.000
mean_cyan_red0.000
mean_lime_purple0.000
mean_pattern_structure0.000
std1.000
steps0
seed0

Most people never think about their starting noise - you drop an Empty Latent Image, ComfyUI fills it with random Gaussian noise under the hood, and the sampler takes it from there. This node is what happens when you stop accepting the default. Instead of one blob of random noise, LatentNoiseBatch_gaussian_channels lets you bias the mean and spread of each of the latent's four channels independently, before a single sampling step runs.

Why bother? Community folklore around latent noise (the kind that predates RES4LYF entirely) is consistent on this: the noise you start from nudges composition, not just detail. Push it one way and you get more centered, symmetric shots; push it another and you get busier, more complex framing. This node gives you a lever for that instead of leaving it to chance.

How it works

A standard SD/SDXL-style latent has four channels, and the community has long since reverse-engineered roughly what each one carries: luminosity (brightness), cyan-red, lime-purple, and pattern/structure. That's exactly what this node's per-channel parameters are named after - mean_luminosity, mean_cyan_red, mean_lime_purple, and mean_pattern_structure bias each channel's Gaussian noise toward a value other than zero, on top of a global mean and std that shape the noise as a whole. steps and seed control how the noise is generated and reproduced.

The inputs and outputs that matter

  • latent (required) - the latent you're generating noise for; this node reads its shape/batch size rather than building one from scratch.
  • mean / std - the overall center and spread of the Gaussian noise. Leave at the defaults (0 / 1) for "normal" random noise.
  • mean_luminosity, mean_cyan_red, mean_lime_purple, mean_pattern_structure - the four per-channel biases. This is the actual reason to reach for this node over a plain noise generator: nudge mean_luminosity positive for a brighter starting point, or push mean_cyan_red/mean_lime_purple to lean the noise (and by extension the eventual image) toward one side of the color axis before generation even begins.
  • seed - the usual reproducibility knob.
  • Optional means, mean_luminositys, mean_cyan_reds, mean_lime_purples, mean_pattern_structures, stds (all SIGMAS) - schedule any of the above across steps instead of holding it fixed, RES4LYF's usual pattern for turning a scalar into a per-step curve.
  • Output: latent - wire this straight into your sampler's latent input in place of Empty Latent Image's output.

How to install it

Through ComfyUI Manager: search "RES4LYF" and install. Manually, from your ComfyUI/custom_nodes folder:

git clone https://github.com/ClownsharkBatwing/RES4LYF/
cd RES4LYF
pip install -r requirements.txt

Activate your venv first if you use one; on a portable install, point at python_embedded\Scripts\pip.exe instead of pip. Restart ComfyUI afterward.

Common issues & troubleshooting

Nothing looks different. The per-channel biases are subtle by design - this isn't a "make it a different image" dial, it's a "lean it slightly" dial. Try values further from zero than feels natural (a few units, not fractions) before concluding it's not doing anything.

Shape mismatches downstream. Because this node reads its shape from the latent you feed it, make sure that latent already matches your target resolution and batch size - swap in an Empty Latent Image upstream with the size you want, then let this node overwrite its contents with biased noise, rather than the other way around.

You expected this to control the sampler's own noise. It doesn't - RES4LYF's samplers have their own noise_type_init/noise_type_sde settings for noise added during sampling. This node only sets the starting latent before the sampler ever sees it, which is a different knob entirely and the two aren't mutually exclusive.

CategoryRES4LYF/noise

Inputs (15)

NameTypeDefaultDescription
latentLATENT
meanFLOAT0.000-10000–10000
mean_luminosityFLOAT0.000-10000–10000
mean_cyan_redFLOAT0.000-10000–10000
mean_lime_purpleFLOAT0.000-10000–10000
mean_pattern_structureFLOAT0.000-10000–10000
stdFLOAT1.000-10000–10000
stepsINT0-10000–10000
seedINT00–18446744073709550000
meansoptSIGMAS
mean_luminositysoptSIGMAS
mean_cyan_redsoptSIGMAS
mean_lime_purplesoptSIGMAS
mean_pattern_structuresoptSIGMAS
stdsoptSIGMAS

Outputs (1)

NameTypeDescription
latentLATENT