Loading demo…
Loading demo…
Upload a photo and get every face in it back in one call: bounding boxes, facial landmarks, and age and gender estimates with per-face confidence scores. No account required.
Upload a photo with one or more faces to see detected bounding boxes and per-face attributes.
Input image
Detected faces
Upload an image to detect faces
Detection is the foundation of every other face task. Before you can compare two faces, recognise one, or blur a crowd, something has to find the faces and say where they are. That is all this step does — it locates faces without identifying anybody.
Any photograph with one or more faces. The detector works on the full frame, so you do not need to crop or point it at a region first.
A single forward pass returns a bounding box for every face in the image, each with a detection confidence score. Group shots resolve in the same call as a portrait.
Five key points — both eyes, the nose tip, and both mouth corners — are placed on each face. These drive the alignment step that comparison and recognition depend on.
Age and gender estimates are produced per face from appearance alone. They are returned alongside the geometry so a single call gives you everything about the frame.
Every detected face comes back as a structured record. The demo renders these as overlays; the API returns them as JSON.
| Field | Type | Meaning |
|---|---|---|
| bbox | [x1, y1, x2, y2] | Pixel coordinates of the face rectangle, in the source image coordinate space. |
| det_score | number | Detection confidence from 0 to 1. Low values usually mean a small, occluded, or ambiguous face. |
| landmarks | [[x, y], …] | Five points: left eye, right eye, nose tip, left mouth corner, right mouth corner. |
| age | number | Estimated age in years. A statistical estimate with several years of typical error. |
| gender | string | Predicted gender from facial appearance. An inference, not a stated identity. |
| image_width / image_height | number | Source dimensions, so boxes and landmarks can be scaled onto your own canvas. |
Age and gender are inferences drawn from appearance, and they carry real error. Using them to make consequential decisions about an individual is both unreliable and, in several jurisdictions, legally fraught — see GDPR and biometric data for what applies when you process facial images in the EU.
Detection is robust, but it is not magic. The main variable is how many pixels the face actually occupies.
Find and crop faces before comparison, recognition, or blurring — detection is the step every other face task builds on.
Flag images containing people, count how many, and route them for review based on what is actually in the frame.
Estimate aggregate age and gender distribution across a set of images, for retail or media measurement.
Reject a selfie upload before it reaches your KYC flow when no face is found, several are, or confidence is too low.
The demo draws the boxes for you. The API hands you the coordinates so you can draw them yourself — or feed them straight into the next stage of your pipeline.
| Free demo | API | |
|---|---|---|
| Model & detection rate | Identical | Identical |
| Access | Browser upload | REST, multipart in / JSON out |
| Output | Annotated image + attribute table | Structured face array with coordinates |
| Volume | A few images | Rate limits by plan |
| Uptime SLA | Best effort | Contractual |
| DPA & compliance docs | Not applicable | Included on enterprise |
What TAR and FAR actually mean, and why a single accuracy percentage tells you almost nothing.
ReadWhat Article 9 special category data means in practice when you are handling facial images.
ReadRelated tools: face comparison, face blur, and liveness detection.
Talk to our engineering team about your use case. We'll get you up and running in under a day.
SOC 2 Type II · GDPR Ready · ISO 27001