InspireFaceInspireFace1.2.4.d10
Home
Get started
Get and build the SDK
Examples
  • English
  • 简体中文
GitHub
Home
Get started
Get and build the SDK
Examples
  • English
  • 简体中文
GitHub
  • Introduction
  • Get started
  • Features
  • Guides

    • Architecture and lifetime
    • Model packs
    • Image inputs and coordinates
    • Sessions and tracking
    • Face analysis
    • Recognition and FeatureHub
    • Facial landmarks
    • Liveness detection
    • Face capture
    • More API recipes
  • Language and platform

    • C API
    • C++
    • Python
    • Java
    • Windows
    • Android
    • Apple
    • iOS
    • macOS
    • HarmonyOS
  • Get and build the SDK

    • Overview and downloads
    • Source and common options
    • Linux
    • Windows
    • macOS
    • Android
    • iOS
    • HarmonyOS
    • NVIDIA TensorRT
    • Rockchip NPU
    • Python packaging
    • Java packaging
  • Hardware deployment

    • x86 CPU
    • ARM
    • NVIDIA TensorRT
    • Rockchip NPU
    • Python on Rockchip
  • InspireCV
  • Complete examples
  • API coverage
  • Performance
  • Image processing benchmarks
  • Troubleshooting

Introduction

InspireFace is a C/C++ SDK for processing faces in images and video. It detects faces, follows them between frames, extracts landmarks and embeddings, and runs optional analysis such as pose, quality and RGB liveness. Your application supplies the images, manages the camera and UI, and uses the returned results.

The same processing flow is available through C, C++, Python, Java, Android, HarmonyOS ArkTS, Objective-C and Swift. The Apple interfaces cover iOS and macOS, including image buffers, tracking, analysis, recognition and capture. Windows x64 supports CPU inference through C/C++ and the published Python package.

InspireFace detection, landmarks, recognition, liveness and deployment overview

What a typical application does

  1. Load a resource pack once when the application starts.
  2. Create a session with the detection mode and optional features you need.
  3. Submit an image or camera frame and receive a list of faces.
  4. Use those faces to read landmarks, extract embeddings or run extra analysis.
  5. Release frame resources, then release the session when the worker stops.

A face's track ID connects detections within a video session. To compare people across images or sessions, extract embeddings and compare them or search a gallery.

TaskWhat you getRead next
Detection and trackingBoxes, confidence, track IDs and track countsSessions and tracking
Landmarks and poseFacial points and optional roll, yaw and pitchLandmarks
RecognitionAn embedding and a comparison scoreRecognition
Frame selectionQuality checks and a bounded set of capture candidatesFace capture
Liveness and actionsRGB liveness scores, eye state and action flagsLiveness detection
Head movement
Partial hand occlusion
Expression changes

Quick Start

Try the Android Example App

The Android app lets you try detection, tracking, recognition and liveness with a camera before integrating the SDK.

QR code for the InspireFace Android example app

Install the Android demo app, or scan the QR code on your phone.

Start with a well-lit face and follow the camera guide. The app's Anti-fraud menu includes silent and action-based liveness demos.

The optional PLUS passive and flash demos use an online service and require an internet connection. See the liveness guide for details.

For code, start with a single-image Python example or the complete C example. Both run on local image files.

New: mobile real-time liveness [Plus]

Plus adds passive and flash liveness for real-time mobile capture and server-side verification, designed for high accuracy and low power use on mobile devices. Both use an ordinary RGB camera: passive capture asks the user to hold a frontal pose, while flash capture displays a sequence of screen colors.

Illustration of passive liveness capture with a phone
Passive Liveness [Plus]: collect consecutive valid frames without blink or head-turn prompts. Explore the feature.
Illustration of flash liveness capturing a face under changing screen colors
Flash Liveness [Plus]: coordinate screen colors with front-camera capture to record the face under changing illumination. Explore the feature.

The Android demos above currently use an online service for verification. Try them to see capture, waiting and result feedback together. The Plus liveness guide explains the capture sequence, device requirements and retry handling.

Choose a language

InterfaceWhen to use it
C APINative applications, FFI bindings and integrations that need explicit ownership. It also works from C++.
PythonPrototyping, scripts and services. NumPy arrays can be passed directly.
C++Applications that want Session, Image and FrameProcess objects. Build headers and libraries from the same version.
JavaDesktop applications and services on a regular JVM, using a JAR and matching native libraries.
AndroidJava or Kotlin applications using the JNI wrapper.
Objective-C / SwiftNative Apple interfaces with NSError / throws, scoped buffer access and explicit cleanup.
iOSXcode integration, device and simulator builds, camera pixel buffers.
Windowsx64 CPU applications using C/C++, or Python installed from PyPI.
macOSIntel and Apple Silicon apps, dynamic frameworks and native tools.
HarmonyOSArkTS applications using the Node-API adapter in the source tree.

SDK, models and backends

An SDK library contains the runtime. A resource pack contains the models and their configuration. Both are needed. Start with a CPU build and the Pikachu pack unless you already have a target-specific deployment.

For hardware acceleration, use the SDK build and resource pack for your target backend, and install its runtime dependencies. The model pack guide explains how to match them.

InspireCV handles image operations and preprocessing. Its standalone Image and Task APIs are useful even when an application does not need face recognition.

Prebuilt 1.2.4 SDKs are available for Windows, Linux, Android, Apple and HarmonyOS; see Overview and downloads for the packages and integration paths. To compile your own SDK, choose a platform build guide; replacing Python’s .so/.dylib/.dll and creating a wheel have a dedicated chapter.

About these examples

The native and Java examples use InspireFace 1.2.4; image-processing examples use InspireCV 1.0.2. Python examples use the 1.2.4.post3 PyPI package, which includes the 1.2.4 native SDK and supports snapshots, capture and diagnostics. Android examples use 1.2.4.post1, including capture, snapshots and the complete Java API. When using a custom native build, keep its wrappers and headers matched to the library.

Check the SDK releases and Python package files for your platform. The troubleshooting guide shows how to inspect the version actually loaded by your application.

Documentation version

Current documentation: 1.2.4.d10 — SDK 1.2.4, documentation revision 10.

The version beside the site name follows SDK version.dN. The SDK part comes from the development source covered by these guides; dN counts documentation releases for that SDK version. Each documentation update increments the count by one. When the guides move to a new SDK version, the count starts again at d1.

Prebuilt SDKs and Python packages have their own release versions. Check Overview and downloads when choosing a package.

Edit this page
Last Updated:: 10/18/26, 4:13 PM
Contributors: tunm, Jingyu
Next
Get started