Nodes/ComfyUI-SuperNodes/🐧 Create Tiles
ComfyUI Node

🐧 Create Tiles

Split a huge image into same-size tiles for VRAM-starved processing

By sonnyboxΒ·Created 11 months agoΒ·Updated 4 days agoΒ· 12
🐧 Create Tiles
  • image
  • tiles
  • stitch_info
β—„rows2β–Ί
β—„cols2β–Ί
β—„overlap0.25β–Ί

Tiled processing is how you do anything at print size on a consumer GPU: split the image, process each piece, stitch it back. The community has used this pattern for years - Tiled Diffusion and Ultimate SD Upscale are the classic versions of it. This node is the "split" half of that pattern inside the graph, and it's built around a constraint that most hand-rolled tiling misses: every tile must be the same size, because that's what lets you batch them through a VAE or a model without reshuffling.

It's part of the 🐧 SuperNodes pack by SuperCC, and it pairs with the pack's Stitch Tiles node for the reassembly half.

How it works

  • rows / cols - the grid. 2Γ—2 for four tiles, up to 64Γ—64 for fine grids.
  • overlap - a factor from 0.0 to 1.0. 0.0 means distinct grid cells, no overlap. As it rises, each tile grows beyond its cell: at 1.0 a tile extends into adjacent cells by 50% of the grid size. Overlap is what stops seams when you stitch - the processed edges of adjacent tiles disagree slightly, and overlapping content is how you blend that away. For upscaling workflows, some overlap is basically mandatory.

The mechanism is the interesting part: it computes the base grid cell size, then grows each tile by half its cell size times the overlap factor, centers every tile on its cell, and - when a tile would poke past the image edge - slides it back in rather than shrinking it. That slide-to-fit is what guarantees the uniform tile size. Absolute coordinates for every tile go into the stitch_info output, which Stitch Tiles uses to rebuild the image.

Outputs: tiles (an image batch of rowsΓ—cols frames, all the same size) and stitch_info (the layout metadata). Keep both wired.

When you'd reach for it

  • Upscaling an image too large to pass through a model whole: tile β†’ process β†’ stitch.
  • Applying a model or effect that has a resolution cap, to an image above that cap.
  • Any "divide and conquer" on images when VRAM is the binding constraint - which, on a 6–8GB card, is most real upscales.

Install

ComfyUI Manager, search "ComfyUI-SuperNodes", or:

cd ComfyUI/custom_nodes
git clone https://github.com/sonnybox/ComfyUI-SuperNodes

Restart ComfyUI. No models to download. The pack's only extra dependency is matplotlib (for Sigmas Graph). Note the pack targets ComfyUI's newer extension API, so keep ComfyUI updated or nothing loads.

Gotchas

  • Tile count explodes fast: a 4Γ—4 grid is 16 tiles, and each runs the full model pass. Finer grids cost linearly in tiles and quadratically in wasted overlap if you overdo it. Match the grid to the resolution, not to a number you saw in a tutorial.
  • Overlap 0.0 is fine for inspection but a seam machine for real processing - adjacent tiles will visibly disagree at the boundaries. Start at 0.25 and go up if seams show.
  • Uniform tile size is the point, but it means tiles can extend beyond the natural cell near edges; that's by design, so don't read it as a bug when your edge tiles include pixels from the next cell.

If you've ever hand-built a tiling graph and watched it fall apart on the stitch, this node is the version that thought about it first. Not glamorous, quietly essential.

CategorySuperNodes/Tiling

Inputs (4)

NameTypeDefaultDescription
imageIMAGEThe source image to be tiled.
rowsINT21–64Number of rows in the grid.
colsINT21–64Number of columns in the grid.
overlapFLOAT0.250–1Overlap factor (0.0-1.0). 0.0 means distinct grid cells. 1.0 means the tile extends into adjacent cells by 50% of the grid size.

Outputs (2)

NameTypeDescription
tilesIMAGEβ€”
stitch_infoSTITCH_INFOβ€”