Geekatplay HyperTile Tile Preview
See the tile seams before you burn a sampling pass
- image
- preview
- summary
The most expensive mistake in tiled upscaling is finding out about the seam layout after the denoise pass has already run for ten minutes. HyperTileTilePreview exists to move that discovery to before. Give it the source image, the planned target size, and the tile size, and it draws the exact grid - amber lines, like a camera viewfinder overlay - on a resized preview, plus a label stating the geometry in plain text.
How it works
It takes the first frame, resizes it to target_width/target_height with bilinear, then draws vertical and horizontal lines at every tile boundary using line_width pixels (default 3). In the corner it stamps a label - 4096x4096 | 6x6 tiles @ 768x768 - on a small black box so it stays readable. That same string is what the summary output returns, so you can pipe it to a text display node too.
Inputs
image- the source image you're planning around.target_width/target_height- from the Planner'starget_width/target_heightoutputs, not typed by hand.tile_width/tile_height- defaults 768. Note these are inputs, not the Planner's outputs; if you change the plan elsewhere you have to re-feed them.line_width- the overlay stroke thickness.
Outputs
preview(IMAGE) - drop it on a PreviewImage node.summary(STRING) - the label text.
Install
Part of GeekatplayStudio/ComfyUI-UltimateUpsacaler. Install via Manager - search "ComfyUI-UltimateUpsacaler" - or:
cd ComfyUI/custom_nodes && git clone https://github.com/GeekatplayStudio/ComfyUI-UltimateUpsacaler
Restart after. It needs only Pillow and torch.
What it's actually for
Sanity-checking the plan. The tile count tells you whether the pass will be four tiles or thirty-six, and the grid shows where seams land relative to the important parts of the composition. A face straddling a tile boundary is a face split and re-generated on both sides - which is how you get twins. Our upscaling knowledge base makes the same point from the other direction: without a per-tile condition (ControlNet Tile feeding the source into each tile), tiled upscales diverge into patchwork. Previewing won't fix that, but it tells you the seams exist and where, before you pay for the sample.
Common issues
There's genuinely little to break - it's a drawing node. Two caveats:
- It draws on the first frame only, so a batch preview shows frame one's grid. Fine for a stills workflow, useless for video.
- If the grid doesn't match the actual tiler output, check where the tile sizes came from: this node doesn't read the Planner for you, it takes whatever numbers you feed it. Feed it the same values the tiler gets and the preview tells the truth.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| target_width | INT | 409664–32768 | — |
| target_height | INT | 409664–32768 | — |
| tile_width | INT | 76864–4096 | — |
| tile_height | INT | 76864–4096 | — |
| line_width | INT | 31–16 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| preview | IMAGE | — |
| summary | STRING | — |