imageTilesFromBatch
Pull one tile out of a split batch
- tiles
- masks
- overlap
- image
- mask
- x
- y
Tiled processing is how you upscale or detail an image that's too big to run in one shot: chop it into overlapping tiles, process each tile, stitch them back. easy imageTilesFromBatch is the "grab one tile" step in that dance. Once you've split an image into a batch of tiles, this node hands you a single tile - plus its mask and its position - so you can process it, usually one at a time inside a loop.
It's part of yolain's ComfyUI-Easy-Use pack and it's the natural partner to easy imageSplitTiles (the two arrived together in v1.2.4). Split makes the batch; this pulls tiles out of it by index.
How it works
The upstream split node produces three things that describe the tiling: the tiles themselves (a batch of images), the masks for their overlap regions, and an overlap object that carries the layout - how the tiles map back onto the original canvas. imageTilesFromBatch takes all three plus an index, and returns the one tile at that index along with everything you need to place it back later.
The overlap masks are the important bit. Tiled upscaling produces visible seams if you just butt tiles together; the overlap regions, blended with these masks, are what make the joins invisible when you stitch. This node keeps each tile paired with its own mask so that blend stays correct.
Inputs and outputs
- tiles, masks, overlap - the three outputs from your split node, wired straight in. You don't hand-set these.
- index - the one you actually control: which tile to pull (0-based). In a loop, this is your running loop index.
Outputs:
- image and mask - the selected tile and its overlap mask.
- x and y - the tile's pixel position on the original canvas.
The typical shape is: loop over tile indices → for each, pull the tile → run your sampler/detailer on it → collect results → stitch back using the positions and masks. The x/y outputs exist precisely so the recombine step knows where each processed tile belongs.
Installing it
Comes with the pack. ComfyUI Manager → search "ComfyUI Easy Use" → install → restart. Or cd ComfyUI/custom_nodes && git clone https://github.com/yolain/ComfyUI-Easy-Use, run install.bat / pip install -r requirements.txt, restart.
Common issues
This node doesn't stand alone - it consumes the specific tiles/masks/overlap triple from EasyUse's split node. If the overlap input isn't wired from that node, you've got nothing to index into. Don't try to feed it a random image batch and expect it to invent tile geometry; the overlap object is the map, and without it there's no way to know where tile 4 goes.
The other trap is an out-of-range index. If your split produced 9 tiles and your loop runs to index 9 (ten iterations), the last pass has nothing to fetch. Match your loop count to the actual tile count - which, conveniently, you can get from the split side of the workflow rather than guessing.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| tiles | IMAGE | — | |
| masks | MASK | — | |
| overlap | OVERLAP | — | |
| index | INT | 00–10000 | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |
| x | INT | — |
| y | INT | — |