IAMCCS Video Hard Concat
Stitch up to five generated takes into one video, audio rules included
- video_1
- video_2
- video_3
- video_4
- video_5
- master_audio
- video
- frames
- report
In a multigen pipeline you generate takes separately - different seeds, different chunks - and then you need them back-to-back as one continuous video. Video Hard Concat is the seam: it takes up to five VIDEO objects and concatenates them into a single video, with explicit rules for what happens to the audio at the joins.
It's called "hard" concat for a reason: no crossfades, no blending, no frame interpolation between clips. The frames just get appended, and the node is upfront that you're responsible for making the takes compatible (same resolution, same codec space) before you stitch. What it does manage for you is the audio - you get four policies for how the soundtrack should behave across the edit, which is the part people usually forget.
Inputs
- video_1 - required, the first clip. video_2 … video_5 optional, appended in order.
- audio_policy - the interesting knob:
concat_clip_audio(default) - keep each clip's own audio, concatenated.use_master_audio- throw away clip audio and lay the providedmaster_audiounder the whole thing.first_video_audio- keep only the first clip's audio.silent- mute everything.
- fps_mode -
from_first_video(default, safest) oroverride_fpswith a manual FPS. - override_fps - used only when fps_mode says so.
- master_audio (optional) - the track used by
use_master_audio. - concat_plan_json (optional) - a JSON plan if you want programmatic control over the concat rather than plain sequential append.
Outputs
- video - the joined
VIDEOobject. - frames - the full frame batch as an
IMAGE, if you need to feed it to another node. - report - what was joined and how.
Install
Ships with IAMCCS-nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
or via ComfyUI Manager (search "IAMCCS"), restart. No models.
Where it bites
Hard concat is exactly as brutal as advertised: if your takes have different resolutions, frame rates (and you didn't override FPS), or wildly different color, the seam will show. This node is meant for takes from the same shot pipeline where the IAMCCS system already kept identity and dims aligned. The use_master_audio policy is the one you'll want for music-video-style assembly - generate takes silently against the full track, then lay the master under the concat so you don't hear the seams. And remember it accepts VIDEO objects, not frame folders - if you're coming off a disk-based pipeline (see IAMCCS_VideoCombineFromDir), combine to a video first, then concat.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| video_1 | VIDEO | — | |
| audio_policy | COMBO | concat_clip_audio | 4 options: concat_clip_audio, use_master_audio, first_video_audio, silent |
| fps_mode | COMBO | from_first_video | 2 options: from_first_video, override_fps |
| override_fps | FLOAT | 24.001–120 | — |
| video_2opt | VIDEO | — | |
| video_3opt | VIDEO | — | |
| video_4opt | VIDEO | — | |
| video_5opt | VIDEO | — | |
| master_audioopt | AUDIO | — | |
| concat_plan_jsonopt | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| frames | IMAGE | — |
| report | STRING | — |