DrAI API 参考
OpenAI 兼容接口的完整说明:Chat Completions、模型列表、流式响应与错误码。所有端点共用同一个 Base URL:https://api.dr-ai.top/v1。
身份认证
所有端点都需要在请求头中携带 Bearer Token:
Authorization: Bearer sk-你的API密钥
Key 缺失或无效时返回 401 invalid_api_key。在 控制台 创建 API Key。
Chat Completions
POST/v1/chat/completions
在订阅范围内的任意模型上生成对话补全,支持流式输出、工具调用(function calling)与多模态图像输入。
curl https://api.dr-ai.top/v1/chat/completions -H "Authorization: Bearer sk-你的API密钥" -H "Content-Type: application/json" -d '{
"model": "gpt-5-mini",
"messages": [
{"role": "system", "content": "You are a precise assistant."},
{"role": "user", "content": "Summarize the DrAI API in one line."}
],
"temperature": 0.7,
"max_tokens": 300,
"stream": false
}'
请求参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
model 必填 | string | — | 模型 ID,例如 gpt-5-mini、gpt-5、claude-opus-4、deepseek-chat。完整列表见 模型目录。 |
messages 必填 | array | — | 对话历史。每条包含 role(system | user | assistant | tool)和 content。 |
temperature | number | 1.0 | 采样温度,取值 0–2。越低越确定,越高越有创造力。 |
max_tokens | integer | 模型默认值 | 最大生成 token 数(含推理 token)。 |
stream | boolean | false | 设为 true 时,响应以 SSE 事件流(server-sent events)方式返回。 |
top_p | number | 1.0 | 核采样(nucleus sampling)。建议只调整 temperature 或 top_p 其中之一。 |
stop | string | array | null | 最多 4 个停止序列,命中后 API 停止生成。 |
tools | array | null | 工具调用(function calling)的函数定义,使用 OpenAI 标准格式。 |
响应示例
{
"id": "chatcmpl-9xK2mQ7rF...",
"object": "chat.completion",
"created": 1786910400,
"model": "gpt-5-mini",
"choices": [{
"index": 0,
"message": {"role": "assistant", "content": "..."},
"finish_reason": "stop"
}],
"usage": {"prompt_tokens": 24, "completion_tokens": 45, "total_tokens": 69}
}
流式响应(SSE)
设置 "stream": true 后,token 会以 server-sent events 逐块返回。每个事件是一行 data: 开头的 JSON,包含 choices[0].delta 增量;流以 data: [DONE] 结束。
# curl -N https://api.dr-ai.top/v1/chat/completions ... -d '{"model":"gpt-5-mini",...,"stream":true}'
data: {"id":"chatcmpl-9xK2mQ7rF...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]}
data: {"id":"chatcmpl-9xK2mQ7rF...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Hello"},"finish_reason":null}]}
data: {"id":"chatcmpl-9xK2mQ7rF...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"!"},"finish_reason":null}]}
data: {"id":"chatcmpl-9xK2mQ7rF...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]
所有 OpenAI 兼容 SDK 都原生支持该格式 —— 例如 Python:for chunk in client.chat.completions.create(..., stream=True)。
模型列表
GET/v1/models
返回当前账号可用的全部模型 ID。
curl https://api.dr-ai.top/v1/models -H "Authorization: Bearer sk-你的API密钥"
{
"object": "list",
"data": [
{"id": "gpt-5", "object": "model", "created": 1755000000, "owned_by": "openai"},
{"id": "gpt-5-mini", "object": "model", "created": 1755000000, "owned_by": "openai"},
{"id": "claude-opus-4", "object": "model", "created": 1755000000, "owned_by": "anthropic"}
]
}
完整且实时更新的模型清单见 模型目录 页面。
错误码
错误使用 OpenAI 标准错误结构返回:{"error": {"message": "...", "type": "...", "code": "..."}}。
| 状态码 | 类型 / code | 含义 | 处理方法 |
|---|---|---|---|
400 | invalid_request_error | JSON 格式错误、缺少 model 或 messages、参数取值非法。 | 对照上面的参数表校验请求体。 |
401 | invalid_api_key | Authorization 请求头缺失或无效。 | 在控制台重新生成 Key,并检查请求头格式。 |
404 | model_not_found | 模型 ID 不存在,或不在你的套餐范围内。 | 对照 模型目录 检查 ID。 |
429 | rate_limit_exceeded / insufficient_quota | 请求过于频繁,或订阅额度已用完。 | 按 Retry-After 响应头退避;持续超限可升级套餐。 |
500 | server_error | 服务端内部错误。 | 指数退避重试;关注 status.dr-ai.top 状态页。 |
503 | overloaded | 上游模型服务商过载。 | 稍等片刻重试,或切换到其他模型。 |
重试建议: 对
429、500、503 使用指数退避重试(例如 1s → 2s → 4s,并加入随机抖动)。400 与 401 属于请求本身的问题,不修改请求就不要重试。开始构建吧
协议已经全部掌握。现在拿一个 Key,马上开跑 —— 全部 18+ 模型,一个订阅搞定。
免费开始使用 返回快速开始