Skip to main content

Remove Gemini AI watermarks from images using LaMa AI inpainting

Project description

๐ŸŒ Banana Peel

Remove Gemini AI watermarks from images using LaMa AI inpainting โ€” seamlessly, locally, and in one command.

"Peel away those watermarks like a banana!"

Features

  • AI-powered โ€” Uses the LaMa inpainting model for seamless watermark removal
  • Zero config โ€” Model auto-downloads on first run (~198 MB, one-time)
  • Batch processing โ€” Process entire directories with parallel execution
  • Metadata preservation โ€” EXIF data is carried over to output files
  • Supports PNG, JPG, JPEG, WebP, GIF, BMP, TIFF

Samples

Original Watermark Removed
Original Clean

How It Works

Gemini adds a semi-transparent watermark logo to the bottom-right corner of generated images. Banana Peel:

  1. Detects the watermark position using known mask patterns
  2. Inpaints the area with the LaMa neural network, which "hallucinates" realistic content to fill the gap
  3. Blends the result seamlessly using feathered alpha compositing

The AI model runs 100% locally via ONNX Runtime โ€” no cloud, no API keys, no data leaves your machine.

Installation

From Source

git clone https://github.com/neocorp/banana-peel.git
cd banana-peel
pip install .

With Poetry (development)

git clone https://github.com/neocorp/banana-peel.git
cd banana-peel
poetry install

Usage

Single Image

banana-peel image.png
# Output: image_clean.png

# Overwrite original
banana-peel image.png --overwrite

Directory (Batch Processing)

banana-peel ./photos/

# Custom suffix
banana-peel ./photos/ --suffix "_nowm"

First Run

On the first run, Banana Peel will automatically download the AI model (~198 MB). This only happens once โ€” subsequent runs are instant.

๐ŸŒ Banana Peel - First Run Setup
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
Downloading AI model (198 MB)... this only happens once.

Downloading lama_fp32.onnx โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 100% 198.4/198.4 MB

โœ“ Model ready! Processing your image...

Options

banana-peel <PATH> [OPTIONS]

Arguments:
  PATH           Image file or directory to process

Options:
  --overwrite    Overwrite original files
  --suffix TEXT  Custom suffix for output files [default: _clean]
  --version      Show version and exit
  --help         Show help message and exit

Detection Rules

Banana Peel automatically detects watermark size based on image dimensions:

Image Size Watermark Margins
> 1024ร—1024 96ร—96 px 64 px
โ‰ค 1024ร—1024 48ร—48 px 32 px

The watermark is always positioned at the bottom-right corner.

Development

git clone https://github.com/neocorp/banana-peel.git
cd banana-peel
poetry install
poetry run banana-peel --help

Running Tests

poetry run pytest

Credits

License

MIT License โ€” See LICENSE file for details.

Disclaimer

USE AT YOUR OWN RISK

This tool modifies image files. While designed to work reliably, unexpected results may occur. The author assumes no responsibility for any data loss or unintended modifications.

Limitations

  • Only removes Gemini visible watermarks (the semi-transparent logo in bottom-right corner)
  • Does not remove invisible/steganographic watermarks like SynthID
  • Designed for Gemini's current watermark pattern (as of 2026)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

banana_peel-0.1.0.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

banana_peel-0.1.0-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

Details for the file banana_peel-0.1.0.tar.gz.

File metadata

  • Download URL: banana_peel-0.1.0.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for banana_peel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 257f0902a4cc1b6fc4618244eb0d5c9ac44042a15f3b4cba1a83ba139de61db0
MD5 e9b638b18ac985e92d574c8198e3391f
BLAKE2b-256 088741fceaccc357eb568baa0797c25540dc4ca9c9da70e479f4232135851b6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for banana_peel-0.1.0.tar.gz:

Publisher: publish.yml on neocorp/banana-peel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file banana_peel-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: banana_peel-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for banana_peel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 63ba3e57f64e5c23803e5f305c422996d7394cd875b6c5f82c79bcf050099fca
MD5 015963be4f60d8a75817adb26c8d6e41
BLAKE2b-256 3f4d330b7f121aeb1e694f7bfe90adde204fe9755fce5dd83fa38b5037aef135

See more details on using hashes here.

Provenance

The following attestation bundles were made for banana_peel-0.1.0-py3-none-any.whl:

Publisher: publish.yml on neocorp/banana-peel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page