Nodes/RyanOnTheInside/Image Shuffle ROTI βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜
ComfyUI Node

Image Shuffle ROTI βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜

Randomize frame order in windows

By ryanontheinsideΒ·Created 2 years agoΒ·Updated 5 months agoΒ· 852
Image Shuffle ROTI βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜
  • image
  • IMAGE
β—„shuffle_size4β–Ί

This node takes your image batch and shuffles it - but only in chunks. Rather than fully scrambling a hundred frames into random chaos, it works in windows of shuffle_size frames at a time, so you get local randomization without destroying the batch's overall structure.

Why you'd reach for it

The name says it all, but the use case is worth spelling out: this is the kind of thing that shows up when you want jittery, glitchy, non-sequential motion out of an otherwise ordered frame sequence - a stutter effect, a "this feels wrong on purpose" visual, or breaking up an obviously-looping sequence so it reads as more chaotic. It's also useful outside of "effects" territory: shuffling within small windows is a cheap way to decorrelate a frame batch before feeding it somewhere that shouldn't see strict temporal order (a preview grid you don't want reading top-to-bottom as a timeline, for instance) while still keeping frames roughly grouped by where they came from in the source.

Keep the windowing in mind: a shuffle_size of 4 shuffles within every group of 4 consecutive frames, not across the whole batch. If you want maximum chaos, set it close to (or above) your total batch length; if you want subtle local jitter, keep it small.

The inputs and output

Just two:

  • image - the frame batch to shuffle.
  • shuffle_size (default 4, minimum 1) - the window size the shuffling happens within. At 1, nothing changes (a window of one frame has nothing to reorder); at your full batch length, it's effectively a global shuffle.

Output is a single IMAGE - the reordered batch, same frames, new order.

How to install it

The pack's README came back empty when I checked for install specifics, so use the standard path - it applies across this whole node suite:

ComfyUI Manager: search "RyanOnTheInside", install, restart.

Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside

Restart ComfyUI afterward. This is a large pack spanning audio analysis, mask morphology, and proximity/feature systems in addition to plain batch utilities like this one, so a first install pulling in extra Python dependencies is normal.

Troubleshooting

If your output looks basically identical to the input, check shuffle_size - at 1 the node is a no-op by design, since there's no second frame in the window to swap with. If you wanted a full scramble and only got mild local jitter, that's the windowing behavior working as intended: bump shuffle_size up toward your total frame count for something closer to a true shuffle. Beyond that there's not much to trip on here - it's a small, self-contained utility node with no external dependencies of its own, so an install or missing-node problem is almost always the pack failing to import as a whole rather than anything specific to this node.

CategoryRyanOnTheInside/Utility/Batches

Inputs (2)

NameTypeDefaultDescription
imageIMAGEβ€”
shuffle_sizeINT4β€”

Outputs (1)

NameTypeDescription
IMAGEIMAGEβ€”