Nodes/ComfyTV/Spot Remover
ComfyUI Node

Spot Remover

The Humble Dust-Blemish Fixer

By jtydhr88·Created 3 months ago·Updated about 15 hours ago· 725
Spot Remover
  • video
  • video
force_run_token0
project_id
parent_output_id0
methodedge_blend
rect_x0.42
rect_y0.42
rect_w0.16
rect_h0.16
feather0.15

Every video editor knows the sensor-dust special: a tiny dark spot that sits in the same place for the whole clip, on every frame, taunting you. Spot Remover is the ComfyTV node built for exactly that - a small, fixed-region cleanup that runs across your footage without you masking a single frame. It sits under ComfyTV/VideoFX and it's one of those unglamorous tools you'll be glad exists on the exact day you need it.

It's honest about what it is: you give it a rectangle (rect_x, rect_y, rect_w, rect_h - all normalized 0–1 relative to the frame, defaults centered at 0.42/0.42 with a 0.16×0.16 box) and it cleans that region. feather (0–1, default 0.15) softens the rectangle's edges so the fix blends into the surrounding texture instead of showing a hard box. The method dropdown gives you two cleanup strategies:

  • edge_blend (default) - blends the spot region with its surroundings. Fast, surgical, great for a dust dot or sensor blemish sitting on an otherwise smooth area.
  • inpaint - actual inpainting of the region. Slower and smarter; the pick when the blemish sits on textured detail that a blend would smear.

Video in (optional), video out (the cleaned footage), and that's the whole surface. This is a deliberately narrow node - it's not a magic "remove anything" tool, and the fixed-rectangle design means it's best for static defects: sensor dust, a dead pixel, a fixed watermark-ish blemish. If your spot moves with the subject, this isn't the tool - you'd want a tracked mask plus inpaint, or the pack's roto + keying path.

How to use it well

The workflow is: find the frame where the spot is most visible, set the rectangle to cover it tightly (a tight box beats a big one - less area to blend/inpaint means a cleaner result), feather just enough to hide the boundary, and run. Because it's normalized coordinates, the same rect carries across the whole clip, which is exactly the sensor-dust use case. Leave it in an FX Chain with your other per-shot effects and it bakes in a single pass.

Install

With ComfyTV:

cd ComfyUI/custom_nodes
git clone https://github.com/jtydhr88/ComfyTV

Restart ComfyUI; under ComfyTV → VideoFX. ComfyUI Manager: search "ComfyTV". Desktop/macOS: clone into the running instance's absolute custom_nodes (startup-log path), fix any ComfyTV/ComfyTV/ nesting, full backend restart. No models, no extra Python deps.

Troubleshooting

  • A visible box remains after cleanup. feather too low (or the rect too big). Raise feather, shrink the rect.
  • The spot is on textured detail and looks smeared. Switch method to inpaint - edge_blend can't reconstruct detail, it can only smooth over it.
  • It fixed frame one but the spot drifts. Fixed-rect is the design; a moving blemish needs a tracked-mask approach instead.
CategoryComfyTV/VideoFX

Inputs (10)

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.
methodCOMBOedge_blend2 options: edge_blend, inpaint
rect_xFLOAT0.420–1
rect_yFLOAT0.420–1
rect_wFLOAT0.160.01–1
rect_hFLOAT0.160.01–1
featherFLOAT0.150–1
videooptCOMFYTV_VIDEO

Outputs (1)

NameTypeDescription
videoCOMFYTV_VIDEO