SeedVR2 Tile Splitter (Shortest Edge)
Upscale to a minimum edge, not a guess
- image
- tiles
- tile_metadata
- resolution
Most upscale targets are stated as a cap: "no bigger than 4K wide." But a few are stated as a floor - "the short side has to be at least 1080," or "vertical format, height must clear 3000." That's the constraint SeedVR2TileSplitterByShortestEdge is built around. Where the Longest Edge variant caps your image, this one guarantees the smaller dimension, and the stitcher resizes the final output to land on it exactly.
It's one of the three alternative splitters BacoHubo shipped in v1.1.0 of the SeedVR2 Tiler pack, sharing the exact tiling engine as the base SeedVR2TileSplitter - same auto-selected grid, same edge-replication padding, same overlap/feather behavior - with just the target-size parameter swapped.
The one input to care about
shortest_edge_px- the pixel length of the shortest edge in the final stitched output. Default 2048, range 64–16384, 8-pixel steps.
The node works out the upscale factor as target ÷ current shortest edge. A 2048×1024 landscape at shortest_edge_px 2048 becomes a 2× upscale (so 4096×2048 out). Same setting on a square image would be a 1× no-op, which is the thing to remember: the shortest edge is a floor relative to aspect ratio, not a universal boost. If your spec is really "cap the long side," you want the Longest Edge sibling instead; pick the node that names the dimension you actually must satisfy.
Everything else is the shared splitter set - tile_size_mp (0.5–1.0 on 8GB), overlap_percent (10 default), feather_blend (1.0 smooth) - and the outputs are the familiar tiles, tile_metadata, resolution.
Wiring
Standard splitter hookup: tiles into SeedVR2's image input, resolution into its resolution input, tile_metadata into the stitcher. Remember max_resolution to 0 on the SeedVR2 node, or its own longest-edge cap will quietly cap the very image you're trying to floor. The stitcher then does the exact final resize to hit shortest_edge_px - the base MP splitter can't promise that; the target-size variants can.
Install
ComfyUI Manager, search SeedVR2 Tiler, or:
cd ComfyUI/custom_nodes
git clone https://github.com/BacoHubo/ComfyUI_SeedVR2_Tiler
No extra dependencies or model files - but you do need the numz SeedVR2 node with its weights, and run them FP16. If the output looks off before you've tried FP16, you haven't actually tested SeedVR2 yet.
One honest caveat
This is the least-trafficked of the three variants, and for most people that's fair - "longest edge" covers the common spec. Grab the Shortest Edge node when your deliverable genuinely constrains the short side (vertical video thumbnails, certain print ratios), and you'll be glad it exists. For a simple ratio, the Upscale Factor node is the one most people reach for first.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| tile_size_mp | FLOAT | 1.00.1–16 | Maximum size of each tile in megapixels. Lower = less VRAM per pass. |
| shortest_edge_px | INT | 204864–16384 | Desired pixel length of the shortest edge in the final stitched output. |
| overlap_percent | FLOAT | 100–40 | Overlap between adjacent tiles as a % of tile size. |
| feather_blend | FLOAT | 1.000–1 | 1.0 = smooth feather blend. 0.0 = hard cut. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| tiles | IMAGE | — |
| tile_metadata | TILE_METADATA | — |
| resolution | INT | — |