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

API coverage

Find examples by feature and API. Start with the platform guide to install and initialize the SDK, then choose your API in each feature guide's code tabs.

The examples use InspireFace 1.2.4, InspireCV 1.0.2, Android Java SDK 1.2.4.post1, and HarmonyOS ArkTS SDK 1.2.4. Python uses the 1.2.4.post3 PyPI package, including the 1.2.4 native SDK. Objective-C and Swift use the 1.2.4 Apple package; the HarmonyOS release includes its native SDK and HAR project. Java (JVM) uses the portable JNI build from the 1.2.4 source and is listed separately from Android. Windows x64 uses the C, C++ and Python columns below; it has no separate API layer. The table lists the operations available through each interface.

Feature examples by API

“Example” links to a guide with code for that API. The Android 1.2.4.post1 AAR includes both the InspireFace facade and the complete jni.Native API. Its column covers both, with each example identifying the layer it uses. A dash means the named interface does not directly expose that operation.

FeatureC APIC++JavaAndroidPythonHarmonyOS (ArkTS)Objective-CSwift
Launch / Session / releaseExampleExampleExampleExampleExampleExampleExampleExample
Detection / trackingExampleExampleExampleExampleExampleExampleExampleExample
Dense landmarksExampleExampleExampleExampleExampleExampleExampleExample
Five-point landmarksExampleExampleExampleExampleExampleExampleExampleExample
Quality / mask / attributesExampleExampleExampleExampleExampleExampleExampleExample
PoseExampleExampleExampleExampleExampleExampleExampleExample
ExpressionExampleExampleExampleExampleExampleExampleExampleExample
RGB liveness / actionsExampleExampleExampleExampleExampleExampleExampleExample
Embedding / comparisonExampleExampleExampleExampleExampleExampleExampleExample
FeatureHubExampleExampleExampleExampleExampleExampleExampleExample
Alignment cropExampleExampleExampleExample—ExampleExampleExample
Aligned-image extractionExampleExampleExampleExample—ExampleExampleExample
Similarity display conversionExampleExampleExampleExampleExampleExampleExampleExample
Detection snapshotsExampleValue copyExampleExampleExampleExampleExampleExample
Face captureExampleExampleExampleExampleExampleExampleExampleExample
CPU power mode—ExampleExampleExample————

The Plus passive and flash demos combine mobile capture with service-side verification. Their guide covers Android capture, progress feedback and result handling.

The code tabs share the same API selector, so choosing Python, Java, Android, HarmonyOS (ArkTS), Objective-C or Swift also selects it in other groups that contain the same option. The complete examples include full programs to copy from the page; snippets in feature guides state which session, image or model setup they expect.

Inputs, settings and deployment

AreaEntry pointsGuide
SDK downloads and buildsPrebuilt packages, platform builds and Python native-library replacementGet and build the SDK, Python packaging
Model loading and inspectionLaunch, reload, resource-pack validation and metadataModels and builds
Images and buffersFile/bitmap input, raw RGB/BGR/YUV, stream updates, strides and rotationImage inputs
Session tuningDetector level, minimum face size, confidence, preview size, intervals and smoothingTracking
Memory and threadsBorrowed buffers, owned results, session reuse and worker teardownArchitecture
C ABIHandles, status codes and HFSessionConfigV2C API
Java deploymentJava 8 JAR, JNI paths, process architecture, direct buffers and explicit releaseJava, Java packaging
Android deployment1.2.4.post1 AAR, single native library per ABI, R8, CameraX and both Java API layersAndroid
Windows deploymentx64 CPU, C/C++ CMake integration, Python wheels and DLL runtime setupWindows, Windows builds
Apple APIsObjective-C errors, Swift types, scoped views and complete detection examplesObjective-C and Swift
iOS deploymentDevice / simulator XCFrameworks, Xcode linkage, camera buffers and CoreMLiOS
macOS deploymentIntel / Apple Silicon frameworks, embedding, signing and native librariesmacOS
HarmonyOSHAR, ArkTS, Node-API and worker ownershipHarmonyOS
ARM CPUImage preprocessing, memory reuse and camera latencyARM deployment
NVIDIATensorRT SDK, CUDA runtime and device selectionTensorRT
RockchipSoC model packs, toolchains, RK runtime and RGARockchip, Python on Rockchip
DiagnosticsVersion, error text, runtime diagnostics and resource countersAPI recipes, Troubleshooting
PerformanceWarm-up, timing boundaries, median/p95 and queue delayPerformance

For parameter types, overloads and additional settings, refer to the headers and wrapper shipped with your SDK version. A Java installation includes Native.java, NativeTypes.java and NativeConstants.java under sources/, plus api-manifest.json listing generated functions. Every C API has a Java mapping; hardware-specific calls still depend on the native build options and runtime.

Image processing with InspireCV

InspireCV is a standalone C++ library. Its guide covers Image I/O and operations, float images, Task transforms and tensors, error handling, repeated-frame memory reuse and optional CUDA processing. Its PixelFormat, rotation and pipeline types are separate from InspireFace's C API and FrameProcess.

For the full public interface, see InspireFace C declarations, native C++ headers, Objective-C header, Swift overlay, Python wrapper, HarmonyOS ArkTS exports and InspireCV headers. Use the headers bundled with a release as the reference for its binary.

Integration notes

  • Java long handles require explicit release. A result’s ByteBuffer can borrow native storage, so retaining the Java object does not keep that storage valid. See Java lifetimes.
  • Android 1.2.4.post1 includes capture and snapshots. Facade results own copied Java arrays and tokens; Native buffers retain C lifetime rules. Release streams through the API layer that created them. See Android lifetimes.
  • Copying a C++ face-result vector retains its geometry and tokens. Keep the corresponding frame pixels as well if you will extract features later.
  • In ArkTS, release tracking snapshots with session.releaseFaceResult() and call close() on streams, bitmaps, capture sessions and sessions when finished. Keep each wrapper object on the worker that created it.
  • The standard HarmonyOS HAR runs MNN on CPU and accepts raw image buffers. Use HarmonyOS APIs to decode files and display images.
  • Objective-C and Swift wrap the native handles. ARC owns the wrapper object; borrowed face, feature and pixel pointers still have the native lifetime limits.
  • CoreML, TensorRT, RKNN, RGA and CUDA preprocessing require their matching SDK build and runtime. Follow the target platform's deployment guide.
Edit this page
Last Updated:: 10/2/26, 8:07 PM
Contributors: Jingyu
Prev
Complete examples
Next
Performance