Video Stabilizer Inverse
Video Stabilizer Inverse is deprecated — here's why you still see it
- frames
- meta
- padding_color
- Restored Frames
- Padding Mask
- Meta
Short version: if you're building a new workflow, don't use this node. It's deprecated, and the pack's own description says so in the node UI. Video Stabilizer Inverse was the original way to "un-stabilize" - you'd take the stabilized frames plus the metadata from a Video Stabilizer Classic or Flow node, and this node would apply the inverse of the exact warp matrices to restore the original camera motion and canvas. It did what it said on the tin.
It's still around for one reason: compatibility. Old workflows that saved the Inverse node keep loading, because the pack registers a node replacement that quietly migrates them to Video Stabilizer Motion Apply on load. Your ancient graph stops using Inverse and starts using the general-purpose consumer node, with the inputs mapped across. So if you load a workflow from the pack's early days and see Motion Apply where you expected Inverse, that's not a mistake - that's the migration working.
How it worked
The mechanism is unchanged conceptually. The stabilizer records, per frame, the 3×3 matrix that maps the original canvas to the stabilized output (including any crop or expand). Inverse read that stored metadata, inverted the matrices, and warped the stabilized frames back to the original canvas. Its only real inputs were frames, the meta JSON, and padding_color (hex fill where the inverse warp exposed empty pixels). Its outputs were Restored Frames, Padding Mask, and Meta.
The honest limitation, which the node itself notes: pixels that were cropped away during stabilization can't be recovered. If the original stabilizer ran in crop mode and threw away the exposed edges, no amount of inverse warping brings them back. That's a real-world argument for stabilizing with crop_and_pad and keeping the padding mask if you know you'll want to restore later.
What to use instead
Motion Apply is a superset of this node. It takes the same kind of metadata, offers framing_mode and interpolation controls, and adds motion_blur on top - so it can not only restore motion but also re-apply it, and even apply synthetic shake. Everything Inverse could do, Motion Apply does with more knobs, which is why the pack deprecated the old node and auto-migrates it.
Same install path as the rest of the pack, via ComfyUI Manager or:
cd ComfyUI/custom_nodes
git clone https://github.com/nomadoor/ComfyUI-Video-Stabilizer
Restart after cloning. No models to fetch; the only dependency is opencv-python-headless, auto-installed. If you're starting fresh, just wire the stabilizer's Motion Meta output straight into Motion Apply and skip this node entirely.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| frames | IMAGE | — | |
| meta | JSON | — | |
| padding_color | COLOR | #7F7F7F | HEX padding color used where inverse warping exposes empty pixels. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| Restored Frames | IMAGE | — |
| Padding Mask | MASK | — |
| Meta | JSON | — |