# 列出模型

> BigModel.io 的 GET /v1/models 接口：列出 API Key 所在分组提供的模型 ID，兼容 OpenAI 和 Anthropic 客户端；需要余额大于 0 或有生效中的套餐。

网页版: https://bigmodel.io/zh-cn/docs/api-models · 更新于 2026-10-18

`GET https://bigmodel.io/v1/models`

列出 Key 所在分组提供的模型，供工具填充模型选择列表。结果取决于 Key 的分组，而不是账户。和 [`GET /v1/usage`](https://bigmodel.io/zh-cn/docs/api-usage) 不同，这个接口会做计费检查：余额为 0 且没有生效中的套餐时返回 `403` `INSUFFICIENT_BALANCE`。

## 请求

```http
GET https://bigmodel.io/v1/models
```

### 认证

| 请求头 | 值 |
|---|---|
| `Authorization` | `Bearer $BIGMODEL_API_KEY` |
| `x-api-key` | `$BIGMODEL_API_KEY` |

任选其一。

### 查询参数

| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `configured_only` | boolean |  | 分组未配置模型时返回空列表，而不是内置默认列表。 |

## 响应

| 状态码 | 含义 |
|---|---|
| `200` | 模型列表。 |
| `400` | `api_key_in_query_deprecated`（Key 放在了查询参数里），或 `invalid_request_error`：请求体为空或不是合法 JSON、缺少 `model`、`stream` 不是布尔值等。 |
| `401` | `API_KEY_REQUIRED`、`INVALID_API_KEY`、`API_KEY_DISABLED`、`USER_NOT_FOUND`、`USER_INACTIVE`。 |
| `403` | `INSUFFICIENT_BALANCE`、`API_KEY_EXPIRED`、`ACCESS_DENIED`（IP 规则）、`SUBSCRIPTION_NOT_FOUND`、`SUBSCRIPTION_INVALID`，或 `permission_error`（Key 未分配分组、分组不允许该接口）。 |
| `429` | `API_KEY_QUOTA_EXHAUSTED`、`USAGE_LIMIT_EXCEEDED`（套餐额度），或 `rate_limit_exceeded` / `rate_limit_error`（Key 的 5 小时/1 天/7 天限额、每分钟请求数、并发、上游限流）。每分钟限流会带 `Retry-After`。 |

### 响应字段

| 字段 | 类型 | 说明 |
|---|---|---|
| `object` | any |  |
| `data` | array<object> |  |
| `data[].id` | string | 作为 `model` 发送的模型 ID。 |
| `data[].type` | string |  |
| `data[].display_name` | string | 已配置模型目前与 `id` 相同。 |
| `data[].created_at` | string | Anthropic 风格条目才有；是固定的占位日期，不是发布日期。 |
| `data[].object` | string | OpenAI 风格条目才有。 |
| `data[].owned_by` | string | OpenAI 风格条目才有。 |


## 示例

```bash [cURL]
curl https://bigmodel.io/v1/models \
  -H "Authorization: Bearer $BIGMODEL_API_KEY"
```

```python [Python]
import os
from openai import OpenAI

client = OpenAI(base_url="https://bigmodel.io/v1", api_key=os.environ["BIGMODEL_API_KEY"])

for model in client.models.list():
    print(model.id)
```

```js [Node.js]
import OpenAI from 'openai'

const client = new OpenAI({baseURL: 'https://bigmodel.io/v1', apiKey: process.env.BIGMODEL_API_KEY})

for await (const model of client.models.list()) console.log(model.id)
```

已配置模型的分组的响应示例（具体 ID 取决于你的分组）：

```json
{
  "object": "list",
  "data": [
    {"id": "glm-5.3", "type": "model", "display_name": "glm-5.3", "created_at": "2024-01-01T00:00:00Z"},
    {"id": "kimi-k3", "type": "model", "display_name": "kimi-k3", "created_at": "2024-01-01T00:00:00Z"}
  ]
}
```

## 说明

- **把 `id` 作为 `model` 使用。** 对已配置的模型，`display_name` 与 `id` 相同，`created_at` 是固定占位值，不是发布日期。
- **空列表或默认列表。** 分组没有配置模型时，仅对话补全分组（DeepSeek、GLM 平台）返回空列表，其他分组可能返回该平台的内置默认列表。默认列表不代表分组真的提供这些模型。加上 `?configured_only=true` 可以拿到空列表而不是默认列表。
- **价格和介绍**不在这个响应里，请看[模型目录](https://bigmodel.io/zh-cn/models)和[模型 ID](https://bigmodel.io/zh-cn/docs/model-ids)。
- **余额为 0 时返回 `403` `INSUFFICIENT_BALANCE`**，即使列模型本身不收费。请到[充值](https://bigmodel.io/purchase)页面充值，或使用不需要余额的 [`GET /v1/usage`](https://bigmodel.io/zh-cn/docs/api-usage)。完整列表见[错误码](https://bigmodel.io/zh-cn/docs/errors)。

## 相关文档

- [模型 ID](https://bigmodel.io/zh-cn/docs/model-ids)
- [模型目录](https://bigmodel.io/zh-cn/models)
- [认证与 API Key](https://bigmodel.io/zh-cn/docs/authentication)
