Nodes/comfyui-timesaver/TS Image Tile Splitter
ComfyUI Node

TS Image Tile Splitter

Cut a huge image into overlapping tiles your GPU can actually handle

By AlexYez·Created 2 years ago·Updated about 22 hours ago· 12
TS Image Tile Splitter
  • image
  • tiles
  • tile_data
tile_width1024
tile_height1024
overlap128
feather0.10

TS Image Tile Splitter is the first half of the tiled-processing pair: it cuts a large image into overlapping tiles so you can run an upscaler, denoiser or any heavy model on pieces instead of the whole frame. On a GPU where a 4K image doesn't fit in VRAM, that's not a convenience - it's the difference between the run succeeding and dying with an out-of-memory error on the first batch.

The tiling idea is as old as tiled diffusion itself: break the image into chunks with overlap, process each piece, then stitch the seams back. The trick to making the seams invisible is overlap plus feathering, and this node handles both for you - and hands the merge half all the geometry it needs to put the tiles back exactly where they came from.

How it works

You give it the image and four numbers:

  • tile_width / tile_height - default 1024×1024. Pick the largest size that fits your VRAM comfortably; that's the whole point of the exercise.
  • overlap - default 128 px between neighboring tiles. This is your seam budget. More overlap means the merger has more real pixels to blend and fewer visible seams, at the cost of more tiles and more redundant processing.
  • feather - default 0.1, as a fraction of tile size. This is the soft edge used when the merger blends the overlaps back together.

Outputs are two wires:

  • tiles - the batch of tiles in row-major order.
  • tile_data - a TILE_INFO metadata blob recording positions, overlap and feather. This is the handoff to the merger.

That tile_data wire is the bit that saves you from re-deriving geometry. Keep it connected - the merger expects it, and the metadata was baked from the exact same run.

Installation

This node ships in the comfyui-timesaver pack. ComfyUI Manager: search "Timesaver", install, restart. Or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/AlexYez/comfyui-timesaver
cd comfyui-timesaver
python -m pip install -r requirements.txt

Restart ComfyUI. It's under TS/Image/Tiles in the node menu.

The workflow it belongs to

The canonical graph is splitter → process → merger. The pack even ships TS Auto Tile Size to compute sensible tile dimensions for a given image and tile_count, so you can say "4 tiles" and let the node figure out the rest.

Two settings matter most in practice:

  • Overlap is your seam fix. If merged output shows grid lines, the first move is more overlap, not more feather. 128 px is fine for most upscalers; 256 px for diffusion-style processing where each tile invents detail and a hard edge shows.
  • Tile size is your VRAM knob. If you OOM, halve the tile size before you touch anything else.

The other thing to know: the merger must see the tiles in the order the splitter emitted them. If your processing step reorders or drops frames, you'll notice it in the seam pattern before you notice it anywhere else.

CategoryTS/Image/Tiles

Inputs (5)

NameTypeDefaultDescription
imageIMAGEImage to split into overlapping tiles.
tile_widthINT102464–8192Tile width in pixels.
tile_heightINT102464–8192Tile height in pixels.
overlapINT1280–512Overlap between neighboring tiles in pixels.
featherFLOAT0.100–0.5Edge feather as a fraction of tile size, used when merging tiles back.

Outputs (2)

NameTypeDescription
tilesIMAGEBatch of tiles in row-major order.
tile_dataTILE_INFOTILE_INFO metadata to feed into TS Image Tile Merger.