Status codes
Overview
Section titled “Overview”Every analyzeImage response carries a status[] array of { idx, description, isError } entries describing image-quality and pipeline-level issues. Per-finding local_warnings[] carry the same shape but scoped to one metric. This page lists every code, grouped by stage.
General (99)
Section titled “General (99)”idx | isError | Description |
|---|---|---|
| 99 | 1 | [custom context] undefined failure. |
Image preprocessing (100–104)
Section titled “Image preprocessing (100–104)”idx | isError | Description |
|---|---|---|
| 100 | 1 | Unable to process: image must be in RGB color format. |
| 101 | 1 | Unable to process: Image resolution too small. |
| 102 | 1 | Unable to downsample image resolution: Image aspect ratio too extreme. |
| 103 | 0 | Image too dark. Increase exposure. |
| 104 | 0 | Image is overexposed. Find more diffuse lighting. |
Face detection (201–206)
Section titled “Face detection (201–206)”idx | isError | Description |
|---|---|---|
| 201 | 1 | Unable to detect a face |
| 202 | 0 | Multiple faces detected. Only the best fit face is analyzed. |
| 203 | 0 | Face detection is uncertain. Analysis quality is compromized. |
| 204 | 0 | Face detection is very uncertain. Analysis quality is unreliable. |
| 205 | 0 | More margin space around the face needed. Results might be compromised. Take the picture a bit further away. (obsolete — no longer emitted; 319 covers tight framing) |
| 206 | 1 | Facial landmarks are invalid. Aborting processing. |
Face normalization / quality (301–319)
Section titled “Face normalization / quality (301–319)”idx | isError | Description |
|---|---|---|
| 301 | 1 | The detected face resolution is too small. Take a photo closer to the target. |
| 302 | 1 | Face is too much tilted to the side. Face straight at the camera. |
| 303 | 0 | Face is possibly tilted to the side. Face straight at the camera. |
| 304 | 1 | Face is too much tilted down. Face straight at the camera. |
| 305 | 0 | Face is possibly tilted down. Face straight at the camera. |
| 306 | 0 | Face is possibly tilted up. Face straight at the camera. |
| 307 | 0 | Image too dark at the face area. Increase exposure/light to the face. |
| 308 | 0 | Image is overexposed at the face area. Find more diffuse lighting or reduce exposure. |
| 309 | 0 | The face area blue channel is clipping (overexposed). Reduce exposure or adjust color balance. |
| 310 | 0 | The face area green channel is clipping (overexposed). Reduce exposure or adjust color balance. |
| 311 | 0 | The face area red channel is clipping (overexposed). Reduce exposure or adjust color balance. |
| 312 | 0 | The face has unsymmetric exposure. Find even illumination. |
| 313 | 0 | The face area has hard shadows. Find more diffuse lighting. |
| 314 | 0 | Eyeglasses detected. Remove eyeglasses before taking the photo. Results are unreliable. |
| 315 | 1 | Forehead is partially outside the image. Make sure the whole face fits the image. Aborting processing. |
| 316 | 1 | Lower face is partially outside the image. Make sure the whole face fits the image. Aborting processing. |
| 317 | 1 | Face right side is partially outside the image. Make sure the whole face fits the image. Aborting processing. |
| 318 | 1 | Face left side is partially outside the image. Make sure the whole face fits the image. Aborting processing. |
| 319 | 0 | Face is too tightly framed in the image. Leave more space around the face. |
Skin masking (401)
Section titled “Skin masking (401)”idx | isError | Description |
|---|---|---|
| 401 | 0 | Unable to sample skin. Acne/Hyperpigmentation results are unreliable. |
Aggregate (500)
Section titled “Aggregate (500)”idx | isError | Description |
|---|---|---|
| 500 | 1 | All metrics had an error. |
Makeup analysis (1000–1201)
Section titled “Makeup analysis (1000–1201)”idx | isError | Description |
|---|---|---|
| 1000 | 1 | Skin tone input not defined. Unable to proceed. |
| 1101 | 1 | Eyes look too much closed. Keep eyes open. Eye color analysis aborted. |
| 1102 | 0 | Eyes look quite closed. Keep eyes open. |
| 1111 | 1 | Eyes region is too dark. Improve lighting on the eyes. Eye color analysis aborted. |
| 1112 | 0 | Eyes region is quite dark. Improve lighting on the eyes. |
| 1121 | 1 | Eyes whites have a heavy color cast. Correct white balance settings on the camera. Eye color analysis aborted. (obsolete) |
| 1122 | 0 | Eyes whites have a significant color cast. Correct white balance settings on the camera. |
| 1191 | 1 | Eye color detection processing error 1. Eye area has no color information. |
| 1192 | 1 | Eye color detection processing error 2. Eye area is too dark. |
| 1200 | 0 | Color balance not corrected due to eye area low image quality. Skin foundation color analysis might be unreliable |
| 1201 | 0 | Skin foundation estimation failed. Foundation rbg output is invalid. |
Pore dilation (2000–2001)
Section titled “Pore dilation (2000–2001)”idx | isError | Description |
|---|---|---|
| 2000 | 1 | Image resolution for the face area is too low. Face at the image has to be at minimum 1200 pixels wide. |
| 2001 | 0 | Image resolution for the face area is low. |
Acne (3000)
Section titled “Acne (3000)”idx | isError | Description |
|---|---|---|
| 3000 | 1 | Acne measurement aborted due to image quality concerns. |
Skin sagging (3001–3002)
Section titled “Skin sagging (3001–3002)”idx | isError | Description |
|---|---|---|
| 3001 | 1 | Cannot analyze skin sagging since eyebag analysis had failed. |
| 3002 | 1 | Cannot analyze skin sagging since wrinkle analysis from required locations had failed. |
Skin firmness (4000)
Section titled “Skin firmness (4000)”idx | isError | Description |
|---|---|---|
| 4000 | 1 | Skin firmness not analyzed due to error in skin sagging analysis. |
Hair (5000–5003)
Section titled “Hair (5000–5003)”idx | isError | Description |
|---|---|---|
| 5000 | 1 | Hair analysis aborted due to image quality concerns or internal error. |
| 5002 | 1 | No hair detected. Hair analysis aborted. |
| 5003 | 1 | Not enough hair detected. Hair analysis aborted. |
Skin age (7000)
Section titled “Skin age (7000)”idx | isError | Description |
|---|---|---|
| 7000 | 1 | Skin Age analysis aborted due to image quality concerns or internal error. |
Use in code
Section titled “Use in code”const FATAL = new Set([ 99, 100, 101, 102, 201, 206, 301, 302, 304, 315, 316, 317, 318, 500, 1000, 1101, 1111, 1121, 1191, 1192, 2000, 3000, 3001, 3002, 4000, 5000, 5002, 5003, 7000,]);
function describe(status) { return status .filter((s) => s.isError === 1) .map((s) => ({ code: s.idx, fatal: FATAL.has(s.idx), description: s.description }));}For the most current listing, the OpenAPI spec is canonical: see /openapi/skin-analysis.yaml.