Image Analysis / Guide

Introducing Image Recapture Detection

May 4th, 2026

Not every image you receive is what it claims to be. A product photo that's actually a phone snapshot of a monitor. A receipt that was printed, then re-photographed. A profile picture captured from someone else's screen. These are recaptured images, and they are more common than you might think.

Sightengine's Image Recapture Detection model analyzes a photo and determines whether it was captured directly from a camera, or whether it is a photo of a printed or displayed image. A single API call, no user interaction required.

What is a recaptured image?

A recaptured image is a photo that was not taken directly of the real scene, but instead taken of another image. This includes:

  • Displayed images: photos of images shown on phones, tablets, or monitors, including cases where the edge of the screen is not visible.
  • Printed images: photos of printed photos, magazine pages, posters, or any other physical reproduction.

Recaptured images are distinct from screenshots, digital copies, or AI-generated images. The model specifically targets the physical act of re-photographing an existing image.

Why it matters

Recaptured images surface in many contexts where image authenticity is important:

  • Marketplace and listing integrity. Sellers uploading a phone picture of a product shown on a monitor, or a re-photographed catalog page, instead of genuine shots of the actual item.
  • Content originality. Images passed off as original that are actually re-photographed from a screen, print, or magazine.
  • Proof-of-document workflows. Receipts, invoices, or certificates that need to have been captured directly, not re-photographed from another source.
  • Dataset hygiene. Filtering recaptured images out of training sets and user-generated content libraries to maintain data quality.
  • Watermark and provenance evasion. Catching attempts to strip watermarks or C2PA-style provenance signals by printing and re-photographing an image.

How it works

The workflow is straightforward:

  1. Send an image to the API. Submit the image to Sightengine's check.json endpoint with the recapture model.
  2. Get the result. The API returns a recapture score: a float from 0 to 1, where values closer to 1 indicate a high likelihood that the image is a recapture.

Scores above 0.5 indicate a likely recapture. You can tune the threshold to match your precision/recall requirements.

The model works on any image content, not just faces. Whether you're checking product photos, documents, identity images, or user-generated content, the same model and endpoint apply.

How it differs from Face Liveness Detection

If you work with identity verification, you may already know Sightengine's Face Liveness Detection model. While both models detect re-photographed content, they serve different purposes:

  • Face Liveness Detection is specialized for selfie and identity verification flows. It detects presentation attacks including screen replays, printed photos, masks, cutouts, and deepfakes, specifically targeting spoofing of a person's face.
  • Image Recapture Detection is a general-purpose model that works on any image. It determines whether the photo was taken directly or re-photographed from a screen or print, regardless of the image content.

Use Liveness Detection when you need to verify a person is physically present. Use Recapture Detection when you need to verify that any image is an original capture.

Get started

Image Recapture Detection is available now through the Sightengine API. It works with the same API keys and endpoint you already use for other Sightengine models, so integration is straightforward.

  • Read the full documentation for detailed integration instructions, code examples, and response format.
  • Already using Sightengine? Just add recapture to your models parameter to start checking images immediately.

Read more

Head back to the Knowledge Center