Which AI image generators label their images? Google and OpenAI compared, file by file
By The NeutronField editors · Updated
Short answer
All 3 image models we tested labelled all 50 of our files twice. Google's Nano Banana 2 and Nano Banana Pro and OpenAI's image API each returned a file with a signed C2PA content credential that also records an invisible watermark, and none saved the prompt or any other metadata. None of the API files had a visible mark. Re-saving a file removed the credential every time.
Decision table
| Generator | Content credential | Invisible watermark | Visible mark | IPTC source type | Prompt saved in file | Verdict |
|---|---|---|---|---|---|---|
| Gemini API, Nano Banana 2 | Yes, signed by Google | Yes, recorded in the credential | None on API files | trainedAlgorithmicMedia | No | Labels every file twice |
| Gemini API, Nano Banana Pro | Yes, signed by Google | Yes, recorded in the credential | None on API files | trainedAlgorithmicMedia | No | Same records as Nano Banana 2 |
| OpenAI image API (gpt-image) | Yes, signed by OpenAI | Yes, a watermark step recorded | None on API files | trainedAlgorithmicMedia | No | Labels every file twice |

- Content credential
- Signed by Google LLC; valid
- Invisible watermark
- SynthID, recorded in the credential
- Visible mark
- None on the API file
- IPTC source type
- trainedAlgorithmicMedia, in the credential
- Prompt saved in file
- No
What frame 12 carries
| Signal | Yes | No |
|---|---|---|
| Content credential | marked | not marked |
| Invisible watermark | marked | not marked |
| Metadata fields | not marked | marked |
| Prompt saved in file | not marked | marked |
Checked on 2026-11-02 with c2pa-rs (c2pa-python) and JPEG and PNG segment readers.

- Content credential
- Signed by Google LLC; valid
- Invisible watermark
- SynthID, recorded in the credential
- Visible mark
- None on the API file
- IPTC source type
- trainedAlgorithmicMedia, in the credential
- Prompt saved in file
- No
What frame 32 carries
| Signal | Yes | No |
|---|---|---|
| Content credential | marked | not marked |
| Invisible watermark | marked | not marked |
| Metadata fields | not marked | marked |
| Prompt saved in file | not marked | marked |
Checked on 2026-11-02 with c2pa-rs (c2pa-python) and JPEG and PNG segment readers.

- Content credential
- Signed by OpenAI; file hash matches, signer outside our tool's default trust list
- Invisible watermark
- A watermark step recorded; OpenAI says SynthID
- Visible mark
- None on the API file
- IPTC source type
- trainedAlgorithmicMedia, in the credential
- Prompt saved in file
- No
What frame 31 carries
| Signal | Yes | No |
|---|---|---|
| Content credential | marked | not marked |
| Invisible watermark | marked | not marked |
| Metadata fields | not marked | marked |
| Prompt saved in file | not marked | marked |
Checked on 2026-11-02 with c2pa-rs (c2pa-python) and JPEG and PNG segment readers.
Method
How the table was built.
- Test date
- 2026-11-02
- Model versions
- gemini-3.1-flash-image, gemini-3-pro-image, gpt-image (OpenAI image API)
- Files
- 50 files: every original behind the examples on this site, 44 from Google's two Nano Banana models and 6 from OpenAI, each exactly as the API returned it. All 44 Google files carried a valid Google credential; all 6 OpenAI files carried an OpenAI credential whose hash matched the file
Only generators whose files we have read ourselves are in the table. Chat app downloads, Midjourney, Adobe Firefly and open-weight models join it as we read their files; for what open-weight tools write, see open-weight models, and for video, AI video generators. Our About page describes the method in full.
A missing label does not mean an image is human-made.
Questions
Does ChatGPT add a watermark to images?
OpenAI says images from ChatGPT, Codex and its API carry an invisible SynthID watermark and a C2PA content credential. Our files from OpenAI's image API had the credential, which records a watermark step, and no visible mark.
Which AI image generator labels its images most clearly?
Of the models we tested, Google's and OpenAI's label every file with both a signed credential and a watermark. Google's credentials validated cleanly in our tool; OpenAI's matched the file but used a signer outside our tool's default trust list.
Does Gemini add an invisible watermark?
Yes. Google's developer docs say all generated images include a SynthID watermark, and the credential in each of our Gemini files records it.
Do any of these generators save the prompt in the file?
No. None of the files we read from Google or OpenAI contained the prompt or any EXIF, XMP or IPTC block outside the credential.
What is the IPTC digital source type?
A standard metadata value for how media was made. trainedAlgorithmicMedia means created with generative AI; all our test files carried it inside their credential.
Can a label be removed from an image?
The credential is lost whenever a file is re-saved, screenshotted or re-encoded on upload; we saw that in every test. An invisible watermark is designed to survive those changes, though heavy edits can weaken it.
Related reading
- Made with AIWhat your AI image carries: credentials, watermarks, metadata and the prompt itselfAn AI-generated image file can carry four records: a signed content credential, an invisible watermark in the pixels, ordinary metadata fields, and the prompt saved as text.
- Made with AIWhat ChatGPT puts in your images: content credentials, and when they surviveOpenAI says every image made with ChatGPT, Codex or its API carries two records: a signed C2PA content credential and an invisible SynthID watermark.
- Made with AIGemini and Nano Banana images: the visible mark, SynthID and what each one meansEvery image Google's Gemini models generate carries an invisible SynthID watermark in its pixels, Google says.
- Made with AISelling AI images: what stock sites and marketplaces require you to declareSome marketplaces take AI images and some refuse them.