# 模型列表接口

https://modelportal.ai/docs/api-models?lang=zh

## GET /v1/models

OpenAI 格式，需要密钥。只返回这把密钥能调用（受密钥的可用模型限制）、且有可用报价的模型。

```bash
curl https://modelportal.ai/v1/models -H "Authorization: Bearer YOUR_API_KEY"
```

```json
{"object": "list", "data": [{"id": "deepseek/deepseek-v3.2", "object": "model", "created": 1767225600, "owned_by": "modelportal"}]}
```

Anthropic 格式（带 `anthropic-version` 请求头）和 Gemini 格式（`GET /v1beta/models`）规则相同。

## GET /api/v1/models

平台扩展格式，不需要鉴权。

| 查询参数 | 说明 |
| --- | --- |
| `q` | 按模型名、模型 ID 或发布方搜索 |
| `capability` | 按能力筛选：`tools`、`vision`、`reasoning`、`structured_output` |
| `provider` | 按供应商标识筛选 |
| `data_policy`、`data_region` | `data_policy` 取 `no_retention`、`no_training`；`data_region` 取 `us`、`eu`、`apac`、`cn` |
| `limit`、`cursor` | 分页；响应带 `next_cursor` 时用它取下一页 |

每个模型给出 `slug`（模型 ID）、`display_name`、`capabilities`、`status`、`availability`、`input_limits`、`price_summary`、`provider_count` 和发布方等信息，另带 `offerings`：每个参与路由的报价一项，除了下文详情里的字段，还有：

| 字段 | 说明 |
| --- | --- |
| `config_version` | 当前配置版本号；当前价格版本号是 `price.version` |
| `rpm_limit`、`tpm_limit` | 限额声明，没声明为 `null` |
| `stats_24h` | 近 24 小时成功率与首字延迟，样本不足时为 `null` |
| `rating` | 鹰眼评级摘要，暂未接入，为 `null` |

结果最多缓存 60 秒。

## GET /api/v1/models/{模型 ID}

单个模型的详情，不需要鉴权，模型 ID 里的 `/` 写成 `%2F`。除了列表里的字段，还给出 `offerings`，每个参与路由的报价一项：

| 字段 | 说明 |
| --- | --- |
| `offering_id` | 报价标识，以 `route_` 开头，可以写进 `provider.only` |
| `supplier.slug` | 供应商标识，可以写进 `provider.order`、`only`、`ignore` |
| `status` | 报价状态，如可用、降级 |
| `variant`、`upstream_model`、`source_type` | 变体名、上游模型名、货源类型 |
| `config` | `quantization`、`context_length`、`max_output_tokens`、`capabilities`、`sampling_params` 等配置声明 |
| `data_policy` | 是否留存、留存天数、是否用于训练、数据处理地区、隐私政策链接，没声明的项为 `null` |
| `forbidden_regions` | 禁止服务的地区 |
| `price`、`next_price` | 当前生效的价格版本、最早的待生效版本 |
| `stats_7d` | 近 7 天成功率与首字延迟，样本不足时为 `null` |

```bash
curl https://modelportal.ai/api/v1/models/deepseek%2Fdeepseek-v3.2
```
