Noise Factory
Procedural colored noise, the kind of thing you'd normally open a shader editor for
- IMAGE
NoiseFactory is the "generate a texture from pure math" node in DJZ-Nodes. Give it a size and a flavor of noise and it hands you a full-color procedural image - no model, no prompt, no GPU. The output is exactly what the name says: pretty factory-made noise. If you've ever wanted a psychedelic background, a glitch-texture source, a CRT-fuzz overlay, or something to feed into an img2img pipeline as a structural starting point, this is the shortcut.
It's part of the procedural-generation shelf of the pack (the same family as the fractals and mesh generators), which means it's CPU, deterministic-when-seeded, and endlessly re-runnable. Great for when you need a texture that isn't "a photo of something" but "a pattern that exists."
How it works
The engine is opensimplex, a clean-room implementation of simplex noise, and the eight noise_type options are eight different ways to combine it:
- Plasma - three interacting noise fields mapped through sine waves with phase offsets. Default, and the classic "lava lamp" look.
- RGB Turbulence - noise distorted by more noise, per channel.
- Prismatic - the rainbow-light-through-glass look.
- HSV Noise - noise generated in hue/saturation space, so
saturationactually does something. - Perlin RGB - three stacked noise fields, one per color channel.
- Polychromatic Cellular - Voronoi-style cell patterns with color.
- Rainbow Fractal / Color Wavelet - fractal and wavelet takes on the same idea.
Every type is generated per-pixel in a Python loop. That's the price of being dependency-light and CPU-friendly, and it's also the thing to respect: 512×512 is fine, 1024 starts to feel slow, and you do not want to sit through a 4096×4096 Plasma. This is a "small canvases" node.
The inputs that matter
- width / height - 64 to 4096. Start at 512 and preview before going big.
- noise_type - the flavor, above. This is the whole personality of the output.
- scale - 0.1 to 10. Higher = bigger, slower-swirling features; lower = fine detail. Crank it up for soft clouds, down for static.
- octaves - 1–8, how many layers of detail stack up. 4 is a good default; 8 is where it gets crunchy.
- persistence - how much each octave contributes relative to the last. 0.5 is standard.
- saturation - 0–2, only truly affects the HSV type. Dial the rainbow down to a whisper or up to neon.
Seed: optional, default −1. Leave it at −1 and every run is a new roll; give it a number and the same seed always reproduces the same noise. For reproducible batches, set it.
Output: one IMAGE (batch of 1), wired straight into a Save node, a VAE encode, or a blend.
Installing it
It's part of DJZ-Nodes (the MushroomFleet pack from Drift Johnson). ComfyUI Manager → Install Custom Nodes → search DJZ-Nodes → install → restart. Manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/MushroomFleet/DJZ-Nodes
cd DJZ-Nodes
pip install -r requirements.txt
The only dependency this node actually touches is opensimplex, which is in the pack's requirements. The pack's full install drags in a lot more (audio and 3D libraries) that NoiseFactory will never use - wasteful but harmless.
Common issues
Two things to know. First, the speed thing is real: if your queue "hangs" on a big NoiseFactory, it's not frozen, it's grinding through a Python loop - shrink the canvas. Second, scale and octaves interact more than you'd think; high scale + low octaves gives smooth blobs, low scale + high octaves gives TV static. If your output looks flat or muddy, it's usually persistence near 1 washing out the contrast. There's no color-mode toggle here - V2 adds RGB channel control - so if you need to tint a specific channel, that's the upgrade path.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 51264–4096 | — |
| height | INT | 51264–4096 | — |
| noise_type | COMBO | Plasma | 8 options: Plasma, RGB Turbulence, Prismatic, HSV Noise, Perlin RGB, Polychromatic Cellular, +2 |
| scale | FLOAT | 1.00.1–10 | — |
| octaves | INT | 41–8 | — |
| persistence | FLOAT | 0.500–1 | — |
| saturation | FLOAT | 1.00–2 | — |
| seedopt | INT | -1-1–4294967295 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |