# 模型 ID (/docs/zh-CN/model-naming)

模型 ID 的格式是 `creator/model`，例如 `anthropic/claude-sonnet-5-5`、`openai/gpt-5.4-nano`、`zhipu/glm-5.3-flash`。`creator` 指研发这个模型的公司，而不是托管它的供应商。ID 区分大小写，必须完全一致。

## 查询 ID [#查询-id]

每周都有模型上线和下线，所以请从实时列表读取 ID，不要凭记忆写死在代码里。`GET /v1/models` 不需要 Key：

```bash
curl -s https://api.ohmygpt.com/v1/models \
  | jq -r '.data[] | select(.id | test("claude-sonnet")) | [.id, ([.protocols[].path] | join(" ")), (.lifecycle.sunset_at // "")] | @tsv'
```

```text
anthropic/claude-sonnet-4-5            /v1/chat/completions /v1/responses /v1/messages /v1/models/{id}:generateContent  2026-11-30
anthropic/claude-sonnet-4-5-20250929   /v1/chat/completions /v1/responses /v1/messages /v1/models/{id}:generateContent  2026-11-30
anthropic/claude-sonnet-4-6            /v1/chat/completions /v1/responses /v1/messages /v1/models/{id}:generateContent
anthropic/claude-sonnet-5-5            /v1/chat/completions /v1/responses /v1/messages /v1/models/{id}:generateContent
```

在路径后面接上模型 ID，即可查询单个模型：`GET /v1/models/anthropic/claude-sonnet-4-5`。以下为节选：

```json
{
  "id": "anthropic/claude-sonnet-4-5",
  "name": "Claude Sonnet 4.5",
  "available": true,
  "context_length": 200000,
  "lifecycle": {
    "status": "deprecated",
    "deprecated_at": "2026-09-30",
    "sunset_at": "2026-11-30",
    "successor": "anthropic/claude-sonnet-5-5"
  },
  "protocols": [
    { "path": "/v1/chat/completions" },
    { "path": "/v1/responses" },
    { "path": "/v1/messages" },
    { "path": "/v1/models/{id}:generateContent" }
  ],
  "providers": [{ "provider": "anthropic", "display_name": "Anthropic" }]
}
```

| 字段 | 含义 |
|---|---|
| `protocols[].path` | 这个模型支持的端点。调用其他端点会返回 `400 unsupported_endpoint`。 |
| `available` | 为 `true` 表示模型当前可以调用。 |
| `providers[].provider` | 提供这个模型的供应商标识，用于[供应商路由](/docs/zh-CN/provider-routing)。 |
| `lifecycle` | 模型即将下线时出现：`sunset_at` 是模型停止服务的日期，`successor` 是建议的替代模型。晚于发布才在本站上线的模型也有这一项：`listed_at` 是上线日期，`created` 仍是发布日期。 |
| `managed_routing` | 为 `true` 表示由 OhMyGPT 替你选择供应商。调用这类模型时直接用原始 ID。 |

所有模型的价格见[模型页面](https://www.ohmygpt.com/models)。

## 指定供应商 [#指定供应商]

在 ID 前面加上供应商标识和冒号，请求就只会发给这家供应商：

```bash
curl https://api.ohmygpt.com/v1/chat/completions \
  -H "Authorization: Bearer $OHMYGPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "tencent:zhipu/glm-5.3-flash", "messages": [{"role": "user", "content": "Hi"}]}'
```

这个前缀在所有端点上都有效，包括 `/v1/messages` 和 Gemini 路径。请使用模型 `providers` 列表里的标识，其他标识会返回 `404 model_not_found`。如果想调整供应商的先后顺序或排除某些供应商，而不是只指定一家，见[供应商路由](/docs/zh-CN/provider-routing)。

## 不存在或已下线的 ID [#不存在或已下线的-id]

ID 不存在，或模型已下线，都会返回 404：

```json
{
  "error": {
    "param": "model",
    "code": "model_not_found",
    "message": "The model `openai/gpt-4o-mini-typo` does not exist. List available models with `GET /v1/models`.",
    "type": "not_found_error"
  }
}
```

重新查一下 ID，或者换成 `lifecycle` 里给出的 `successor`。

ID 请严格按列表里的写法发送，不要附加任何后缀。想优先使用最便宜或最快的供应商，按[供应商路由](/docs/zh-CN/provider-routing)里的说明设置 `provider.sort`。
