模型接口
区分需 API Key 的协议模型列表与公开模型目录,查询模型标识、能力标签和上下文长度。
模型目录是客户端获取模型标识的可靠来源:列表由启用状态和可用渠道动态生成,不要在客户端硬编码模型名。
GET /v1/models 返回 OpenAI、Anthropic 或 Gemini 协议模型列表,所有协议均要求有效的 Dimleap API Key。模型广场使用独立的 GET /v1/public/models,无需登录或 API Key,返回平台信封(success + data.models)。
路由与响应形态
GET /v1/models 按以下优先级选择协议,鉴权成功后返回相应列表:
anthropic-version请求头非空,或存在x-api-key请求头:Anthropic 格式。- 否则,存在
key查询参数或x-goog-api-key请求头:Gemini 格式。 - 其他情况:OpenAI 格式,使用
Authorization: Bearer <API_KEY>鉴权。
GET /v1beta/models 固定返回 Gemini 格式,同样要求有效 API Key。
协议列表与公开目录相互独立:携带凭据不会让
/v1/models返回模型广场的平台信封;缺失或无效的 API Key 返回401。请勿混用不同协议的鉴权头,以免选中非预期的协议。
OpenAI 兼容入口
GET /v1/models
curl "${BASE_URL}/v1/models" \
-H "Authorization: Bearer ${APIQIK_API_KEY}"响应
{
"object": "list",
"data": [
{
"id": "glm-5.1",
"object": "model",
"created": 1626777600,
"owned_by": "zhipu"
}
]
}| 字段 | 说明 |
|---|---|
object | 固定为 list。 |
data[].id | 请求 model 字段使用的精确标识。 |
data[].object | 固定为 model。 |
data[].created | 固定时间戳 1626777600,与源站口径对齐,不随部署变化。 |
data[].owned_by | 模型所属供应商标识;未匹配到供应商时为 custom。 |
该列表是「启用且存在可用渠道」的模型全集,不接受分页或过滤参数。需要按能力、标签、厂家筛选,或需要上下文长度等元信息时,使用下方的平台目录。
Anthropic 兼容入口
仍为 GET /v1/models,anthropic-version 请求头非空或存在 x-api-key 请求头时选择 Anthropic 格式。鉴权优先使用 x-api-key;仅在该头不存在时使用 Bearer。
curl "${BASE_URL}/v1/models" \
-H "x-api-key: ${APIQIK_API_KEY}" \
-H "anthropic-version: 2023-06-01"响应中的 created_at 位于每个模型对象内;列表不分页,has_more 为 false,空列表的 first_id 与 last_id 为 null。
{
"data": [
{
"type": "model",
"id": "glm-5.1",
"display_name": "glm-5.1",
"created_at": "2021-07-20T10:40:00Z"
}
],
"first_id": "glm-5.1",
"has_more": false,
"last_id": "glm-5.1"
}Gemini 兼容入口
GET /v1beta/models
鉴权依次使用 key 查询参数、x-goog-api-key 请求头、Bearer。仅在前一凭据来源不存在时尝试下一来源;空值或格式错误不会回退到另一凭据。
curl "${BASE_URL}/v1beta/models" \
-H "x-goog-api-key: ${APIQIK_API_KEY}"也可以请求 GET /v1/models 并使用 key 或 x-goog-api-key 选择 Gemini 格式;仅带 Bearer 的 /v1/models 请求返回 OpenAI 格式。响应为:
{
"models": [
{
"name": "models/glm-5.1",
"displayName": "glm-5.1",
"supportedGenerationMethods": ["generateContent", "streamGenerateContent"]
}
]
}name 固定带 models/ 前缀,Google SDK 依赖该前缀解析模型标识。
平台模型目录(模型广场)
GET /v1/public/models
公开的业务模型目录接口,无需登录或 API Key,返回平台信封,适合前端渲染筛选器或展示模型广场。它不是 OpenAI SDK 的模型列表接口。
curl "${BASE_URL}/v1/public/models?availableOnly=true&page=1&pageSize=20"查询参数
| 参数 | 说明 |
|---|---|
availableOnly | 只返回当前可调用的模型。生产环境建议固定开启。 |
page、pageSize | 分页。目录规模较大,pageSize=100 的响应可能较大,建议按需分页拉取。 |
capability、capabilities | 按能力过滤,当前为 chat、image、video。 |
vendors、tags、billingModes | 复数过滤字段,服务端合并去重,同维度按 OR 处理。 |
contextRanges | 上下文区间,取值为 SHORT、MEDIUM、LONG、EXTRA_LONG。 |
sort | 排序方式,DEFAULT、LATEST、RECOMMENDED,空值按 DEFAULT 处理。 |
lang | 标签统计语言,zh 返回中文标签,其他值或不传返回英文标签。 |
响应
{
"success": true,
"data": {
"total": 70,
"page": 1,
"pageSize": 20,
"models": [
{
"id": "11",
"name": "glm-5.1",
"vendorName": "智谱",
"capabilities": ["chat"],
"tags": ["文本生成", "复杂推理", "工具调用", "代码生成"],
"contextWindow": 200000,
"maxOutputTokens": 128000,
"isAvailable": true
}
],
"filterStats": {
"capabilities": [
{ "value": "chat", "count": "46" },
{ "value": "image", "count": "8" },
{ "value": "video", "count": "16" }
]
}
}
}| 字段 | 说明 |
|---|---|
data.models[].name | 请求 model 字段使用的精确标识。 |
data.models[].capabilities | 能力分类,当前为 chat、image、video。 |
data.models[].tags | 细分标签,如「视觉理解」「复杂推理」「文生图」。 |
data.models[].contextWindow、maxOutputTokens | 上下文上限与单次输出上限。 |
data.models[].isAvailable | 当前是否可调用。 |
data.filterStats | 全部可用模型按厂家、能力、标签、计费方式的聚合计数,用于渲染筛选器而不必拉全量。 |
id 是目录内部的稳定编号,name 才是模型标识,两者不要混用。
客户端策略
- 三方 SDK 使用对应协议的模型列表入口,并携带有效 Dimleap API Key;OpenAI SDK 使用 Bearer,Anthropic SDK 使用
x-api-key,Gemini SDK 使用/v1beta/models。 - 协议列表是可用模型全集,不按密钥的模型 scope 筛选;列表中存在某个模型不代表该密钥具有实际调用权限。
- 模型目录可以短时缓存,但每次请求都要处理「模型不存在或暂不可用」的失败。
- 用
capabilities与tags做能力筛选,不要靠模型名推断是否支持视觉、视频或工具调用。 - 生产环境固定模型标识时,不要自动降级到语义不同的模型;确需降级应经过显式的白名单。
- 价格、限流与渠道优先级不在本接口中,以控制台的模型详情与计费说明为准。