Nodes/DJZ-Nodes/Dinsky Plus Generator V2
ComfyUI Node

Dinsky Plus Generator V2

Coordinate-Anchored Abstract Art

By MushroomFleet·Created 2 years ago·Updated 5 months ago· 78
Dinsky Plus Generator V2
    • IMAGE
    width1024
    height1024
    seed0
    x_coords100,200,300,400,500
    y_coords100,200,300,400,500
    shape_radius50
    line_width5
    color_palette
    circle_weight1.0
    rectangle_weight1.0
    line_weight1.0

    Dinsky Plus V2 is the "actually, I want some control" sequel to Dinsky Plus. The original scatters shapes randomly across the canvas; this one lets you pin shapes to specific coordinate pairs. You type in x_coords and y_coords as comma-separated lists, and the node draws circles at those points, with rectangles and lines connecting consecutive points. Same abstract Kandinsky-family aesthetic, but now the composition is yours.

    That's a meaningful upgrade if you're using these for anything deliberate - a poster background where you know where the subject will sit, an abstract composition that needs to leave a specific area empty, or a layout where shapes need to relate to each other. Random abstraction is fun; abstraction that leaves room for your text or subject is useful.

    How it works

    The core is identical to V1: seeded random, PIL drawing, weighted shape selection from the same five palettes, single IMAGE output. The difference is the anchor points. The node parses x_coords and y_coords (commas required; spaces are tolerated), zips them into pairs, and each pair becomes the anchor for one shape. Circles are drawn centered on a pair with shape_radius; rectangles and lines use the next pair as their second point - so consecutive pairs chain together visually. If the parse fails or you give it fewer than two pairs, it falls back to default points at quarter/center/three-quarter positions, so the node degrades gracefully instead of erroring.

    The inputs that matter

    • x_coords / y_coords - comma-separated integer lists, e.g. 100,200,300,400,500. Equal-length lists get paired up; the shorter one wins.
    • shape_radius - circle size (1–500).
    • line_width - line thickness (1–50).
    • seed - reproducibility.
    • circle_weight / rectangle_weight / line_weight - shape-type probability mix, as in V1.

    Output is a single IMAGE at your requested width/height.

    Installing it

    Dinsky Plus V2 ships in 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 ("DJZ-Nodes"). Pillow + numpy only - nothing heavy.

    Common issues

    The coordinates are plain canvas pixels, not normalized - so if you change width/height after laying out your coordinates, everything shifts relative to the canvas. Treat coordinates as part of your design, not an afterthought. Second, the chaining behavior for rectangles and lines means the last pair wraps around to the first (it uses modulo), so an odd count can draw a closing edge you didn't expect. And as with V1, the canvas is always white - no background option, so plan your composite accordingly.

    CategoryDJZ-Nodes

    Inputs (11)

    NameTypeDefaultDescription
    widthINT102464–4096
    heightINT102464–4096
    seedINT00–4294967295
    x_coordsSTRING100,200,300,400,500
    y_coordsSTRING100,200,300,400,500
    shape_radiusINT501–500
    line_widthINT51–50
    color_paletteCOMBO5 options: kandinsky, warm, cool, monochrome, vibrant
    circle_weightFLOAT1.00–10
    rectangle_weightFLOAT1.00–10
    line_weightFLOAT1.00–10

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGE