API Reference
模型网关 API Reference
当前公开网关 https://api.51cowork.com 支持 GPT、Claude、Grok、DeepSeek、GLM 和 Kimi,并提供 Anthropic 与 OpenAI 兼容入口。API Key 来自控制台。
模型请求直接发送到 https://api.51cowork.com。推荐使用 Authorization: Bearer;Anthropic 客户端也可以使用 x-api-key。实际模型 ID 通过 GET /v1/models 获取。
- Gateway
- https://api.51cowork.com
- 认证
- Bearer / x-api-key
- 内容类型
- application/json
- 模型目录
- GET /v1/models
Base URL 与认证
模型请求发送到 Gateway https://api.51cowork.com 的 /v1/... 路径;账户操作通过控制台完成。
Environment
bashexport COWORK_GATEWAY_URL="https://api.51cowork.com"
export COWORK_API_KEY="<key-from-dashboard>"
export COWORK_MODEL="<model-from-gateway>"| 客户端 | Base URL | 客户端追加的路径 |
|---|---|---|
| 直接 HTTP | https://api.51cowork.com | 使用完整 /v1/... 路径 |
| OpenAI SDK / OpenCode / Cursor | https://api.51cowork.com/v1 | /chat/completions 或 /responses |
| Cherry Studio(OpenAI) | https://api.51cowork.com | /v1/chat/completions |
| WorkBuddy(自定义协议) | https://api.51cowork.com/v1/chat/completions | 完整 URL,不再追加 |
| Anthropic SDK / Claude Code | https://api.51cowork.com | /v1/messages |
| Codex | https://api.51cowork.com | wire_api = responses |
| 认证方式 | Header |
|---|---|
| 推荐 | Authorization: Bearer <API_KEY> |
| Anthropic 兼容 | x-api-key: <API_KEY> |
| Gemini 兼容(若当前分组提供) | x-goog-api-key: <API_KEY> |
GET /v1/models
读取当前 Key 所属分组实际提供的模型目录。
cURL
bashcurl "$COWORK_GATEWAY_URL/v1/models" \
-H "Authorization: Bearer $COWORK_API_KEY"- 支持的模型系列包括 GPT、Claude、Grok、DeepSeek、GLM 和 Kimi。
- 使用响应中的精确模型 ID,不把系列名称直接作为 ID,也不根据品牌名猜测。
- 模型列表为空或目标模型缺失时,先核对 Key、分组和运营配置。
- 缓存模型列表时设置短有效期,并允许用户手动刷新。
POST /v1/messages
Anthropic Messages 兼容入口。
Anthropic Messages
bashcurl "$COWORK_GATEWAY_URL/v1/messages" \
-H "x-api-key: $COWORK_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "'"$COWORK_MODEL"'",
"max_tokens": 256,
"messages": [{"role": "user", "content": "Hello"}]
}'发起生成前,可以用相同的模型和 messages 请求 POST /v1/messages/count_tokens 预计输入 Token。
Count tokens
bashcurl "$COWORK_GATEWAY_URL/v1/messages/count_tokens" \
-H "x-api-key: $COWORK_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "'"$COWORK_MODEL"'",
"messages": [{"role": "user", "content": "Hello"}]
}'| 字段 | 要求 |
|---|---|
| model | 使用 /v1/models 返回的 ID |
| max_tokens | 正整数;由客户端和模型能力共同限制 |
| messages | 至少包含一条合法消息 |
| stream | 可选;true 时返回事件流 |
POST /v1/chat/completions
OpenAI Chat Completions 兼容入口。
Chat Completions
bashcurl "$COWORK_GATEWAY_URL/v1/chat/completions" \
-H "Authorization: Bearer $COWORK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "'"$COWORK_MODEL"'",
"messages": [{"role": "user", "content": "Hello"}]
}'常用字段包括 model、messages、stream 以及模型支持的采样或工具字段。上游不接受的字段可能被拒绝或按兼容层规则处理,因此不要假设不同模型能力完全相同。
POST /v1/responses
OpenAI Responses 兼容入口,也是 Codex 配置使用的 wire API。
Responses
bashcurl "$COWORK_GATEWAY_URL/v1/responses" \
-H "Authorization: Bearer $COWORK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "'"$COWORK_MODEL"'",
"input": "Explain this repository in three bullets."
}'流式响应
把 stream 设为 true,并让客户端逐个处理服务器发送的事件。cURL 使用 -N 关闭输出缓冲。
Streaming request
bashcurl -N "$COWORK_GATEWAY_URL/v1/chat/completions" \
-H "Authorization: Bearer $COWORK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "'"$COWORK_MODEL"'",
"stream": true,
"messages": [{"role": "user", "content": "Count to five"}]
}'- 设置足够长的读取超时,不要把流式空闲误判为连接失败。
- 客户端主动取消时关闭响应体,避免继续占用连接。
- 响应已经开始后发生错误时,可能无法改写为普通 JSON 错误;保留已收到事件用于诊断。
HTTP 状态与错误处理
| 状态 | 常见含义 | 建议 |
|---|---|---|
| 400 | 请求 JSON、字段或模型参数无效 | 修正请求,不要原样重试 |
| 401 | Key 缺失、错误或已停用 | 重新读取配置;Rotate 后更新旧 Key |
| 402 / 403 | 额度或访问权限不足 | 检查 Key 额度与账户状态 |
| 404 | 路径、模型或当前分组能力不存在 | 刷新模型目录并核对入口 |
| 429 | 当前限流或上游暂不可用 | 读取 Retry-After;带抖动退避 |
| 5xx | 网关或上游暂时失败 | 记录请求信息后有限重试 |
