Quantize
Posterize and dither like it's 1995
- image
- IMAGE
Your render is a 24-bit image with millions of colors. Quantize asks the question nobody asks anymore: what if it had sixteen? It reduces the palette to any count from 1 to 256 colors and gives you the option to dither the result - scattering the quantization error into a pattern instead of ugly banding. It's the pack author's favorite, and it's the node you reach for when you want a posterized, retro, or flat-design look that no amount of "saturation" sliders can produce.
How it works
The image is converted to RGB and run through Pillow's quantize(), which builds an adaptive palette of the colors that actually appear in your image (the code does a two-step quantize - palette first, then re-quantize with that palette - because of a known Pillow quirk). The dither option then decides what happens to the error between a pixel's true color and its palette match:
- colors (1–256, default 256) - the palette size. 256 is essentially lossless. Drop to 32–64 for a subtle posterization, 8–16 for a bold flat look, 2 for a straight-up two-tone poster. This single dial is your whole creative range.
- dither -
nonegives clean hard posterized regions (classic, but prone to banding in gradients),floyd-steinbergscatters the error into the characteristic grainy dot pattern that kills the banding. If your image has smooth skies or skin gradients, you almost always want dither on below ~64 colors.
Output is a single IMAGE.
Install
Quantize is one of ~22 nodes in ComfyUI-post-processing-nodes.
- ComfyUI Manager: search "post processing nodes", install, restart.
- Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/EllangoK/ComfyUI-post-processing-nodes
Restart after. No requirements.txt, no downloads - it's Pillow's quantizer, which stock ComfyUI ships. It's under postprocessing → Color Adjustments in the node menu.
The combo that's actually worth building
Quantize + the pack's Pixelize + FilmGrain is a complete retro-look chain: chunky pixels, reduced palette with dithering, and grain over the top - instant 1990s computer game. Standalone, the sweet spot is 16–32 colors with Floyd-Steinberg, which reads as "intentional art direction" rather than "broken file." One honest warning: with dither off and colors set low, banding is guaranteed in any gradient, so don't blame the node - flip the dither toggle. It's the difference between a poster and a poster with texture.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| colors | INT | 2561–256 | — |
| dither | COMBO | 2 options: none, floyd-steinberg |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |