inaday.ai

Create

How to tell if art is AI generated: I checked the files

Liv

August 6, 2026 · 6 min read

Time spentan afternoon
Tools usedContent Credentials Verify, Hive Moderation, AI or Not, Sightengine, Illuminarty, Winston AI
Result6 of 7 AI images off the open web carried no AI marker, the 1 signed C2PA manifest said composite instead of AI, and both label types survived 0 of 5 ordinary edits.

I went looking for proof that an AI image can prove itself, and I got two numbers back. Our own generator writes an honest AI label into all 20 of the images we use on this site. Of seven AI images I pulled off the open web, six carry nothing at all, and the one that does is signed by Google and does not say "AI".

So here is the honest answer to how to tell if art is AI generated, after an afternoon of opening real files instead of squinting at pictures. Sometimes the file already knows. It stops knowing the moment anyone touches it.

Here's the weird part: I tested the flimsy plain-text label and the cryptographically signed manifest side by side, and they died at exactly the same rate.

How to tell if art is AI generated: three routes, ranked by proof

There are exactly three routes, and they are not equal: read the plain-text label in the file, check for a signed Content Credentials manifest, or run a classifier that judges the pixels. The first two are evidence. The third is an opinion with a percentage attached.

The plain-text label is an IPTC field called DigitalSourceType, and generators write it themselves. A signed manifest is the C2PA standard, which wraps the same kind of claim in cryptography so you can tell it has not been edited since. A classifier looks at the picture and guesses, which means it can be wrong about a real painting as easily as a fake one.

Squinting at the image, the advice you find everywhere, comes last. The 2024 University of Chicago study on this question found that "Hive outperforms all detectors (human and ML)", and the human panel in that study included people who work with art for a living.

What I tested, and how you can repeat it

I scanned two sets of files for four things: a C2PA manifest, an IPTC DigitalSourceType field, an XMP metadata packet, and any generator fingerprint in the file's text chunks. No uploads, no accounts, just reading bytes on disk.

The first set was our own: 20 AI-generated images from our image folder. That sample has an obvious limit and it is worth naming, because it is the trap in every "I tested AI images" post. Twenty files out of one pipeline is one generator measured twenty times, not twenty data points.

So the second set came from somewhere I do not control: seven public-domain AI images from Wikimedia Commons, spanning four generator families (Nano Banana, Gemini, DALL-E, and a file from the Stable Diffusion category).

You can run the same check on any file you have in one line, with nothing installed:

strings your-image.png | grep -i "trainedAlgorithmicMedia\|xmpmeta\|c2pa"

If you would rather not touch a terminal, drop the file on Content Credentials Verify at contentcredentials.org/verify, which is free, has no login, and reads manifests for 16 file types.

The result: our files confess, the web's files say nothing

Our own images all declare themselves and none of them sign it, while the open-web sample is almost entirely silent.

SampleFilesCarries an AI labelSigned C2PA manifest
Our own pipeline (one generator)20200
Public domain, off the open web (four generator families)711

Here is the whole label from one of ours, 422 bytes of it:

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 4.4.0-Exiv2">
 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <rdf:Description rdf:about=""
    xmlns:iptcExt="http://iptc.org/std/Iptc4xmpExt/2008-02-29/"
   iptcExt:DigImageGUID="bae5bb6e-01b0-40ec-9405-3943d2723e08"
   iptcExt:DigitalSourceType="http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia"/>
 </rdf:RDF>
</x:xmpmeta>

That URL at the end is the machine-readable way of saying "made by a trained model". It is honest, specific, and completely unsigned, which means anyone can delete or fake it with a text editor.

I liked these images more before they started narrating themselves.

Which generator made the picture clearly changes what ends up in the file, so this is worth checking per tool rather than assuming. We are putting Midjourney, GPT Image 2 and Nano Banana Pro through the same five client briefs this week, and what each one writes into the file is now on that checklist.

The one signed manifest, and what it actually says

The single file in my sample with real cryptographic provenance turned out to be signed by Google, and it never mentions AI. Its manifest chains up to a certificate called "Google C2PA Root CA G3", issued through "Google C2PA Media Services", generated by the "Google C2PA Core Generator Library" and hashed with sha256. This is the gold standard working exactly as designed.

Then I read the field everyone assumes answers the question. Its digitalSourceType is set to composite, not trainedAlgorithmicMedia. The one action recorded in the manifest is c2pa.converted, described as "Converted to .png".

The twist: neither label survives what you do to an image

