← All articles

Can You Tell If a Video Was Made With Sora or Veo?

AI video has gone from obviously strange to hard to tell apart in a few months. So can you still find out whether a clip was generated? Sometimes for certain, often only as an estimate, and sometimes not at all. Here is what decides which.

What the generators put into their videos

OpenAI’s Sora adds a visible, moving watermark to downloaded videos, and OpenAI says it also attaches Content Credentials — a signed C2PA record saying the video was made with AI. Independent testers have reported files where the visible watermark is present but the signed record is not, so its absence on a Sora clip is not proof of anything.

Google’s Veo marks its videos with SynthID, an invisible watermark woven into the frames, and Google also uses Content Credentials. Google has made the visible watermark optional in some of its tools, so many Veo clips carry no visible mark at all.

That gives you three things to look for, in order of strength:

  1. A signed Content Credentials record in the file — readable by any C2PA-aware tool, including ours.
  2. SynthID — survives re-encoding far better than metadata, but only Google’s own tools can read it.
  3. A visible watermark — the weakest, because it can be cropped or blurred out in seconds.

What survives a re-upload

Very little, usually. When a clip is posted to a social network, sent in a chat app or screen-recorded, it is re-encoded and the metadata is usually gone. The visible watermark may have been cropped. What you are looking at is then just pixels.

How well a detector does on video

When the file says nothing, a detector model can look at the frames and estimate. We measured how well that works on 20 AI videos found in the wild — Veo 2 and 3, Sora, Kling, Runway, Grok and others — and 40 ordinary real videos.

Scored 85+ (“strong signs”) Scored under 25 (“no signs”)
Real videos 2.5% 72%
AI videos 30% 5%

Two things stand out. Real videos were rarely accused, which is what matters most. But most AI videos landed in the middle — “not conclusive” — with a median score of 63. For still images the same model catches about twice as many.

The reason is compression. A video is squeezed far harder than a photo, and the fine detail a detector reads is the first thing an encoder throws away. A clip that has been re-uploaded twice has even less of it left.

What that means in practice

  • If the file carries Content Credentials, believe them. A signed record saying a video was generated is strong evidence. Check whether the file has been changed since it was signed.
  • If it doesn’t, a “not conclusive” answer is the honest one for most AI video today. Treat a low score as “nothing found”, never as “this is real”.
  • Look for the original. The first upload of a clip, from the account that posted it first, is far more likely to still carry its watermark or record.
  • Context still matters. Where the clip came from, who posted it first, and whether anyone else filmed the same event are often more telling than any detector.

Checking a video with DiffALL

The DiffALL AI video check reads the file’s Content Credentials first and verifies the signature without sending your video anywhere. If there are none, it checks eight frames spread across the whole clip and combines them into one estimate from 3 to 97, with each frame’s own score shown beside it, so one odd moment does not decide the answer.

It cannot read SynthID, and it says so. For still images the same check is at the AI image detector, and here is why a detector can call a real picture AI.

Stop hunting for differences by hand. DiffALL spots every change between any two files — automatically.

Compare your files — free