---
title: "List AI models"
method: GET
path: "/api/v1/ai-models"
tags: ["AI Models"]
---

# List AI models

`GET /api/v1/ai-models`

## Request

- Base URL: `https://api.imagestep.dev`
- URL: `https://api.imagestep.dev/api/v1/ai-models`
- Auth: API key in header `Authorization`

Every model an AI op can run on, across the providers behind this API. A model runs an op when its
`categories` include the op's `modelCategory` (`GET /api/v1/ops`); naming any other model is
`400 invalid_param`, with the models that fit in `details.allowed`. Leave `model` out and the op's
`defaultModel` runs.

Each entry carries its price per image after markup (`priceRange`) beside the provider's own
list price (`providerPrice`, `providerPriceRange`), the parameters it takes (`params`, in the op
catalogue's shape), and `maxInputEdge` / `maxInputImages` — how big an input it is handed and how
many images one call takes (what bounds a preset's reference images). The exact price of one
request is the dry run.

The snake_case names, `parameters`, `supported_parameters` and `created` are deprecated and go on
2027-01-12 (https://imagestep.dev/docs/changelog#2026-10-14-model-fields): until then every answer
carries both names, and `Deprecation` / `Sunset` / `Link` headers that say so.

USE THIS WHEN:
- Choosing a `model` for an AI op, or checking one before a submit
- Checking what a model costs, or how many reference images it takes

DO NOT USE WHEN:
- You want each op's default model and its price → `GET /api/v1/ops`, which carries them

## Query parameters

- `mode` 'ai_image' | 'analyze'

## Response `200`

The models of that mode

## Other responses

- `400`: `invalid_param` on `mode` — neither `ai_image` nor `analyze`
- `429`: Rate limited — `error.code` is `rate_limited` and `retryable` is true. `Retry-After` says how many seconds to wait.

---

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