⚡

FaceRekognition OS

Admin Authorization Required

⚠️ Invalid credentials
⚡

FaceRekognition OS

AWS Rekognition Compatible Neural Engine
Engine Online (v7.0)
👤 Admin

Live Camera Stream

📷
Click "Start Camera" to initiate live face recognition
Latency: -- ms | Mode: Real-time SFace

Recognition Verification

ACCESS GRANTED
🛡️
Awaiting Face Stream
Face recognition will identify employee ID and attributes automatically.
Employee Avatar
Employee Name
EMP-0000
Department
Rekognition Match Similarity 98.5%
Gender
--
Age Range
--
Emotion
--
Smile
--
💡 Fast Track Mode: The neural engine continuously computes 128D facial embeddings and compares them with registered faces using Cosine Space Metric.

Enroll & Register Employee Face

Extracts 128-D facial vector, analyzes attributes, and binds to Employee ID (AWS Rekognition IndexFaces).

📷
Drag & drop photo or click to browse
Supports JPG, PNG, WEBP (Clear frontal face recommended)

Enrollment Preview & Attributes

👤
No face enrolled yet
Upload an image or snap a photo to view face crop and extracted details.
Thumbnail
Employee Name
EMP-1049
Department
Face ID: --
Confidence: --
Gender
--
Age Range
--
Emotion
--
Smile
--
// AWS Rekognition IndexFaces response will appear here

SearchFacesByImage

Send an input face image to detect who it is and return matching Employee ID and similarity.

🔍
Upload face image to search
JPG, PNG, WEBP
AWS Default: 80%

Identified Results

🎯
Awaiting Search Query
Upload an image to compare against all indexed faces in the collection.
Identified Employee
Employee Name
EMP-1049
Department
Match Similarity 99.2%

FaceMatches (Ranked)

// AWS Rekognition SearchFacesByImage output

DetectFaces (Attributes: ALL)

Full facial telemetry: Emotions, Age Range, Gender, Smile, Eyeglasses, Beard, 3D Pose, and Image Quality.

🔬
Upload face image to analyze
Full AWS Rekognition JSON attribute breakdown

Facial Telemetry Analysis

📊
No Analysis Loaded
Upload an image to inspect facial expressions, pose, and demographic estimates.
Gender
--
Age Range
--
Smile
--
Eyeglasses
--
Sunglasses
--
Beard
--

Emotions (FERPlus 8-Class)

Head Pose
Roll: 0°
Pitch: 0°
Yaw: 0°
Image Quality
Brightness: --
Sharpness: --
// AWS Rekognition DetectFaces response

CompareFaces (1-to-1 Verification)

Compares a face in the source image against faces in the target image.

👤
Upload Source Image
👥
Upload Target Image
80%

Comparison Output

MATCH VERIFIED
Identity match confidence meets criteria.
99.1%
// AWS Rekognition CompareFaces output

Enrolled Employees & Faces

Indexed faces in current collection with persistent embeddings.

Avatar Employee ID Full Name Department Face ID Detection Conf Enrolled At Actions
Loading registered faces...

Developer API & SDK Snippets

Interactive code samples to integrate Face Registration and Identification into any application.

// npm install axios form-data
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');

const BASE_URL = 'http://localhost:8000';

