InsightFace
A face analysis toolkit with self-hosted recognition on CPU or NVIDIA GPU, local person matching, and on-device video face redaction.

InsightFace is a face and person analysis toolkit for developers building identity verification, access control and media applications. Its Python tools and recognition server can process data on your own hardware.
- Face recognition: Detect, align and compare faces, search registered identities, and optionally apply RGB liveness checks before recognition.
- Person matching: PersonAnalysis uses Cheetah models to identify registered people through faces or body appearance when a face match isn't available, including in videos, webcams and RTSP streams.
- Video redaction: PrivateFrame tracks faces locally, uses reference photos to choose who stays visible, and exports blur or mosaic effects; saved analysis lets you revise the result without repeating detection.
- Recognition service: InsightFace Server provides a browser interface, REST API and Python client, with persistent RTSP monitoring and local SQLite storage.
- Face editing and detection: InSwapper-128 supports face swapping, a separate local NVIDIA GPU solution handles live streaming, and commercial SDKs and APIs offer deepfake detection.
The server runs in a Linux x86_64 container with ONNX Runtime on CPU or NVIDIA GPU. The Python package supports CoreML, CUDA and CPU execution, with model packages including buffalo_l and antelopev2. InspireFace is a C/C++ SDK for Linux, Android, iOS, macOS and embedded devices.
Pretrained models are restricted to non-commercial academic research unless you obtain a commercial license. PrivateFrame requires a commercial model license.