I ran both files through the five most ordinary operations an image meets, and every marker died in all five. Not degraded. Gone.

What I did to itOur unsigned labelGoogle's signed manifest
Re-saved as PNGGoneGone
Converted to WebP, quality 82GoneGone
Exported as JPEG, quality 85GoneGone
Resized to 1200px wideGoneGone
Cropped 10px off each edgeGoneGone

The WebP row is the one that matters, because that conversion is not something a person chooses to do. It is what image optimization on a modern website does automatically, which means our own site would strip the label off our own images on the way to your screen. The same is true of the compression step on every social platform. Google's signed manifest went from 7,680 KB to 432 KB in that step, and the cryptography went with the bytes.

Which reframes the six silent files from the open web. Every one of them went through a platform upload, so they are not evidence that six generators wrote nothing. They are evidence of what reaches you after a file has been on the internet for a while.

What about the detectors themselves?

The classifiers are the only route left once the metadata is gone, and their accuracy claims are much easier to find than their error rates. I did not run these on our images, and I want to be straight about why: Winston AI and AI or Not both require an account before they will look at a single file, and I am not handing our originals to a third party to make a point. So this part is documented behavior with sources, not my own test.

The claims are confident. Winston AI says it is "the only AI image detector with an accuracy rate above 98%". Sightengine cites an external benchmark putting it at 98.3%. Is It AI? claims "95%+ accuracy across Midjourney, DALL-E, Stable Diffusion, Nano Banana, Firefly, ChatGPT and 20+ models".

Now the number that decides whether a human artist gets falsely accused. Of the eight tools I researched, six make no statement about false positives on human work at all. Illuminarty and Decopy publish no accuracy figure of any kind. The strongest false-positive number in this field does not come from a vendor: it comes from that University of Chicago paper, which found "Hive is the clear winner among all five detectors, with a 98.03% accuracy, 0% FPR (i.e., it never misclassifies human artworks)" on their test set.

Independent tests on real photographs are harsher. Bellingcat gave AI or Not 20 photography competition entries, winners and honourable mentions from the Canadian Photos of the Year contest, and six came back marked as AI-generated, with a seventh returning no verdict. Those were photographs, taken by photographers, who would have had a hard afternoon proving otherwise.

What this means if you actually need an answer

Check the file first, read the source type field rather than the badge, and treat a classifier verdict as a hint. If you are commissioning art, ask for the original export from the tool instead of a copy pasted out of a chat window, because the copy has already lost whatever the original had. If you are the artist, keep the untouched original, since it is the only version that can still speak for you.

And if you make images with AI, as we do for our own product photography, treat the label your generator writes as a courtesy rather than a signature. It does not survive the first resize, which makes disclosing it in words your job and not the metadata's.

The frame: an afternoon of work. Cost: $0, no accounts, no uploads of our own files. Tools: our own 20 PNGs, 7 public-domain files from Wikimedia Commons, Pillow 11.3.0, and the free Content Credentials Verify reader. Difficulty: 1 out of 5 to check one file, 3 out of 5 to draw a conclusion you can defend.

See for yourself, on a file you made this week. It takes one line.

Start this today

  1. Find an image straight out of an AI tool, before you resized or re-uploaded it, and run strings file.png | grep -i "trainedAlgorithmicMedia\|xmpmeta\|c2pa" on it.
  2. Save a copy as WebP or JPEG, or just resize it, then run the same command on the copy and watch every marker disappear.
  3. Drop both versions on contentcredentials.org/verify, and if a manifest does show up, read its source type field before you conclude anything about AI.

FAQ

Can you tell if art is AI generated just by looking at it?
Less and less, and the research says so too. The 2024 University of Chicago study that tested this found the best software detector beat human expert analysis, and the tells people repeat online (hands, text, symmetry) are the exact things newer models fixed first. Checking the file beats squinting at the picture.
Does Content Credentials prove an image is AI generated?
Not on its own, and this surprised me. The only signed manifest in my sample was issued by Google, and its source type field said composite rather than AI-generated, so a valid manifest can be silent on the question you are asking. A missing manifest proves even less: 6 of the 7 web images I checked had nothing at all.
How do I check my own images for an AI label?
Run strings your-image.png | grep -i \"trainedAlgorithmicMedia\\|xmpmeta\\|c2pa\" in a terminal, which needs no account and no upload. For a friendlier version, drop the file on contentcredentials.org/verify, which is free and asks for no login. Do it on the original file straight from the generator, because that is the only copy likely to still have anything in it.
Share:XLinkedIn

If you have another hour…

See everything that fits in a day