---
title: "Analyze an image or website URL"
method: POST
path: "/v1/analyze"
tags: ["Analyze"]
---

# Analyze an image or website URL

`POST /v1/analyze`

## Request

- Base URL: `https://api.masko.ai`
- URL: `https://api.masko.ai/v1/analyze`
- Auth: HTTP bearer

Analyzes an image (by URL) or a public website and returns a description, style hints, a suggested mascot name, and a suggested prompt ready to feed into POST `/v1/mascots`. When `type=url`, the response also includes a screenshot (omitted from example for brevity). No credit cost.

Select Masko-API-Version: 2026-09-26 (or api_version=2026-09-26) for the canonical mascot contract shown first. Existing unversioned clients keep legacy collection fields. A mascot_id query filter also selects the canonical contract. Mixing identifier names returns 400.

## Query parameters

- `api_version` '2026-09-26' | 'legacy'

## Headers

- `Idempotency-Key` string
- `Masko-API-Version` '2026-09-26' | 'legacy'

## Request body

- union
  - union: What to analyze. Use type="image" with image_url to analyze a mascot picture, or type="url" with url to analyze a brand website.
    - object
      - `type` 'image', required: Analyze a mascot/character image.
      - `image_url` string, uri, required: Public image URL to analyze. Returns a structured description suitable for seeding a mascot prompt.
    - object
      - `type` 'url', required: Analyze a brand website.
      - `url` string, uri, required: Website URL to analyze. Extracts brand colors, product description, and tone.
  - union: What to analyze. Use type="image" with image_url to analyze a mascot picture, or type="url" with url to analyze a brand website.
    - object
      - `type` 'image', required: Analyze a mascot/character image.
      - `image_url` string, uri, required: Public image URL to analyze. Returns a structured description suitable for seeding a collection prompt.
    - object
      - `type` 'url', required: Analyze a brand website.
      - `url` string, uri, required: Website URL to analyze. Extracts brand colors, product description, and tone.

## Response `200`

Analysis result (image or url)

- union
  - AnalyzeImageResponse
    - `data` AnalyzeImageData, required
      - `suggested_name` string, required
      - `description` string, required
      - `style_hints` string[], required
      - `suggested_prompt` string, required
  - AnalyzeUrlResponse
    - `data` AnalyzeUrlData, required
      - `screenshotPath` string
      - `markdown` string
      - `metadata` object
      - `description` string

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `409`: Conflict

---

[API](https://skmtc.dev/masko/apis/masko-api.md) · [All operations](https://skmtc.dev/masko/apis/masko-api/llms.txt) · [OpenAPI document](https://skmtc.dev/masko/apis/masko-api/revisions/91eb3006a92f?raw)
