🌐 Company Site - Here
🤗 Hugging Face - Here
🛟 Help Center - Here
🐳 Docker Hub - Here
Gradio demo UI for four FacePlugin Linux / Docker APIs, laid out like web.kby-ai.com. This folder is UI only — no lib/cpu, no Flask server. Each tab POSTs images to the matching backend URL from .env. Backend URLs are never shown in the Gradio UI.
| Tab | GitHub (Linux / Docker) | Docker Hub | API |
|---|---|---|---|
| Face Liveness Detection | FaceLivenessDetection-Docker | faceplugin/face-liveness | POST /api/liveness |
| Face Recognition | FaceRecognition-Docker | faceplugin/face-recognition | POST /api/detect · /api/quality · /api/match |
| ID Card Recognition | ID-Document-Recognition-Docker | faceplugin/document-reader | POST /api/documentRecognition |
| ID Document Liveness Detection | ID-Document-Liveness-Detection-Docker | faceplugin/document-liveness | POST /api/documentLiveness |
Face Recognition has inner tabs Detect, Quality, and Match.
cd platform/playground
python -m venv .venv
# Windows: .venv\Scripts\activate
# Linux/macOS: source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# Set the four *_URL values to your running APIs (no trailing slash)
python app.pyIf a tab’s URL is unset, that tab shows a generic unavailable message and does not call 127.0.0.1.
This app is a Gradio UI wrapped as FastAPI (app in app.py) so Vercel can serve it. Import Faceplugin-ltd/playground — Root Directory . (the playground repo root, not the org monorepo).
- vercel.com/new → import
Faceplugin-ltd/playground. - Framework Preset: Other (Vercel should detect FastAPI from
requirements.txt). - Build Command: leave empty.
- Output Directory: leave empty.
- Install Command:
pip install -r requirements.txt(default is fine).
If deploy fails with maxDuration must be between 1 and 10, you are on Hobby. In vercel.json set "maxDuration": 10, or upgrade to Pro (document APIs often need 60s).
Vercel → Project → Settings → Environment Variables. Add for Production and Preview (no trailing slash):
| Name | Example |
|---|---|
FACE_LIVENESS_URL |
Hugging Face or Docker liveness API origin |
FACE_RECOGNITION_URL |
Face recognition API origin |
DOCUMENT_READER_URL |
Document reader API origin |
DOCUMENT_LIVENESS_URL |
Document liveness API origin |
Redeploy after saving variables.
- Vercel → Project → Settings → Domains → add
playground.faceplugin.com. - Vercel shows a CNAME target (usually
cname.vercel-dns.com). - GoDaddy → DNS for
faceplugin.com→ Add record:- Type: CNAME
- Name:
playground - Value:
cname.vercel-dns.com(or the exact host Vercel printed) - TTL: 600 (or default)
- Remove any existing A, AAAA, CNAME, or Forwarding row for
playground. Domain Forwarding will break HTTPS. - Wait for DNS (often a few minutes, up to 48h). Vercel issues the SSL certificate automatically.
Apex faceplugin.com stays on whatever hosts the marketing site. Only the playground subdomain should CNAME to Vercel.
https://playground.faceplugin.com/loads the demohttps://playground.faceplugin.com/healthzreturns{"ok":true}