Face recognition for live services

Confirm the person on camera with a guided video.

Checkface is a face recognition system for fintech, onboarding, account recovery, staff access, and any service that needs to verify a face. The customer records one short clip, follows the prompts, and your app receives a match and a liveness score.

FintechOnboardingAccount recoveryStaff accessAny face check

FaceNet matches the person. MediaPipe scores the movements in the clip.

Live videoReady
Look straight ahead One clip. Each prompt lasts two seconds.
Liveness score

A sample of the prompts your customer follows in one continuous clip.

For fintech and any service that verifies a face.

Account opening, step-up login, payout approval, clinic check-in, staff gates. Checkface sits beside your app and returns a decision over HTTPS.

1

Enroll the face

We keep a small face crop and a numeric signature. Later successful checks can add up to five angles for that same person.

2

Record one clip

The server sets the order. The customer looks ahead, blinks, turns, opens their mouth, and smiles, two seconds each, in a single video.

3

Score and match

We sample the video, score each movement, and compare the face with FaceNet. A pass needs 75 overall and 0.60 on every prompt.

What the video measures

The clip is split into equal slices. Each slice produces a score from 0 to 1. The liveness result is the average, shown as a percentage, alongside the FaceNet match.

CenterOne clear face. This frame is the identity match.
BlinkBoth eyes close, then open again.
TurnHead turns about 20° to the side the server requested, then starts back.
MouthJaw opening rises from the neutral frame.
SmileBoth corners of the mouth lift and hold.

How teams run it

Checkface runs on your server. You license the setup, then your service calls the video check whenever a person must be confirmed.

Sandbox

Prove the flow with your engineers.

  • API on your staging host
  • Enrollment and liveness session
  • Swagger docs
Request sandbox

Scale

When more than one product calls the same check.

  • Separate keys per product
  • Threshold review on real traffic
  • Handover for your mobile team
Talk to us

Two calls from your app

Open a session, then upload the guided clip. We read the frames we need, score the movements, match the face, and drop the file.

POST /liveness/session
user_id=cus_2041
→ challenges, seconds_per_challenge

POST /liveness/video
session_id=...  clip=@check.mp4
→ authenticated
→ liveness_score
→ challenge_scores
→ gallery_size

How the check works in practice

What do you keep after enrollment?

One small face crop and up to five numeric signatures for that person. The verification video is scored in memory and then removed.

What does the video check include?

A continuous clip with a look-ahead, a blink, a head turn, an open mouth, and a smile. The order changes each session. Movement through the clip produces the liveness score, and FaceNet confirms it is the enrolled person.

How do results improve?

Each accepted check can add a new angle to that person’s signature gallery, so later matches reflect the faces you have actually verified.

How does a service connect?

API docs are at /docs. Request access and we issue a bearer token for your app.

Request access

Tell us the service you run and how many face checks you expect. We reply with a sandbox token and a walkthrough of the video flow.