---
title: "List available models"
method: GET
path: "/v1/models"
tags: ["Meta"]
---

# List available models

`GET /v1/models`

## Request

- Base URL: `https://contentmaschine.ai/api`
- URL: `https://contentmaschine.ai/api/v1/models`
- Auth: none required

Lists the image and video models each generation tool accepts for the `model` field,
with each model's supported `options`, its model-dependent top-level `fields`
(a video model's `resolution` and `duration`) and the available `aspect_ratios`.
No authentication required - use this to discover valid values before calling
`POST /v1/images/generate`, `/v1/images/vary`, `/v1/images/fuse` or `/v1/videos/generate`.

## Response `200`

Available models and options

- ModelList
  - `success` boolean
  - `data` object
    - `tools` object[]: One entry per model-driven tool. Each lists the models and aspect ratios that tool accepts.
      - `id` string: Tool identifier.
      - `endpoint` string: The endpoint this tool maps to.
      - `input` string: Summary of the required input.
      - `models` object[]
        - `id` string: Value to pass as `model`.
        - `name` string
        - `description` string
        - `default` boolean: True for the model used when `model` is omitted.
        - `options` object: Supported entries for the request `options` object, keyed by option name. Each has `param` plus `values`+`default` (enum) or `min`+`max`+`default` (range).
        - `fields` object: Top-level request fields whose values depend on this model, keyed by field name (for video models: `resolution` and `duration`, sent beside `prompt`, not inside `options`). Same entry shape as `options`.
        - `capabilities` object: Video models only. What the model accepts: start_frame, end_frame, end_frame_requires_start, reference_images (how many `reference_image_uuids`), durations (the priced steps a request snaps down to), aspect_ratios, resolutions, and audio (the clip has generated sound).
          - `start_frame` boolean
          - `end_frame` boolean
          - `end_frame_requires_start` boolean
          - `reference_images` integer
          - `durations` integer[]
          - `aspect_ratios` string[]
          - `resolutions` string[]
          - `audio` boolean
        - `pricing` object: Video models only. Credits per resolution, then per duration in seconds: { "720p": { "8": 12.5 } }. A combination without a price is absent.
      - `aspect_ratios` string[]
  - `timestamp` string, date-time

## Other responses

- `default`: Any other error. Every failure this API emits uses the same envelope; branch on `error.type`, never on `error.message`, and quote `error.correlation_id` to support.

---

[API](https://skmtc.dev/contentmaschine/apis/contentmaschine-ai-api.md) · [All operations](https://skmtc.dev/contentmaschine/apis/contentmaschine-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/contentmaschine/apis/contentmaschine-ai-api/revisions/28c74f46051c?raw)
