Image Shuffle ROTI β‘π ‘π π £π
Randomize frame order in windows
- image
- IMAGE
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.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | β | |
| shuffle_size | INT | 4 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | β |