> For the complete documentation index, see [llms.txt](https://docs.deepomatic.com/platform-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.deepomatic.com/platform-documentation/deepomatic-cli/faq.md).

# FAQ

## Errors about environment variables

An environment variable is a variable that is defined in the terminal and used by the executable afterwards. In the context of Deepomatic CLI there is one environment variables used:

* `DEEPOMATIC_API_KEY` is used to interact with trained models and to send images or JSON to Deepomatic Studio.

If you get the following error, please check that your `DEEPOMATIC_API_KEY` is set and is the one from the right organization.

```
deepomatic.api.exceptions.ClientError: Bad status code 401 with body b'{"detail":"No such profile user."}'
```

[Find how to get the API Key value here: Setup your Deepomatic API Key](/platform-documentation/deepomatic-cli/platform-commands.md#setup-your-deepomatic-api-key)

## Error 11001: getaddrinfo failed

You get this error because Deepomatic CLI cannot reach the Deepomatic endpoints. Most of the times this is the consequence of a Proxy that has not been setup.

## Setup a proxy

The easiest way to do it is to simply pass the proxy parameters as an environment variable. You will need:

* `proxyserver`: the proxy server address.
* `proxyport`: the proxy server port.
* `user`: your proxy user login identifier.
* `password`: your proxy authentication password.

{% tabs %}
{% tab title="Linux/MacOS" %}

```bash
export https_proxy="http://user:password@proxyserver:proxyport"
```

{% endtab %}

{% tab title="Windows" %}

```bash
$Env:https_proxy="http://user:password@proxyserver:proxyport"
```

{% endtab %}
{% endtabs %}

The Deepomatic CLI uses only secured https connection. As such, you just need to setup the `https_proxy` environment variable.

{% hint style="info" %}
If you're running inferences on your local infrastructure you might want to take a look at how to [Configure Docker to use a proxy server](https://docs.docker.com/network/proxy/).
{% endhint %}

## What is the difference between input\_fps and skip\_frames?

If your camera has an original frame rate of 30fps, and you want to run inferences at 3 fps, the options `input_fps` and `skip_frames` can both enable you to do it, with `input_fps=3` or `skip_frames=2` .

`input_fps` uses the fps of the input automatically detected to force a new fps. It is simple to use, but requires that the original fps detected is correct. In most cases, it will work fine, but sometimes the FPS automatically detected in the video isn't reliable as it is encoded in the file header.&#x20;

{% hint style="info" %}
For example, in .avi videos, duplicate frames are represented by an instruction to repeat the previous frames and are skipped by the library OpenCV, which only reads frames with real data.
{% endhint %}

Another case in which `input_fps` may not be the best option, is when the original fps is not a multiple of the `input_fps` . In this case, we recommend to use `skip_frames`

`skip_frames` allows you to skip a fixed number of frames and analyze only 1 frame every N frames. It is independent of the original fps detected, and requires you to calculate the value desired.

{% hint style="success" %}
skip\_frames = original\_fps / input\_fps -1
{% endhint %}
