Image Tile merg
One image, repeated into a contact sheet — the node for 'show me all the variants' boards
- image
- tiled_image
Ignore the name collision with YCImageTile. Despite the similar spelling, this is a completely different animal: instead of cutting one image into tiles, it takes one image and repeats it into a grid, like wallpaper or a contact sheet. Same pack, different job.
What it's actually for
You've got a single image - a texture, a logo, a character render, a QR code - and you want it repeated into an N×M board with gaps between the copies. That's a genuinely common need: mockup previews, texture sheets, storyboard placeholders, "here's the same icon in a 3×3 grid" boards. It's also the node you reach for when a workflow downstream wants a canvas built from repeated units and you don't want to hand-arrange copies.
How it works
Dead simple under the hood. It takes the input, converts to PIL, and pastes it into a canvas at every grid position. The canvas size is computed from the math:
- rows / cols - how many copies along each axis (1–100)
- spacing - gap in pixels between copies (0–500)
- background_color - hex color for the gaps, default
#FFFFFF
Canvas width = cols × image_width + (cols − 1) × spacing, same for height. Copies are pasted from top-left, row by row.
One thing worth knowing before it bites you: if you feed it a batch, it uses only the first image and quietly ignores the rest. This is not a "grid your whole batch" node. Feed it a single image.
Inputs and outputs
You'll set all four inputs. The output is a single tiled_image - one IMAGE, the finished board - sized to whatever rows × cols and spacing demand.
Install
Part of ComfyUI-YCNodes. ComfyUI Manager → search "ComfyUI-YCNodes" → install, then restart. Manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/yichengup/ComfyUI-YCNodes
Dependencies are the pack standard - torch, numpy, pillow, opencv-python, scipy - and there are no model files to download.
Where people get burned
- Feeding it a batch. It only pastes the first image. If you're expecting a batch of images each turned into its own grid, that's not what this does.
- Transparent inputs. The output is built as RGB, so an RGBA source with a transparent background gets flattened onto the canvas color. Set
background_colordeliberately. - The name confusion. Search results and forum threads will put this next to
YCImageTile(the upscaling splitter). They are not interchangeable - one cuts, one copies.
It's a small utility, the kind you forget exists until you need a contact sheet and then it saves you ten minutes of manual arrangement. Keep it in the drawer for those moments.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| rows | INT | 21–100 | — |
| cols | INT | 21–100 | — |
| spacing | INT | 00–500 | — |
| background_color | STRING | #FFFFFF | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| tiled_image | IMAGE | — |