Nodes/Remove AI Watermarks/Remove Visible Watermark (RAIW)
ComfyUI Node

Remove Visible Watermark (RAIW)

Delete the Nano Banana sparkle (and the 豆包AI生成 strip) without touching your GPU

By wiltodelta·Created 3 months ago·Updated about 10 hours ago· 16
Remove Visible Watermark (RAIW)
  • image
  • image
  • info
markauto
inpainttrue
backendauto
sensitivityauto

You know the image: otherwise fine, and then the corner has that little sparkle, or a strip of Chinese characters, or a star badge. That's a visible AI-provenance mark from Gemini / Nano Banana, Doubao, Jimeng, or Samsung Galaxy AI - and this node scrubs it. It's the workhorse of the Remove AI Watermarks pack, and the best part is that it's pure CPU. No GPU, no model files, no diffusion pass. Just detect the mark, fill over it, done.

The flow is: it locates the mark in the frame, then fills that region so it blends with the surroundings. Recent versions of the underlying library always route through a localize-then-fill pipeline, which is a nicer outcome than the old crop-and-replace approach - you don't lose whatever content the watermark sat on top of, you just get a clean patch.

Inputs and outputs

Two inputs you'll actually touch:

  • image (IMAGE) - your batch. It works per-frame, so a whole animation or folder batch gets each frame treated independently, in memory.
  • mark (enum, default auto) - auto detects the strongest mark present and removes it; or force one specific mark: gemini, doubao, jimeng, samsung, or jimeng_pill (the pill-style Jimeng badge). If you know what you downloaded, forcing skips the detection step.

There's also an inpaint boolean, default on. It's a legacy switch kept so old workflows don't break - since library 0.16 the removal path is always localize-then-fill, so flipping it changes nothing.

Two outputs: image, and an info STRING that tells you what happened - removed gemini (forced) when you forced it, or no visible mark detected when auto found nothing. That info string is your debugging breadcrumb; read it before you assume the output is clean.

Install

Same as the rest of the pack - the base install covers this node, since it's cv2-only:

cd ComfyUI/custom_nodes
git clone https://github.com/wiltodelta/ComfyUI-remove-ai-watermarks
pip install -r ComfyUI-remove-ai-watermarks/requirements.txt

Or via ComfyUI Manager: search "Remove AI Watermarks" and restart. No model downloads. The pack does pull in opencv-python-headless; if your ComfyUI already ships opencv-python, both provide cv2 and coexist, but if you ever hit a cv2 conflict, keep exactly one OpenCV in the environment.

Gotchas

The registry is a closed list - this node only knows those five marks. Something that isn't in the list, auto will leave alone, and the info output will say so. If you're sure a mark is there but auto missed it, force the mark by name; forced removal uses a stronger path and doesn't wait for detection confidence. For anything that isn't a registered mark - a logo, a date stamp, arbitrary text - that's the job of the pack's Erase Region node, which takes any mask you draw. Use this one for the known marks, Erase Region for everything else.

Categoryremove-ai-watermarks

Inputs (5)

NameTypeDefaultDescription
imageIMAGE
markCOMBOauto13 options: auto, gemini, doubao, jimeng, qwen, kling, +7
inpaintoptBOOLEANtrue
backendoptCOMBOauto4 options: auto, cv2, migan, lama
sensitivityoptCOMBOauto2 options: auto, strict

Outputs (2)

NameTypeDescription
imageIMAGE
infoSTRING