đź’€Video Combine
Stitch two clips together in time, no re-render needed
- video_1
- video_2
- image_1
- image_2
- Combined Sequence
You've got a rendered clip and a title-card clip and you want them as one sequence - without re-encoding anything. đź’€Video Combine is the S4Motion node that just puts them end to end. It concatenates in time, not in space: the first input's frames, then the second input's frames, as one IMAGE batch.
It takes up to four optional inputs: video_1 and video_2 (VIDEO objects from a video loader), or image_1 and image_2 (IMAGE sequences). You don't need all four - two of anything is enough. Feed it video+image mixed if you want. The single output is Combined Sequence, an IMAGE tensor of every frame in order.
The obvious use is gluing takes together - a clip plus a card, two segments of a longer shot, or building one batch to run through a frame-based upscaler or an image-to-video model in a single pass instead of two. It's also handy for looping: combine a clip with itself and you have a longer loop to feed a video model that needs a minimum length.
Mechanically it's dead simple - it loads both sources into frame lists and concatenates them. That simplicity is also the trap: there is no dimension checking. If clip A is 1280x720 and clip B is 640x640, the node doesn't resize anything to reconcile them. You'll get a stack of mixed-size frames and ComfyUI will choke downstream on the shape mismatch. Run both inputs through đź’€Video Resize first so they share dimensions. The node also won't fix mismatched frame rates, but since the output is just frames, FPS is really decided by whatever you save with afterward.
Video inputs need OpenCV (opencv-python); it's in the pack's requirements.txt but listed as optional, and the node raises a clear "OpenCV is required for video processing" error if you connect a VIDEO object without it. Image-sequence inputs work on Pillow alone.
Install
ComfyUI Manager → search "S4Motion" → install → restart. Or:
cd ComfyUI/custom_nodes/
git clone https://github.com/S4MUEL-404/ComfyUI-S4Motion.git
pip install -r ComfyUI-S4Motion/requirements.txt
The output is IMAGE, not an .mp4 - if you want an actual video file, run the combined sequence through a SaveVideo / SaveAnimatedWEBP node. There's no community chatter on this one (searching for S4Motion on reddit turns up nothing), so you're on your own for conventions - but it's a tiny node, there's not much to get wrong once you remember the size-matching rule.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| video_1opt | VIDEO | — | |
| video_2opt | VIDEO | — | |
| image_1opt | IMAGE | — | |
| image_2opt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| Combined Sequence | IMAGE | — |