Nodes/ComfyUI Video Tiler/Reference Tile Slice
ComfyUI Node

Reference Tile Slice

Cut the same tiles from your reference frame, so conditioning lines up perfectly

By maDcaDDie2000·Created 6 months ago·Updated about a month ago· 19
Reference Tile Slice
  • reference_image
  • tile_config
  • ref_tiles

Tiled upscaling has a quiet second half that trips people up: the tile you're processing isn't the only image that matters. If your upscale branch is reference-guided - feeding the original low-res content alongside the tile so the model knows what it's trying to enhance - then every tile you process needs its matching reference crop, cut from the exact same geometry. Get that wrong by a few pixels and your conditioning drifts off the content, which is how you get upscales that invent detail in the wrong place.

Reference Tile Slice is the node that makes that alignment automatic. You give it a reference image (say, the original LR source, at the same spatial size as the frames your slicer saw) and the same tile_config your video slicer produced. It cuts the reference with the identical tile specs - as tensor views, same as the main slicer - and hands you back a list where ref_tiles[i] matches tiles[i] from the video slicer, index for index.

What to feed it

  • reference_image - the reference, same spatial size as the frames fed to the slicer. It's "per batch row," so if your reference is a single frame it broadcasts against the batch.
  • tile_config - from either Video Tile Slice or Slice Fixed. This is the alignment contract; don't reuse a config from a different layout.

The output is a single list: ref_tiles, same length and order as the slicer's tile list. Wire it in parallel to whatever conditioning or paired input your upscale branch takes.

Where it shines

The readme frames it as "for conditioning or paired processing," and the classic case is exactly the reference-guided upscale: your per-tile branch gets the video tile and its matching LR reference tile, so it can reconstruct with the source as a guide instead of guessing. It's also handy for any per-tile comparison you want to run - quality metrics, spatial checks, side-by-side previews - because the pairing is guaranteed by construction.

Install

Part of the comfyui-video-tiler pack:

cd ComfyUI/custom_nodes
git clone https://github.com/maDcaDDie2000/comfyui-video-tiler

Restart; it's under Video Tiler. No extra dependencies, no models to fetch - pure PyTorch slicing. Apache 2.0, vibe-coded, not actively maintained, so don't expect updates to land fast. One practical gotcha: the reference has to actually be the same size as the frames you sliced, or the crop coordinates will be wrong. If you're feeding a downscaled LR, resize it back to frame size first - this node aligns geometry, not resolution.

CategoryVideo Tiler

Inputs (2)

NameTypeDefaultDescription
reference_imageIMAGEReference RGB same spatial size as frames fed to the slicer (per batch row).
tile_configTILE_CONFIGtile_config from Video Tile Slice or Slice Fixed.

Outputs (1)

NameTypeDescription
ref_tilesIMAGEReference tiles list; same length/order as main slicer tiles.