# Liveness

The Liveness detection algorithm is intended to detect a real living person in a media.

### Requirements

1. You're [authorized](https://doc.ozforensics.com/oz-knowledge/guides/developer-guide/api/oz-api/use-cases/authentication).
2. You have already [created a folder and added your media](https://doc.ozforensics.com/oz-knowledge/guides/developer-guide/api/oz-api/use-cases/uploading-media) marked by correct tags into this folder. \
   For API 4.0.8 and below, please note: the Liveness analysis works with videos and shotsets, images are ignored. If you want to analyze an image, upload it as a shotset (archive) with a single image and mark with the  `video_selfie_blank` tag.

### Processing Steps

1\. Initiate the analysis for the folder: `POST /api/folders/{{folder_id}}/analyses/`

If you want to use a webhook for response, add it to the payload at this step, as described [here](https://doc.ozforensics.com/oz-knowledge/guides/developer-guide/api/oz-api/use-cases/using-a-webhook-to-get-results).

{% code title="request body" %}

```json
{  
  "analyses": [
    {
      "type": "quality",
      "source_media": ["1111aaaa-11aa-11aa-11aa-111111aaaaaa"], // optional; omit to include all media from the folder
      ...
    }
  ]
}
```

{% endcode %}

You'll need`analysis_id` or `folder_id` from response.

2\. If you use a webhook, just wait for it to return the information needed. Otherwise, initiate polling:

* `GET /api/analyses/{{analysis_id}}` – for the `analysis_id` you have from the previous step.
* `GET api/folders/{{folder_id}}/analyses/` – for all analyses performed on media in the folder with the `folder_id` you have from the previous step.

Repeat the check until the`resolution_status` and `resolution` fields change status to any other except `PROCESSING` and treat this as a result.

For the Liveness Analysis, seek the `confidence_spoofing` value related to the video you need. It indicates a chance that a person is not a real one.

<pre class="language-json"><code class="lang-json"><strong>[
</strong><strong>  {
</strong><strong>    // you may have multiple analyses in the list
</strong><strong>    // pick the one you need by analyse_id or type
</strong>    "analysis_id": "1111aaaa-11aa-11aa-11aa-111111aaaaaa",
    "type": "QUALITY",
    "results_media": [
      {
        // if you have multiple media in one analysis, match score with media by source_video_id/source_shots_set_id 
        "source_video_id": "1111aaaa-11aa-11aa-11aa-111111aaaaab", // for shots_set media, the key would be source_shots_set_id 
        "results_data": 
        {
          "confidence_spoofing": 0.05790174 // quantitative score for this media
        }
      "resolution_status": "SUCCESS", // qualitative resolution (based on all media)
      ...
    ]
    ...
  }
  ...
]
</code></pre>
