> 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/developers/saas-api-overview/api-for-face-metrics-2.0/wrinkles.md).

# Lines Result Scheme

Haut.AI provides an AI algorithm that estimates lines-like objects in different facial areas and the whole face.

## **Description**

{% content-ref url="/pages/Tl8fE2u2qSnlIasjSMU4" %}
[Lines Algorithm](/haut.ai/haut.ai-features/algorithms/face-metrics-2-0/lines-algorithm.md)
{% endcontent-ref %}

## `algorithm_tech_name`

`lines`

## `area_name`

The algorithm returns metrics and sub-metrics for the following facial areas:

* `face`
* `forehead`
* `right_eye_area`
* `left_eye_area`
* `right_cheek`
* `left_cheek`

## `main_metric`

The main metric is an overall score indicating the severity of lines for each `area_name`

```javascript
"main_metric": {
                "value": 13,
                "widget_type": "bad_good_line",
                "name": "Lines Score",
                "tech_name": "lines_score",
                "widget_meta": null
            },
```

* **`value`** the wrinkles score in the range `[0,100]`.*The higher the value of this parameter, the fewer lines you have.*
* The score can be classified into six classes based on `value`:
  * `(90,100]` - Excellent
  * `(80,90]` - Great
  * `(70,80]` - Good
  * `(50,70]` - Average
  * `(30, 50]` - Poor
  * `[0,30]` - Bad
* `"widget_type": "bad_good_line"` indicates that a higher value is better
* `"name": "Lines score"`
* `"tech_name": "lines_score"`

## `sub_metrics`

The algorithm returns sub-metrics for `"area_name": face` only

<pre><code><strong>"sub_metrics": [
</strong><strong>    {
</strong>        "value": 45,
        "widget_type": "bad_good_line",
        "name": "Sagging Score",
        "tech_name": "sagging_score",
        "widget_meta": null
    },
    {
        "value": 2,
        "widget_type": "numeric",
        "name": "Jowls Grade",
        "tech_name": "jowls_grade",
        "widget_meta": null
    }
]
</code></pre>

* **`Sagging Score`** evaluates the severity of face sagging
  * **`value`** The sagging severity score in the range `[0, 100]`. The higher the value of this parameter, the more pronounced the sagging of the skin is.
  * `"widget_type": "bad_good_line"` indicates that a higher value is better
  * `"name": "Sagging Score"`
  * `"tech_name": "sagging score"`
* **`Jowls Grade`** evaluates the severity of the jowls - sagging skin below the jawline

  * **`value`** the grade of jowls severity in range `[1, 4]`. The higher the grade, the more pronounced the jowls are.
  * `"widget_type": "numeric"`
  * `"name": "Jowls Grade"`
  * `"tech_name": "jowls_grade"`

  <figure><img src="https://245161714-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWxBX_zB4FnflOpyBGO%2Fuploads%2Fk5X95ZFycY9NIx7sAts7%2Fimage%20(9).png?alt=media&amp;token=a7a80ceb-36b4-4edb-8a64-1a333bfc1bdb" alt=""><figcaption></figcaption></figure>

## `masks_restored`

The algorithm returns several vectorized masks of wrinkles for a face-aligned image

1. **Deep Lines Mask**
   1. `"mask_type": "polygon_mask"`
   2. `"tech_name": "deep_lines_mask_restored"`
   3. `features`
      * `geometry`
        * `"type": "Multipolygon"`
2. **Line Lines Mask**
   1. `"mask_type": "polyline_mask"`
   2. `"tech_name": "line_lines_mask_restored"`
   3. `features`
      * `geometry`
        * `"type": "Multipolyline"`
3. **Sagging Mask**
   1. `"mask_type": "polyline_mask"`
   2. `"tech_name": "sagging_mask_restored"`
   3. `features`
      * `geometry`
        * `"type": "Multipolyline"`

* See more on Masks [here](/haut.ai/haut.ai-features/algorithms/algorithm-results.md#masks)

## `masks_original`

The algorithm returns several vectorized masks of wrinkles for an original image

1. **Deep Lines Mask**
   1. `"mask_type": "polygon_mask"`
   2. `"tech_name": "deep_lines_mask_original"`
   3. `features`
      * `geometry`
        * `"type": "Multipolygon"`
2. **Line Lines Mask**
   1. `"mask_type": "polyline_mask"`
   2. `"tech_name": "line_lines_mask_original"`
   3. `features`
      * `geometry`
        * `"type": "Multipolyline"`
3. **Sagging Mask**
   1. `"mask_type": "polyline_mask"`
   2. `"tech_name": "sagging_mask_original"`
   3. `features`
      * `geometry`
        * `"type": "Multipolyline"`

See more on Masks [here](/haut.ai/haut.ai-features/algorithms/algorithm-results.md#masks)

## **Example (JSON)**

{% file src="/files/oLVvMSYhgw3ppsGvjvaX" %}
lines.json
{% endfile %}

***

{% 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/ai-skin-analysis?utm_source=referral&#x26;utm_medium=saas_docs&#x26;utm_campaign=Docs_SaaS_HautAI" class="button secondary" data-icon="external-link">Platform overview 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/developers/saas-api-overview/api-for-face-metrics-2.0/wrinkles.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.
