Перейти к содержанию

GeminiWatermarkTool — зачем и как использовать

Проблема

Nano Banana 2 (Gemini 3 Flash Image) добавляет невидимый цифровой водяной знак (SynthID) и видимый водяной знак на все сгенерированные изображения. Для презентаций в sli.dev видимый ватермарк — это мусор на слайде, который убивает визуальное впечатление и выдаёт что картинки сгенерированы.

Решение

GeminiWatermarkTool — CLI-утилита которая удаляет видимые ватермарки Gemini используя blend modes (Screen и Colour Burn). Работает локально, не отправляет картинки на сервер.

Использование

~/tools/GeminiWatermarkTool -i [входной файл] -o [выходной файл]

Пример для нашего воркфлоу:

# После скачивания картинки из Gemini
~/tools/GeminiWatermarkTool -i ~/Downloads/Gemini_Generated_Image_xxx.png -o ./public/images/01-courtroom-forge.png

Встраивание в воркфлоу генерации картинок

При генерации серии из 20 картинок для презентации (см. praktikum-nano-banana-guide.md), после каждого шага добавляется одна команда:

1. Сгенерировать картинку в Gemini (Nano Banana 2)
2. Выбрать лучший вариант, скачать
3. >>> Прогнать через GeminiWatermarkTool <<<
4. Сохранить в public/images/ с правильным именем
5. Проверить по чеклисту

Батч-обработка

Если картинок много — обработать все разом:

macOS / Linux:

for f in ~/Downloads/Gemini_Generated_Image_*.png; do
  name=$(basename "$f" .png)
  ~/tools/GeminiWatermarkTool -i "$f" -o "./clean/${name}.png"
done

Windows (PowerShell):

Get-ChildItem ~\Downloads\Gemini_Generated_Image_*.png | ForEach-Object {
  ~/tools/GeminiWatermarkTool -i $_.FullName -o "./clean/$($_.BaseName).png"
}

Альтернатива: Python-скрипт (adaptive_remover)

В этом проекте используется utils/clean-watermarks.sh — адаптивный Python-скрипт, который: - Автоматически определяет силу водяного знака (1.0x или ~1.48x) - Удаляет SynthID-звезду через reverse alpha blending - Инпейнтит V-шеврон (видимый логотип Gemini под звездой) - Обрабатывает все картинки батчем из images-orig/images/

Подробнее: hints-watermark-removal.md

Важно

  • Удаляет только ВИДИМЫЙ ватермарк (наложенный поверх изображения)
  • Невидимый цифровой SynthID остаётся в метаданных — это ок для презентаций
  • Качество изображения не теряется
  • Работает офлайн