Video Tile Merge
Put the video back together — feathering, blending, and where your seams go
- tile_config
- tiles
- IMAGE
Slicing a video into tiles is only half the job. The other half - the half where people actually get visible seams - is putting it back together without the grid showing. Video Tile Merge is the pack's reconstruction node, and it's where the tile_config geometry and your feather settings finally pay off.
The mechanism is exactly what you'd want a merge to be: the node writes processed tiles into a single output buffer, and in the overlap regions it builds geometric alpha ramps whose width is controlled by feather. A tile's edges get weighted down toward the neighbor's, so no hard boundary survives. It also means the output is a real full-frame tensor again - [B,H,W,C] - which is what you'll encode.
The inputs that matter
tile_config- must come from the same slicer that produced the tiles. Mixing configs is the fastest way to a scrambled video.tiles- the processed tile list, in slicer order.feather- 0 to 0.5, the fraction of local tile width (horizontal ramps) and height (vertical ramps) used for the blend. Default 0.125 is a sane start. Seeing seams? Nudge it up.
Three optional knobs earn their keep:
blend_mode-alpha_over(painter order with a coverage gate) vsweighted_average(sum of weight×color over sum of weight). For symmetric, order-independent blending,weighted_averageis the one that makes seams genuinely vanish.feather_curve-linear,ease_in,ease_out,ease_in_out. Reshapes only the alpha mask, not tile positions. Easing makes the blend ramp feel less "mechanical" on strong edges.merge_device-auto(keeps the first tile's device),cpu(system RAM), orcuda. If VRAM is your bottleneck,cpukeeps the merge out of the card entirely.
What comes out
Just the IMAGE - merged full frame batch. Wire it to a preview, a video encoder (the pack is VideoHelperSuite-compatible), or straight into Video Tile Reference Color Match if you're doing the full color-alignment pass.
Install
Standard for the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/maDcaDDie2000/comfyui-video-tiler
Restart, and you'll find it under Video Tiler. No extra dependencies, no models to download. Apache 2.0, vibe-coded, not actively maintained - if you hit a bug, the source is small and readable enough to patch yourself.
Where people get burned
The biggest trap is feeding a tile_config from a different slice than the tiles - the geometry won't match the crops and you'll get nonsense. Second is the "feather zero, blame the pack" move: no overlap means no ramp, and no ramp means seams. Third is forgetting that the merge is the memory summit of the whole in-memory workflow - the output frame exists as one tensor, and on very long clips that can still want serious RAM. When the in-memory path won't fit, that's exactly what the disk-backed merge nodes in this pack exist for.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| tile_config | TILE_CONFIG | Same TILE_CONFIG from the slicer that produced the tiles (version v3–v5 supported). | |
| tiles | IMAGE | Processed tile batch list (INPUT_IS_LIST). Same order as slicer tile list. | |
| feather | FLOAT | 0.1250–0.5 | 0–0.5: fraction of local tile width (horizontal ramps) and height (vertical ramps). Hard cap 50% per axis. |
| feather_curveopt | COMBO | linear | Remaps geometric seam alpha (linear default). Easing reshapes only the mask, not tile positions. |
| blend_modeopt | COMBO | alpha_over | alpha_over: painter order + coverage gate. weighted_average: sum(weight×color)/sum(weight) with same geometry weights. |
| merge_deviceopt | COMBO | auto | auto keeps the first tile device. cpu uses system RAM for merge/output; cuda uses VRAM when available. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | Merged full frame batch [B,H,W,C]. Wire to preview, encode, or Reference Color Match. |