🇺🇸 English
🇫🇷 Français
🇪🇸 Español
🇩🇪 Deutsch
🇧🇷 Português
🇮🇹 Italiano
🇮🇳 Hindi
🇸🇦 العربية
🇯🇵 日本語
🇨🇳 中文
🇰🇷 한국어
🇳🇱 Nederlands
Tool Pricing Examples Technology Blog
⚙️ How it works under the hood

The technology behind CleanerWatermark

We combine smart watermark detection with state-of-the-art AI inpainting to reconstruct the image beneath the Gemini ✦ mark — invisibly and in seconds.

🔍 Step 1 — Watermark detection

Gemini AI images carry a ✦ symbol in the bottom-right corner — always at the same relative position (approximately 78–100% horizontally, 85–100% vertically). CleanerWatermark automatically targets this zone with a precise mask.

No manual selection needed. You drop the image, we create the binary mask in milliseconds using canvas operations — a white rectangle over the watermark zone, black everywhere else.

💡 Technical note: The mask coordinates are computed as x = width × 0.78, y = height × 0.85, covering the remainder of the image. This matches the exact placement of the Gemini watermark across all aspect ratios.

🧠 Step 2 — AI inpainting with LaMa

The masked image is sent to our backend powered by IOPaint, running the LaMa (Large Mask inpainting) model. LaMa was developed by Samsung Research and uses Fast Fourier Convolutions (FFCResNetGenerator) to understand large-scale patterns and textures.

Unlike older approaches that simply blur or clone pixels, LaMa reconstructs the structure beneath the removed area — whether it's a gradient sky, fabric texture, or photographic detail.

🖼️
Original image
PNG/JPG/WEBP with ✦ watermark
Binary mask
White = zone to fill, Black = keep
🤖
LaMa model
FFCResNet reconstructs content
Clean image
Watermark-free · full resolution

📐 Step 3 — HD strategy for large images

High-resolution images require special handling to avoid memory issues and maintain quality. We use the Crop strategy: the model processes a cropped region around the mask with a margin of 196px, then seamlessly stitches the result back into the full image.

Images over 800px trigger this HD pathway automatically. For very large images (above 1280px on the longest side), a resize limit is applied before processing, then scaled back up for the output.

hd_strategy: Crop crop_margin: 196px trigger_size: 800px resize_limit: 1280px

☁️ Infrastructure

The inpainting backend runs on Railway (Hobby plan) with a dedicated GPU-enabled container. Requests are handled via a REST JSON API — your image is base64-encoded in the browser, sent over HTTPS, and the clean result is returned as a blob directly to your browser without being stored.

The frontend is a zero-dependency HTML/CSS/JS application hosted on Vercel's edge network — distributed globally for < 50ms load times anywhere in the world. No framework, no build step, no JavaScript runtime.

Ready to try it?

Drop your first Gemini image — no account, no credit card, instant result.