face-api.js is a JavaScript and TypeScript library for face analysis in web browsers and Node.js. It runs neural networks through TensorFlow.js and accepts images, videos, canvases, or tensors as input. The API can locate one or many faces using several detector models with configurable accuracy and performance settings. It can identify facial landmarks, compute recognition descriptors, classify expressions, and estimate age and gender. High-level chained methods let developers combine detection and analysis tasks in a compact workflow. Browser applications can draw boxes, labels, landmarks, and results on overlay canvases. Node.js support is available through image and canvas polyfills, with native TensorFlow bindings recommended for faster processing.
Features
- Browser and Node.js support
- Multiple face detection neural networks
- 68-point and lightweight landmark models
- Face descriptor matching and recognition
- Expression, age, and gender analysis
- Canvas overlays for boxes and landmarks