Clone Circular (Path)
A ring of different images, pulled from a folder
- image
- mask
The plain Clone Circular repeats one image around a ring. Clone Circular (Path) is the version where every slot in the ring gets a different image - pulled straight from a folder on disk. Same radial layout, same rotation/scaling controls, but instead of one sprite, you get a slideshow of them arranged in a circle.
It's part of orion4d/ComfyUI_DAO_master, the French-authored vector-and-image pack. This is the node you reach for when the ring is a collection: a ring of faces, a wheel of icons, a circular menu of thumbnails, a rosette built from twelve different photos. The "Path" in the name is the whole point - you point it at a directory and it feeds the ring from whatever's in there.
How it works
The one input that changes everything is folder_path - a plain string path to a directory of images. Everything else matches the non-path variant: canvas_width/canvas_height, use_background + background_hex, radius, count, rotate (ring phase), object_rotation (per-clone spin), scale, and opacity.
Two extras make it useful with real folders:
shuffle+seed- shuffle which image lands in which slot, reproducibly. Set the seed, get the same arrangement every run; change it, get a new one.- If your folder has more images than
count, onlycountget used; if it has fewer, the node cycles through what's there.
Outputs are image and mask - the mask being the union of all placed clones, handy for compositing or keying.
The settings that matter
folder_path- absolute path to your image folder. This is the one that'll trip you up (see below).count/radius- ring shape, same as the single-image version.seed- your shuffle control; the moment you want the same ring twice, this is the knob.
Installing
Via ComfyUI Manager (search ComfyUI_DAO_master) or:
cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/ComfyUI_DAO_master.git
No extra pip packages - pure Pillow/numpy. Restart and go.
Where people get burned
Paths. The folder_path input is a raw string, and on Windows you'll want forward slashes or escaped backslashes (C:/images/ring/) because C:\images\ring in a ComfyUI string field tends to eat the escapes. Also, unlike the single-image version, there's no match_input canvas mode here - you're always on a fixed custom canvas, so size it knowing your sprites' aspect ratio or they'll squish. And if a run comes back empty, check the folder path before anything else; a wrong path fails silently into an empty ring.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| folder_path | STRING | — | |
| canvas_width | INT | 10241–32768 | — |
| canvas_height | INT | 10241–32768 | — |
| use_background | BOOLEAN | false | — |
| background_hex | STRING | #00000000 | — |
| radius | FLOAT | 3000–100000 | — |
| count | INT | 121–20000 | — |
| rotate | FLOAT | 0.0-1440–1440 | — |
| object_rotation | FLOAT | 0.0-1440–1440 | — |
| scale | FLOAT | 1.000.01–10 | — |
| opacity | FLOAT | 1.000–1 | — |
| shuffle | BOOLEAN | false | — |
| seed | INT | 00–2147483647 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |