Nodes/ComfyTV/Stabilize Pro
ComfyUI Node

Stabilize Pro

When the fast deshake isn't enough

By jtydhr88·Created 3 months ago·Updated about 15 hours ago· 725
Stabilize Pro
  • video
  • video
force_run_token0
project_id
parent_output_id0
smoothing15
accuracy15
opt_zoomtrue
extra_zoom0.0

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_zoom a touch, or check that opt_zoom is 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 accuracy to 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.

CategoryComfyTV/VideoFX

Inputs (8)

NameTypeDefaultDescription
force_run_tokenINT00–2147483647Internal — bumped on Run to invalidate ComfyUI's input cache.
project_idSTRINGInternal — populated by the projectStore on the frontend.
parent_output_idINT00–2147483647Internal — lineage parent set by spawn handlers on the frontend.
smoothingINT150–60camera-path gaussian radius in frames
accuracyINT151–15fraction of measurement fields used
opt_zoomBOOLEANtrueauto-zoom just enough to hide borders
extra_zoomFLOAT0.00–30
videooptCOMFYTV_VIDEO

Outputs (1)

NameTypeDescription
videoCOMFYTV_VIDEO