AI-generated media detection

Know what's real.

Tayanch tells real photos and video from AI-generated ones — and says so honestly when it isn't sure. One API call.

LAYER 01/06the photo LAYER 02/06provenance fast-path LAYER 03/06camera physics LAYER 04/06CLIP ViT-L/14 embedding LAYER 05/06calibrated head over CLIP and camera physics LAYER 06/06calibrated verdict
Scroll to take it apart
Modalities

One endpoint family. Every kind of file.

Status is read live from the server, so the page never claims more than the API delivers.

A hand holding a phone with the camera app open in a park live
Images
Photos, screenshots, social-media downloads. Detects fully generated images and flags possible local edits inside a real photo for review, with a heat map of the centre region.
A person photographing wildflowers in a mountain meadow live
Video
Face manipulation and a frame-level advisory for generated footage, with the suspect moments on a tappable timeline. TikTok and direct links analyze the actual video when the platform lets us fetch it; otherwise only the cover is read, and that is never a confident verdict.
preview
Audio
Voice, music and ambient sound, read by a six-view spectrogram model, with the 3-D spectrogram it looked at. Audio is in preview: Tayanch shows what the model hears and a research score, but gives no audio verdict until a model passes its published release test. Silence comes back as "no sound to analyze".
The product decision

Three verdicts, not two.

Detection is probabilistic. A detector that only says “real” or “fake” will eventually accuse a genuine photo. Tayanch has a third answer.

Real

Consistent sensor noise, optics, and compression history — the fingerprint of a camera. Returned as "verdict": "real" with the confidence behind it.

Uncertain

Heavily re-compressed, screenshotted, or genuinely ambiguous. Instead of guessing, the API says so and lets you route the file to human review.

AI-generated

Missing camera physics and a CLIP embedding that sits with generated pictures, read together by one calibrated model — or signed AI provenance. Returned as "verdict": "ai".

Measured, not promised

Measured on fresh files.

94.5%
of AI images caught by the live API: 52 of 55 (95% CI 85–98%), a 112-file development bench of mostly Civitai-gallery images, Sep 11 2026
0.25%
real photos wrongly flagged by the image model: 2 of 800 (95% CI 0.07–0.91%) from three secondary sources of its training pool; 0.75% (9 of 1,200) on its main sources, Aug 2026
0.7 s
image verdict, server median over 110 photos (about 1.8 s end to end), Sep 11 2026; the first request after the service has been idle waits up to about 40 s while it starts
2
generator families kept out of the image model's training entirely: Gemini 97.7% and FLUX.2-Klein 66.0% caught, Jul 2026

What each number is: the 94.5% is the live API on a development bench whose sources overlap the training data; the false-flag rates are the image model alone at its served threshold, on photos from sources used in its training pool; only the two-family result comes from generators the model was not trained on. Evidence for every tile is dated and kept in the repository (site/claims.json). Content Credentials (C2PA) and generator markers are read before any pixel is scored; when the signal is ambiguous, Tayanch says "uncertain".

terminal
# one call, one verdict
curl -X POST "$TAYANCH_API/analyze" \
  -H "X-API-Key: $TAYANCH_KEY" \
  -F "image=@photo.jpg"

# → 200 OK
{
  "verdict":        "real",
  "label":          "Likely authentic",
  "confidence":     91,
  "p_ai":           0.018,
  "method":         "content",
  "model":          "tayanch_union_vitl14_v5",
  "config_version": "cfg-0a85315c8994"
}

REST over HTTPS, JSON in and out. Send a file, or POST a link to /analyze/url and the server fetches the media itself. The base URL, every field and the error codes are in the API reference.

Know what's real before you publish it.

Drop a file in the demo, or create a free API key — 100 checks, no card required.