> For the complete documentation index, see [llms.txt](https://api2-ekycapis.innov8tif.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api2-ekycapis.innov8tif.com/okaylive++/okaylive++-all/image-requirement.md).

# Image Requirement

### Image Requirements

Originally, anti-spoofing methods have been developed on smartphone database, which consists of 720p and 1080p horizontally and vertically oriented selfies, taken without any additional post-compression. Photo capturing mode result in an increase of True Liveness Rate because it relies less on blur effects.

* Recommended height: 720px or 1080px.
* Minimal supported height: 480px.
* No image compression is highly recommended: JPEG 70 level as low as practicable.
* Minimum image size(width/height): 450px
* Vertical Orientation

It’s recommended to use uncompressed formats. If it’s not possible, then it’s recommended to compress image with the highest quality. The difference between near compression levels is invisible to the naked eye but very significant for the anti-spoofing methods retina.

### Face Requirements

* Out-of-plane rotation angle: from -20±3 to 20±3 degrees.
* In-plane rotation angle: from -30±3 to 30±3 degrees.
* Minimal distance between the eyes of the subject: 80 px.
* Minimal face size is 224 pixels in any dimension.
* Sun glasses can be confusing.

### Capture Requirements

* Motion blur effect can significantly increase BPCER.
* Fish-eye lenses are not supported by this API.
* Texture filtering can significantly increase APCER.
* Spot lights on the faces and nearest surroundings can significantly increase BPCER.
* Ill-lighted environment and colored light can significantly increase BPCER.
* Rectangular-shaped object in background can significantly increase BPCER.

#### Correct Sample

![](/files/QhL0OXGXLEoiFKQuG3j5)

![](/files/52HMK4Bv98KR8WjhTOi1)

![](/files/MjF7WJo8suDbwGSPBwB3)

#### Incorrect Sample

![Motion Blur](/files/QYdJu2KuJ2cLA0ayClJu)

![Spotlight](/files/EdA9mI4O38maZcm6IkHy)

![FACE\_TOO\_CLOSE](/files/SSUoDcHpeDZhkrxQBXod)

![FACE\_CLOSE\_TO\_BORDER](/files/opnfV5DHvvsqcG6SnNQ3)

![FACE\_CROPPED](/files/WroF4JXhMyiSy4O0B0kP)

![FACE\_NOT\_FOUND](/files/kMMVTreTQHhWMatwnVqJ)

![FACE\_TOO\_SMALL](/files/uP6lrMc0oZEQywUolTll)

![TOO\_MANY\_FACES](/files/r2HxMhBwseMpZBmpJHTx)

![FACE\_IS\_OCCLUDED](/files/gOC6Tl5f2WeILg8L8a1D)

![FACE\_ANGLE\_TOO\_LARGE](/files/NpbshZqqCqOuxnHOjBby)

### Capture module

Capturing images and pictures correctly with the mobile device camera is an important element of anti-spoofing detection routine.

#### Mobile Web

There are two general approaches in Web API to capture a single frame:

<table data-header-hidden><thead><tr><th width="200">Source</th><th width="183">Pros</th><th>Cons</th><th>Compatibility</th><th>Sample Code</th></tr></thead><tbody><tr><td><strong>Source</strong></td><td>Pros</td><td>Cons</td><td>Compatibility</td><td>Sample Code</td></tr><tr><td>File API</td><td>Available from any browser</td><td>Camera mode control not guaranteed</td><td>Low</td><td>-</td></tr><tr><td>getUserMedia</td><td>Camera mode control</td><td>The list of supported browsers is limited</td><td>High</td><td><a href="https://github.com/IDRnD/Capture-Samples">github</a></td></tr></tbody></table>


---

# 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:

```
GET https://api2-ekycapis.innov8tif.com/okaylive++/okaylive++-all/image-requirement.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
