Nodes/ComfyUI-SuperNodes/🐧 SeedVR Calculate Tiles
ComfyUI Node

🐧 SeedVR Calculate Tiles

The author calls it 'probably useless.' It's actually the part people forget.

By sonnyboxΒ·Created 11 months agoΒ·Updated 4 days agoΒ· 12
🐧 SeedVR Calculate Tiles
  • image
  • rows
  • cols
  • suggested_overlap
β—„target_tile_size1024β–Ί
β—„upscale_by1.0β–Ί

The README for ComfyUI-SuperNodes lists this one with the honest one-liner: "Probably useless." The 🐧 SeedVR Calculate Tiles node doesn't upscale anything and doesn't process pixels - it just computes numbers. But those numbers are exactly what people hand-roll wrong, and it earns its place in a tiled upscaling graph.

Here's the job. When you tile an image so it fits in VRAM, you're really imposing a pixel budget: every tile must stay under some maximum area, or you're back to OOM. This node measures your source image, applies the upscale factor you plan to use, and figures out how many rows and columns of tiles keep each tile under a target area - then also hands you the overlap you should set. For a SeedVR2-style upscale where a single 2MP+ pass is too much for a 6GB card, that's the planning step you'd otherwise do with a spreadsheet.

How it works

It computes the final upscaled dimensions (source Γ— upscale_by), sets a target area of target_tile_sizeΒ² (1024 β†’ roughly 1MP per tile), and iteratively splits the grid, keeping tiles as square as possible, until the estimated tile area fits under the budget with a 10% tolerance. The overlap formula is the important part: it's min(1.0, 0.05 Γ— max(rows, cols)), and the tile-size math mirrors Create Tiles' own logic (tile = base + 0.5 Γ— base Γ— overlap). The node was deliberately written to match the sibling node's geometry, so its numbers plug straight in.

Three inputs, three outputs - a clean, boring interface:

  • image β†’ the source to measure.
  • target_tile_size β†’ the per-tile pixel budget, as a side length.
  • upscale_by β†’ the scale factor you intend to apply before tiling (tiling is calculated on the upscaled dimensions, which is the trap most people fall into).

Outputs: rows, cols, and suggested_overlap. Wire all three into Create Tiles and you have a self-sizing tiled pipeline.

Installing it

Part of ComfyUI-SuperNodes (GitHub: sonnybox/ComfyUI-SuperNodes) by SuperCC. ComfyUI Manager β†’ search SuperNodes β†’ install β†’ restart, or:

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

Just matplotlib as a dependency; needs a current ComfyUI (comfy_api extension API).

Where people get burned

The biggest mistake is feeding it the original resolution while also upscaling later - if you ignore upscale_by (leaving it at 1) and upscale tiles 4x downstream, every tile blows past your budget and you're back to OOM. Set upscale_by to what you'll actually do. Note that a 1Γ—1 grid gets zero overlap by design, and it's called "suggested" for a reason - the 5%-of-grid formula is a starting point, not a law. And it's only as smart as its inputs: it has no idea what your actual VRAM is, so target_tile_size is your knob, not a detected value.

CategorySuperNodes/Tiling

Inputs (3)

NameTypeDefaultDescription
imageIMAGEThe source image to measure.
target_tile_sizeINT1024256–8192Target resolution side length (e.g. 1024 = 1MP limit).
upscale_byFLOAT1.01–1024The scale factor you intend to use. Tiling is calculated relative to the upscaled dimensions.

Outputs (3)

NameTypeDescription
rowsINTβ€”
colsINTβ€”
suggested_overlapFLOATβ€”