> ## Documentation Index
> Fetch the complete documentation index at: https://docs.2501.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# LLM Model

> MDX frontmatter reference for LLM model resources

**Subdirectory:** `llm_models/` · **Body:** must be empty

Declares a model in the catalog agents can pick as an engine, matching what you'd otherwise configure at **Settings → Models**. See [Models](/0.11/configure/models) for the concepts behind each field. Models are always tenant-scoped - there is no `org` field.

## Frontmatter

| Field               | Type    | Required | Default | Description                                                                             |
| ------------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------- |
| `provider`          | string  | **Yes**  | -       | The owning [Provider](/0.11/configure/resources/providers)'s `key`.                     |
| `key`               | string  | **Yes**  | -       | Display name shown in Command Center and referenced by agents when selecting an engine. |
| `model_id`          | string  | **Yes**  | -       | Must match the model's deployment name on the provider exactly.                         |
| `context_length`    | integer | **Yes**  | -       | Maximum tokens the model accepts.                                                       |
| `enabled`           | boolean | No       | `true`  | Only enabled models appear as selectable engines.                                       |
| `input_modalities`  | array   | No       | -       | `text` and/or `image`. Include `image` for vision-capable models.                       |
| `output_modalities` | array   | No       | -       | `text` and/or `image`.                                                                  |
| `provider_options`  | object  | No       | -       | Provider-specific passthrough options.                                                  |
| `config`            | object  | No       | -       | Sampling parameters - see [Sampling config](#sampling-config).                          |

### Sampling config

All fields under `config` are optional:

| Key                | Type      | Description                                                                                                                                                    |
| ------------------ | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `temperature`      | number    | Sampling temperature                                                                                                                                           |
| `topP`             | number    | Nucleus sampling threshold                                                                                                                                     |
| `topK`             | number    | Top-K sampling cutoff                                                                                                                                          |
| `presencePenalty`  | number    | Penalize tokens already present                                                                                                                                |
| `frequencyPenalty` | number    | Penalize tokens by frequency                                                                                                                                   |
| `maxOutputTokens`  | number    | Cap on generated tokens                                                                                                                                        |
| `seed`             | number    | Deterministic sampling seed                                                                                                                                    |
| `stopSequences`    | string\[] | Sequences that stop generation                                                                                                                                 |
| `reasoning`        | string    | Thinking-effort level: `provider-default`, `none`, `minimal`, `low`, `medium`, `high`, `xhigh` - see [Thinking effort](/0.11/configure/models#thinking-effort) |

## Fields NOT supported

* `id`, `tenant_id`, `provider_id`, `created_at`, `updated_at` - system-set
* `org` - models are always tenant-wide
* Pricing plans and performance-test results - configured in Command Center, not part of the CLI schema

## Example

```mdx llm_models/gpt-5.mdx theme={null}
---
provider: openai
key: gpt-5
model_id: gpt-5
context_length: 400000
enabled: true
input_modalities: [text, image]
output_modalities: [text]
config:
  reasoning: high
  maxOutputTokens: 32000
---
```

## Gotchas

* **Body must be empty.** Everything is frontmatter.
* **`provider` is a name, resolved at sync time.** Referencing a provider declared in the same directory works even before that provider exists on the platform yet.
* **A model assigned to any agent can't be pruned.** Reassign those agents (or archive them) first, or sync with `enabled: false` instead - see [Deletion rule](/0.11/configure/models#deletion-rule).