async function main() {
  // 1. Obtain JWT Token using Secret Key credentials
  const authRes = await axios.post(`${BASE_URL}/api/v1/auth/token`, {
    client_id: 'nodejs-backend',
    client_secret: 'nodejs_secret_key_2026'
  });
  const token = authRes.data.access_token;
  const authHeaders = { Authorization: `Bearer ${token}` };

  // 2. Register Employee Face with Employee ID & details
  const regForm = new FormData();
  regForm.append('file', fs.createReadStream('./employee_photo.jpg'));
  regForm.append('employee_id', 'EMP-1049');
  regForm.append('name', 'Alex Rivera');
  regForm.append('department', 'Engineering');
  regForm.append('role', 'Lead Architect');

  const regRes = await axios.post(`${BASE_URL}/api/v1/register`, regForm, {
    headers: { ...authHeaders, ...regForm.getHeaders() }
  });
  console.log('Registered Face ID:', regRes.data.face_id);

  // 3. Identify Face Scan (Returns Employee ID)
  const scanForm = new FormData();
  scanForm.append('file', fs.createReadStream('./scan_camera.jpg'));
  scanForm.append('threshold', '80.0');

  const scanRes = await axios.post(`${BASE_URL}/api/v1/identify`, scanForm, {
    headers: { ...authHeaders, ...scanForm.getHeaders() }
  });
  if (scanRes.data.identified) {
    console.log(`Identified: ${scanRes.data.name} [${scanRes.data.employee_id}] - ${scanRes.data.similarity}%`);
  }
}
main();
# 1. Get JWT Token
TOKEN=$(curl -s -X POST "http://localhost:8000/api/v1/auth/token" \
  -H "Content-Type: application/json" \
  -d '{"client_id": "nodejs-backend", "client_secret": "nodejs_secret_key_2026"}' | jq -r .access_token)

# 2. Register Employee Face (with Bearer Token or X-API-Key)
curl -X POST "http://localhost:8000/api/v1/register" \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@employee_photo.jpg" \
  -F "employee_id=EMP-1049" \
  -F "name=Alex Rivera" \
  -F "department=Engineering"

# 3. Identify Face Scan (Returns Employee ID)
curl -X POST "http://localhost:8000/api/v1/identify" \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@scan_face.jpg" \
  -F "threshold=80.0"
import requests

BASE_URL = "http://localhost:8000"

# 1. Obtain JWT Token
auth = requests.post(f"{BASE_URL}/api/v1/auth/token", json={
    "client_id": "nodejs-backend",
    "client_secret": "nodejs_secret_key_2026"
}).json()
headers = {"Authorization": f"Bearer {auth['access_token']}"}

# 2. Register Employee Face
with open("alex_photo.jpg", "rb") as f:
    resp = requests.post(
        f"{BASE_URL}/api/v1/register",
        files={"file": f},
        data={"employee_id": "EMP-1049", "name": "Alex Rivera", "department": "Engineering"},
        headers=headers
    )
print("Registered:", resp.json())

# 3. Identify Face
with open("scan.jpg", "rb") as f:
    resp = requests.post(
        f"{BASE_URL}/api/v1/identify",
        files={"file": f},
        data={"threshold": 80.0},
        headers=headers
    )
print("Result:", resp.json())
import base64
import requests

# Pass JWT or Master API Key
headers = {"X-API-Key": "rekognition_master_api_secret_key_2026"}

with open("target.jpg", "rb") as f:
    b64_img = base64.b64encode(f.read()).decode("utf-8")

response = requests.post(
    "http://localhost:8000/api/v1/collections/employees/search-faces-by-image",
    json={
        "CollectionId": "employees",
        "Image": {"Bytes": b64_img},
        "FaceMatchThreshold": 80.0,
        "MaxFaces": 5
    },
    headers=headers
).json()

for match in response.get("FaceMatches", []):
    print("Matched Employee ID:", match["Face"]["ExternalImageId"])
    print("Similarity:", match["Similarity"])
async function identifyFace(imageBlob, jwtToken) {
  const formData = new FormData();
  formData.append("file", imageBlob, "face.jpg");
  formData.append("threshold", 80.0);

  const res = await fetch("http://localhost:8000/api/v1/identify", {
    method: "POST",
    headers: { "Authorization": `Bearer ${jwtToken}` },
    body: formData
  });
  const data = await res.json();
  if (data.identified) {
    console.log(`Identified: ${data.name} [${data.employee_id}] - ${data.similarity}%`);
  }
}
📖 Open Interactive Swagger UI (/docs)