My Voice and Face Identify Me

Your guide to API 2.0.

So what makes API 2.0 so special?

The ability to identify and verify using your face and voice…

API 2.0 provides the ability to easily integrate multi-modal and multi-engine facial and voice Identification (1-to-n) and Verification (1-to-1). Identify or verify users with their face, voice, or face+voice!

Where can I use a VoiceIt Developer Account?

The better question is “Where can't you use it?” We've already done the hard work for you. What you get is an easy-to-use RESTful API. But under the hood are all the complexities of a facial and voice biometrics powerhouse. This means that the sky's the limit. If something has either a camera, sound recording capabilities, or both, with access to the internet you can secure it with API 2.0. Most frequently, customers use API 2.0 as a part of a single-factor or 2-factor authentication system in the following platforms:

  • Interactive Voice Response (IVR, Twilio)
  • Mobile apps (iOS, Android)
  • Web hosting providers (Web Sites)
  • Internet Connected Devices (IoT)

Don't have a Developer Account? Sign up here!

Getting started with API 2.0

Below we will cover how to get started using the Verification feature.

Determine what biometrics you would like to use

With API 2.0, we give you the ability to verify and identify users with their face, voice, or face+voice.

Authentication

VoiceIt uses an API Key and Authorization Token to allow access to the API.

Users

We have simplified the createUser process by generating a unique 36 character alphanumeric userId for each user. Make sure to save the userId returned by this API call as it is needed for all future API calls related directly to this user profile.

Enrollment

Let's get into the details of enrolling with each modality.

Voice

We recommend using createVoiceEnrollment to capture at least 3 voiceprint phrases. During this on-boarding process you want to make sure the enrollments are of high-quality. To accomplish this you can use the textConfidence field (of the JSON response) and check that it is 65% or higher. If textConfidence is less than 65%, you would delete the enrollment associated with the given id field (of the JSON response). Once you have high-quality enrollments, you are ready to verify the user.

Face

The recommended createFaceEnrollment process is to capture a 2 second video of the user facing the camera with their face being prominent and centered in the video frame.

Video (Face+Voice)

We recommend using createVideoEnrollment to capture 3 videos (each video 5 seconds in length) containing the user's face and speaking their voiceprint phrase. During this on-boarding process you want to make sure that the enrollments are of high-quality. To accomplish this, we use face detection and textConfidence (part of the JSON response). Once you have high-quality enrollments, you are ready to verify the user.

Voice

The voiceVerification process is simple and straightforward. Once a user has a minimum of 3 voice enrollments with a voiceprint phrase, it can be used for verification. The JSON response contains a confidence , responseCode , and textConfidence . You can use these three items to determine a successful verification just like the enrollment process checks.

Face

The faceVerification process is as easy as it gets. Capture a 2 second video of the user facing the camera with the face being prominent and centered in the video frame.

Video (Face+Voice)

The videoVerification process is where multi-modal biometrics shine. Once a user has a minimum of 3 video enrollments with a voiceprint phrase, it can be used for verification.

Capture a 5 second video containing the users face and voiceprint phrase to perform Video Verification.

Getting started is as easy as 1–2–3!

  • 1. Create a new User with createUser RESTful API call. This returns a new userId.
  • 2. Enroll a User with Video Enrollments 3 times with the createVideoEnrollment or with the createVideoEnrollmentByUrl RESTful API call. This creates a new enrollment template for the specified user profile.
  • 3. Verify a User with videoVerification or the videoVerificationByUrl RESTful API call. This is used to verify the specified user profile.

The API Parameters

The VoiceIt API Parameters are flexible, powerful, and simple.

Voice Verification

QuantaSafe

Face Verification

QuantaSafe

Video (Face+Voice) Verification

QuantaSafe

A Video Verification Code Example

The following code snippets use our NodeJS Wrapper to call our RESTful API. First, initialize the NodeJS wrapper with your API Key and Token.

const voiceit2 = require('voiceit2-nodejs');
let myVoiceIt = new voiceit2("<apiKey>", "<apiToken>");
//Pass your 36 character apiKey and apiToken as a parameter
//(visit https://voiceit.io/settings to see your credentials)

Create a User:

myVoiceIt.createUser((jsonResponse)=>{
const userId = jsonResponse["userId"]; // Save generated userId to use later
});

Use the value of the user ID returned by createUser() in order to create a new video enrollment for that user (create at least 3 enrollments per user):

myVoiceIt.createUser((jsonResponse)=>{
let userId = jsonResponse["userId"]; // Save generated userId to use later
myVoiceIt.createVideoEnrollment({
userId: userId,
contentLanguage : "en-us",
videoFilePath : "/Users/username/Downloads/enroll.mp4"
},(jsonResponse)=>{
console.log(jsonResponse);
});
});

Finally, verify the user via videoVerification() :

myVoiceIt.videoVerification({
userId: userId,
contentLanguage : "en-us",
videoFilePath : "/Users/username/Downloads/verify.mp4"
},(jsonResponse)=>{
if (jsonResponse["responseCode"] === "SUCC") {
// Add behavior for when user is successfully authenticated
} else {
// Add behavior for when video verification failed
}
});

Where do you manage your integration?

Everything you need to manage your integration is available in our Dashboard. Here are the main features:

Voiceprint Phrases

Here's where you manage all your custom phrases. For a detailed tutorial on the power of Voiceprint Phrases, you can check out this other post I wrote.

QuantaSafe

Docs

To access our API 2.0 documentation, please go to api.voiceit.io.

This is the motherlode of API documentation. No matter what language you prefer, we've got all the wrappers and code snippets you need.

We've also got great resources on our GitHub page, such as our iOS SDK, Android SDK, and Web SDK. These allow you to save time by copying code segments into your new or existing project.

DocsGif

If you haven't already, get started now!


© 2024 VoiceIt