API 参考

DrAI API 参考

OpenAI 兼容接口的完整说明:Chat Completions、模型列表、流式响应与错误码。所有端点共用同一个 Base URL:https://api.dr-ai.top/v1

2026 年 8 月 16 日更新

身份认证

所有端点都需要在请求头中携带 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-minigpt-5claude-opus-4deepseek-chat。完整列表见 模型目录
messages 必填array对话历史。每条包含 rolesystem | user | assistant | tool)和 content
temperaturenumber1.0采样温度,取值 0–2。越低越确定,越高越有创造力。
max_tokensinteger模型默认值最大生成 token 数(含推理 token)。
streambooleanfalse设为 true 时,响应以 SSE 事件流(server-sent events)方式返回。
top_pnumber1.0核采样(nucleus sampling)。建议只调整 temperaturetop_p 其中之一。
stopstring | arraynull最多 4 个停止序列,命中后 API 停止生成。
toolsarraynull工具调用(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含义处理方法
400invalid_request_errorJSON 格式错误、缺少 modelmessages、参数取值非法。对照上面的参数表校验请求体。
401invalid_api_keyAuthorization 请求头缺失或无效。在控制台重新生成 Key,并检查请求头格式。
404model_not_found模型 ID 不存在,或不在你的套餐范围内。对照 模型目录 检查 ID。
429rate_limit_exceeded / insufficient_quota请求过于频繁,或订阅额度已用完。Retry-After 响应头退避;持续超限可升级套餐。
500server_error服务端内部错误。指数退避重试;关注 status.dr-ai.top 状态页。
503overloaded上游模型服务商过载。稍等片刻重试,或切换到其他模型。
重试建议:429500503 使用指数退避重试(例如 1s → 2s → 4s,并加入随机抖动)。400401 属于请求本身的问题,不修改请求就不要重试。

开始构建吧

协议已经全部掌握。现在拿一个 Key,马上开跑 —— 全部 18+ 模型,一个订阅搞定。

免费开始使用 返回快速开始
🌐 中文