kevintsai1202/geminiwatermarkremoveskill
Overview
This skill removes the visible watermark that Google Gemini (Nano Banana) adds to generated images. It runs entirely locally and restores covered pixels using a reverse alpha-blend algorithm to approximate the original content. The tool is provided as a small JavaScript CLI with automatic and manual mask modes.
How this skill works
The algorithm applies reverse alpha blending: original_pixel = (current_pixel - α × watermark_color) / (1 - α). It detects the typical watermark mask size based on image resolution and applies a matching mask (48×48 with 32px margin for ≤1024px, 96×96 with 64px margin for >1024px). Users can run the CLI via npx or directly with Node.js, and tweak mode and alpha gain for better results.
When to use it
- You have a Gemini-generated image with a visible Nano Banana watermark.
- You prefer to remove the watermark locally without uploading images to a server.
- You need batch processing for multiple images in a folder.
- You want adjustable strength to recover underlying pixels when default results look faded.
Best practices
- Start with the default auto mode and inspect results before changing parameters.
- Use the gain parameter (1.0–3.0) to increase or reduce the reverse alpha effect; higher gain can overcorrect colors.
- Test on a copy of the original image to preserve the source file.
- Batch-process only after verifying the best mode/gain on a representative sample image.
Example use cases
- Quickly clean a single Gemini-generated PNG using npx without installing dependencies.
- Process a folder of generated images in a batch script to produce watermark-free versions.
- Fine-tune output for high-resolution images by switching to the large mask mode.
- Recover partially covered details in promotional assets where the watermark overlaps important areas.
FAQ
No. All processing is performed locally; no image data is sent to external servers.
What if npx fails on my system?
Install dependencies and run the provided Node.js script directly: npm install, then node scripts/remove-watermark.js <image>.
How do I improve correction if results look wrong?
Adjust the --mode (auto, small, large) and the --gain value (1.0–3.0) to better match the watermark strength.