接口文档
本平台提供与 OpenAI 兼容的 HTTP 接口。任何支持自定义 Base URL 的客户端 (ChatBox、NextChat、Cherry Studio、各类 SDK)都可以直接接入。
- Base URL
https://deepseek.etgq.com/v1- 备用地址
http://124.221.197.203:2000/v1- 鉴权方式
Authorization: Bearer sk-...- 内容类型
application/json
快速开始
1. 创建 API key
登录后进入 API keys 页面创建。 完整 key 只在创建时显示一次,之后列表里只显示脱敏值,请及时保存。
2. 发一次请求
# 命令行 curl https://deepseek.etgq.com/v1/chat/completions \ -H "Authorization: Bearer sk-你的key" \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-v4.1-flash", "messages": [{"role": "user", "content": "你好"}] }'
# Python(openai 官方 SDK) from openai import OpenAI client = OpenAI( api_key="sk-你的key", base_url="https://deepseek.etgq.com/v1", ) resp = client.chat.completions.create( model="deepseek-v4.1-flash", messages=[{"role": "user", "content": "你好"}], ) print(resp.choices[0].message.content)
// Node.js import OpenAI from "openai"; const client = new OpenAI({ apiKey: "sk-你的key", baseURL: "https://deepseek.etgq.com/v1", }); const resp = await client.chat.completions.create({ model: "deepseek-v4.1-flash", messages: [{ role: "user", content: "你好" }], }); console.log(resp.choices[0].message.content);
鉴权
所有接口都需要在请求头里带上平台签发的 key:
Authorization: Bearer sk-xxxxxxxxxxxxxxxx
key 缺失或无效会返回 401,响应体是标准错误结构。
平台只保存 key 的 SHA-256 哈希,不保存明文,因此 key 丢失无法找回,只能重新创建。
列出模型
GET /v1/models
返回当前账号可用的模型列表。列表来自「启用渠道里配置的模型」的并集, 渠道里没配的模型不会出现在这里。
响应示例
{
"object": "list",
"data": [
{
"id": "deepseek-v4.1-flash",
"object": "model",
"created": 1792177803,
"owned_by": "deepseek-platform"
}
]
}
对话补全
POST /v1/chat/completions
请求体与 OpenAI 规范一致,字段会原样转发给上游模型服务。
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型名,取自 /v1/models 的返回值 |
messages | array | 是 | 对话消息,role 为 system / user / assistant |
stream | boolean | 否 | 为 true 时以 SSE 流式返回 |
max_tokens | integer | 否 | 最大输出 token 数 |
temperature | number | 否 | 采样温度 |
top_p | number | 否 | 核采样 |
stop | string / array | 否 | 停止词 |
除以上字段外,其它 OpenAI 兼容参数也会原样透传。
响应示例
{
"id": "cmb-1e9b9f7fc99711f1",
"object": "chat.completion",
"created": 1792178632,
"model": "deepseek-v4.1-flash",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "你好!有什么可以帮你?" },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 38,
"completion_tokens": 20,
"total_tokens": 58
}
}
流式输出
把 "stream": true 传进去,响应会变成
text/event-stream,每个 chunk 以 data: 开头,
最后以 data: [DONE] 结束。
curl -N https://deepseek.etgq.com/v1/chat/completions \ -H "Authorization: Bearer sk-你的key" \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-v4.1-flash", "messages": [{"role": "user", "content": "数到五"}], "stream": true }'
响应片段:
data: {"id":"cmb-...","object":"chat.completion.chunk","choices":[{"delta":{"content":"1"}}]}
data: {"id":"cmb-...","object":"chat.completion.chunk","choices":[{"delta":{"content":",2"}}]}
data: [DONE]
平台会边转发边统计用量,客户端断开连接时上游请求也会被取消。
错误码
错误响应统一为下面的结构:
{
"error": {
"message": "API key 无效",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
| HTTP | code | 含义与处理 |
|---|---|---|
| 401 | missing_api_key | 没带 Authorization 头 |
| 401 | invalid_api_key | key 不存在、已删除或已失效,去「API keys」重新创建 |
| 400 | — | 请求体不是合法 JSON,或缺 model 字段 |
| 404 | model_not_found | 没有渠道提供该模型;错误信息里会列出当前可用模型 |
| 404 | unknown_endpoint | 路径不对,只提供 /v1/models 与 /v1/chat/completions |
| 502 | upstream_unreachable | 上游渠道超时或不可用,可稍后重试 |
上游返回错误时,平台会把上游的状态码和响应体原样透传,方便定位问题。
说明与限制
- 模型列表:等于「启用渠道里配置的模型」的并集。管理员在渠道里勾了哪些,这里就有哪些。
- 路径容错:
/models、/chat/completions、/api/v1/models这些写法也都认,客户端里 Base URL 带不带/v1都行。 - 计费:按实际 token 计费,费用从账户余额扣除,明细可在「用量信息」页查看。
- 上下文长度:取决于上游模型本身,本平台不做额外截断。
- 超时:平台对上游的等待上限是 300 秒。
常见问题
返回 401 invalid_api_key
key 不对、被删了,或者是早期创建的旧 key。去 API keys 页面重新创建一个再试。
返回 404 model_not_found
请求的模型没有在任何启用渠道里配置。错误信息会直接告诉你当前可用的模型名。 如果确实需要该模型,联系管理员在后台渠道里加上。
能拉到模型列表但调用失败
多半是上游渠道的问题。响应里的 message 会带上上游返回的具体原因。
流式输出没有逐字出现
检查客户端或中间代理是否开了缓冲。用 curl -N
可以跳过 curl 自身的缓冲直接观察。
本页面描述的是本平台的接口行为。上游模型的具体能力与限制请以对应模型的官方说明为准。