Getting Started
Introduction
LiveXFace is a REST API that adds face recognition capabilities to any application, regardless of the language or framework you use. Send an image, get back a result. No ML infrastructure to manage, no model training required.
What you can build
How it works
The API is organized around Face Collections: isolated groups of enrolled faces, one per application, tenant, or use-case. Here's the basic flow:
- Create a collection: a named bucket that holds all enrolled faces for a specific use-case.
- Enroll faces: upload a photo with your own identifier (e.g. a user ID). The API handles detection, quality checks, and storage automatically.
- Verify or identify: call
/verifyto check if two faces match (1:1), or/identifyto find who a face belongs to from your enrolled set (1:N).
API capabilities
- Face enrollment: Register people into a collection with custom metadata. Supports batch uploads.
- 1:1 Verification: Compare two face images or verify a probe against an enrolled face ID.
- 1:N Identification: Search your collection and return the top-K most similar faces with similarity scores.
- Liveness detection: Passively detect spoofing attempts (printed photos, screen replays) before enrollment or as a standalone check.
- Scoped API keys: Each integration gets its own key, scoped to a specific collection, with configurable rate limits and IP whitelisting.
- Webhooks: Receive real-time HTTP notifications when faces are enrolled, identified, or liveness checks fail.
Try it before you write anything
The console has a playground covering every recognition endpoint. Point a camera at yourself or upload a file, and you will see the same response your code is going to get — useful for settling on a threshold before it is hard-coded anywhere.


Authentication
One API key per integration, sent as an X-API-Key header. Issue keys from the console; your application never logs in. See Authentication for scopes, IP whitelisting and rate limits.
Base URL
https://api.livexface.com/api/v1Self-hosted deployments swap the host for their own; every path below it stays the same.
Recognition endpoints are scoped to a collection:
POST /api/v1/collections/{collection_id}/identify
POST /api/v1/collections/{collection_id}/verify
POST /api/v1/collections/{collection_id}/facesWorks with any stack
LiveXFace is a plain HTTP REST API. It works from any language or framework that can make HTTP requests and handle multipart/form-data file uploads:
See the Quick Start guide for code examples in multiple languages.