SUPIR Tiles Preview
See the tiling before you commit a slow tiled run to it
- image
- image_tiles
- tile_size
- tile_stride
A small utility node with an outsized use: it shows you exactly how your image will be split before you commit to a Tiled sampler run. That matters because tiled sampling in SUPIR - TiledRestoreDPMPP2MSampler or TiledRestoreEDMSampler on SUPIR_sample - is genuinely slow. You don't want to find out after a long run that your tile size didn't divide your image evenly and you've got a seam running down the middle of a restored 4K image.
This node uses the exact same tiling function the tiled samplers use internally, so what you see here is what you'll get, not an approximation.
What it does
You give it an image and a tile size/stride, and it slices the image the same way a tiled sampling pass would, handing back the tiles as a preview and echoing your tile size and stride settings back out as plain integers - convenient for wiring straight into SUPIR_sample's matching tile inputs so you're not manually keeping two sets of numbers in sync.
The node description also flags a second, less-finished use case: generating per-tile captions. That's meant to pair with SUPIR_conditioner's ability to accept a list of captions matching your tile count, letting you describe each tile individually before sampling. Worth knowing this exists - worth knowing equally that it's marked work-in-progress in the node's own description, so don't build a critical workflow around it yet.
Inputs and outputs that matter
Required: image, tile_size (default 512), tile_stride (default 256 - the overlap between adjacent tiles).
Outputs: image_tiles - the sliced-up preview, useful for a quick visual check that tiles are landing where you expect; and tile_size / tile_stride, passed straight through as INT outputs. Wire those two into SUPIR_sample's sampler_tile_size and sampler_tile_stride inputs and you've guaranteed the actual sampling run tiles identically to what you previewed here.
How to install it
ComfyUI Manager: search "SUPIR", install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-SUPIR
pip install -r ComfyUI-SUPIR/requirements.txt
Portable: python_embeded\python.exe -m pip install -r .... Needs a reasonably current PyTorch; xformers optional. Unlike most other nodes in this pack, this one doesn't touch SUPIR_model or SUPIR_VAE at all - it works on a plain image, so it's usable even before your model loader is wired up, which makes it a good first thing to drop into a new SUPIR graph to sanity-check tiling before building the rest of the pipeline around it.
Common issues
If your preview shows uneven tiles at the edges of the image, that's the tile size not evenly dividing your image dimensions - the node description calls this out directly: pick a tile size that divides your resolution cleanly rather than an arbitrary round number. Stride affects how much adjacent tiles overlap; too little overlap is what produces visible seams once tiled sampling is actually run, since the sampler has less shared context to blend across the boundary.
Given how rarely this node gets used stand-alone compared to the rest of the pack, the practical advice is simple: if you're not using a Tiled sampler variant on SUPIR_sample, you don't need this node at all - non-tiled sampling doesn't consume its outputs. It only earns its place in the graph once you've decided tiled sampling is necessary for your resolution and VRAM budget.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| tile_size | INT | 51264–8192 | — |
| tile_stride | INT | 25664–8192 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image_tiles | IMAGE | — |
| tile_size | INT | — |
| tile_stride | INT | — |