BigModel.io API 参考

BigModel.io OpenAI 与 Anthropic 兼容 API 的 Base URL、认证请求头、错误格式、请求 ID、流式输出和完整接口列表。

本页目录
  1. Base URL
  2. 认证
  3. 接口列表
  4. 错误
  5. 请求 ID
  6. 流式输出
  7. 限制
  8. OpenAPI 文件
  9. 常见问题排查
  10. 相关文档

BigModel.io 用同一个 API Key 提供 OpenAI 和 Anthropic 两种 HTTP 协议。Key 能调用哪些接口和模型,取决于它所在的分组;下面每个接口的参考页都写明了适用的分组。

#Base URL

客户端类型 Base URL 实际请求地址
OpenAI SDK 及 OpenAI 兼容工具 https://bigmodel.io/v1 https://bigmodel.io/v1/chat/completions、/v1/responses、/v1/models 等
Anthropic SDK、Claude Code https://bigmodel.io(不带 /v1) 客户端自己拼上 /v1/messages

本参考中的路径都相对于 https://bigmodel.io/v1。

#认证

在 API Keys 创建 Key,并放在请求头里发送。网关按以下顺序检查,使用第一个出现的:

请求头 值
Authorization Bearer sk-...(Bearer 不区分大小写)
x-api-key sk-...(Anthropic SDK 使用的方式)
bash
curl https://bigmodel.io/v1/models \
  -H "Authorization: Bearer $BIGMODEL_API_KEY"

不接受放在查询参数里的 Key:带 ?key= 或 ?api_key= 的请求会直接返回 400 api_key_in_query_deprecated,即使 Key 本身有效。没带 Key 返回 401 API_KEY_REQUIRED,Key 不存在返回 401 INVALID_API_KEY。

文本和模型接口要求余额大于 0 或有生效中的套餐,否则返回 403。例外是在 POST /v1/chat/completions、/v1/messages、/v1/responses 上调用标价 $0 的模型,余额为 0 时也可以(见 试用额度与免费模型)。如果设置了账户消费上限,达到上限时返回 402 spend_cap_reached。GET /v1/usage 和只读的视频接口不做这项检查。详见认证与 API Key 和计费与充值。

#接口列表

方法与路径 用途 适用分组
POST /v1/chat/completions OpenAI Chat Completions 所有提供文本模型的分组
POST /v1/messages Anthropic Messages Anthropic 分组;允许 Messages 调度的 OpenAI 分组。仅对话补全分组不可用
POST /v1/messages/count_tokens 计算输入 token 数 仅 Anthropic 分组
POST /v1/responses OpenAI Responses(Codex CLI) OpenAI 和 Anthropic 分组。仅对话补全分组不可用
GET /v1/models 分组提供的模型 所有分组
POST /v1/videos 创建视频、数字人或视频工具任务 按量付费的 Key
GET /v1/videos/{id} 查询任务状态和产物链接 创建该任务的同一账户
POST /v1/audio/speech 配音 按量付费的 Key
POST /v1/audio/generations 音乐、音效、音频工具 按量付费的 Key
POST /v1/workflows/short-drama 剧本到成片工作流 按量付费的 Key
GET /v1/usage Key 的额度、余额与用量 所有 Key

"仅对话补全分组"指 DeepSeek、GLM 平台的分组。它们只提供 /v1/chat/completions,调用 /v1/messages、/v1/responses 和 token 计数会返回 404 not_found_error。

#错误

错误的 JSON 结构取决于是哪一层拒绝了请求:

层 结构 示例
Key 与余额检查(路由之前) {"code": "...", "message": "..."} INVALID_API_KEY、INSUFFICIENT_BALANCE
/v1/messages、count_tokens、仅对话补全分组的 404 {"type": "error", "error": {"type": "...", "message": "..."}} not_found_error
/v1/chat/completions、/v1/responses {"error": {"type": "...", "message": "..."}} rate_limit_error
视频接口 {"error": {"type": "<code>", "message": "..."}} insufficient_balance

流式输出开始之后才发生的错误,会以 SSE error 事件返回,而不是 HTTP 状态码。分组不提供的模型或拼错的模型 ID 会返回 503 api_error("No available accounts"),而不是 404。完整错误码和处理方法见错误码。

#请求 ID

每个响应都带 X-Request-ID 响应头。如果你发送了 X-Request-ID,网关会原样返回;否则自动生成一个。部分上游路径会把它替换为模型服务商的请求 ID。建议记录到日志,联系工单支持时一并提供。

该响应头没有通过 CORS 暴露给浏览器。请从你的服务器调用 API,不要在前端代码里调用,以免泄露 Key。

#流式输出

在 Chat Completions、Messages 或 Responses 中设置 "stream": true 即可获得 SSE 流:

  • Chat Completions:chat.completion.chunk 事件,以 data: [DONE] 结束。网关总会要求上游在最后返回用量。
  • Messages:Anthropic 事件流(message_start …… message_stop)。
  • Responses:Responses 事件流(response.created …… response.completed)。GET /v1/responses 是 WebSocket 通道,不带 Upgrade 请求头时返回 426。

详见流式输出。

#限制

  • 请求体最大 256 MiB,超过返回 413。创建视频的请求体最大 1 MiB。
  • 并发和每分钟请求数按用户和分组限制;按 Key 的额度和消费限额是可选的。详见限额与速率和按 Key 限额与预算。
  • 网关自身不发送限流响应头;上游的 x-ratelimit-* 和 retry-after 如果存在会原样透传。

#OpenAPI 文件

这些接口的机器可读描述位于 https://bigmodel.io/openapi.json(OpenAPI 3.1),各参考页的请求和响应表格就是由它生成的。可以导入 Postman、Insomnia 或客户端代码生成器。

#常见问题排查

400 api_key_in_query_deprecated:Key 放在了 URL 里。去掉 ?key= / ?api_key=,改用 Authorization: Bearer。

/v1/messages 或 /v1/responses 返回 404 not_found_error:Key 属于仅对话补全分组。改用 /v1/chat/completions,或换一个提供该接口的分组的 Key。

403 INSUFFICIENT_BALANCE:余额为 0 或已为负。到充值页面充值。

#相关文档

更新于 · 以 Markdown 查看