Clone Grid (Path)
Fill a grid from a folder, shuffle optional
- image
- mask
Clone Grid (X/Y) repeats one image across a grid. Clone Grid (Path) fills the same grid with images pulled from a folder - different sprite per cell, shuffled or in order, at your discretion. It's the grid version of the pack's Clone Circular (Path): same layout brain, folder-based input.
It ships in orion4d/ComfyUI_DAO_master, the French-authored vector-and-image utility pack. This is the node for contact sheets, thumbnail walls, sprite atlases from a batch of generations, and any "lay out my folder of outputs as a grid" job you'd otherwise do in a separate script. If you just generated a hundred variations and want one glanceable wall of them, this is your node.
How it works
The one required input is folder_path - a string pointing at a directory of images. Then the grid controls mirror the single-image version: count_x/count_y, spacing_x/spacing_y, offset_x/offset_y, the row_offset_x/col_offset_y brick stagger, plus per-clone rotation, scale, and opacity. canvas_mode here offers custom or auto_from_grid (no match_input, since there's no single input image to match).
The folder-specific extras are shuffle and seed. Shuffle on and the node randomizes which image lands in which cell, with the seed making it reproducible. Shuffle off and it fills in folder listing order, cycling if the grid is bigger than the folder contents.
Outputs are image and mask (union of all placed clones).
The settings that matter
folder_path- where your images live. Get this right first; everything else is cosmetic.count_x/count_y- grid density.shuffle+seed- order control. Set a seed when you need a stable layout across runs.
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 you're set.
Where people get burned
Same path pitfall as the other "Path" nodes: backslashes on Windows eat your path, so use forward slashes (C:/images/wall/) or escaped ones. And note the images get squashed to the grid cell size regardless of their native aspect ratio - if your folder holds mixed dimensions, pre-normalize or expect distortion. A wrong folder path fails quietly into an empty grid, so verify the path before chasing layout settings.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| folder_path | STRING | — | |
| canvas_mode | COMBO | custom | 2 options: custom, auto_from_grid |
| canvas_width | INT | 10241–32768 | — |
| canvas_height | INT | 10241–32768 | — |
| use_background | BOOLEAN | false | — |
| background_hex | STRING | #00000000 | — |
| count_x | INT | 41–4096 | — |
| count_y | INT | 41–4096 | — |
| spacing_x | INT | 20-10000–10000 | — |
| spacing_y | INT | 20-10000–10000 | — |
| offset_x | INT | 0-10000–10000 | — |
| offset_y | INT | 0-10000–10000 | — |
| row_offset_x | INT | 0-10000–10000 | — |
| col_offset_y | INT | 0-10000–10000 | — |
| 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 | — |