/v1/chat/completions 调用 OpenAI 兼容的对话生成接口。
流式
设置stream: true 即可通过 SSE 流式返回。每个事件是 OpenAI
chat.completion.chunk,流以 data: [DONE] 结束。
参数
支持 OpenAI 标准参数:temperature、top_p、max_tokens、max_completion_tokens、stop、n、
frequency_penalty、presence_penalty、seed、response_format、tools、
tool_choice、logprobs、top_logprobs、logit_bias、user、stream。
思考强度
支持可配置思考的模型可使用顶层reasoning_effort。也接受 Responses 风格的 reasoning.effort;同时提供时值必须一致,否则返回 400。
GET /v1/models 的
capability_metadata.reasoning 中,客户端无需硬编码档位对照表即可配置模型。
max_completion_tokens、max_output_tokens 及原生对应字段限制的是思考与最终答案共用的 token 总量。effort 不是输出 token 上限;请求仍可能耗尽预算(Chat Completions 返回 finish_reason: "length"),导致最终答案不完整或为空。
Kimi K3 兼容规则
kimi-k3 继续使用同一个 OpenAI 兼容接口,但需要遵循模型专属规则:
- K3 始终开启思考,无法关闭。它接受
low、high、max;默认档位是max, 更低的档位会用推理深度换延迟。K2.x 的thinking仅作为“开启思考”的兼容别名接受。 - 优先使用
max_completion_tokens。APIAny 仍接受已弃用的max_tokens, Kimi K3 使用max_completion_tokens。省略上限时使用模型默认值,显式上限最高为 1,048,576 Token。 - K3 的采样参数固定。APIAny 只对 K3 删除
temperature、top_p、frequency_penalty和presence_penalty;n必须为1。 reasoning_content是思考过程,content是最终答案;流式响应也分别返回, 不要把思考过程合并成最终正文。- 多轮对话和工具调用必须原样回传完整 assistant message,包括
reasoning_content与tool_calls。 - 最后一条 assistant message 可以设置
partial: true;不含content的 system message 可以携带tools,用于动态加载工具。 - K3 图片和视频内容块只能使用 Base64
data:URL 或ms://文件 ID; 公网 HTTP 媒体地址会在模型请求发出前被拒绝。
finish_reason 为 length,说明输出预算已经耗尽。响应仍符合 OpenAI
格式,但最终答案可能为空或不完整;请提高 max_completion_tokens 或缩短输入后重试。
说明
model是 APIAny.AI 的公开模型 ID。- 如果模型响应包含 token usage,平台会尽量归一化到 OpenAI 风格的
usage对象。
GPT-6 输出与流式结束
使用gpt-6-astra 时,可识别的前置思考包装会与最终答案分离。最终答案读取 content / output_text,思考内容读取独立 reasoning 字段或 summary 事件;明确的标签示例和有歧义的标记保留原样。这种格式整理不会修改推理强度或输出 Token 上限。
流式 HTTP 200 不代表生成成功。请处理错误事件,并将出错前收到的部分答案明确标为不完整,等待协议终态再判断结果。Chat 应在 [DONE] 前读取末尾 usage;Responses 应区分 response.completed、response.incomplete 与 response.failed / error。
GPT-6 Chat 的 [DONE] 表示流已结束,不会覆盖之前的错误,也不保证答案完整。请同时检查 finish_reason:length 表示达到输出上限,content_filter 表示内容被过滤,这两种原因不会被改写为 stop。如果连接在完成前关闭或收到错误事件,不要将部分文本当作完整答案。