Skip to main content
使用 /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。如果连接在完成前关闭或收到错误事件,不要将部分文本当作完整答案。