π« Noise from Area Palettes
Nine palettes, one image, color by region
- top_left_palette
- top_center_palette
- top_right_palette
- center_left_palette
- center_palette
- center_right_palette
- bottom_left_palette
- bottom_center_palette
- bottom_right_palette
- image
Single-palette noise is nice, but real scenes aren't one color. Noise from Area Palettes [Dream] splits your image into a 3Γ3 grid - top-left, top-center, all the way to bottom-right - and gives each region its own palette, then generates one seamless noise image where the colors blend between regions. Sky palette up top, ground palette at the bottom, and everything in between eases from one into the other. It's the pack's showpiece for color-coherent animation: the example workflow that demonstrates it samples areas of a reference frame and rebuilds them as noise.
The mechanism is the interesting part. Each output pixel doesn't just check which of the nine cells it's in - it measures its distance to all the active palette regions and picks one by weighted random, where the weight falls off with distance. The area_sharpness slider (0 to 1) controls how steeply that falloff happens: at low values the regions bleed into each other and you get smooth gradients; at high values each area snaps hard to its own palette. The same recursive paint-and-blur engine as Noise from Palette does the actual generation - colored blocks, blurred, block size halved, repeat. You don't need all nine palettes wired: any slot left empty is simply not a candidate region.
The inputs that matter
- Nine optional palettes -
top_left_palettethroughbottom_right_palette, each anRGB_PALETTE. Wire as many as you need; the rest are skipped. - area_sharpness - the key creative control. Default 0.5; push toward 1 for hard region boundaries, down toward 0 for smooth inter-region blending.
- width / height - output resolution (up to 8192).
- blur_amount / density - same texture controls as the single-palette noise node.
- seed - reproducibility for animation consistency.
Output is a batched IMAGE - the node generates one noise image per palette batch, so it lines up with the batch dimensions of your palettes.
Installing it
Part of Dream Project Animation Nodes - install via ComfyUI Manager (search "Dream Project Animation Nodes") or:
cd ComfyUI/custom_nodes
git clone https://github.com/alt-key-project/comfyui-dream-project.git
cd comfyui-dream-project
pip install -r requirements.txt
Restart ComfyUI. Watch the numpy<2.0 pin in requirements.
Common issues
The classic mistake is wiring only the center palette and wondering why the output looks uniform - with one active region, every pixel's nearest region is that one, so you've rebuilt Noise from Palette with extra steps. For the sky/ground split to show, you need at least two regions. Also note it outputs an RGB image, not latent noise - route it through a VAE encode or use it as an image. And the pack-wide caveat: README declares it unmaintained, but this one still runs on current ComfyUI and remains the pack's best argument for area-based color coherence.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| area_sharpness | FLOAT | 0.500β1 | β |
| width | INT | 5121β8192 | β |
| height | INT | 5121β8192 | β |
| blur_amount | FLOAT | 0.300β1 | β |
| density | FLOAT | 0.5000.1β1 | β |
| seed | INT | 00β18446744073709550000 | β |
| top_left_paletteopt | RGB_PALETTE | β | |
| top_center_paletteopt | RGB_PALETTE | β | |
| top_right_paletteopt | RGB_PALETTE | β | |
| center_left_paletteopt | RGB_PALETTE | β | |
| center_paletteopt | RGB_PALETTE | β | |
| center_right_paletteopt | RGB_PALETTE | β | |
| bottom_left_paletteopt | RGB_PALETTE | β | |
| bottom_center_paletteopt | RGB_PALETTE | β | |
| bottom_right_paletteopt | RGB_PALETTE | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | β |