Frames Concat
Stitch two image batches into one sequence
- frames_0
- frames_1
- image
Frames Concat joins two image batches end to end into a single sequence. If you've generated a video clip in two passes, or you want to glue a lead-in onto your main frames, this welds them into one IMAGE batch you can hand to a video combine node.
In ComfyUI a "batch" of images and a "sequence of video frames" are the same thing - a stack of images. RES4LYF is heavily invested in video (WAN support, temporal prompting, its ReWanPatcher sliding-window attention that the author used to push 601 frames in one shot), so a node that concatenates frame batches is exactly the kind of plumbing those workflows need. This is the mundane but necessary piece: take clip A, take clip B, output A-then-B.
How it works
There's no blending or interpolation happening - it's a straight concatenation along the batch dimension. Frames from the first input come first, frames from the second follow. The result is one longer batch in original order.
The inputs and outputs that matter
frames_0(IMAGE) - the first batch; these frames lead.frames_1(IMAGE) - the second batch; appended after.
Output is a single image (IMAGE) - the combined sequence. Feed it into a Video Combine / Save node, an upscaler, or back into another Frames Concat to chain more than two clips together.
How to install it
It ships with RES4LYF. ComfyUI Manager: search RES4LYF, install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF/
cd RES4LYF
pip install -r requirements.txt
Portable builds use the embedded pip. Restart and hard-refresh (F5).
Common issues
The classic concatenation footgun is size mismatch. Batches only stack cleanly when the two inputs share the same width and height - if clip B was generated or upscaled at a different resolution, you'll either get an error or a garbled result. Resize one batch to match the other before concatenating. Order also matters and isn't reversible after the fact: frames_0 always leads, so if your output plays back-to-front relative to what you wanted, swap the inputs. And remember this is a hard cut, not a transition - there's no crossfade between the two clips, so if the last frame of A and the first of B are very different you'll see a visible jump. That's a job for a separate blend, not this node.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| frames_0 | IMAGE | — | |
| frames_1 | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |