Files
reverse-SynthID/gui

SynthID Cleaner (GUI)

A drag and drop desktop app built on this repo's V3 spectral bypass (src/extraction/synthid_bypass.py). Made for removing the SynthID watermark left over after using generative AI to restore old photographs, though it works on any Gemini generated image.

Setup (one time only)

Double click Launch SynthID Cleaner.command. On first run it creates a virtual environment and installs everything it needs automatically. This takes a minute or two depending on your connection.

If you would rather do it by hand from the terminal:

cd gui
python3 -m venv venv
source venv/bin/activate
pip install -r requirements-gui.txt

Using it

  1. Double click Launch SynthID Cleaner.command. A small window opens.
  2. Drag your images into the box, or click the box to pick files from a dialog instead.
  3. Pick a strength from the dropdown: gentle, moderate, aggressive, or maximum. Aggressive is the default and works well for most photos.
  4. Leave "Strip EXIF/XMP/IPTC metadata" checked if you also want camera and software tags, plus any AI provenance metadata, removed from the output files.
  5. Set the output folder in the "Save to" field. It defaults to a synthid-cleaned folder on your Desktop.
  6. Watch the status line at the bottom while it works. For each image it reports whether a watermark was found and removed, or whether the image was already clean and left untouched.

Each output file keeps the original name with _clean added, so photo.png becomes photo_clean.png in the output folder.

What it actually does

Every image is checked first with this repo's RobustSynthIDExtractor. Only images where a watermark is actually detected go through the spectral bypass. Images with no detectable watermark are copied through unchanged instead, so the tool cannot accidentally stamp a watermark shaped pattern onto a photo that never had one.

Everything runs locally: no network calls, no telemetry. It uses the V3 pipeline only (numpy, scipy, opencv, PyWavelets, scikit-learn), so no PyTorch install or GPU is required.

Notes

  • Codebooks are read straight from this repo: ../artifacts/spectral_codebook_v3.npz for the bypass, ../artifacts/codebook/robust_codebook.pkl for detection. Nothing extra to download.
  • Subject to this repo's LICENSE: non commercial use, with required attribution to the original author.