Video Tile Disk Folder Merge
The standalone merge pass — assemble a finished video from disk, no graph required
- audio_override
- IMAGE
- status
- tile_count
- audio
This is the payoff node of the whole disk-backed workflow. Video Tile Disk Folder Merge is the pass-2 assembler: it scans a completed tile job folder, merges the saved tiles into a full frame batch, and hands you the IMAGE plus audio to feed your video encoder - and it does all of it independently, with no slicer, no Disk Job node, no source video, and no tile-processing branch in the graph. If pass 1 was the slog, this is the part you actually get to enjoy.
The inputs
The star is job_folder, a plain path widget - you paste the job folder, a manifest.json path, or a parent folder containing exactly one job. That's the whole "standalone" trick: because the node reads the folder rather than a wire, you can queue this branch on its own, in a separate workflow, even after closing ComfyUI and coming back the next day.
Then the familiar merge controls: feather (seam blend width), feather_curve, blend_mode (alpha_over / weighted_average), merge_device (cpu default / auto / cuda), and audio_override for older jobs without stored audio.
What comes out
IMAGE- the merged full frame batch.status- a string telling you where the merge stands (including, usefully, if it's waiting on missing tiles).tile_count- how many tiles went in.audio- stored or override audio, ready to wire into the encoder.
The waiting behavior is the feature
Unlike Disk Merge's require_all_tiles flag, Folder Merge always requires the complete expected tile set. If pass 1 isn't finished, it stops and reports the saved count and the exact missing indices - and because it rescans the folder on every run, you can just queue it again when pass 1 is done, or wire it to run after. There's no stale in-memory state to confuse it. That makes it the ideal endpoint for a two-pass setup where pass 1 might take hours.
How to assemble the video
Wire IMAGE and audio into your encoder (the pack is VideoHelperSuite-compatible, so Video Combine works out of the box), set frame rate and format there, and queue the export branch. The one memory note that applies everywhere in this pack: the merged IMAGE still exists as one tensor, so very long clips can want a lot of system RAM with merge_device=cpu or VRAM with cuda - the disk path frees the tile cache, not the output buffer.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/maDcaDDie2000/comfyui-video-tiler
Restart; it's under Video Tiler/Disk. No extra dependencies, no model downloads. Apache 2.0, vibe-coded for personal use, not actively maintained. If you run only one disk node from this pack, make it this one - it's the cleanest "point at a folder, get a video" node in the set.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| job_folder | STRING | /tmp/ComfyUI/output/video_tiler_tiles | Job folder, manifest.json, or a parent folder containing exactly one tile job. |
| feather | FLOAT | 0.1250–0.5 | — |
| feather_curveopt | COMBO | linear | 4 options: linear, ease_in, ease_out, ease_in_out |
| blend_modeopt | COMBO | alpha_over | 2 options: alpha_over, weighted_average |
| merge_deviceopt | COMBO | cpu | 3 options: auto, cpu, cuda |
| audio_overrideopt | AUDIO | Optional audio for an existing job without audio.pt. When connected, this takes priority over stored audio. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |
| status | STRING | — |
| tile_count | INT | — |
| audio | AUDIO | — |