@privateid/small-age-sdk
v2.0.3
Published
Age SDK
Downloads
20
Readme
Powered by Private Identity® https://private.id
BENEFITS
BUILD
Prerequisite
Sign up on the waitlist on https://private.id to obtain your apiKey.
Installation
npm install @privateid/cryptonets-web-sdk
Copy the necessary dependencies to the public folder of your app
"prestart": "cp -R ./node_modules/@privateid/cryptonets-web-sdk/wasm public/&& cp -R ./node_modules/@privateid/cryptonets-web-sdk/workers public/",
"prebuild": "cp -R ./node_modules/@privateid/cryptonets-web-sdk/wasm public/ && cp -R ./node_modules/@privateid/cryptonets-web-sdk/workers public/"
Add the necessary environment variables on the .env file in the root of your project
SKIP_PREFLIGHT_CHECK=true
REACT_APP_API_URL=
REACT_APP_API_KEY=
REACT_APP_WASM_MODULE= face_mask | face | voice
Optional environment variable
REACT_APP_API_ORCHESTRATION=
REACT_APP_SET_CACHE= true | false (Used for predict caching)
Load the WASM Module
The first step is to load and initialize the wasm module and clear the content of the local database.
import { loadPrivIdModule, clearDB } from '@privateid/cryptonets-web-sdk';
const isSupported = await loadPrivIdModule();
clearDB();
In case of .env file (evironment variable) does not work for you we have added a support to set the variables on load.
import { loadPrivIdModule } from '@privateid/cryptonets-web-sdk';
const isSupported =await loadPrivIdModule(
api_url,
api_key,
api_orchestration_url,
wasm_url,
wasm_module,
);
| Status | Description | |---------------|---------------------------------------------------------------------------------| | api_url | Equivalent to env variable REACT_APP_API_URL | | api_key | Equivalent to env variable REACT_APP_API_KEY | | api_orchestration_url | Equivalent to env variable REACT_APP_API_ORCHESTRATION_URL | | wasm_url | Please set it the same with api_url or REACT_APP_API_URL | | wasm_module | face_mask , face , voice |
The loadPrivIdModule() function returns an object to check if the device is supporting WASM and WebRTC.
{
support: boolean,
message: string,
}
Open or switch camera or close camera
The first step is to load and initialize the wasm module.
Open the camera
To open user camera use the openCamera function with element id of the video tag in the DOM
import { openCamera } from '@privateid/cryptonets-web-sdk';
const { devices, faceMode } = await openCamera(element);
it returns list of the available video devices.
Switch to another camera
To switch to another media device use the switchCamera function with the ID of the device to be used
import { switchCamera } from '@privateid/cryptonets-web-sdk';
switchCamera(deviceID);
for the mobile phone we can select whether it's front or back camera for this we pass 'front' or 'back' to the switch function
import { switchCamera } from '@privateid/cryptonets-web-sdk';
switchCamera('front');
Close the camera
To close user camera use the closeCamera function with element id of the video tag in the DOM.
import { closeCamera } from '@privateid/cryptonets-web-sdk';
closeCamera(element); // Will specifically look for the element id and will close that camera
closeCamera(); // By default will close opened camera using openCamera
Predict Age
Perform an age estimation using predictAge
function on all detected faces from image or camera.
import { predictAge } from '@privateid/cryptonets-web-sdk';
await predictAge(null, predictAgeCallback);
The function takes 3 parameters
| Property | Description | |----------|--------------------------------------------| | imageData | If this parameter is provided it will check age of the imageData instead of opened camera. | | callback | The callback function to handle predictAge results. |
Callback
Here are sample returned data to callback from predictAge :
{
"status": "WASM_RESPONSE",
"returnValue": {
"error": 0,
"faces": [
{
"status": 0,
"age": 16.912670135498047,
"box": {
"top_left": {
"x": 486,
"y": 371
},
"bottom_right": {
"x": 652,
"y": 545
}
}
},
]
}
}