Nodes/ComfyUI-JM-Gemini-API/JM Gemini Watermark Remover
ComfyUI Node

JM Gemini Watermark Remover

The little node that erases Gemini's visible logo — no API key, no API call

By juemingai·Created 9 months ago·Updated 8 months ago· 16
JM Gemini Watermark Remover
  • image
  • image

The name tells you nothing useful, so here's the real pitch: JMGeminiWatermarkRemover strips the little white Gemini logo that Google bakes into the bottom-right corner of every image its API generates. And the best part is what it doesn't need - no API key, no network call, no model download. You drop an image in and get a clean one out, in a fraction of a second, on your own CPU.

It ships in the same pack as the JM Gemini Image Generator, and that's really its job: the generator hands you a watermarked Nano Banana render, this node hands you the same render with the logo gone. Wire generator → remover → Preview/Save and you never think about it again.

How it actually works

Google stamps a visible logo on images (the pack README says anything over 512×512 gets one; the source is more specific about sizing). The trick this node relies on is that the watermark is predictable:

  • Images wider and taller than 1024px get a 96×96 logo, offset 64px from the right and bottom edges.
  • Everything else gets a 48×48 logo, offset 32px.

So instead of machine-learning the watermark away, the node computes exactly where it must be, then undoes the blend. It ships two background captures (assets/bg_48.png and bg_96.png) that it converts into per-pixel alpha maps - the "reverse alpha blending" the README mentions. For every pixel in the logo region it solves original = (watermarked - alpha × 255) / (1 - alpha) per RGB channel. It's dumb math in the best way, and because it only touches a 48×48 or 96×96 corner, even the pure-Python per-pixel loop finishes instantly.

One honest caveat: this is a specific watermark remover, not a general one. Feed it a non-Gemini image and it'll just darken a corner of whatever's sitting there. And it does not touch Google's invisible SynthID watermark, which is a separate, hidden layer baked into every Gemini/Nano Banana image (the KB on closed-source models calls this out). You're removing the visible logo only.

The inputs and outputs

There's exactly one of each:

  • image (IMAGE) - the watermarked Gemini image, from the pack's Image Generator or any Load Image node.
  • output image (IMAGE) - the cleaned result, ready for Preview Image or Save Image.

That's it. It also auto-saves a copy to ComfyUI/output/ as gemini_watermark_removed_<timestamp>.png, like the rest of the pack.

Installing

The pack is all four JM Gemini nodes in one repo, installed the same way:

cd ComfyUI/custom_nodes
git clone https://github.com/synthetai/ComfyUI-JM-Gemini-API
cd ComfyUI-JM-Gemini-API
pip install -r requirements.txt

Then restart ComfyUI. Or skip all that and search "ComfyUI-JM-Gemini-API" in ComfyUI Manager. No model files to download - this node is pure Pillow/numpy, which is also why it's the only one of the four that works offline.

Where people get burned

  • "bg_48.png not loaded" error - the assets/ folder went missing (rare, but happens if you only copied the node files). Re-clone the repo.
  • Expecting magic on foreign images - the only thing it's guaranteed to fix is Gemini's own bottom-right logo, and only when the image is unmodified from the API. Cropped or resized, and the position guess misses.

A word on the ethics/ToS angle: Google's watermark is there partly as provenance. Removing it from your own generated images for a portfolio is one thing; stripping it to repost someone else's generations or dodge content attribution is the kind of thing that gets accounts nuked. The node doesn't care - but the tradeoff is on you.

CategoryJM-Gemini

Inputs (1)

NameTypeDefaultDescription
imageIMAGE

Outputs (1)

NameTypeDescription
imageIMAGE