๐ Frame Set Append
Stitch two clips together โ with a knob for the seam
- a
- b
- frames
Frame Set Append [DVB] is how you put two clips end to end in the Dream Video Batches pack. Give it a and b - two frame sets - and it returns one combined set with b slotted in right after a. On the surface that's trivial. Under the hood there are two parameters that make it more useful than a plain concatenate, and one hard rule that will trip you up if you ignore it.
The mechanism
Append works by reindexing b so it starts exactly where a ends - the first frame of b gets an index of a's last index plus step (default 1), and the rest of b follows at step intervals. Then the two sets are merged into one timeline. So with the defaults, a set ending at index 24 followed by a 12-frame set produces indices 25 through 36.
The two knobs are where the power lives:
- offset_from_end (default 0) - pushes the start of
bfurther from the end ofa. Positive values insert a gap between the clips. Negative values overlap them, which is how you'd create the room for a crossfade: append with overlap, then let Blended Transition handle the dissolve. That's a genuinely useful composition trick, not just a frame-count detail. - step (default 1) - the index spacing inside the appended tail. Leave it at 1 unless you're deliberately creating gaps (which Generate Inbetween Frames can later fill).
The hard rule
Both frame sets must share a framerate, and the node refuses to proceed otherwise - it raises an error that names both rates. That's a friendly failure, so read it: it almost always means you created a and b with different framerate_base/framerate_divisor settings on their Create Frame Set nodes. Fix the upstream values rather than fighting the node.
The same rule also matters for dimensions in practice. Append itself won't stop you from joining a 640x360 set to a 1280x720 one, but the result is a set where every frame keeps its own size - and downstream nodes like Blended Transition and Unwrap will complain. Keep your clips dimensionally consistent before you append, and you'll avoid the confusing errors later.
Where it fits
This is the node behind every "longer animation" recipe in the pack: build a loop or a short clip, Repeat it, Append the pieces, and you've got a continuous timeline. It's also the natural follow-through after Frame Set Reverse - append the reversed half to the original for a seamless ping-pong loop. Feed it the output of splits, fades, and transitions and it becomes the assembly line for the whole final sequence.
The usual endgame
Like every node here, the combined output is a FRAME_SET, and standard ComfyUI nodes can't read that type. The most common failure with this pack is wiring frame-set output straight into Save Video and watching nothing connect - the fix is always to pass the final set through Unwrap Frame Set [DVB] first, then feed the resulting IMAGE batch and framerate to your encoder and save nodes. Same rule on the way out as every other node in the pack.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/alt-key-project/comfyui-dream-video-batches.git
cd comfyui-dream-video-batches
pip install -r requirements.txt
Restart ComfyUI, or search "Dream Video Batches" in ComfyUI Manager. No model downloads - this is index arithmetic and a merge, nothing GPU-heavy.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| a | FRAME_SET | โ | |
| b | FRAME_SET | โ | |
| offset_from_end | INT | 0 | โ |
| step | INT | 1 | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| frames | FRAME_SET | โ |