Eye area
Overview
Section titled “Overview”The eyes component analyses the periorbital region — the under-eye area and surrounding skin. It returns an aggregate severity score plus two sub-scores: eyebags (puffiness / under-eye edges) and dark circles (under-eye darkness). The sub-scores come back both globally (in sum_measures[]) and per eye (in measurement_locations[]), suitable for driving eye-cream and concealer recommendations.
component: eyesrequest: query: "components=eyes"response_path: "results[].description == \"eyes\""value_range: [0, 1] # aggregate = mean of the two per-eye scoressum_measures: - eyebags # 0..1 - dark circles # 0..1 (note: space, not snake_case)measurement_locations: - left eye # per-eye eyebags + dark circles, with mask shapes - right eyewarnings: [] # the eyes metric emits no metric-specific status codesReference imagery
Section titled “Reference imagery”Reference imagery for this metric is not yet published.
Rendering notes
Section titled “Rendering notes”The two sub-scores are in sum_measures[] — note the descriptions are space-separated, not snake_case:
const eyes = response.results.find((r) => r.description === "eyes");
const eyebags = eyes.sum_measures.find((m) => m.description === "eyebags")?.value;const darkCircles = eyes.sum_measures.find((m) => m.description === "dark circles")?.value;For a per-eye breakdown, read measurement_locations[] — one entry per eye, each carrying its own eyebags and dark circles measures (and mask shapes for overlays):
const perEye = eyes.measurement_locations.map((loc) => ({ side: loc.description, // "left eye" | "right eye" eyebags: loc.measures.find((m) => m.description === "eyebags")?.value, darkCircles: loc.measures.find((m) => m.description === "dark circles")?.value,}));Surface the two sub-scores separately rather than as a single aggregate — users have very specific eye-area concerns and product preferences.
Edge cases
Section titled “Edge cases”- Glasses make this analysis unreliable. Eyeglasses are flagged globally in
status[]as314(“Eyeglasses detected. Remove eyeglasses before taking the photo. Results are unreliable.”), not as an eyes-specific warning.
local_warnings[]
Section titled “local_warnings[]”The eyes metric does not emit any metric-specific local_warnings[] codes. Watch the global status[] instead — in particular 314 (eyeglasses detected) degrades eye-area results. Note also that if you request skin_sagging, a failed eyebag analysis surfaces there as 3001 (“Cannot analyze skin sagging since eyebag analysis had failed.”), since sagging depends on the eye-area analysis.