DY Adaptive Color Circles
Bokeh-style dots whose fill color comes from the image
- image
- IMAGE
DY Adaptive Color Circles scatters random filled circles across your image, and each circle's fill color is sampled from the pixel at the circle's own center. It's the round member of the pack's "adaptive color" family - the one you reach for when you want a dotted, pointillist, or stylized-bokeh treatment that still feels anchored to the original image's colors.
The adaptive-color trick is what makes these worth having over a generic "add circles" node. Because a circle over the sky is filled with sky color and a circle over the subject is filled with subject color, the overlay reads as a texture of the image rather than something slapped on top of it. Drop the alpha and they blur into soft translucent dots - an easy fake-bokeh or halftone-ish feel. Keep them opaque with outlines and you get a graphic, almost comic-pop art look.
How it works
The mechanism mirrors the other adaptive nodes: pick a random center and a random radius between min_radius and max_radius, sample the image color at the center (clamped to bounds, so no crashes), apply alpha jittered around alpha, draw a filled ellipse on a transparent overlay, and composite everything back onto the original. One extra knob this node has over the lines version: outline_thickness. When it's above 0, each circle gets an outline in the same sampled color at full opacity - which reads like a sticker or a bubble rather than a soft dot.
Inputs you'll actually set:
- num_circles (1–100000) - count. Start around 50–200 for texture, thousands for a true dotted mosaic.
- min_radius / max_radius - the size range. Small radii = fine grain; large radii = bold discs.
- alpha (default 128) / alpha_deviation - opacity and variance. The 128 default is half-opaque, which is the right place to start.
- outline_thickness (0–50, default 0) - 0 = soft dots, >0 = outlined bubbles.
The gotchas
No seed input, so every run is freshly random - rerun and the circles move; you can't reproduce a specific arrangement. Only the first image of a batch is processed. And as with the other adaptive nodes, this one writes a temp PNG preview and returns a UI image, so you'll see a thumbnail on the node after each run. One more thing to watch: with a huge num_circles and large radii, the layer can completely bury the source image - the colors will still be "from" the image, but the image itself will be gone.
Install
Part of dymokomi/comfyui_dygen by Dy Mokomi. ComfyUI Manager → search "comfyui_dygen", or:
cd ComfyUI/custom_nodes
git clone https://github.com/dymokomi/comfyui_dygen
Restart. No extra deps, no models.
Bottom line
If your render needs texture that stays on-palette, this is the easiest dot-overlay node you'll find. The trick to liking the result is respecting alpha - start with the 128 default and low counts, then build up. Treat the missing seed as the price of admission for the whole adaptive family.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| num_circles | INT | 101–100000 | — |
| min_radius | INT | 51–500 | — |
| max_radius | INT | 501–1000 | — |
| alpha | INT | 1280–255 | — |
| alpha_deviation | INT | 200–255 | — |
| outline_thickness | INT | 00–50 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |