tokrouterdocs
API 参考

Chat Completions

POST /v1/chat/completions 的请求字段、响应结构与流式行为。

POST https://api.tokrouter.dev/v1/chat/completions
Authorization: Bearer sk-…
Content-Type: application/json

这是最通用的入口:OpenAI 协议,绝大多数客户端与框架默认走它。

请求字段

字段类型必填说明
modelstring是模型 id,见模型
messagesarray是消息数组,元素含 role(system / user / assistant / tool)与 content
streamboolean否true 时返回 SSE,见流式输出
max_tokensinteger否输出 token 上限
temperaturenumber否采样温度
top_pnumber否核采样
stopstring / array否停止词
toolsarray否function calling 的工具声明,见工具调用
tool_choicestring / object否auto / none / 指定函数
response_formatobject否结构化输出约束,见结构化输出
userstring否调用方自定义的终端用户标识

字段是 OpenAI 协议的子集

网关按 OpenAI Chat Completions 语义解释请求,再映射到目标厂商。厂商独占字段不保证生效 —— 见协议互转的「已知边界」。

响应

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "created": 1793000000,
  "model": "gpt-5.4-mini",
  "choices": [
    {
      "index": 0,
      "message": {"role": "assistant", "content": "你好"},
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 3,
    "total_tokens": 15
  }
}

usage 里的 prompt_tokens_details.cached_tokens(若有)对应缓存读的计费部分。

流式

stream: true 时,每个 chunk 是 choices[0].delta,以 data: [DONE] 结束。 usage 通常只出现在最后一个 chunk(部分上游不返回)。

状态码

状态码含义
200成功(流式时也是 200,错误发生在流建立之后会以事件形式出现)
400请求体不合法,例如 model 不存在
401鉴权失败,见鉴权
429限流或额度上限
5xx上游厂商错误

具体的错误 type / code 来自上游,不在本页枚举。