Skip to content

Tell real footage from Sora 2 and Veo 3.

Authini samples 15 frames from a clip, degrades them the way social media does, and tells you whether they look like real camera footage, Sora 2 or Veo 3.

Check a video
  1. Frame 0
  2. Frame 10
  3. Frame 20
  4. Frame 30
  5. Frame 40
  6. Frame 51
  7. Frame 61
  8. Frame 71
  9. Frame 81
  10. Frame 91
  11. Frame 102
  12. Frame 112
  13. Frame 122
  14. Frame 132
  15. Frame 143
Frame 015 of 144 sampledFrame 143

84.4%Veo 3

Real
7.6%
Sora 2
8.0%
Veo 3
84.4%

This clip most closely matches Veo 3.

The file was made with Veo 3. The model got it right.

Pick a file and see what the model said

Each one is a real run of the model. No sign-in.

What happens to your video

The same four steps run on every check, in this order. The pictures below are from a real run.

  1. 1.Sample 15 frames

    A video is read as 15 frames, evenly spaced from the first to the last. A still image is read as one frame.
    1. Frame 0
    2. Frame 10
    3. Frame 21
    4. Frame 31
    5. Frame 42
    6. Frame 53
    7. Frame 63
    8. Frame 74
    9. Frame 85
    10. Frame 95
    11. Frame 106
    12. Frame 117
    13. Frame 127
    14. Frame 138
    15. Frame 149
    Frame 015 of 150 sampledFrame 149
  2. 2.Degrade them like social media

    Every frame is cut to 360 px high, blurred, saved as a JPEG at quality 55 and resized to 224 × 224. A clean upload and a re-encoded TikTok are judged the same way. The slider stretches the 224 × 224 input back to the frame's shape so you can compare them.
    Frame 74 as uploadedAs uploadedAs the model sees it
  3. 3.Turn each frame into numbers

    EfficientNet-B0, trained on ImageNet with its last layer removed, turns each frame into 1280 numbers. The 15 sets are averaged into one.

    EfficientNet-B0

    ImageNet weights, classifier head removed

    1280 numbers per frame

    averaged over all 15 frames

    SVM

    probabilities for Real, Sora 2, Veo 3

  4. 4.Classify

    A support-vector machine gives a probability for Real, Sora 2 and Veo 3. The highest one is the result, and its probability is the confidence. Under 60%, we call it inconclusive.
    Real
    57.6%
    Sora 2
    33.9%
    Veo 3
    8.6%

Every check ends in a report like this one

  1. Frame 0
  2. Frame 4
  3. Frame 8
  4. Frame 13
  5. Frame 17
  6. Frame 21
  7. Frame 26
  8. Frame 30
  9. Frame 34
  10. Frame 39
  11. Frame 43
  12. Frame 47
  13. Frame 52
  14. Frame 56
  15. Frame 61
Frame 015 of 62 sampledFrame 61

fishermen-on-a-lake.mp4

Example report. Made with Sora 2, so the right answer is Sora 2.

This clip most closely matches Sora 2.

74.7%

Confidence: the probability the model gives Sora 2.

Real
1.0%
Sora 2
74.7%
Veo 3
24.4%
Compared against
Real, Sora 2 and Veo 3
Frames analyzed
15 of 62, evenly spaced
Technical details
The frame as uploadedThe same frame as the model receives it: 360 px high, blurred, JPEG quality 55, 224 by 224
Frame 30, as uploadedAs the model sees it, squeezed to 224 × 224
Returned class
Sora2
p(class)
0.7467
Features
EfficientNet-B0, ImageNet weights, 1280 values per frame
Classifier
SVM with probability outputs over Real, Sora 2, Veo 3
Preprocessing
360 px height, 3×3 Gaussian blur, JPEG quality 55, 224 × 224
Inconclusive
below 0.60
What the file is
Made with Sora 2
  • The file comes first

    You see exactly what was checked, with the 15 sampled frames under it.

  • One sentence

    Which of the three classes the clip matches most closely, in plain words.

  • Confidence

    The probability the model gives that class. Under 60% the report says it can't call it.

  • Technical details

    The raw class, the exact probability, the preprocessing, and the frame as the model saw it.

One request, one answer

Send a file or a public TikTok link to the endpoint the web app uses. Every account, including free ones, can call it with its sign-in token. Each call uses one check.

Read the API docs
curl -X POST https://ajnasiou-authini-api.hf.space/detect/ \
  -H "Authorization: Bearer $AUTHINI_TOKEN" \
  -F "file=@clip.mp4"
Response for latte-art-in-a-cafe.mp4
{
  "id": 4127,
  "type": "file",
  "result": "Veo3",
  "confidence": 0.8714,
  "probabilities": {
    "Real": 0.0946,
    "Sora2": 0.0340,
    "Veo3": 0.8714
  },
  "frames_analyzed": 15,
  "timestamp": "2026-10-24T09:41:07",
  "user_id": 312
}

Plans differ only in checks

History and API access are included on every plan, free one too.

  • Free

    3

    checks a month

    $0

  • Classic

    100

    checks a month

    $8.29 a month

  • Premium

    500

    checks a month

    $17.49 a month

  • Enterprise

    Custom

    checks, by agreement

    By volume

See pricing

Have a clip you're not sure about? Check it.

Check a video