# 模型列表

> 列出这把 Key 能调用的模型、模型 id 的格式，以及扩展字段的含义。

来源：https://www.scirouter.cn/docs/models · 更新于 2026-09-23

```http
GET https://api.scirouter.cn/v1/models
GET https://api.scirouter.cn/v1/models/{model_id}
```

和 OpenAI 的模型接口同一个形状，另附一个 `scirouter` 扩展字段。

## 模型 id

形如 `厂商/模型名`，例如 `bio/protein-72b`：

- 前一段是**接入这条线路的厂商**，只含小写字母、数字、`.`、`_`、`-`；
- 后一段是模型名，可以含大写字母；
- 调用时 `model` 字段原样填这一整串。

**不要从展示名推 id**，以列表接口返回的为准。

## 列出能调用的模型

```bash
curl https://api.scirouter.cn/v1/models \
  -H "Authorization: Bearer $SCIROUTER_API_KEY"
```

```json
{
  "object": "list",
  "data": [
    {
      "id": "bio/protein-72b",
      "object": "model",
      "created": 1757894400,
      "owned_by": "bio",
      "scirouter": {
        "domain": "life-science",
        "display_name": "Protein 72B",
        "status": "available",
        "pricing": [
          { "dimension": "input_tokens", "dimension_label": "输入", "unit": "1M tokens", "ratio_micro": 100 }
        ]
      }
    }
  ]
}
```

**只列这把 Key 此刻能调用的模型**：已下线的不列，Key 白名单与套餐之外的不列。
所以同一个账号下两把 Key 拿到的列表可能不一样——这是对的，列表回答的是「用这把 Key 能调谁」。

`scirouter` 扩展字段：

| 字段 | 含义 |
|---|---|
| `domain` | 所属科研领域：`life-science`、`medicine`、`chemistry`、`materials`、`physics`、`math`、`earth`、`agriculture`、`environment`、`engineering`、`cs`、`general` |
| `display_name` | 展示名，给人看的 |
| `status` | `available`（正常）/ `degraded`（部分线路异常，仍可调用）/ `maintenance`（维护中） |
| `pricing` | 计价维度列表。维度不止输入 / 输出两种，见「多厂商差异」；换算成价格以模型详情页和控制台账单为准 |

官方 SDK 会忽略它不认识的 `scirouter` 字段，`client.models.list()` 照常可用。

## 查一个模型

```bash
curl https://api.scirouter.cn/v1/models/bio/protein-72b \
  -H "Authorization: Bearer $SCIROUTER_API_KEY"
```

id 里的 `/` 直接写在路径里即可，写成 `bio%2Fprotein-72b` 也认。

**看不到的模型一律 404 `model_not_found`**，不区分「不存在」和「这把 Key 无权调用」——
后者如果返回 403，等于告诉任何拿到 Key 的人「平台上有这个模型」。
而调用接口对白名单外的模型返回的是 403 `model_not_allowed`：那时你已经明确点名要它了，告诉你「不许」才有用。

## 挑模型

列表适合程序读。要**比较**模型——能力、上下文长度、价格、近期可用率——去[模型中心](https://www.scirouter.cn/models)，
可以按领域筛选，最多五个并排对比。
