首页/API 文档

API 接入文档

完全兼容 OpenAI 接口规范。把现有代码的 base_url 指向我们的地址, 其余一行都不用改。

接口版本 v1 · 最近更新:____年__月__日

认证

所有请求都需要在 HTTP 头携带 Bearer 令牌。令牌在控制台「令牌」页面创建, 格式以 sk- 开头。

HEADER Authorization: Bearer sk-你的令牌
令牌等同密码。请勿提交到代码仓库、前端页面或客户端程序中。 如不慎泄露,请立即在控制台删除该令牌并重新创建——删除即时生效。

如果你的令牌丢失或被泄露,控制台可一键禁用。每个账号可创建多个令牌, 建议按「应用 / 环境」拆分,便于分别统计用量和单独吊销。

聊天补全

最核心的接口,向模型发送一组消息并获得回复。

POST https://api.xu55.cn/v1/chat/completions
curl https://api.xu55.cn/v1/chat/completions \
  -H "Authorization: Bearer sk-你的令牌" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-chat",
    "messages": [
      {"role": "system", "content": "你是一个简洁的助手"},
      {"role": "user", "content": "用一句话解释什么是向量数据库"}
    ],
    "temperature": 0.7,
    "max_tokens": 1024
  }'
from openai import OpenAI

client = OpenAI(
    api_key="sk-你的令牌",
    base_url="https://api.xu55.cn/v1",
)

resp = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "你是一个简洁的助手"},
        {"role": "user", "content": "用一句话解释什么是向量数据库"},
    ],
    temperature=0.7,
    max_tokens=1024,
)
print(resp.choices[0].message.content)
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-你的令牌",
  baseURL: "https://api.xu55.cn/v1",
});

const resp = await client.chat.completions.create({
  model: "deepseek-chat",
  messages: [
    { role: "system", content: "你是一个简洁的助手" },
    { role: "user", content: "用一句话解释什么是向量数据库" },
  ],
  temperature: 0.7,
  max_tokens: 1024,
});
console.log(resp.choices[0].message.content);

请求参数

参数类型说明
model 必填string 模型标识,如 deepseek-chatqwen-max。可用值见「模型列表」接口。
messages 必填array 对话消息数组,每项含 role(system / user / assistant)与 content
temperaturenumber采样温度,0–2,默认 1。值越小输出越确定。
top_pnumber核采样概率阈值,与 temperature 二选一调节即可。
max_tokensinteger本次生成的最大 token 数。留空则由上游决定。
streamboolean是否以 SSE 流式返回,默认 false
stopstring / array遇到该字符串时停止生成。

响应示例

JSON
{
  "id": "chatcmpl-9Zk2xQvB1nT7",
  "object": "chat.completion",
  "created": 1757701200,
  "model": "deepseek-chat",
  "choices": [
    {
      "index": 0,
      "message": { "role": "assistant", "content": "向量数据库是专门存储和检索向量……" },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 28,
    "completion_tokens": 64,
    "total_tokens": 92
  }
}
usage 中的 token 数即为本次扣费依据。用量在控制台「日志」页可逐条核对。

流式输出

设置 stream: true 后,响应会以 SSE(Server-Sent Events)逐块返回, 适合聊天界面等需要即时反馈的场景。

curl https://api.xu55.cn/v1/chat/completions \
  -H "Authorization: Bearer sk-你的令牌" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-chat",
    "messages": [{"role": "user", "content": "讲个故事"}],
    "stream": true
  }'
from openai import OpenAI

client = OpenAI(api_key="sk-你的令牌", base_url="https://api.xu55.cn/v1")

stream = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "讲个故事"}],
    stream=True,
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

每个数据块形如 data: {"choices":[{"delta":{"content":"..."}}]}, 流以 data: [DONE] 结束。

模型列表

获取当前令牌可访问的全部模型。

GET https://api.xu55.cn/v1/models
cURL
curl https://api.xu55.cn/v1/models \
  -H "Authorization: Bearer sk-你的令牌"

返回的 id 即为聊天补全接口中 model 字段的取值。 实际可用模型以控制台为准,随上游持续扩充。

用量与计费

按实际消耗的 token 数计费,公式为: 费用 = (输入 tokens × 输入单价 + 输出 tokens × 输出单价) × 分组倍率。 不同模型的单价不同,控制台「定价」页可查到实时倍率表。

  • 充值余额:用多少扣多少,不过期,不退现金(依服务条款第三条)。
  • 包月订阅:每月发放固定额度,按月重置,未用完不累计。
  • 逐条明细:每次调用的时间、模型、用量与费用均可查。
扣费发生在请求完成之后。若上游返回错误(如模型超时、内容被拒), 本次调用不计费。

错误码

遵循 OpenAI 的错误格式,HTTP 状态码 + error 对象。

状态码类型含义与处理建议
400invalid_request_error请求参数有误。检查 model 是否拼写正确、必填字段是否齐全。
401invalid_api_key令牌无效或已禁用。确认请求头格式,必要时重建令牌。
402insufficient_quota余额不足。充值后自动恢复,无需重启服务。
404not_found模型不存在或当前分组无权访问。核对模型列表。
429rate_limit_exceeded触发速率限制。按指数退避重试,或申请提升额度。
500server_error服务内部错误,本次不计费。可安全重试。
503upstream_unavailable上游模型服务不可用。建议换用同类模型或稍后重试。
建议客户端统一实现指数退避重试(首次 1s,逐次翻倍,最多 3 次), 并对 429 与 5xx 做差异化处理。

速率限制

为保障稳定性,系统按令牌维度限制并发与请求频率。达到上限时返回 429, 响应头会带上重置时间。

限制项默认值说明
请求频率300 次 / 分钟超出后按 429 拒绝;短时突发最多 10 次。
并发请求8 路超出的请求返回 503,建议客户端做指数退避重试。
单请求超时600 秒超时按失败处理并中断计费。

有更高并发需求的场景,可发邮件到 support@xu55.cn 申请调整配额, 我们会按实际用量评估后答复。