Nodes/comfyui_dygen/DY Adaptive Color Circles
ComfyUI Node

DY Adaptive Color Circles

Bokeh-style dots whose fill color comes from the image

By dymokomi·Created 2 years ago·Updated 2 years ago· 1
DY Adaptive Color Circles
  • image
  • IMAGE
num_circles10
min_radius5
max_radius50
alpha128
alpha_deviation20
outline_thickness0

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.

CategoryDyGen/effects

Inputs (7)

NameTypeDefaultDescription
imageIMAGE
num_circlesINT101–100000
min_radiusINT51–500
max_radiusINT501–1000
alphaINT1280–255
alpha_deviationINT200–255
outline_thicknessINT00–50

Outputs (1)

NameTypeDescription
IMAGEIMAGE