Skip to content

Texture

Texture measures small-scale surface roughness — fine lines, rough patches, tactile irregularity. It is an independent surface-roughness metric computed from its own analysis.

component: texture
request:
query: "components=texture,texture_visualization"
response_path: "results[].description == \"texture\""
value_range: [0, 1]
also_request:
- texture_visualization # polygon-area features, 2 intensity levels by default
warnings: [] # texture emits no metric-specific codes

Reference imagery for this metric is not yet published.

const tex = response.results.find((r) => r.description === "texture");

For a “what’s wrong with my skin” diagnostic, surface texture directly. For an improvement-over-time, “good number goes up” UI, use smoothness — a separate metric (the inverse of uneven_skin_tone, not of texture) documented on Uneven skin tone and smoothness.

Beyond the top-level value, texture returns a per-region breakdown in measurement_locations[] — one entry per face region, each with its own value (0..1), mask_shapes, and polygon-area visualization_data. A region scores -1 when its mask couldn’t be sampled — treat that as “region unavailable,” not a real low score.

  • Recommend high-quality capture since texture analysis relies on high image resolution and low amount of filtering.

The texture metric emits no metric-specific local_warnings[] codes; it inherits the global image-quality codes. An unsamplable region returns value: -1 (no status code).