Dinsky Plus Generator
Seeded Abstract Art for Backgrounds and Datasets
- IMAGE
Dinsky Plus is a procedural art generator that draws Kandinsky-style abstract compositions - colored circles, rectangles, and lines scattered across a canvas with no diffusion model involved. Give it a size and a seed and it paints you a fresh abstract image in milliseconds. No checkpoint, no sampler, no VRAM. That's the appeal: it's instant, reproducible, and infinite.
The practical uses are more varied than they sound. These make great background textures to composite AI subjects onto, useful as style-reference inputs, or a fast source of abstract art for dataset experiments. And because it's seeded, the same seed always gives the same painting - which makes it handy as a controllable element in bigger workflows rather than just random noise.
How it works
The mechanism is refreshingly simple: it creates a blank RGB canvas in PIL, then loops num_shapes times, each iteration picking a shape type (weighted by circle_weight, rectangle_weight, line_weight), a random color from the selected palette, and random geometry, then draws it. The weights are normalized into probabilities, so cranking circle_weight to 10 vs 1 for lines makes the canvas mostly circles. The seed drives both Python's random and numpy's, so everything is reproducible.
The kandinsky palette is the namesake and the best default - a warm set of corals, golds, and teals that genuinely evokes the painter. There are also warm, cool, monochrome, and vibrant options.
The inputs that matter
width/height- canvas size (64–4096). Default 1024².seed- the reproducibility knob. Change it, get a different painting; keep it, get the same one forever.num_shapes- shape count (1–1000). 100 is a nice abstract density; 1000 is basically confetti.min_size/max_size- shape size range.circle_weight/rectangle_weight/line_weight- the three shape-type probabilities. This is the personality control.
Output is a single IMAGE at your requested size.
Installing it
Dinsky Plus is part of DJZ-Nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/MushroomFleet/DJZ-Nodes
cd DJZ-Nodes
pip install -r requirements.txt
Restart ComfyUI, or install via Manager (search "DJZ-Nodes"). It only needs Pillow and numpy - both ship with ComfyUI, so it works out of the box.
Common issues
Not much can go wrong here, which is the point. The one thing to watch: line shapes are capped at a width of min_size // 10, so if min_size is tiny your lines come out hairlines. And there's no "background" input - the canvas is always solid white, so if you want a specific backdrop you'll need to composite the output yourself. For a version that anchors shapes to explicit coordinates instead of scattering them, the pack also has Dinsky Plus V2.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 102464–4096 | — |
| height | INT | 102464–4096 | — |
| seed | INT | 00–4294967295 | — |
| num_shapes | INT | 1001–1000 | — |
| min_size | INT | 101–500 | — |
| max_size | INT | 1001–1000 | — |
| color_palette | COMBO | 5 options: kandinsky, warm, cool, monochrome, vibrant | |
| circle_weight | FLOAT | 1.00–10 | — |
| rectangle_weight | FLOAT | 1.00–10 | — |
| line_weight | FLOAT | 1.00–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |