Nodes/Symbiotica/NS Video Overlay
ComfyUI Node

NS Video Overlay

Overlay a Logo or Clip With Blends and Platform Presets

By symbiotica-ai·Created 6 months ago·Updated about 13 hours ago· 2
NS Video Overlay
  • video
  • image
  • overlay_video
  • video
  • overlay_settings
overlay_presetNone
positionCenter
x0
y0
scale1.00
opacity1.00
blend_modenormal

A product shot with a floating logo. A facecam over gameplay. A watermark you didn't have to add in a video editor. NS Video Overlay is the compositing node for that: it puts one image or video on top of another with real controls - position, scale, opacity, and blend modes - all via FFmpeg. If you've wanted to composite inside ComfyUI instead of exporting and reopening in an editor, this is the missing step.

The blend modes are the feature most people don't expect from a ComfyUI node. multiply, screen, overlay, soft_light, hard_light, darken, lighten - the full photopea-style palette. That's what lets a texture or a glow sit in the footage instead of on top of it.

How it works

You give it a base video and one overlay source - either an image, an overlay_video, or a built-in platform preset. It resolves the overlay's dimensions, scales it to scale (0.1–5), positions it with position presets or raw x/y, applies opacity, and composites with the chosen blend_mode using FFmpeg's blend/maskedmerge filters. The overlay_preset dropdown is where the pack flexes: TikTok, Instagram, and Facebook each load a pre-made chrome overlay (bundled as webm assets) sized to that platform's convention - so "make it look like a real post" is a dropdown, not a design session.

It also emits an overlay_settings output (same OVERLAY_SETTINGS type the pack's other overlay machinery uses), so the settings you configured can be reused elsewhere without re-entering them.

Inputs and outputs

Required: video. Optional: overlay_preset (None/TikTok/Instagram/Facebook), image, overlay_video, position (Center/Top Left/Top Right/Bottom Left/Bottom Right/Custom), x/y (pixel offsets, −5000 to 5000, for Custom), scale, opacity (0–1), blend_mode. Outputs: video (composited) and overlay_settings.

Priority to remember: preset wins over overlay_video, which wins over image - the node resolves them in that order, so don't wire two sources and wonder which one you got.

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. Needs ffmpeg on PATH (checked in /opt/homebrew/bin, /usr/local/bin, /usr/bin too). No API key.

Troubleshooting

  • Overlay in the wrong spot - position presets cover the corners; for pixel-precise placement pick Custom and set x/y.
  • The overlay covers the whole frame - check scale. A 1080p overlay at scale 1 over a 1080p base is full-frame by design. Drop scale or pre-crop the overlay.
  • Blend mode looks like nothing happened - normal is the default and many of the others are visually close at opacity 1 on busy footage. Drop opacity to ~0.5 and watch screen/multiply do their thing on the right content.
  • Nothing appears at all - no overlay source resolved: preset is "None" and neither image nor overlay_video is wired. The node needs one of the three.
Categoryneuralsins/Video

Inputs (10)

NameTypeDefaultDescription
videoVIDEO
overlay_presetoptCOMBONone4 options: None, TikTok, Instagram, Facebook
imageoptIMAGE
overlay_videooptVIDEO
positionoptCOMBOCenter6 options: Center, Top Left, Top Right, Bottom Left, Bottom Right, Custom
xoptINT0-5000–5000
yoptINT0-5000–5000
scaleoptFLOAT1.000.1–5
opacityoptFLOAT1.000–1
blend_modeoptCOMBOnormal8 options: normal, multiply, screen, overlay, soft_light, hard_light, +2

Outputs (2)

NameTypeDescription
videoVIDEO
overlay_settingsOVERLAY_SETTINGS