This is a demo that we’ve created for a Thai payment transfer company.

They needed to verify that the user’s face matches the ID and that there’s no spoofing.

This is how the user flow works:

1. User Asked to Record Himself on Video with Audio

User was asked to speak a sequence of 6 digits in Thai lanugage

  • File Saved on Server: /path/to/selfie-video.mp4
  • Video type: MP4
  • Video compression: 240×320
  • Video framerate: 15 FPS
  • View video guidelines on how the video should be taken


2. User Asked to Upload a Verifiable ID

User was asked to upload his ID that can be verified to match against the face on the video.

Note that OneSmartLab does not performn ID authentication, i.e. determining if this is valid ID against some government database or entity.

(However, if you want us to do that, we most certainly can if you can give us access to the dataset. Contact us for details).


  • File Saved on Server: /path/to/id_card.jpg


Rest API Call


curl -X POST \
  -F "api_key=$api_key" \
  -F "id_card=@$id_card" \
  -F "video=@$video" \
  -F "audiochallenge=$audiochallenge" \
  -F "languageCode=$languageCode"