Likely AI-generated
Supported signals point toward AI generation. This remains a probability-based assessment, not proof of origin, timing, or intent.
Upload a photo to check whether it may be AI-generated. Detector-backed checks return one of three careful outcomes with evidence and limitations; unavailable providers fall back to an explicitly labelled storage mock.
Drop an image here, paste one, or choose a file
The server validates the image and uses the supported detector when configured. Detector-backed results stay private for 30 days; mock uploads are deleted before the response.
JPG · PNG · WEBP · MAX 10 MB
Use only SFW images you have the right to upload. Images never receive a public R2 URL. A completed detector-backed check uses one monthly credit.
Every detector-backed Basic Check returns one of three outcomes and separates supported evidence from unknowns. Missing metadata remains neutral.
Supported signals point toward AI generation. This remains a probability-based assessment, not proof of origin, timing, or intent.
Available evidence is missing, weak, unsupported, or conflicting. The product will not force a confident-looking answer.
Analyzed signals do not point strongly toward AI generation. This will not guarantee that an image is authentic, unedited, or correctly contextualized.
Detector, Content Credentials, watermark, EXIF, and visual signals will stay separate, each with a plain explanation.
The result contract is fixed: verdict, summary, evidence, and limitations. Raw numerical scores remain hidden until production calibration is complete.
One of three calibrated states with a confidence level, never a certainty claim.
One plain sentence describing what supported signals indicate and what they do not.
Each signal is marked supporting, neutral, or contradicting. Missing provenance stays neutral.
Unknown history, editing context, and creator details stay next to the verdict.
{
"verdict": "likely_ai | inconclusive | likely_not_ai",
"confidenceLevel": "high | medium | low",
"signals": [
{
"type": "detector | c2pa | watermark | exif",
"status": "supporting | neutral | contradicting"
}
],
"limitations": "string"
}Field names only. The mock endpoint returns no verdict, confidence, or detector signals.
Use the checker when an image may affect what you share, publish, or believe. A future detector result should inform the next verification step, not replace source checking.

Review the available evidence before amplifying a contextless image.

Check which provenance and metadata signals remain in a submitted asset.

Compare a synthetic-looking listing with seller sources and other evidence.

Screenshots may remove metadata. Inconclusive can be the only defensible outcome.
The checker keeps detector calls server-side, preserves uncertainty, and separates detector-backed history from the explicit no-credit mock fallback.
Choose or paste a JPG, PNG, or WebP up to 10 MB.
A signed-in Basic Check uses Sightengine pixel analysis and safety moderation when configured.
The result keeps detector, provenance markers, and metadata observations separate.
Detector-backed results remain private for up to 30 days and can be deleted sooner.
The checker is narrow on purpose: a careful first pass with explicit evidence boundaries, no certainty claims, and no unfinished payment promise.
Detector probability, Content Credentials, watermarks, EXIF, and visual observations are not interchangeable.
When evidence cannot support a direction, the correct result is Inconclusive.
Detector-backed images use authenticated reads; mock objects are deleted before the response. Neither receives a public R2 URL.
A successful detector-backed Basic Check uses one of five monthly credits. Provider failures and mocks use none.
A signed-in account receives five free Basic Checks per UTC calendar month. The allowance resets without rollover; paid credit packs remain disabled.
free Basic Checks per signed-in account each month
credit used only by a completed detector-backed Basic Check
payment, subscriptions, and automatic renewal
NO ROLLOVER · PROVIDER FAILURES AND MOCKS NEVER DEDUCT CREDITS
Detector-backed checks use private account-scoped storage for up to 30 days. The fallback mock deletes its object before responding. Neither path exposes a public image URL.
JPG, PNG, and WebP only, with a 10 MB hard limit and file-signature validation.
The temporary R2 object is private and receives no public URL.
Mock deletion completes before its response; detector-backed items can be deleted from History.
Sightengine calls stay server-side and use GenAI plus safety moderation in one request.
Only completed detector-backed checks consume one credit and create a history item.
Use only SFW images you own or are authorized to test.
When the supported detector is configured, a signed-in Basic Check returns Likely AI-generated, Inconclusive, or Likely not AI-generated with evidence and limitations. If it is unavailable, the endpoint returns an explicit storage mock instead of inventing a verdict.
A detector-backed safe-for-work image stays in private account-scoped storage for up to 30 days and can be deleted sooner. A mock object is deleted before the response. Neither receives a public R2 URL.
JPG, PNG, and WebP images up to 10 MB. The server validates both the declared media type and the file signature.
Only a successfully completed detector-backed Basic Check uses one credit and saves history. Mock checks, provider failures, rejected unsafe uploads, and invalid files use none.
Each signed-in account receives five free Basic Checks per UTC calendar month. Unused checks do not roll over. Payment remains disabled.
Completed detector-backed results and images are retained for up to 30 days. Signed-in users can delete an item sooner from History.
No. A detector result will be an assistive assessment, not forensic or legal proof. Missing metadata will never count as evidence of AI generation by itself.
Use a non-sensitive SFW image. A detector-backed check returns a careful first-pass assessment; a provider fallback is clearly labelled as a mock.