🍌 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 |
|---|---|
How It Works
Gemini adds a semi-transparent watermark logo to the bottom-right corner of generated images. Banana Peel:
- Detects the watermark position using known mask patterns
- Inpaints the area with the LaMa neural network, which "hallucinates" realistic content to fill the gap
- 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
Stable (Recommended)
pip install banana-peel
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
- LaMa Model: Resolution-robust Large Mask Inpainting by Samsung AI
- ONNX Model: Based on the model from dinoBOLT/Gemini-Watermark-Remover
- Watermark Masks: From journey-ad/gemini-watermark-remover and allenk/GeminiWatermarkTool
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)
Metadata
Release files for banana-peel 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| banana_peel-0.1.1.tar.gz | 22.2 kB | With provenance | Details for banana_peel-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| banana_peel-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for banana_peel-0.1.1-py3-none-any.whl |
Total release size: 44.4 kB
Release files / banana_peel-0.1.1.tar.gz
| Download URL | banana_peel-0.1.1.tar.gz |
|---|---|
| Size | 22.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4ed3a0a36923315a90fb727ba96a6e1abd125f9f748fd22b5270b50231c5887d
|
|
BLAKE2b-256 checksum How to use checksums |
2331812232e686c7a7ec3e3cc3d73f7086a365e5a68b141563bf7c7c80e54b3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 15, 2026.
Transparency logRelease files / banana_peel-0.1.1-py3-none-any.whl
| Download URL | banana_peel-0.1.1-py3-none-any.whl |
|---|---|
| Size | 22.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2c681a7c06cfb30dda78ec6174bd897c737dea8f619c948622ddcee85099547f
|
|
BLAKE2b-256 checksum How to use checksums |
418bcdf5c7c531230cc56c7cdf4fef22574b4816fbcb7c663c500ed2590f1fb6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 15, 2026.
Transparency logSecurity for banana-peel 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for banana_peel-0.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 15, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.