ComfyUI Node

Video Reverse

The one-input rewind button for your frame batches

By Sean-Bradley·Created 11 months ago·Updated 10 months ago· 1
Video Reverse
  • frames
  • frames

This node does exactly one thing: it plays your video backward. Feed it an image batch, get the same batch with the frames in reverse order, and let whatever downstream node handles writing your file do its job. That's the whole pitch, and honestly it's refreshing - most of ComfyUI's custom-node ecosystem is sprawling packs with twenty nodes and three model downloads. This one has a single input, a single output, and zero dependencies beyond the torch that ComfyUI already ships.

Why would you want this? The most common reason is the ping-pong loop. Generate a short clip, reverse it, stitch the two halves together, and you get a seamless back-and-forth loop that hides the hard cut at the end - a trick that's been standard in animation since before AI existed. It also rescues you when a model generates a clip moving the wrong direction, which happens more than you'd expect, and it's the obvious tool if you want a genuine rewind effect on an MP4, WebM, animated WebP, or GIF you already have on disk. The README's example gallery covers exactly those four formats.

How it works

In ComfyUI, a video isn't a special type - it's an IMAGE tensor where the first (batch) dimension is your frames: [frames, height, width, channels]. Playing a clip backward is therefore just reordering that dimension, and the whole node is one line of PyTorch: frames.flip(0). No model inference, no API call, no key, no VRAM to speak of. It runs instantly, and the source even prints [VideoReverseNode] The video frames have been reversed. to the console so you can confirm it actually ran.

Inputs and outputs

There's only one thing to set:

  • frames (required, IMAGE) - the batch of frames to reverse.

And one output, also called frames (IMAGE), which carries the same frames in reverse order. Wire it into whatever encodes your file - Video Helper Suite's combine/save node for MP4 or WebM, or a GIF/WebP saver. Nothing else to configure, which is both the appeal and the limit: this node only reorders a tensor, so it needs a loader upstream and a saver downstream to touch actual video files.

Installing it

ComfyUI Manager is the easy route - search for "ComfyUI Video Reverse" (publisher: Sean-Bradley) and hit install. Or do it by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/Sean-Bradley/ComfyUI-Video-Reverse

Restart ComfyUI. You'll find it as Video Reverse under the SBCODE category in the node menu, or just double-click the canvas and search "video reverse". There are no extra requirements, no model files, nothing heavy - the project's pyproject.toml lists no dependencies at all. That's about as risk-free as a custom node install gets.

Where people get burned

The classic mistake is feeding it a single image (batch of one) and wondering why nothing happened - there's nothing to reverse. Also remember the reverse is in order only: the frame rate and duration don't change, so you get a same-length clip playing backward. And the ping-pong loop needs a stitch step: reverse the batch, then concatenate original + reversed with a concat/batch node before saving - this node won't do that part for you. One more subtle trap: since it happily accepts any IMAGE, if you hand it a batch that's actually a set of unrelated images (say, a style comparison grid), it'll reorder those too. Keep it on genuine frame stacks and it's a boring, dependable little tool you'll be glad is installed.

CategorySBCODE

Inputs (1)

NameTypeDefaultDescription
framesIMAGE

Outputs (1)

NameTypeDescription
framesIMAGE