โฎ Frame Set Reverse
Play it backward โ and build a seamless ping-pong loop
- frames
- frames
Frame Set Reverse [DVB] is exactly what it sounds like: it plays your animation backward. You feed it a frame set - the pack's bundle of images plus frame indices plus a framerate - and it hands you the same frames in reverse order. It's one input, one output, and it's one of the most useful little editing tools in the Dream Video Batches pack for a very specific reason: it's the cheap way to make a loop that doesn't visibly jump.
The mechanism, spelled out
Internally the node does reversed(frames.images) and keeps the frame indices exactly where they were. So if your frame set is indexed 0, 1, 2, 3 and you reverse it, you get frame 3 first - but it's still labelled with index 0. The README calls this an "index flip ... in index order" that otherwise disregards gaps. For the common case - a contiguous set straight out of Create Frame Set - that's invisible and irrelevant. For a gappy set that's had splits and merges applied, it means the timeline indices stay put while the pictures move; reindex afterward if you need a clean 0,1,2,3.
Why you'd reach for it
The headline use is the ping-pong loop. A forward pass followed by a reversed pass, appended together, gives you a cycle with no hard cut at the seam - animate a walk cycle, a camera pan, a rotating object, and the motion flows forward then back. It's the classic AnimateDiff-era trick for looping clips, and it still works as the cheap option on longer video workflows.
The recipe is small:
Create Frame Set โ Frame Set Reverse
โ (same original)
Create Frame Set โโ Frame Set Append โโโ
โ
Unwrap Frame Set โ Save Video
Two frame sets in, one longer frame set out. Frame Set Append handles the seam; Reverse just supplies the mirrored half.
The one thing to remember
Everything here operates on the pack's own FRAME_SET type, and standard ComfyUI nodes have no idea what that is. If you try to wire a reversed frame set straight into a Save Video node, nothing connects - this is the most common complaint people hit with this pack, and the fix is always the same: run it through Unwrap Frame Set [DVB] first to get a plain IMAGE batch plus the framerate, then feed that to your encoder and save node. A beginner thread in the wild hit this exact wall with the pack and the answer was literally "use the Unwrap node, then CreateVideo into SaveVideo."
Install
Same as every node in this pack: search "Dream Video Batches" in ComfyUI Manager, or:
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
Then restart ComfyUI. No models to download - all of this is pure image reordering, nothing hits the GPU.
One honest caveat: reverse-and-append gives you a seamless cut, but if the original clip starts and ends with very different content, the moment the loop wraps will still read as a jump. The clean version feeds the reversed half through a fade or a blended transition before appending. That's a job for Blended Transition [DVB], and it's a ten-second fix that makes the loop feel intentional instead of broken.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| frames | FRAME_SET | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| frames | FRAME_SET | โ |