Abstract Image Noise Layer
It's not static, it's sine waves — the soft Perlin-ish noise layer
- image
- IMAGE
If you're picturing TV static when you read "noise layer," stop. Abstract Image Noise Layer generates soft, cloud-like organic gradients - the sort of thing you'd get from Perlin noise - by summing a handful of sine waves. It's the fog, the marble, the smoky undertone of an abstract composition, and it's arguably the most useful single layer in this pack for generating img2img bases.
Why? Because it fills the canvas with smooth tonal variation instead of edges. Shapes and lines give the model geometry to interpret; noise gives it atmosphere and lighting cues. Feed a soft two-color sine-field through VAE Encode into a sampler at 0.8–0.9 denoise and the model turns that wash into clouds, water, fabric, or just a gorgeous gradient-rich backdrop. It's also the layer that keeps your abstract image from looking flat - throw a noise layer under your shapes and suddenly everything has depth.
The inputs you'll actually set
- num_layers - stack 2–3 noise layers and the cloud fields start interacting like actual weather. One layer reads flat; several read dimensional.
- alpha - opacity of the noise, 0–255. The node already keeps internal alpha modest, so you mostly adjust this to pull the noise forward or push it back.
- blend_mode - the standard 12 (normal, multiply, screen, overlay, add, …).
overlayandmultiplyare magic here: they let the noise tint and shade the layers beneath without erasing them. - noise_color_mode - random RGB,
hexvianoise_color_hex, or the named colors. Two-color noise looks best;randompicks the two from the same mode.
shape_position can confine the noise field to a quadrant or center if you want a localized haze, and randomize delegates scale, colors, position, and blend to the seed.
How it works
The source calls it "fast Perlin noise," and it earns the name honestly. Instead of expensive fractal interpolation, it builds a meshgrid, layers 3–8 sine waves with randomized frequency, phase, and amplitude, normalizes the sum to 0–1, and maps that through two colors to make an RGBA layer. The output is smooth and organic - no blocky pixels, no salt-and-pepper static. That's a deliberate design choice that separates this from a plain "add random noise" filter: the goal is a usable painting layer, not a data corruption effect.
One honest caveat: because it's a simple sine sum rather than true multi-octave Perlin, don't expect perfect cloud gradients in every seed. Some seeds give lovely swirling marble; others give broad stripes. That's fine for a base image - reseed until the field pleases you, then lock it.
Install
Part of the AbstractImaGen pack - ComfyUI Manager, search AbstractImaGen, install, restart, refresh. Manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/wakattac/ComfyUI-AbstractImaGen
Dependencies: Pillow, numpy, scipy, torch - all present in a normal ComfyUI install. No models to fetch. After restart, the node appears under AbstractImage/Layers.
Gotchas
noise_color_hexrequiresnoise_color_modeset tohex, same contract as the other layers.- This node expects a single image frame. Batches or videos won't process per-frame.
- Noise layers are cheap, so don't be shy - but the node's own internal alpha is already semi-transparent, so if your noise looks invisible over a busy base, check
alphaand the blend mode before assuming it's broken.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| seed | INT | 00–18446744073709550000 | Seed for noise pattern randomness. |
| randomize | BOOLEAN | false | If true, randomize noise scale, colors, position, and blend mode using the seed. |
| num_layers | INT | 11–10 | Number of noise layers to add. |
| noise_color_mode | COMBO | random | Color selection mode for noise. 'random' uses implicit RGB. |
| noise_color_hex | STRING | Hex code for noise color (used if Noise Color Mode is 'hex'). | |
| alpha | INT | 2550–255 | Alpha (transparency) for noise (0 is fully transparent, 255 is fully opaque). |
| shape_position | COMBO | full | Restrict noise pattern to a specific position/quadrant. |
| blend_mode | COMBO | normal | Blending mode to composite the noise layer onto the base image. |
| feather_layer | BOOLEAN | false | Apply Gaussian blur to the alpha channel of the noise layer. |
| feather_sigma_min | FLOAT | 1.00–20 | Minimum sigma for feathering (if applied). |
| feather_sigma_max | FLOAT | 6.00–20 | Maximum sigma for feathering (if applied). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |