Video Combine From Dir ???
Turn a folder of frames into an mp4 without holding them all in RAM
- audio
- video_path
- report
Most video-combine nodes in ComfyUI take an IMAGE batch and run it through ffmpeg. That's fine until your "video" is 5,000 decoded frames and the batch itself is squatting in your system RAM. Video Combine From Dir takes the other route: it reads sequential frame files straight off disk and encodes them, so your memory footprint stays tiny even for very long runs.
This node is the payoff end of the pack's low-RAM story. IAMCCS's disk-based pipelines - IAMCCS_VAEDecodeToDisk, the LTX 2.x extension module, the SuperNodes VAE stage - all write frames to disk precisely so that a node like this can mux them later without the whole batch living in memory. If you've been running long LTX workflows and watching system RAM balloon during combine, this is the node that was built to fix exactly that.
Inputs
- frames_dir (tooltip: "Directory containing sequential frame files.") - point it at the folder; it scans for numbered frames in order. The default points at the pack's own
iamccs_extension_disk/final_extendedoutput. - frame_rate - output FPS (default 24).
- filename_prefix - where the video goes: relative to ComfyUI's output dir, or an absolute path without extension.
- crf - x264 quality, default 19 (smaller = better, 18–23 is the sane range for most content).
- pix_fmt -
yuv420p(default, universally playable) oryuv444p(better color, heavier). - trim_to_audio - if you also feed audio, trim the video to the audio length. On by default, which is the right call for lipsync work.
- audio (optional) - mux an
AUDIOtrack in.
Outputs
- video_path - the written file, ready for a Save/Preview node.
- report - what got combined, useful for logging.
Install
Ships in IAMCCS-nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
or via Manager (search "IAMCCS"), restart. You need ffmpeg available to ComfyUI (the standard install already has it) - this node shells out for the actual encode.
Where it bites
The naming matters: the folder must contain sequential frame files that sort correctly. Zero-padding inconsistencies (frame_9 vs frame_10 sorting before frame_100) will scramble your video, so use the pack's own disk-decode nodes that write consistent names, not random exporters. Also, trim_to_audio with no audio connected is a no-op - harmless, but if your output is longer than intended and you expected trimming, check that the AUDIO is actually wired in.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| frames_dir | STRING | iamccs_extension_disk/final_extended | Directory containing sequential frame files. |
| frame_rate | FLOAT | 24.001–240 | — |
| filename_prefix | STRING | IAMCCS/LTX23_LOW_RAM | Relative output prefix inside ComfyUI output, or absolute output path without extension. |
| crf | INT | 190–51 | — |
| pix_fmt | COMBO | yuv420p | 2 options: yuv420p, yuv444p |
| trim_to_audio | BOOLEAN | true | — |
| audioopt | AUDIO | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video_path | STRING | — |
| report | STRING | — |