27 comments

[ 2.7 ms ] story [ 41.0 ms ] thread
> We're actively collecting pure black and pure white images generated by Nano Banana Pro to improve multi-resolution watermark extraction.

Oh hey, neat. I mentioned this specific method of extracting SynthID a while back.[1]

Glad to see someone take it up.

[1]: https://news.ycombinator.com/item?id=47169146#47169767

(comment deleted)
It says not to use these tools to misrepresent AI-generated content as human-created. But the project is a watermark removal tool with a pip-installable CLI and strength settings named "aggressive" and "maximum." Calling this research while shipping turnkey watermark stripping is trying to have it both ways in a way that's uncomfortable to read.

The README itself reads like unedited AI output with several layers of history baked in.

- V1 and V2 appear in tables and diagrams but are never explained. V3 gets a pipeline diagram that hand-waves its fallback path.

- The same information is restated three times across Overview, Architecture, and Technical Deep Dive. ~1600 words padded to feel like a paper without the rigor.

- Five badges, 4 made up, for a project with 88 test images, no CI, and no test suite. "Detection Rate: 90%" has no methodology behind it. "License: Research" links nowhere and isn't a license.

- No before/after images, anywhere, for a project whose core claim is imperceptible modification.

- Code examples use two different import styles. One will throw an ImportError.

- No versioning. If Google changes SynthID tomorrow, nothing tells you the codebook is stale.

The underlying observations about resolution-dependent carriers and cross-image phase consistency are interesting. The packaging undermines them.

(comment deleted)
(comment deleted)
if you downscale then upscale it removes the watermark
kinda ironic you can clearly see signs of Claude, as it shows misaligning table walls in the readme doc
> kinda ironic you can clearly see signs of Claude, as it shows misaligning table walls in the readme doc

This one is such a gigantic clusterfuck... They're mimicking ASCII tables using Unicode chars of varying length and, at times, there's also an off-by-one error. But the model (not Claude, but the model underneath it) is capable of generating ASCII tables.

P.S: I saw the future... The year is 2037 and we've got Unicode tables still not properly aligned.

I mean, just reading the readme content it is pretty obvious it is Claude
Ok i get that eventually someone was gonna do this but why would we want to purposely remove one of the only ways of detecting if an image is ai generated or not...?
Fundamentally it's a fuzzy signal and people shouldn't rely on it. The general public does not understand Boolean logic (oh, so the SynthID is not there, therefore this image is real). The sooner AI watermarking faces its deserved farcical demise the better.

Also something about how AI is not special and we haven't added or needed invisible watermarks for other ways media can be manipulated deceptively since time immemorial, but that's less of a practical argument and more of a philosophical one.

Because an attacker will do that the same thing and without sharing that knowledge good actors are in the dark. It's the same reason we share known security problems, since there will be bad actors that discover the same bugs and use them for much worse.
To pass fake/modified image as genuine?
SynthID is visible in some generations (areas with a lot of edges, or text), I wonder if this would make them look better.
And it gets more and more visible in every edit if you use Nano Banana for the edits.
I don't understand all the handwringing. If it's this easy to remove SynthID from an AI-generated image then it wasn't a good solution in the first place.
Okay... this tests its own ability to remove the watermark against its own detector. It doesn't test against Gemini's SynthID app. So it does nothing...
Seems like a very low-quality AI-assisted research repo, and it doesn't even properly test against Google's own SynthID detector. It's not hard at all (with some LLM assistance, for example) to reverse-engineer network requests to be able to do SynthID detection without a browser instance or Gemini access, and then you'd have a ground truth.
Inserting an undetectable 1-bit watermark into a multi megapixel image is not particularly difficult.

If you assume competence from Google, they probably have two different watermarks. A sloppy one they offer an online oracle for and one they keep in reserve for themselves (and law enforcement requests).

Also given that it's Google we are dealing with here, they probably save every single image generated (or at least its neural hash) and tie it to your account in their database.

Im confident i saw the watermark in use today, in nano banana, i copied the image from chrome into slack. the resulting upload was a black square with a red dot. and not the image i had generated.