Stabilize Pro
When the fast deshake isn't enough
- video
- video
The fast stabilizer fixes mild jitter. Then you feed it walking footage and watch it fail. Stabilize Pro is the upgrade: a two-pass, camera-path stabilizer that analyzes motion across the whole clip, smooths the camera's path rather than matching frame to frame, and can auto-zoom to hide the borders it exposes. It's the "I actually need this shot steady" button.
What it does
Two passes, roughly: analyze the camera motion across the clip, then rebuild the frames along a smoothed path. On ▶ Run it writes a new COMFYTV_VIDEO snapshot. The controls:
- smoothing - camera-path Gaussian radius in frames, 0–60, default 15. Higher = more locked-off, but intentional pans can feel sluggish; lower follows the original camera more faithfully.
- accuracy - fraction of measurement fields used, 1–15, default 15. Higher is more accurate and slower; lower is a faster, rougher analysis.
- opt_zoom - on by default: auto-zooms just enough to hide the borders the stabilization exposes, keeping the frame full.
- extra_zoom - additional zoom-in on top of the auto-zoom (0–30%, step 0.5). Add a little if borders still peek through.
When it's worth the render time
This is heavier than the plain Video Stabilize - it's genuinely multi-pass - so use it when the shot matters or the shake is real. Walking handheld, telephoto wobble, anything where frame-to-frame deshake leaves a visible swim. The smoothing knob is where the character comes from: crank it for a locked-off, gimbal-like feel; keep it low if you want the energy of the original camera move.
The one real tradeoff is the zoom. opt_zoom crops in slightly, which is how it hides borders - turn it off if you need every pixel and accept moving edges, or add extra_zoom when a little margin still shows. Re-sharpening afterward is common, since the zoom can soften things.
Install and troubleshooting
Pack-standard: git clone https://github.com/jtydhr88/ComfyTV into ComfyUI/custom_nodes, restart, under ComfyTV → VideoFX. No models - the analysis runs in-process, no GPU required beyond the usual.
- Result drifts during an intentional pan - smoothing is too high; the Gaussian is flattening your deliberate move. Dial it back.
- Borders flicker in and out - raise
extra_zooma touch, or check thatopt_zoomis on. - Slower than expected - expected. This is the price of the two-pass path; use plain Video Stabilize for quick passes.
- Motion track wobble - increase
accuracyto 15 for the analysis pass.
Output is a COMFYTV_VIDEO snapshot; cross to native nodes with a ← ComfyTV Video Bridge. Inside the pack it feeds straight into the next stage.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| force_run_token | INT | 00–2147483647 | Internal — bumped on Run to invalidate ComfyUI's input cache. |
| project_id | STRING | Internal — populated by the projectStore on the frontend. | |
| parent_output_id | INT | 00–2147483647 | Internal — lineage parent set by spawn handlers on the frontend. |
| smoothing | INT | 150–60 | camera-path gaussian radius in frames |
| accuracy | INT | 151–15 | fraction of measurement fields used |
| opt_zoom | BOOLEAN | true | auto-zoom just enough to hide borders |
| extra_zoom | FLOAT | 0.00–30 | — |
| videoopt | COMFYTV_VIDEO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | COMFYTV_VIDEO | — |