Sign inSign up

faceplugin/face-liveness

By faceplugin

•Updated 19 days ago

On-premise passive face liveness (PAD) HTTP API. Linux amd64. Port 8084.

Image
0

361

faceplugin/face-liveness repository overview

⁠FacePlugin Face Liveness

On-premise passive face liveness (PAD) HTTP API. Linux amd64. Official image: faceplugin/face-liveness⁠.

The image is an API/SDK server only (no Gradio). Runtime is already inside — no Google Drive download is required to pull and run.

This is the Face Liveness product, not Face Liveness Check / Face Verification (faceplugin/face-verification) and not the divi image (faceplugin/face-liveness-divi).

⁠What it does

RGB presentation-attack detection (photo, screen, print, replay) from a single face image. Score ≥ 0.5 → result: "Real", pass: true. Score < 0.5 → result: "Spoof", pass: false.

⁠Tags

TagNotes
latestSame as latest-cpu
latest-cpuCPU image
1.0.0-cpuVersioned CPU image
docker pull faceplugin/face-liveness:latest

⁠Quick start

Default listen port 8084.

docker run -d --name faceplugin-face-liveness \
  --shm-size=1gb --privileged \
  -p 8084:8084 \
  -v /etc/machine-id:/etc/machine-id:ro \
  faceplugin/face-liveness:latest

docker logs -f faceplugin-face-liveness
# Look for the machine code line: FPMC1.…

API: http://127.0.0.1:8084

macOS / Windows Docker Desktop: omit -v /etc/machine-id:/etc/machine-id:ro. Each container may get a different machine code.

⁠License

The published image does not include a license. The API starts without one and prints a machine code (FPMC1.…). Product endpoints unlock after you activate.

  1. Copy the machine code from logs, or GET /api/machinecode.
  2. Send that code to FacePlugin. You receive a license key (FP1.…).
  3. Activate:
# Paste the FP1. key into license.txt, then:
curl -s -X POST http://127.0.0.1:8084/api/activate \
  -H 'Content-Type: text/plain' \
  --data-binary @license.txt

Docker and native-host codes are different. If you run in Docker, send the Docker machine code.

⁠Several containers, one license

On Linux, keep the machine-id mount. Use a new name and host port:

docker run -d --name faceplugin-face-liveness-2 \
  --shm-size=1gb --privileged \
  -p 8085:8084 \
  -v /etc/machine-id:/etc/machine-id:ro \
  faceplugin/face-liveness:latest

Activate each published port with the same key. Without the machine-id volume (typical Docker Desktop), codes can differ.

⁠API (after activation)

MethodPathNotes
GET/api/healthLiveness of the HTTP server
GET/api/machinecodeFPMC1.…
GET/api/backendProduct / backend
POST/api/activateRaw license key (text/plain)
POST/api/livenessJSON {"image":"<base64-jpeg>"} (/api/check_liveness is an alias)

Health:

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

Example success data:

{ "score": 0.72, "result": "Real", "pass": true }

Postman collection, Gradio demo (runs on the host, not in this image), and native setup: FaceLiveness-Linux-App⁠.

Tag summary

Content type

Image

Digest

sha256:44bebcdb0…

Size

361.6 MB

Last updated

19 days ago

docker pull faceplugin/face-liveness