Skip to main content
GET
Models List Metadata API
The model list metadata endpoint (GET /v1/models) returns only basic fields such as the model name by default. Adding the expand query parameter appends the following metadata to each model:
  • Category (category): chat / image / video / audio
  • Capability tags (capability_tags): such as Text to Video and Image to Image
  • Parameter schema (parameters): standard JSON Schema indicating required/optional, enums, ranges, and defaults
Use it to fetch the full catalog once and generate client code, build parameter forms dynamically, or validate requests locally before sending them.
Backward compatible: Without expand (or with an unrecognized value), the response is identical to the existing format, so existing clients are unaffected.
Model scope: The returned models are controlled by the API key’s model restrictions and assigned group. category=unknown means that the platform has not yet cataloged the model’s category metadata.

Get model list (with metadata)

GET /v1/models

Request headers

Query parameters

The returned model scope is the same as when expand is omitted: it is controlled by the API key’s model restrictions and assigned group.

Example 1: Just category

cURL

Example 2: Full parameter contract for video models

cURL
Single item (input_schema.properties shows only selected fields):

Response field description

Item fields

category=unknown indicates the platform has not yet cataloged metadata for that model (usually non-standard names configured in the Key’s whitelist). The model itself can still be called normally.

Capability tags

parameters block

How to read input_schema

Standard JSON Schema. Most tooling (ajv, pydantic, openapi-generator, etc.) can consume it directly:
  • Required parameters = the top-level required array; anyOf means “at least one of the following combinations” (in the example above, choose one of prompt, messages, or the three reference-media inputs)
  • Enum values = enum on properties
  • Range = minimum / maximum
  • Default = default
  • additionalProperties: true — allows extra fields not listed in the schema (typically passed via metadata)

Query a single model

In addition to the list, single-model contracts have a dedicated endpoint (same shape, with extra idempotency and response contract explanation blocks):

Notes

  1. Chat / audio models currently only have category and capability_tags, with no parameters (parameter contracts currently cover image / video only and will be added for other categories in later versions).
  2. The schema is a best-effort contract; server-side validation is authoritative: some dynamic constraints, such as specific resolution and duration combinations, may not be fully expressed in the schema. The server may still reject a request and return a specific reason.
  3. Data freshness is measured in minutes: the catalog is cached, so newly added models or parameter changes may take a few minutes to appear.
  4. A full expand=parameters response can reach hundreds of KB: filter by category when possible and send Accept-Encoding: gzip.
  5. This parameter only affects OpenAI-format model lists; Anthropic / Gemini dialect model lists do not support expand.