Tayanch tells real photos and video from AI-generated ones — and says so honestly when it isn't sure. One API call.
Status is read live from the server, so the page never claims more than the API delivers.


Detection is probabilistic. A detector that only says “real” or “fake” will eventually accuse a genuine photo. Tayanch has a third answer.
Consistent sensor noise, optics, and compression history — the fingerprint of a camera. Returned as "verdict": "real" with the confidence behind it.
Heavily re-compressed, screenshotted, or genuinely ambiguous. Instead of guessing, the API says so and lets you route the file to human review.
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".
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".
# 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.
One calibrated operating point for every key, set for few false accusations; a different operating point per deployment is available by agreement.





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