Skip to main content
POST
Liveness + deepfake in one call

Authorizations

Authorization
string
header
required

Your secret key (sk_live_…), server-side only. Also accepted as an x-api-key header.

Body

The image, in any supported form. Max 10 MB. EXIF orientation is applied automatically. The detected face's bounding box must be at least 224×224 pixels, or the call returns 422 FACE_TOO_SMALL — pass min_face_check: false to skip that gate.

data
string

Base64-encoded image, or a full data URL. Alias: image.

image_url
string<uri>

http(s) URL we fetch server-side (10 s timeout). Alias: url. Provide either data or image_url.

threshold
number

Optional per-request decision threshold. Defaults to your org setting (0.5 unless changed).

Required range: 0 <= x <= 1
thresholds
object

Unified only: per-product thresholds, e.g. {"face_liveness": 0.6, "deepfake": 0.4}.

min_face_check
boolean
default:true

Set to false to disable the 224×224 minimum-face-size gate (422 FACE_TOO_SMALL) for this request. Small faces are upscaled before scoring, so accuracy degrades on faces well under 224 px — use only if your capture flow can't guarantee close-up faces. A face must still be detectable.

Response

Scored checks

product
enum<string>
Available options:
unified
decision
enum<string>

"real" only when every check passes its threshold.

Available options:
real,
spoof
checks
object

Per-product outcome.

latency_ms
integer

Sum of per-model inference times.

credits_remaining
integer
session_id
object

One logged detection session per product.

request_id
string