查询可用模型
模型广场展示平台当前提供的模型,而模型查询接口返回当前 API 密钥实际可以访问的模型。发送正式请求前,建议先查询一次模型列表,并从响应中复制准确的模型 ID。
查询前准备
请先准备一枚状态正常的 Bita API 密钥,并确认密钥未过期、额度充足且已选择所需分组。复制示例后,将其中的 YOUR_BITA_API_KEY 直接替换为自己的完整密钥。
示例使用 Python 的 requests 库。尚未安装时,请先执行:
python -m pip install requests
使用 OpenAI 兼容格式查询
这是最通用的查询方式,适用于 OpenAI SDK 和大多数第三方客户端。
import requests
response = requests.get(
"https://www.bita-api.com/v1/models",
headers={"Authorization": "Bearer YOUR_BITA_API_KEY"},
timeout=30,
)
response.raise_for_status()
result = response.json()
for model in result.get("data", []):
print(model["id"])
响应通常采用下面的结构:
{
"object": "list",
"data": [
{
"id": "模型 ID",
"object": "model"
}
]
}
data 是模型数组,data[].id 是后续请求中应填写的模型 ID。例如:
{
"model": "从 data[].id 复制的模型 ID"
}
使用 Anthropic 兼容格式查询
Anthropic SDK 或相关工具需要 Anthropic 格式的模型列表时,请同时携带 x-api-key 和 anthropic-version:
import requests
response = requests.get(
"https://www.bita-api.com/v1/models",
headers={
"x-api-key": "YOUR_BITA_API_KEY",
"anthropic-version": "2023-06-01",
},
timeout=30,
)
response.raise_for_status()
result = response.json()
for model in result.get("data", []):
print(model["id"])
响应中的 data[].id 是 Anthropic Messages 请求使用的模型 ID。不同客户端显示的附加字段可能不同,应始终以 id 为准。
使用 Gemini 兼容格式查询
Gemini 原生格式使用 /v1beta/models 路径,并通过 x-goog-api-key 请求头传递密钥。
import requests
response = requests.get(
"https://www.bita-api.com/v1beta/models",
headers={"x-goog-api-key": "YOUR_BITA_API_KEY"},
timeout=30,
)
response.raise_for_status()
result = response.json()
for model in result.get("models", []):
print(model["name"])
Gemini 格式的响应通常类似:
{
"models": [
{
"name": "models/模型 ID",
"supportedGenerationMethods": [
"generateContent"
]
}
]
}
models[].name 通常带有 models/ 前缀。使用 Gemini 原生接口时,应根据客户端的字段要求传递模型名称;直接拼接请求路径时,地址格式为:
https://www.bita-api.com/v1beta/models/模型 ID:generateContent
Bita API 会根据请求路径和鉴权请求头返回对应协议的模型列表。OpenAI 和 Anthropic 都使用 /v1/models,但鉴权请求头不同;Gemini 使用 /v1beta/models。
模型广场与接口结果的区别
| 对比项 | 模型广场 | 模型查询接口 |
|---|---|---|
| 展示范围 | 平台当前提供的模型 | 当前 API 密钥实际可以访问的模型 |
| 主要用途 | 搜索、筛选、比较价格和查看分组 | 获取可用于请求的模型 ID |
| 是否受密钥分组影响 | 可以手动查看不同分组 | 直接按照当前密钥分组返回 |
| 价格信息 | 展示输入、输出、缓存等价格 | 通常不提供完整价格信息 |
因此,模型广场中可以看到的模型不一定会出现在当前密钥的查询结果中。最终能否调用,应以当前密钥查询到的列表和实际请求结果为准。
没有找到目标模型
如果请求成功,但列表中没有目标模型,请依次检查:
- API 密钥选择的分组是否支持该模型。
- 密钥是否设置了模型限制。
- 模型广场中的模型 ID 是否复制完整。
- 查询时使用的接口格式是否与目标工具一致。
- 该模型当前是否仍在平台启用。
更换密钥分组需要创建或使用对应分组的密钥,不能通过修改请求中的 model 绕过分组限制。
常见错误
| 状态或现象 | 常见原因 | 处理方法 |
|---|---|---|
401 | 缺少密钥或鉴权请求头格式错误 | 检查 Bearer、x-api-key 或 x-goog-api-key 请求头 |
403 | 密钥被禁用、已过期或权限不足 | 检查密钥状态、有效期、分组和模型限制 |
404 | 请求路径错误 | OpenAI/Anthropic 使用 /v1/models,Gemini 使用 /v1beta/models |
| 返回空列表 | 当前密钥没有可用模型 | 检查分组、模型限制以及平台模型状态 |
| 找到模型但调用失败 | 模型不支持所选端点 | 在模型广场确认端点类型,例如 Chat、Response、Anthropic 或 Gemini |
Gemini 兼容接口也可能接受 ?key=... 查询参数,但 URL 更容易被代理、历史记录或访问日志保存。能够配置请求头时,建议使用 x-goog-api-key。
获取模型 ID 后,可以继续使用对应协议发送请求: