AI Video Check
AI Video Check
← AI Video Check

AI Video Check API

Version 1

Check whether a video was generated by AI from your own code. Send a file or a link and get back a probability, a verdict, separate scores for the picture and the sound, the file's SHA-256 and any C2PA provenance signature the file carries.

The API spends the same credits as the website. One credit covers one started minute of video.

Quick start

  1. Create a key on your account page. It is shown once, so store it somewhere safe.
  2. Send a video.
  3. Ask for the result. Most checks finish within 10 to 30 seconds.
curl https://api.aivideocheck.net/v1/checks \
  -H "Authorization: Bearer avc_live_..." \
  -F "file=@clip.mp4"
{ "id": "5f0c…", "status": "queued", "credits_charged": 1,
  "created_at": "2026-09-30T14:00:00Z" }
curl https://api.aivideocheck.net/v1/checks/5f0c… \
  -H "Authorization: Bearer avc_live_..."

To check a video by its address instead of uploading it:

curl https://api.aivideocheck.net/v1/checks \
  -H "Authorization: Bearer avc_live_..." \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.instagram.com/reel/..."}'

Upload the file whenever you have it. Every re-upload to a platform removes detail, and detail is what the detector reads. Some platforms also refuse downloads from servers; the check then fails with download_failed and costs nothing.

Endpoints

methodpathwhat it does
POST/v1/checksStart a check. A file as multipart/form-data (field file), or a link as url in a form or JSON body. Answers 202.
GET/v1/checks/{id}Status and, when ready, the result.
GET/v1/accountCredit balance and the limits of your key. Costs nothing, so it is also the way to test a key.

Authenticate every request with Authorization: Bearer avc_live_….

Reading the result

{
  "id": "5f0c…",
  "status": "succeeded",
  "credits_charged": 1,
  "result": {
    "probability": 87.4,
    "verdict": "likely_ai",
    "video_probability": 91.2,
    "audio_probability": 64.0,
    "provenance": null,
    "duration_s": 12.0,
    "file_sha256": "d7e2…",
    "model_version": "2.4.2",
    "checked_at": "2026-09-30T14:00:11Z"
  }
}

status is queued, processing (with a progress from 0 to 1), succeeded or failed. A failed check carries an error with a code, and its credits are returned.

probability is the combined score from 0 to 100. verdict is one of real, likely_real, likely_ai or ai, on the same bands as the website: below 15, 15 to 53, 53 to 90, and 90 and above.

Read it the right way round. A high score is strong evidence of generation. A low score means the detector found nothing, which is not proof that nothing is there. The detector looks for traces that generators such as Sora, Veo and Kling leave behind. It does not detect editing, visual effects or a face swapped onto real footage.

video_probability and audio_probability come from separate models. When they disagree, the disagreement is often the most useful part of the answer.

provenance describes a C2PA Content Credential if the file has one: who signed it, whether the signature verifies and whether it declares AI generation. Platforms strip these on upload, so they usually survive only on original files.

Results are kept for 24 hours after a check is created. After that the check answers 410 result_expired; store what you need.

Retries and idempotency

Send an Idempotency-Key header with any unique string when you create a check. If the same request is retried within 24 hours, for example after a timeout, you get the original check back and are not charged again. While the first request is still being accepted, a retry answers 409 idempotency_in_progress; wait two seconds and try again.

Errors

Every error has the same shape:

{ "error": { "code": "insufficient_credits", "message": "…",
             "required": 3, "balance": 1 } }
HTTPcodemeaning
401invalid_api_keyMissing, malformed, unknown or revoked key.
402insufficient_creditsTop up and retry. The answer says how many credits the video needs.
403email_not_verifiedConfirm the email address of the account first.
404not_foundNo check with this id on your account.
409idempotency_in_progressAn identical request is still being accepted. Retry shortly.
410result_expiredThe result was older than 24 hours and is gone.
413file_too_largeThe file is over 500 MB.
422not_a_video, unreadable_file, too_long, missing_input, invalid_body, unsupported_url, no_video_at_link, download_failed, download_login_required, platform_rate_limitedThe input cannot be checked. Nothing was charged.
429rate_limited, too_many_in_flightSlow down and follow Retry-After.
503service_unavailableTemporary. Nothing was charged; retry later.

Limits

  • 60 new checks a minute per key, and 300 status or account requests a minute.
  • 5 checks running at once per key.
  • Videos up to 10 minutes and 500 MB.

Keys

Keys start with avc_live_. Keep them on your server, never in a web page or an app you ship to others: anyone holding a key spends your credits. You can have up to five active keys and revoke any of them on your account page. A revoked key stops working within a minute.

Use it from Claude or Cursor (MCP)

The same API is available as an MCP server, so an AI assistant can check videos for you. It runs at https://api.aivideocheck.net/mcp and uses your API key and credits.

toolwhat it does
check_videoChecks the video at a public link and waits up to about a minute for the result.
get_checkReturns the result of an earlier check by its id.
get_balanceShows the remaining credits and the limits of your key.
check_fileChecks a video file on your computer. Local mode only.

Claude Code:

claude mcp add --transport http aivideocheck https://api.aivideocheck.net/mcp \
  --header "Authorization: Bearer avc_live_..."

Cursor (~/.cursor/mcp.json):

{ "mcpServers": { "aivideocheck": {
    "url": "https://api.aivideocheck.net/mcp",
    "headers": { "Authorization": "Bearer avc_live_..." } } } }

To check files from your own disk, run the server locally. Setup for Claude Desktop and other clients, and the source code, are on GitHub.

Pricing

The API spends the same credits as the website. Larger packs for regular use:

packcreditsvalid for
$5070012 monthsBuy
$2003,00012 monthsBuy
$5009,00012 monthsBuy

Your first key comes with 20 free credits to try it; they work through the API only. For monthly invoicing under a contract, write to us.

What happens to your videos

The file is deleted as soon as the check ends. We keep the result, the file's checksum and basic metadata, as described in our privacy policy. We never use submitted videos to train our models. Use of the API is governed by our terms of service.