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

# 模型

> 通过 Models API 查询可用模型、比较能力并浏览模型元数据。

ARouter 通过单一统一 API 提供来自顶级供应商的数百个模型。您可以在 [ARouter 网站](https://arouter.ai/models) 上浏览模型，也可以直接使用 API。

## 查询参数

Models API 支持通过查询参数过滤结果。

### `output_modalities`

按输出能力过滤模型。接受以逗号分隔的模态列表，或使用 `"all"` 包含所有模型。

| 值            | 说明            |
| ------------ | ------------- |
| `text`       | 生成文本输出的模型（默认） |
| `image`      | 生成图像的模型       |
| `audio`      | 生成音频输出的模型     |
| `embeddings` | 嵌入模型          |
| `all`        | 包含所有模型，跳过模态过滤 |

```bash theme={null}
# 默认 — 仅文本模型
curl "https://api.arouter.ai/v1/models" \
  -H "Authorization: Bearer lr_live_xxxx"

# 仅图像生成模型
curl "https://api.arouter.ai/v1/models?output_modalities=image" \
  -H "Authorization: Bearer lr_live_xxxx"

# 文本和图像模型
curl "https://api.arouter.ai/v1/models?output_modalities=text,image" \
  -H "Authorization: Bearer lr_live_xxxx"

# 所有模型（不限模态）
curl "https://api.arouter.ai/v1/models?output_modalities=all" \
  -H "Authorization: Bearer lr_live_xxxx"
```

### `supported_parameters`

按支持的 API 参数过滤模型。例如，查找支持工具调用的模型：

```bash theme={null}
curl "https://api.arouter.ai/v1/models?supported_parameters=tools" \
  -H "Authorization: Bearer lr_live_xxxx"
```

## 列出模型

```
GET /v1/models
```

返回您的 API key 可用的完整模型列表。

```bash theme={null}
curl https://api.arouter.ai/v1/models \
  -H "Authorization: Bearer lr_live_xxxx"
```

### 响应格式

```json theme={null}
{
  "data": [
    {
      "id": "openai/gpt-5.4",
      "canonical_slug": "openai/gpt-5.4",
      "name": "GPT-5.4",
      "created": 1748000000,
      "description": "OpenAI's flagship multimodal model with state-of-the-art performance.",
      "context_length": 128000,
      "architecture": {
        "input_modalities": ["text", "image"],
        "output_modalities": ["text"],
        "tokenizer": "cl100k_base",
        "instruct_type": "chatml"
      },
      "pricing": {
        "prompt": "0.000005",
        "completion": "0.000015",
        "request": "0",
        "image": "0.00765",
        "web_search": "0",
        "internal_reasoning": "0",
        "input_cache_read": "0.0000025",
        "input_cache_write": "0.000005"
      },
      "top_provider": {
        "context_length": 128000,
        "max_completion_tokens": 16384,
        "is_moderated": true
      },
      "supported_parameters": [
        "tools",
        "tool_choice",
        "max_tokens",
        "temperature",
        "top_p",
        "structured_outputs",
        "response_format",
        "stop",
        "frequency_penalty",
        "presence_penalty",
        "seed"
      ],
      "per_request_limits": null,
      "default_parameters": null,
      "expiration_date": null
    }
  ]
}
```

## 模型对象结构

`data` 数组中每个模型包含以下字段：

| 字段                     | 类型               | 说明                                     |
| ---------------------- | ---------------- | -------------------------------------- |
| `id`                   | `string`         | API 请求中使用的唯一模型标识符，如 `"openai/gpt-5.4"` |
| `canonical_slug`       | `string`         | 模型的永久固定标识，永不更改                         |
| `name`                 | `string`         | 人类可读的显示名称                              |
| `created`              | `number`         | 模型被添加到 ARouter 的 Unix 时间戳              |
| `description`          | `string`         | 模型能力的详细描述                              |
| `context_length`       | `number`         | 最大上下文窗口大小（以 Token 为单位）                 |
| `architecture`         | `Architecture`   | 技术能力对象                                 |
| `pricing`              | `Pricing`        | 使用该模型的费用结构（美元/Token）                   |
| `top_provider`         | `TopProvider`    | 主要供应商的配置详情                             |
| `per_request_limits`   | `object \| null` | 速率限制信息（无限制时为 `null`）                   |
| `supported_parameters` | `string[]`       | 支持的 API 参数数组                           |
| `default_parameters`   | `object \| null` | 默认参数值（无默认值时为 `null`）                   |
| `expiration_date`      | `string \| null` | 弃用日期（未弃用时为 `null`）                     |

### Architecture 对象

```typescript theme={null}
{
  "input_modalities": string[],  // 如 ["text", "image"]
  "output_modalities": string[], // 如 ["text"]
  "tokenizer": string,           // 如 "cl100k_base"
  "instruct_type": string | null // 如 "chatml"，不适用时为 null
}
```

### Pricing 对象

所有定价值均为**美元/Token**。值为 `"0"` 表示该功能免费。

```typescript theme={null}
{
  "prompt": string,              // 每个输入 Token 的费用
  "completion": string,          // 每个输出 Token 的费用
  "request": string,             // 每次 API 请求的固定费用
  "image": string,               // 每张图像输入的费用
  "web_search": string,          // 每次网络搜索操作的费用
  "internal_reasoning": string,  // 内部推理 Token 的费用
  "input_cache_read": string,    // 每个缓存输入 Token 读取的费用
  "input_cache_write": string    // 每个缓存输入 Token 写入的费用
}
```

### Top Provider 对象

```typescript theme={null}
{
  "context_length": number,         // 供应商特定的上下文限制
  "max_completion_tokens": number,  // 响应中的最大 Token 数
  "is_moderated": boolean           // 是否启用内容审核
}
```

### 支持的参数

`supported_parameters` 数组列出了模型支持的 OpenAI 兼容参数：

| 参数                   | 说明          |
| -------------------- | ----------- |
| `tools`              | 函数调用能力      |
| `tool_choice`        | 工具选择控制      |
| `max_tokens`         | 响应长度限制      |
| `temperature`        | 随机性控制       |
| `top_p`              | 核采样         |
| `reasoning`          | 内部推理模式      |
| `include_reasoning`  | 在响应中包含推理过程  |
| `structured_outputs` | JSON 结构强制执行 |
| `response_format`    | 输出格式规范      |
| `stop`               | 自定义停止序列     |
| `frequency_penalty`  | 重复减少        |
| `presence_penalty`   | 话题多样性       |
| `seed`               | 确定性输出       |

## 使用模型

直接将 `id` 用作请求中的 `model` 字段：

<Tabs>
  <Tab title="Python">
    ```python theme={null}
    from openai import OpenAI

    client = OpenAI(
        base_url="https://api.arouter.ai/v1",
        api_key="lr_live_xxxx",
    )

    # List available models
    models = client.models.list()
    for model in models.data:
        print(model.id)

    # Use a specific model
    response = client.chat.completions.create(
        model="anthropic/claude-sonnet-4.6",
        messages=[{"role": "user", "content": "Hello!"}],
    )
    ```
  </Tab>

  <Tab title="TypeScript">
    ```typescript theme={null}
    import OpenAI from "openai";

    const client = new OpenAI({
      baseURL: "https://api.arouter.ai/v1",
      apiKey: "lr_live_xxxx",
    });

    // List available models
    const models = await client.models.list();
    for (const model of models.data) {
      console.log(model.id);
    }

    // Use a specific model
    const response = await client.chat.completions.create({
      model: "anthropic/claude-sonnet-4.6",
      messages: [{ role: "user", content: "Hello!" }],
    });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl https://api.arouter.ai/v1/models \
      -H "Authorization: Bearer lr_live_xxxx"
    ```
  </Tab>
</Tabs>

## 按支持参数过滤

查找支持工具调用的模型：

```bash theme={null}
curl "https://api.arouter.ai/v1/models?supported_parameters=tools" \
  -H "Authorization: Bearer lr_live_xxxx"
```

查找支持结构化输出的模型：

```bash theme={null}
curl "https://api.arouter.ai/v1/models?supported_parameters=structured_outputs" \
  -H "Authorization: Bearer lr_live_xxxx"
```

## 自动路由

除特定模型 ID 外，ARouter 还支持自动模型选择：

| 模型       | 说明                      |
| -------- | ----------------------- |
| `"auto"` | ARouter 自动为您的请求选择最佳可用模型 |

```bash theme={null}
curl https://api.arouter.ai/v1/chat/completions \
  -H "Authorization: Bearer lr_live_xxxx" \
  -H "Content-Type: application/json" \
  -d '{"model": "auto", "messages": [{"role": "user", "content": "Hello!"}]}'
```

响应的 `model` 字段始终显示实际使用的模型。详情请参阅[模型路由](/zh/model-routing#auto-routing)。

## 模型变体

您可以在任意模型 ID 后附加后缀以影响路由行为：

| 后缀          | 效果                |
| ----------- | ----------------- |
| `:nitro`    | 路由到最高吞吐量实例 — 速度优化 |
| `:floor`    | 路由到最低成本实例 — 价格优化  |
| `:free`     | 路由到免费层实例（有速率限制）   |
| `:thinking` | 启用扩展推理 / 思维链模式    |

```json theme={null}
{"model": "openai/gpt-5.4:nitro"}   // 最快
{"model": "openai/gpt-5.4:floor"}   // 最便宜
{"model": "deepseek/deepseek-r1:thinking"} // 推理模式
```

完整参考请参阅[模型变体](/zh/guides/features/model-variants)。

## Token 化

不同模型对文本的 Token 化方式不同。某些模型（GPT、Claude、Llama）将文本分割为多字符块；其他模型按字符 Token 化（PaLM）。这意味着即使输入输出完全相同，不同模型的 Token 数量——以及费用——也会有所不同。

费用按所用模型的 Token 化器计算。使用每个响应中的 `usage` 字段获取精确的 Token 数量：

```json theme={null}
{
  "usage": {
    "prompt_tokens": 42,
    "completion_tokens": 128,
    "total_tokens": 170
  }
}
```

## 注意事项

* 模型列表按您账户启用的供应商过滤。若供应商未启用，其模型将不会显示。
* 新模型在供应商发布时自动添加。
* 直接在聊天补全请求的 `model` 字段中使用此列表中的模型 ID。

可用供应商及其旗舰模型的精选列表请参阅[供应商](/zh/providers)。
