---
title: "对话完成接口"
method: POST
path: "/chat/completions"
tags: ["Chat"]
---

# 对话完成接口

`POST /chat/completions`

用于创建对话完成的接口，支持多种对话模型，可配置各种参数来控制响应的生成。

## Request body

- object
  - `model` string, required — 对话模型
  - `messages` object[], required — 消息列表
    - `content` union, required
      - string — 文本格式消息内容
      - union[] — 多模态消息内容
        - union
          - TextContentPart
            - `type` 'text', required — 内容类型
            - `text` string, required — 文本内容
          - ImageContentPart
            - `type` 'image_url', required — 内容类型
            - `image_url` object, required — 图片URL对象
              - …
          - AudioContentPart
            - `type` 'input_audio', required — 内容类型
            - `input_audio` object, required — 音频数据对象
              - …
          - VideoContentPart
            - `type` 'video_url', required — 内容类型
            - `video_url` object, required — 视频URL对象
              - …
    - `role` 'system' | 'user' | 'assistant', required — 消息角色
  - `enable_thinking` boolean — 开启推理模式，仅支持切换思考模式的模型支持
  - `thinking` object — 推理模式细节配置
    - `include_thoughts` boolean — 是否显示思考链内容，默认false
    - `budget_tokens` integer — 推理模式token预算
    - `reasoning_effort` 'none' | 'minimal' | 'low' | 'medium' | 'high' — 推理模式推理努力程度，适用于 OpenAI，GPT 5.1 起默认 none
    - `thinking_level` 'low' | 'high' — 推理模式思考层级，适用于 Gemini 3 Pro，默认 high
  - `stream` boolean — 是否返回流式响应，默认false
  - `background` boolean — 是否开启后台任务模式，默认false，注意 stream 和 background 不能同时为 true
  - `enable_search` boolean — 是否启用联网搜索，默认false
  - `search_config` object — 联网搜索配置明细，仅智谱清言和不支持内置搜索工具的模型适用
    - `engine` 'glm/search-std' | 'glm/search-pro' | 'glm/search-pro-sogou' | 'glm/search-pro-quark' — 搜索引擎
    - `prompt` string — 定制搜索结果处理的提示语
    - `intent` boolean — 启用搜索意图
    - `count` integer — 搜索结果数量, 取值范围1-50
    - `domain_filter` string — 搜索结果域名过滤白名单
    - `recency_filter` 'noLimit' | 'oneDay' | 'oneWeek' | 'oneMonth' | 'oneYear' — 搜索结果时间过滤
    - `content_size` 'medium' | 'high' — 搜索结果摘要长度
    - `return_result` boolean — 是否返回搜索结果
    - `result_sequence` 'before' | 'after' — 搜索结果在对话响应中的位置，主要用于流式响应，位于真正回答内容之前还是之后
    - `require_search` boolean — 是否强制要求必须有搜索结果才进行回答
    - `deepable` boolean — 是否开启深度搜索（目前未生效）
  - `enable_url_context` boolean — 是否启用 URL Context，默认false，仅部分 Gemini 模型生效
  - `temperature` number — 温度参数，默认为代理模型默认值
  - `max_completion_tokens` integer — 最大输出token数,默认设置为当前模型最大支持输出
  - `json_mode` boolean — 是否设置响应格式为JSON对象，默认false
  - `response_format` union — 指定响应输出格式，默认不指定为文本输出，如果设置该配置项会覆盖json_mode设置
    - ResponseFormatText — 默认响应格式。用于生成文本响应。
      - `type` 'text', required — 正在定义的响应格式的类型。始终为 `text`。
    - ResponseFormatJsonObject — JSON 对象响应格式。生成 JSON 响应的旧方法。 建议对支持 `json_schema` 的模型使用它。请注意，模型不会在没有系统消息或用户消息指示的情况下生成 JSON。
      - `type` 'json_object', required — 正在定义的响应格式的类型。始终为 `json_object`。
    - ResponseFormatJsonSchema — JSON Schema 响应格式。用于生成结构化 JSON 响应。 了解有关[结构化输出](/docs/guides/structured-outputs)的更多信息。
      - `type` 'json_schema', required — 正在定义的响应格式的类型。始终为 `json_schema`。
      - `json_schema` object, required — 结构化输出配置选项，包括 JSON Schema。
        - `description` string — 响应格式的描述，用于模型确定如何以该格式进行响应。
        - `name` string, required — 响应格式的名称。必须是 a-z、A-Z、0-9，或包含下划线和破折号，且最大长度为 64。
        - `schema` ResponseFormatJsonSchemaSchema — 响应格式的模式，描述为 JSON Schema 对象。 了解有关如何构建 JSON Schema 的更多信息 [here](https://json-schema.org/)。
        - `strict` boolean, nullable — 是否在生成输出时启用严格的模式遵循。 如果设置为 true，模型将始终遵循 `schema` 字段中定义的确切模式。 当 `strict` 为 `true` 时，仅支持 JSON Schema 的子集。 要了解更多信息，请阅读 [结构化输出指南](/docs/guides/structured-outputs)。
  - `modalities` string[] — 输出的多模态类型列表
  - `audio` object — 音频输出配置
    - `voice` string — 音色
    - `format` string — 音频格式
  - `image` object — 图像生成配置，仅 Gemini 3 Pro Image 适用
    - `aspect_ratio` '1:1' | '4:3' | '3:4' | '16:9' | '9:16' — 图片宽高比
    - `image_size` '1K' | '2K' | '4K' — 图像分辨率
  - `tools` unknown[] — 可调用的工具函数列表
    - unknown
  - `tool_choice` union — 模型在生成响应时应如何选择使用哪个工具（或多个工具）
    - 'none' | 'auto' | 'required' — 控制模型调用哪个（如果有）工具。 `none` 表示模型将不调用任何工具，而是生成一条消息。 `auto` 表示模型可以选择生成消息或调用一个或多个工具。 `required` 表示模型必须调用一个或多个工具。
    - ToolChoiceTypes — 表示模型应使用内置工具生成响应。 [了解有关内置工具的更多信息](/docs/guides/tools)。
      - `type` 'file_search' | 'web_search_preview' | 'computer_use_preview' | 'web_search_preview_2025_03_11' | 'image_generation' | 'code_interpreter' | 'mcp', required — 模型应使用的托管工具的类型。详细了解 [内置工具](/docs/guides/tools)。 允许的值为： - `file_search` - `web_search_preview` - `computer_use_preview` - `code_interpreter` - `mcp` - `image_generation`
    - ToolChoiceFunction — 使用此选项强制模型调用特定函数。
      - `type` 'function', required — 对于函数调用，类型始终为 `function`。
      - `name` string, required — 要调用的函数的名称。
  - `tool_config` object — 工具函数调用配置(兼容gemini)
    - `functionCallingConfig` object — 函数调用配置
      - `mode` 'AUTO' | 'ANY' | 'NONE' | 'VALIDATED' — 函数调用模式
      - `allowedFunctionNames` string[] — 允许调用的函数名称列表
  - `parallel_tool_calls` boolean — 是否并发调用工具函数
  - `image_generation` boolean — 是否强制出图，仅支持对话画图的模型支持
  - `stop` string[] — 停止生成的触发词列表
  - `logprobs` boolean — 是否返回token概率
  - `top_logprobs` integer — 每个位置返回的最可能token数
  - `frequency_penalty` number — 频率惩罚系数
  - `presence_penalty` number — 存在惩罚系数
  - `top_p` number — 核采样阈值
  - `top_k` integer — 最高概率采样数
  - `seed` integer — 随机数种子
  - `n` integer — 生成结果数量
  - `metadata` object — 自定义元数据
  - `sess_id` string, uuid — 第三方应用自行实现的会话ID
  - `retries` integer — 自动重试次数，默认0

## Response `200`

成功响应

- object
  - `id` string — 请求ID
  - `status` 'pending' | 'running' | 'succeed' — 请求状态，只有后台模式才会返回
  - `created` integer — 请求创建Unix时间戳
  - `model` string — 对话使用的模型
  - `object` string — 响应对象类型
  - `choices` object[] — 生成的对话列表
    - `index` integer — 对话索引
    - `message` object — 生成的消息
      - `role` 'assistant' — 角色
      - `content` string — 响应内容
      - `reasoning_content` string — 推理内容
      - `image` string — 图片URL/Base64数据
      - `audio` object — 音频数据
        - `id` string — 音频唯一识别码
        - `data` string — Base64编码的音频数据
        - `expires_at` integer — 过期Unix时间戳
        - `transcript` string — 音频转录文本
      - `tool_calls` object[] — 工具函数调用列表
        - `id` string — 工具ID
        - `type` 'function' — 工具类型
        - `function` object — 工具函数
          - `name` string — 函数名称
          - `arguments` string — 函数参数
    - `finish_reason` 'stop' | 'length' | 'tool_calls' | 'content_filter' | 'stop_sequence' | 'error' — 结束原因
    - `logprobs` object — 日志概率
      - `content` object[] — 消息内容标记列表
        - `token` string — 令牌
        - `logprob` number — 对数概率
        - `bytes` integer[] — 表示 UTF-8 字节编码的整数列表，代表该标记
        - `top_logprobs` object[] — 最有可能的标记及其在此位置的对数概率列表
          - `token` string — 令牌
          - `logprob` number — 对数概率
          - `bytes` integer[] — 表示 UTF-8 字节编码的整数列表，代表该标记
  - `usage` object — tokens消耗统计
    - `prompt_tokens` integer — 输入文本token数
    - `completion_tokens` integer — 生成文本token数
    - `total_tokens` integer — 总token数
    - `billed_units` integer — 计费次数（搜索）
    - `prompt_tokens_details` object — 输入文本消耗明细
      - `text_tokens` integer — 文本token数
      - `audio_tokens` integer — 音频token数
      - `cached_tokens` integer — 缓存token数
      - `image_tokens` integer — 图片token数
      - `video_tokens` integer — 视频token数
      - `citation_tokens` integer — 引用token数
    - `completion_tokens_details` object — 生成文本消耗明细
      - `text_tokens` integer — 文本token数
      - `audio_tokens` integer — 音频token数
      - `reasoning_tokens` integer — 推理token数
      - `accepted_prediction_tokens` integer — 接受的预测token数
      - `rejected_prediction_tokens` integer — 拒绝的预测token数
  - `citations` string[] — 引用的文献/链接列表
  - `system_fingerprint` string — 系统指纹

## Other responses

- `400` — 参数验证错误
- `401` — 未授权
- `500` — 标准错误响应

---

[API](https://skmtc.dev/geekai/apis/api.md) · [All operations](https://skmtc.dev/geekai/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/geekai/api/revisions/2bf0c8f70a39/schema)
