Skip to content

Gemini Watermark

Verified

Remove visible Gemini AI watermarks from images via reverse alpha blending. Use for cleaning Gemini-generated images, removing the star/sparkle logo watermar...

99 downloads
$ Add to .claude/skills/

About This Skill

# Gemini Watermark Remover

Remove the visible Gemini AI watermark (star/sparkle logo) from generated images using mathematically accurate reverse alpha blending.

Fully offline — pure Python, no external binary downloads, no network access.

When to Use

  • Remove the Gemini watermark from AI-generated images
  • Batch process a directory of Gemini-generated images
  • Clean images before publishing or sharing
  • Automate watermark removal in pipelines

Quick Start

Install Dependencies (one-time)

```bash pip install Pillow numpy

# Recommended: use uv for faster, isolated installs uv pip install Pillow numpy ```

Requires: Python ≥ 3.9. No Rust toolchain, no compiled binaries, no downloads.

Basic Usage

```bash # Single image (auto-detect watermark, save as photo_cleaned.jpg) python3 scripts/remove_watermark.py photo.jpg

# Specify output path python3 scripts/remove_watermark.py photo.jpg -o clean_photo.jpg

# Batch process directory python3 scripts/remove_watermark.py ./input_dir -o ./output_dir

# Force removal without detection python3 scripts/remove_watermark.py photo.jpg -o clean.jpg --force ```

How It Works

Gemini adds a semi-transparent white star/sparkle logo to generated images using alpha blending:

``` watermarked = alpha * 255 + (1 - alpha) * original ```

This tool reverses the equation to recover the original pixels:

``` original = (watermarked - alpha * 255) / (1 - alpha) ```

The alpha map (watermark transparency pattern) is generated mathematically as a 4-pointed star (central Gaussian core + 4 elongated cardinal rays) at two sizes:

  • 48×48 with 32 px margin — images where either dimension ≤ 1024 px
  • 96×96 with 64 px margin — images where both dimensions > 1024 px

For improved accuracy you can supply your own alpha map derived from a background capture of the Gemini watermark on a white background (`--alpha-map`).

Detection

Before removal, a three-stage algorithm checks whether a watermark is present:

  1. Spatial NCC (50% weight) — normalised cross-correlation with the alpha map
  2. Gradient NCC (30% weight) — edge signature matching via Sobel operators
  3. Variance Analysis (20% weight) — texture dampening detection

Images without detected watermarks are automatically skipped.

CLI Parameters

| Parameter | Short | Default | Description | |-----------|-------|---------|-------------| | `input` | | (required) | Input image file or directory | | `--output` | `-o` | `{name}_cleaned.{ext}` | Output file or directory | | `--force` | `-f` | `false` | Skip detection, process unconditionally | | `--threshold` | `-t` | `0.35` | Detection confidence threshold (0.0–1.0) | | `--force-small` | | `false` | Force 48×48 watermark size | | `--force-large` | | `false` | Force 96×96 watermark size | | `--alpha-map` | | (built-in) | Custom grayscale alpha map image | | `--verbose` | `-v` | `false` | Enable detailed output | | `--quiet` | `-q` | `false` | Suppress all non-error output |

Supported Formats

| Format | Read | Write | |--------|------|-------| | JPEG (.jpg, .jpeg) | Yes | Yes (quality 100) | | PNG (.png) | Yes | Yes | | WebP (.webp) | Yes | Yes | | BMP (.bmp) | Yes | Yes |

Usage Examples

```bash # Verbose output (shows detection confidence, watermark coordinates) python3 scripts/remove_watermark.py photo.png -o clean.png -v

# Lower detection threshold (more sensitive) python3 scripts/remove_watermark.py photo.jpg -t 0.15

# Force large watermark size regardless of image dimensions python3 scripts/remove_watermark.py photo.jpg --force-large -o clean.jpg

# Batch process, quiet mode python3 scripts/remove_watermark.py ./gemini_images/ -o ./cleaned/ -q

# Supply a custom alpha map for higher accuracy python3 scripts/remove_watermark.py photo.jpg --alpha-map my_alpha.png ```

Deriving a Custom Alpha Map

For pixel-perfect removal, capture the Gemini watermark on a pure white background and compute:

``` alpha(x, y) = max(R, G, B) / 255 ```

Save the result as a grayscale PNG and pass it via `--alpha-map`.

Output

  • Single file — saves to `-o` path, or `{name}_cleaned.{ext}` by default
  • Directory — saves all processed images to the output directory
  • Skipped images — images without detected watermarks are not modified (unless `--force`)
  • Exit code — 0 on success, 1 if any image fails

Troubleshooting

"No watermark detected" on a watermarked image

  • Try lowering the threshold: `-t 0.1`
  • Or bypass detection entirely: `--force`
  • Consider supplying a custom alpha map for your watermark variant

Image looks distorted after removal

  • The image may not have a Gemini watermark. Use detection (avoid `--force`)
  • Try `--force-small` or `--force-large` to match the correct size
  • Supply a custom alpha map for better precision

"Image too small" warning

The image dimensions are smaller than the watermark region. This typically means the image does not have a Gemini watermark.

ModuleNotFoundError: Pillow or numpy

```bash pip install Pillow numpy # or uv pip install Pillow numpy ```

Limitations

  • Visible watermark only — this tool removes the visible star/sparkle logo watermark
  • Cannot remove SynthID — Google's invisible watermark (SynthID) is embedded at the pixel level during generation and cannot be reversed
  • Fixed position only — handles watermarks in the standard bottom-right position only
  • Built-in alpha map is approximate — use `--alpha-map` with a captured reference for exact results

Use Cases

  • Add watermarks to images for copyright protection and brand identification
  • Create transparent text or logo watermarks positioned consistently across images
  • Batch watermark image collections for portfolio or stock photography protection
  • Generate visible and invisible watermarks for different protection levels
  • Customize watermark opacity, position, and rotation for brand consistency

Pros & Cons

Pros

  • +Automated watermarking saves time for large image collections
  • +Customizable positioning and opacity options fit different branding needs
  • +Visible and invisible watermark options provide different protection levels

Cons

  • -Watermarks can be cropped or removed by determined infringers
  • -Only available on claude-code and openclaw platforms
  • -Heavy watermarks degrade image quality and viewing experience

FAQ

What does Gemini Watermark do?
Remove visible Gemini AI watermarks from images via reverse alpha blending. Use for cleaning Gemini-generated images, removing the star/sparkle logo watermar...
What platforms support Gemini Watermark?
Gemini Watermark is available on Claude Code, OpenClaw.
What are the use cases for Gemini Watermark?
Add watermarks to images for copyright protection and brand identification. Create transparent text or logo watermarks positioned consistently across images. Batch watermark image collections for portfolio or stock photography protection.

100+ free AI tools

Writing, PDF, image, and developer tools — all in your browser.

Next Step

Use the skill detail page to evaluate fit and install steps. For a direct browser workflow, move into a focused tool route instead of staying in broader support surfaces.