Checking an image

Check whether an image was made by AI: the bot reads C2PA, IPTC and XMP labels and PNG generation parameters, and estimates the Google SynthID watermark.

Send an image to @Synth_ID_bot as a file and the bot looks for three kinds of signs: labels the generator wrote into the file, generation parameters in a PNG, and the invisible Google SynthID watermark.

Send it as a file

Telegram compresses a regular photo and removes all of its metadata on the way, so nothing is left to read. Send the image the other way: tap the paperclip, choose File and pick the image. The bot accepts JPG, PNG, WebP and HEIC.

What the bot reads in the file

  • C2PA Content Credentials: the signed record of how a file was made, written by Google, OpenAI, Adobe Firefly, Microsoft and others. The bot reads the generator named in it and the type of the source.
  • IPTC and XMP fields: DigitalSourceType marks a file as made by a model (trainedAlgorithmicMedia) or as a real photo extended or changed by a model (compositeWithTrainedAlgorithmicMedia, compositeSynthetic). Marks such as Made with Google AI and a mention of SynthID are read too.
  • PNG text chunks: Stable Diffusion (AUTOMATIC1111) writes its parameters (prompt, steps, sampler), ComfyUI writes its workflow, and NovelAI leaves its own markers. The bot recognises them.

The bot looks only in these places. A camera that writes Make: Google into the EXIF, such as a Pixel phone, is not treated as a sign of AI.

The SynthID watermark

Images made with Gemini, Nano Banana and Imagen carry an invisible watermark from Google. The official detector cannot be called automatically, so the bot uses an open approximation model that looks for the watermark's traces in the pixels.

  • It runs only when the file has no labels, and it speaks up only when it is at least 90 percent sure. The answer then says Likely AI-generated and shows the confidence.
  • In our test of about 100 Nano Banana edits it found about 9 in 10, a little less after JPEG compression, and it gave no false alarm on 100 original photos and 120 interface screenshots. It occasionally reacts to pictures of other generators, so it can only call a result likely.
  • It is an estimate, not Google's detector. To check for sure, use synthid.com by hand.
(sends picture.jpg as a file)
Synth ID Detector🤖 Likely AI-generated: the file has no labels, but the neural network sees signs of the Google SynthID watermark (96% confidence). This is an estimate by an open approximation model, not Google's official detector: it finds about 9 in 10 Gemini images but occasionally fires on other generators. To check for sure, use synthid.com.

What the bot cannot see

  • An unlabeled image from a generator without SynthID: Midjourney, Flux, Qwen, Stable Diffusion and others, once their labels are gone.
  • Any image whose metadata was removed by a screenshot, recompression, a messenger or an editor, unless the SynthID watermark survives.

Questions

Why does the bot say no AI labels were found for an AI picture?

Because the labels were removed on the way, or the generator never wrote them. A missing label proves nothing. See how to read the result.

Can it tell a photo from an AI picture by looking at it?

No. The bot does not judge the content of the picture. It reads the labels and estimates the SynthID watermark.

Does it work for a photo from my phone?

Yes, a regular photo is checked like any file and usually comes back with no labels, or with Content Credentials if the camera app writes them. Send it as a file.

Check your first file

Open the bot, send an image as a file, or an audio or video, and read the verdict.

Open @Synth_ID_bot