Image Difference β‘π ‘π π £π
Spot what changed between frames
- image
- IMAGE
Feed this a batch of frames and it hands you back the frame-to-frame delta - what actually changed from one image to the next. That's it, that's the whole node: one IMAGE in, one IMAGE out. No thresholds, no sensitivity slider, no mode switch. It's a blunt instrument, and that's the point.
Why you'd reach for it
RyanOnTheInside's pack is built around making video react to things - audio, motion, proximity, you name it - and "motion" has to come from somewhere. This is one of the simplest ways to get it: instead of running optical flow or some heavier motion-estimation model, you just subtract consecutive frames. Big difference = something moved or changed a lot; near-zero difference = a static region. Feed the result into a mask node, threshold it, and you've got a cheap motion mask. It's also just handy for eyeballing whether your video actually has motion in it, or for catching flicker between frames that should be identical (a common tell that something upstream is non-deterministic).
Don't expect it to replace real motion estimation for anything precise - it's a per-pixel subtraction, not optical flow, so it won't track where something moved, just that something changed there. For quick-and-dirty motion signal or debugging, it's exactly the right amount of tool.
The input and output
There's genuinely one thing to wire in: image, an IMAGE input - hand it your batch of frames. The output is a single IMAGE, the difference result, which you can preview directly, threshold into a mask, or pipe onward into whatever's consuming a motion signal downstream.
How to install it
The pack's own README came back empty when I went looking for install specifics, so here's the path that works for basically any ComfyUI custom-node pack, this one included:
Via ComfyUI Manager (the easy way): open Manager, search "RyanOnTheInside" (or "ComfyUI_RyanOnTheInside"), hit install, restart ComfyUI.
By hand:
cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside
Then restart. This is a large, broad pack - it covers audio analysis, mask morphology, particle-style effects, and more - so if it ships a requirements.txt, give it a minute on first install; there's more to pull in than a single-purpose node.
Troubleshooting
The main thing to know going in: this node reads as one of the pack's plainer utility helpers, tucked in the general RyanOnTheInside/Utility category rather than under the pack's flashier FlexFeatures system. If you get a flat, mostly-black output, that's not a bug - it means your input frames are nearly identical, which is either exactly what you expected (static shot) or a sign something upstream isn't actually producing motion (check your video source or your batch ordering). If ComfyUI can't find the node at all after install, that's the standard custom-node symptom: the pack failed to import. Check the ComfyUI console on startup for a Python traceback - with a pack this size, a single missing dependency can knock out node registration for the whole thing, not just the node that needs it.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | β |