LoopToken
对话补全 (Chat)

接口说明

POST /v1/chat/completions 通用协议

接口地址

POST /v1/chat/completions

请求体、响应体格式与 OpenAI 官方 Chat Completions 接口保持一致,支持非流式和流式(SSE)两种调用方式。

全部对话模型(glm、qwen、deepseek、minimax、doubao 等系列)共用本页协议,当前可用模型见模型列表GPT 系列上游为 OpenAI 官方实现,支持完整的 OpenAI 参数集(多模态输入、结构化输出、工具调用等);Gemini 系列经协议转换接入,参数支持有差异;推理模型(DeepSeek-R1 系列)与通用协议的差异见推理模型

请求参数

平台处理的字段

以下字段会被平台读取或改写,行为如下:

字段类型必填平台行为
modelstring缺失或为空 → 400 invalid_request;不在该 key 的模型白名单内 → 403 model_not_allowed;平台没有该模型 → 404 model_not_found
messagesarray必须为非空数组;单条消息的 content 支持字符串或多模态数组(多模态数组中平台取其中的 text 块用于估算用量);缺失或不合法 → 400 invalid_request
streamboolean否,默认 falsetrue 时走 SSE 流式响应
max_tokensinteger参与请求发起前的费用预扣估算
stream_optionsobject流式请求下,平台会自动注入 include_usage: true(与你传入的值合并),使流的末尾必定返回 usage

透传参数

以下参数上游网关已适配,平台原样透传;具体是否生效、取值边界仍以所选模型的实际行为为准:

参数类型说明
temperaturefloat采样温度,取值 [0, 2)
top_pfloat核采样概率阈值,取值 (0, 1]
max_completion_tokensint生成最大 Token 数(含推理 Token),上游优先于 max_tokens 读取;注意平台的预扣估算只读 max_tokens
nint生成候选回复数量
stoparray停止生成的字符串列表
seedint随机种子,用于提升可复现性
presence_penaltyfloat存在惩罚,取值 [-2, 2]
toolsarray可调用的工具列表
tool_choicestring/object工具调用策略:"auto" / "none"
response_formatobject输出格式约束,如 {"type": "json_object"}

本表未列出的其他参数同样原样透传,是否生效取决于所选模型的上游实现,平台不做额外处理。

messages 结构

参数类型必填说明
rolestring角色:system / developer / user / assistant / tool
contentstring消息文本内容
角色说明
system系统指令,设定模型行为(如人格、约束、输出格式)
user用户输入
assistant模型回复(用于多轮对话历史)
tool工具执行结果(需配合 tool_call_id)

多轮对话示例:

{
  "model": "qwen-plus",
  "messages": [
    {"role": "system", "content": "你是一个有帮助的 AI 助手"},
    {"role": "user", "content": "什么是量子计算?"},
    {"role": "assistant", "content": "量子计算是利用量子力学原理进行信息处理的计算方式..."},
    {"role": "user", "content": "它和经典计算有什么区别?"}
  ],
  "temperature": 0.7,
  "max_tokens": 2048
}

响应参数

参数类型说明
idstring请求唯一标识
objectstring对象类型:非流式 "chat.completion",流式 "chat.completion.chunk"
createdint64创建时间戳(Unix 秒)
modelstring平台会尽力改写为你请求时使用的平台模型名
choices[].indexint选项索引
choices[].messageobject回复消息(非流式);role 固定为 "assistant",content 为回复文本
choices[].deltaobject增量消息(流式,字段同 message)
choices[].finish_reasonstring结束原因:"stop" / "length" / "tool_calls"
usage.prompt_tokensint输入 Token 数
usage.completion_tokensint输出 Token 数
usage.total_tokensint总 Token 数

非流式响应样例:

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1779964861,
  "model": "qwen-plus",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "人工智能(AI)是计算机科学的一个分支,致力于创建能够模拟人类智能行为的系统。"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {"prompt_tokens": 15, "completion_tokens": 42, "total_tokens": 57}
}

流式响应

stream: true 时,响应为标准 SSE:每个事件以 data: 开头,内容为一个 JSON chunk;末尾以 data: [DONE] 结束。由于平台强制注入 stream_options.include_usage: true,流的最后一个 chunk(choices 为空数组)会携带完整的 usage 字段。平台会尽力将响应中的 model 字段改写为你请求时使用的平台模型名;个别数据块不含该字段时,平台会原样透传。

data: {"id":"chatcmpl-ghi789","object":"chat.completion.chunk","created":1779964861,"model":"qwen-plus","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}

data: {"id":"chatcmpl-ghi789","object":"chat.completion.chunk","created":1779964861,"model":"qwen-plus","choices":[{"index":0,"delta":{"content":"春"},"finish_reason":null}]}

...

data: {"id":"chatcmpl-ghi789","object":"chat.completion.chunk","created":1779964861,"model":"qwen-plus","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: {"id":"chatcmpl-ghi789","object":"chat.completion.chunk","created":1779964861,"model":"qwen-plus","choices":[],"usage":{"prompt_tokens":12,"completion_tokens":86,"total_tokens":98}}

data: [DONE]

请求示例

curl https://api.looptoken.cc/v1/chat/completions \
  -H "Authorization: Bearer $LOOPTOKEN_API_KEY" \
  -H "Content-Type: application/json" \
  -N \
  -d '{
    "model": "qwen-plus",
    "messages": [{"role": "user", "content": "数到5"}],
    "stream": true
  }'

非流式请求的示例见快速开始

计费

Chat 接口按 token 计费,输入(prompt)与输出(completion)token 分别计价,各模型价格见模型列表。流式与非流式请求均在响应中返回本次调用的 usage(流式响应体现在末尾 chunk)。

错误

状态码code触发场景
402insufficient_credits账户余额不足以覆盖预扣费用
403model_not_allowed请求的 model 不在该 API Key 的模型白名单内
404model_not_found平台没有该模型
502upstream_error上游返回错误,或重试耗尽
503no_available_channel该模型当前没有可用渠道

完整错误响应体格式与更多错误码见错误码

本页内容