Nodes/ComfyUI-YCNodes/Image Tile merg
ComfyUI Node

Image Tile merg

One image, repeated into a contact sheet — the node for 'show me all the variants' boards

By yichengup·Created 2 years ago·Updated 4 months ago· 48
Image Tile merg
  • image
  • tiled_image
rows2
cols2
spacing0
background_color#FFFFFF

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_color deliberately.
  • 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.

CategoryYCNode/Image

Inputs (5)

NameTypeDefaultDescription
imageIMAGE
rowsINT21–100
colsINT21–100
spacingINT00–500
background_colorSTRING#FFFFFF

Outputs (1)

NameTypeDescription
tiled_imageIMAGE