# Models and the catalog (/en/docs/developers/model/concepts/models-and-catalog)



The catalog describes your choices; a call record describes actual usage and charges. They serve different purposes.

## Model IDs and capabilities [#model-ids-and-capabilities]

Use the complete catalog `id` as `model`, for example `deepseek-flash`. Display names are not IDs. A stable ID does not promise an unchanging version; check the model description for rolling releases.

`type` distinguishes language, image, speech, video, embedding, and other model categories. It does not imply support for every related endpoint. `supported_apis` lists enabled protocols; check Chat, Responses, and Messages separately. Input and output modalities describe content capabilities, not native support for every file format.

The context window limits the content available for input and generation, not the guaranteed output length. The native catalog uses `context_window`; the OpenAI-compatible catalog uses `context_length`. Check output limits separately in the model description and API reference.

## Listed prices and actual charges [#listed-prices-and-actual-charges]

`pricing` amounts are in USD, with units determined by each price item. Token prices are per token; multiply by one million for a per-million display. Input and output have separate prices. `input_cache_read` prices cached input reads; it does not guarantee cache hits.

Not every model bills by token: video can bill by second, images by image, OCR by page, and transcription by audio minute. A missing price does not mean free. Do not multiply every price by one million. See [List models API](/docs/api/native/model/listModels) for price items and field definitions.

Chat’s `usage.cost` is the actual USD charge. Multiplying catalog prices by token counts is only an estimate and may miss caching or other units. Verify real calls with the [generation lookup in the quickstart](/docs/developers/model/quickstart).

## Availability [#availability]

Availability measures whether the platform and upstream can complete valid requests. Platform and upstream failures count; caller-caused rejections, such as invalid parameters, do not. It does not mean arbitrary parameters will work or guarantee the next request’s success.

The [catalog guide](/docs/developers/model/catalog) shows how to retrieve current entries. This page does not maintain a static model or price list.

[API reference →](/docs/api/native/model) · [Cookbook →](/docs/cookbook)
