Skip to content

Repository files navigation

FacePlugin

🌐 Company Site - Here

🤗 Hugging Face - Here

🛟 Help Center - Here

🐳 Docker Hub - Here

Face Recognition SDK — Windows (Fully On-Premise)

Ready in ~10 minutes (after Drive download):

  1. Put runtime under lib\cpu\ → 2) pip install -r requirements.txt → 3) run.bat → 4) Postman or run_demo.bat.
    Jump: Download runtime · Start the API · About SDK

Introduction

Explore FacePlugin Face Recognition SDK — face detection, quality, template extraction, 1:1 verification and 1:N identification.

This repository is standalone. Download the runtime into this repo and run — no other FacePlugin repository is required.

This is an on-premise FacePlugin SDK. All processing stays on your machine — no biometric data is sent to FacePlugin cloud.

Windows product: native x64 runtime + local HTTP API and Gradio demo. (No Docker on Windows — use FaceRecognition-Linux-App for Docker.)

API server — test with Postman, curl, or the local Gradio demo (demo.py).

◾ Main Functionalities

Feature Supported
Face detection
Landmarks / pose / attributes
Template extraction
1:1 verification
1:N identification
Face quality (ICAO)

◾ Product List

Platform Repository
Android FaceRecognition-Android-App
iOS FaceRecognition-iOS-App
Windows FaceRecognition-Windows
Linux / Docker FaceRecognition-Linux-App

Before you start

Step What you need
1 Windows 10/11 x64, Python 3.10+
2 Runtime libraries in ./lib/cpu/ — see Download runtime libraries
3 You do not need a license to start the API for the first time. Simply launch it without a key, then locate the machine code ( FPMC1.…) in the logs or via GET /api/machinecode. Submit this code to FacePlugin(contact) to get activation key ( FP1.…) and unlock product endpoints.

You do not need a license to start the API once. Product endpoints unlock after you activate.

System requirements

Item Minimum Recommended
CPU 2 cores 8 cores
RAM 4 GB 8 GB
Disk 4 GB 8 GB
OS Windows 10 x64 Windows 11

Download runtime libraries (lib folder)

The ./lib/cpu/ tree is intentionally empty on GitHub because native binaries and model files are too large.

Face Recognition Windows is CPU-only — there is no gpu\ package.

Where to download

FaceRecognition-Windows-App runtime (Google Drive)

Download library files into ./lib/cpu/.

How to place files into ./lib/cpu/

  1. Clone the repo (if you have not already):
git clone https://github.com/Faceplugin-ltd/FaceRecognition-Windows.git
cd FaceRecognition-Windows
  1. Open the Google Drive folder above.
  2. Download all files in that folder (Drive: select all → Download, or download as a zip).
  3. Put every file directly into .\lib\cpu\ — not inside a nested subfolder.

Correct layout:

FaceRecognition-Windows/
└── lib/
    └── cpu/
        ├── FaceRecognitionSDK.dll
        ├── far-eng.dll
        ├── farsec.dll
        ├── far.fpk
        └── ... (other runtimes from Drive: onnxruntime, OpenCV, VC++ redist, …)

Wrong layout: lib\cpu\SomeFolder\FaceRecognitionSDK.dll (a nested folder breaks local runs).

  1. Quick check:
dir lib\cpu\FaceRecognitionSDK.dll
dir lib\cpu\far-eng.dll
dir lib\cpu\farsec.dll
dir lib\cpu\far.fpk

If those paths exist, you are ready to start.

Start the API

You can start without a license — the server prints your machine code on startup.

pip install -r requirements.txt
run.bat

API: http://127.0.0.1:8083

The API starts even if activation fails. Copy the machine code (FPMC1.…) from the log and send it to FacePlugin.

run.bat: copy machine code (FPMC1), paste FP1 license, SDK ready on port 8083

SDK License

Licenses are offline and bound to your machine. Offline cryptography is pre-packaged within the SDK—no third-party licensing libraries or external OpenSSL installations are required.

How to get a license

  1. Start the server (above). A license is not required for the first start.
  2. Copy the machine code from the terminal. It looks like FPMC1.….
  3. Send that machine code to FacePlugin (contact). We will issue a license key for that code.
  4. Activate with the license key:
:: Paste the FP1. key into .\license.txt (overwrite the file), then:

curl -s -X POST http://127.0.0.1:8083/api/activate -H "Content-Type: text/plain" --data-binary @license.txt

:: Or stop the process (Ctrl+C), save license.txt, and run run.bat again
:: (run.bat can also prompt you to paste the key interactively).

Try it

Health

curl -s http://127.0.0.1:8083/api/health

Documentation

https://doc.faceplugin.com

Postman

Import postman/FaceRecognition-API.postman_collection.json.

Default base URL: http://127.0.0.1:8083

Canonical protocol: /api/* (see FacePlugin Protocol). No version segment in route paths.

Demo UI (Gradio) — local only

For a simple browser test UI (API must already be running on port 8083):

pip install -r requirements-demo.txt
run_demo.bat

Or (CMD):

set DEMO_PORT=9003
set API_BASE=http://127.0.0.1:8083
python demo.py

PowerShell:

$env:DEMO_PORT = "9003"
$env:API_BASE = "http://127.0.0.1:8083"
python demo.py

Open http://127.0.0.1:9003. Examples when present: assets/examples/samples/.

Face Recognition Gradio demo — Detect Result tab

Face Recognition Gradio demo — Quality Result tab

Face Recognition Gradio demo — Match Result tab

Tabs: Detect, Quality, Match. Each action has a Result table (attributes, quality checks, or match scores) and Raw JSON. Detect / Quality examples are every file under assets/examples/samples/. Match is Odd vs Even: pick one image from each group, then Match.

About SDK

Use the Python bindings in sdk.py. Return code 0 means success.

1. Initializing the SDK

Step One

First, obtain the machine code for activation and request a license based on the machine code.

import sdk

machine_code = sdk.get_machine_code()
print("machineCode:", machine_code)  # FPMC1.…

Step Two

Next, activate the SDK with the path to your license file (license.txt containing your license key).

ret = sdk.activate("license.txt")

If activation is successful, the return value will be 0. Otherwise, an error value will be returned.

Step Three

After activation, call the initialization function of the SDK.

ret = sdk.init_sdk()

If initialization is successful, the return value will be 0. Otherwise, an error value will be returned.

2. APIs

Detect

result = sdk.detect(base64_image, crop_image=False)

Quality

result = sdk.quality(base64_image, crop_image=False)

Feature

result = sdk.feature(base64_image)

Match

result = sdk.match(base64_image1, base64_image2, crop_image=False)

Similarity

result = sdk.similarity(feature1_b64, feature2_b64)

HTTP endpoints: /api/health, /api/machinecode, /api/backend, /api/activate, /api/detect, /api/quality, /api/match, /api/feature, /api/similarity.


List of our Products

Contact

faceplugin.comfaceplugin.com

About

On-premise Windows Face Recognition SDK with offline 1:1 verification, 1:N identification, face detection, and ICAO quality assessment. Local HTTP REST API + Python bindings. No cloud, full data privacy. Ideal for access control, KYC, and identity verification.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages