> For the complete documentation index, see [llms.txt](https://docs.saas.haut.ai/haut.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.saas.haut.ai/haut.ai/haut.ai-features/algorithms/face-skin-analysis-3-0/quality.md).

# Quality

What the Quality parameter checks in an uploaded image - positioning, lighting, resolution, occlusions - and the score it returns.

## About Parameter

This parameter evaluates image quality based on specific criteria tailored for needs of reliable skin analysis, such as face positioning, lighting, resolution, face and skin visibility, occlusions.

## Features

1. Works with 1 and 3 side facial images.

## Output

1. `score` — overall numerical rating (1-100) indicating image quality. 1 means poor quality, 100 means excellent quality. Good quality images typically have a score > 70
2. Face and Skin Detection
   1. `has_face` — Boolean indicating if a face is detected in the image
   2. `has_enough_skin` — Boolean indicating whether enough skin area is visible for analysis (15% of the face-aligned image must contain skin)
   3. Head Position and Focus
      1. `has_valid_pose` — Boolean indicating if head pose is within acceptable parameters
      2. `has_good_resolution` — Boolean indicating if face resolution meets quality standards (at least one dimension exceeds 1024 pixels; for best results, we suggest to use images with at least 2K×2K face resolution to detect majority of visible pores)
      3. `has_no_blur` — Boolean indicating if image is free from motion blur
   4. Occlusion Detection
      1. `has_no_occlusions` — Boolean indicating if face is unobstructed
      2. `has_no_eyeglasses` — Boolean indicating absence of eyeglasses
      3. `has_no_hair_bangs` — Boolean indicating hair isn't covering forehead
   5. Lighting Quality
      1. `has_good_exposure` — Boolean indicating proper image exposure
      2. `has_uniform_illumination` — Boolean indicating even lighting across the face
      3. `has_no_shadows` — Boolean indicating absence of harsh shadows

***

## Algorithm API

{% hint style="warning" %}
API access is available only for <mark style="color:purple;">**Professional**</mark> plan clients
{% endhint %}

***

{% hint style="warning" %}
Not a Haut.AI client yet?
{% endhint %}

<a href="https://haut.ai/book-a-demo?utm_source=referral&#x26;utm_medium=saas_docs&#x26;utm_campaign=Docs_SaaS_HautAI" class="button primary" data-icon="user-vneck">Book a demo</a> <a href="https://haut.ai/product/face-skin-analysis?utm_source=referral&#x26;utm_medium=saas_docs&#x26;utm_campaign=Docs_SaaS_HautAI" class="button secondary" data-icon="external-link">Face Skin Analysis 3.0 on haut.ai</a>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.saas.haut.ai/haut.ai/haut.ai-features/algorithms/face-skin-analysis-3-0/quality.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
