API 总览
187API 对外暴露三套协议,互不干扰。挑一套用即可。
协议与路径
| 协议 | 路径前缀 | 主要端点 | 鉴权头 |
|---|---|---|---|
| OpenAI 兼容 | /v1 | /chat/completions、/completions、/embeddings、/responses | Authorization: Bearer *** |
| Anthropic | /v1 | /messages | x-api-key + anthropic-version |
| Gemini | /v1beta | /models/{model}:{action} | x-goog-api-key 或 ?key= |
同一把 key 三套都能用。
已实现的端点
OpenAI 兼容
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /v1/chat/completions | 对话补全(含流式) |
| POST | /v1/completions | 文本补全(旧接口,仍可用) |
| POST | /v1/embeddings | 向量化 |
| POST | /v1/responses | Responses API(另有 GET 走 WebSocket) |
| POST | /v1/responses/compact | Responses 压缩 |
| POST | /v1/moderations | 内容审核 |
| POST | /v1/rerank | 重排序 |
| POST | /v1/audio/speech | 语音合成 |
| POST | /v1/audio/transcriptions | 语音转文字 |
| POST | /v1/audio/translations | 语音翻译 |
| POST | /v1/images/edits | 图像编辑 |
| POST | /v1/alpha/search | 独立搜索(Codex 场景) |
| POST | /v1/tools/search | 工具搜索(DeepSeek 协议) |
| POST | /v1/tools/fetch | 工具抓取(DeepSeek 协议) |
| GET | /v1/realtime | 实时 WebSocket |
| GET | /v1/models | 模型列表 |
| GET | /v1/models/{model} | 单个模型信息 |
Anthropic
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /v1/messages | 消息补全(含流式) |
Gemini
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /v1beta/models/{model}:generateContent | 生成 |
| POST | /v1beta/models/{model}:streamGenerateContent | 流式生成 |
未实现(会明确返回错误)
以下端点不提供,请求会得到错误响应,而不是静默降级:
POST /v1/images/variations
GET /v1/files
POST /v1/files
GET /v1/files/{id}
GET /v1/files/{id}/content
DELETE /v1/files/{id}
POST /v1/fine-tunes
GET /v1/fine-tunes
GET /v1/fine-tunes/{id}
POST /v1/fine-tunes/{id}/cancel
GET /v1/fine-tunes/{id}/events
DELETE /v1/models/{model}
POST /v1beta/models/{model}:countTokens
:::warning 别在客户端静默吞掉这些错误
countTokens 请求会返回 404,不是"返回 0"。如果你的 SDK 依赖它做
上下文预算,需要自己实现本地估算。
:::
通用请求头
| 头 | 值 | 说明 |
|---|---|---|
Content-Type | application/json | 必须 |
Authorization | Bearer <key> | OpenAI 协议 |
x-api-key | <key> | Anthropic |
anthropic-version | 2023-06-01 | Anthropic 必须 |
Accept | text/event-stream | 流式时可选 |
响应格式
OpenAI 协议走标准 OpenAPI 结构;Anthropic 走 content 块数组;出错时统一是:
{
"error": {
"code": "...",
"message": "... (request id: xxx)",
"type": "new_api_error"
}
}
message 末尾的 request id 排障时请一并提供。