Nodes/Symbiotica/NS Video Effects
ComfyUI Node

NS Video Effects

Zoom Punches and Wiggle Without Re-Rendering

By symbiotica-ai·Created 6 months ago·Updated about 13 hours ago· 2
NS Video Effects
  • video
  • video
zoomfalse
zoom_amount0.05
zoom_frequency5
zoom_speed1.0
zoom_blurtrue
wigglefalse
wiggle_intensity3.0
face_trackingfalse

Every short-form editor knows the zoom punch - that quick punch-in on a word or a moment that keeps a static clip feeling alive. NS Video Effects bakes those moves into your ComfyUI graph: rhythmic zoom, handheld wiggle, and face-tracking, applied to an already-generated video without re-running your sampler. It's the difference between "generated a clip" and "generated a clip that looks edited."

It's a Remotion-rendered node - the effects are computed and re-rendered through a bundled Remotion bundle, not through ffmpeg filters. That's worth knowing for two reasons: it means the effects are real motion graphics (smooth, per-frame, trackable), and it means the node needs Node.js on your system.

How it works

Three effect families, each toggled on with a boolean:

  • zoom - rhythmic punches. zoom_amount (0.01–0.2, default 0.05) is how deep each punch goes; zoom_frequency (1–10, default 5) is how many punches happen over the clip; zoom_speed (0.1–3) is how snappy the motion is; zoom_blur (on by default) gives it that videographer motion-blur feel.
  • wiggle - handheld-style camera sway, wiggle_intensity (0.5–10, default 3). Small values read as a stabilizer being slightly loose; big values read as an earthquake. Start low.
  • face_tracking - keep a face framed through the motion. This is the one that makes zoom punches feel professional on talking-head content instead of random.

Inputs: video, plus those effect controls. Output: the re-rendered video.

Install and setup

Part of the Symbiotica pack. ComfyUI Manager → search "Symbiotica", or:

cd ComfyUI/custom_nodes
git clone https://github.com/symbiotica-ai/comfyui-nodes.git symbiotica
pip install -r symbiotica/requirements.txt

Restart. Node.js must be installed system-wide - the README is explicit: Remotion-rendered nodes need node on PATH. The pack ships a pre-built Remotion bundle so there's no npm install at install time, but the renderer subprocess still calls node. On a Mac, brew install node. No API key.

Troubleshooting

  • Errors mentioning node / Remotion - Node.js isn't found. The pack looks for node on PATH and in /opt/homebrew/bin//usr/local/bin//usr/bin. Install it and restart ComfyUI.
  • Zoom is subtle to the point of invisible - zoom_amount 0.05 is gentle. It's a punch, not a crash zoom. Go 0.08–0.12 if you want it to read on a phone screen (where, let's be honest, this content mostly lives).
  • Wiggle makes viewers seasick - turn wiggle_intensity down toward 1–2. 10 is a category of its own.
  • Face tracking doesn't seem to do anything - check the face is present in most frames; tracking a face that's only there half the clip is a weird result. Also confirm zoom is actually on - tracking alone with no motion to track does nothing visible.
  • Renders are slower than you expected - it's a Remotion re-render, not a passthrough. That's the price of smooth motion graphics. It's still far cheaper than re-generating the clip.
Categoryneuralsins/Video

Inputs (9)

NameTypeDefaultDescription
videoVIDEO
zoomoptBOOLEANfalse
zoom_amountoptFLOAT0.050.01–0.2
zoom_frequencyoptINT51–10
zoom_speedoptFLOAT1.00.1–3
zoom_bluroptBOOLEANtrue
wiggleoptBOOLEANfalse
wiggle_intensityoptFLOAT3.00.5–10
face_trackingoptBOOLEANfalse

Outputs (1)

NameTypeDescription
videoVIDEO