> ## Documentation Index
> Fetch the complete documentation index at: https://developers.eyequant.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create an ad visibility analysis

> Submit an ad image to score how visible it is.

Create an ad visibility analysis from an ad image. The request returns immediately with an `id` — analyses are processed asynchronously, so poll [Get an ad visibility analysis](/api-reference/get-ad-visibility) for the score.

<ParamField body="input" type="object" required>
  The ad to analyze.

  <Expandable title="input properties">
    <ParamField body="content" type="string" required>
      The ad image, encoded as a base64 string.
    </ParamField>

    <ParamField body="title" type="string">
      The title of the ad or its analysis.
    </ParamField>
  </Expandable>
</ParamField>

<ResponseField name="id" type="string">
  The unique identifier for the new ad visibility analysis.
</ResponseField>

<ResponseField name="location" type="string">
  The full URL where the result can be retrieved.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl \
    -X POST \
    -H "Authorization: Bearer $apikey" \
    -H "Content-Type: application/json" \
    -d '{
          "input": {
            "content": "iVBORw0KGgoAAA[...]",
            "title": "Example ad analysis"
          }
        }' \
    https://api.eyequant.com/v2/ad-visibility
  ```
</RequestExample>

<ResponseExample>
  ```json 201 theme={null}
  {
    "location": "https://api.eyequant.com/v2/ad-visibility/3bdecb551a40414d9e80198744df08a5",
    "id": "3bdecb551a40414d9e80198744df08a5"
  }
  ```

  ```json 400 theme={null}
  {
    "error": {
      "code": "invalid_configuration",
      "message": "The value you provided as content is not a valid image."
    }
  }
  ```
</ResponseExample>
