POST
/
paas
/
v4
/
chat
/
completions
curl --request POST \
--url https://open.bigmodel.cn/api/paas/v4/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "glm-4.5",
"messages": [
{
"role": "system",
"content": "你是一个有用的AI助手。"
},
{
"role": "user",
"content": "请介绍一下人工智能的发展历程。"
}
],
"temperature": 0.6,
"max_tokens": 1024,
"stream": false
}'
{
  "id": "<string>",
  "request_id": "<string>",
  "created": 123,
  "model": "<string>",
  "choices": [
    {
      "index": 123,
      "message": {
        "role": "assistant",
        "content": "<string>",
        "reasoning_content": "<string>",
        "audio": {
          "id": "<string>",
          "data": "<string>",
          "expires_at": "<string>"
        },
        "tool_calls": [
          {
            "function": {
              "name": "<string>",
              "arguments": {}
            },
            "mcp": {
              "id": "<string>",
              "type": "mcp_list_tools",
              "server_label": "<string>",
              "error": "<string>",
              "tools": [
                {
                  "name": "<string>",
                  "description": "<string>",
                  "annotations": {},
                  "input_schema": {
                    "type": "object",
                    "properties": {},
                    "required": [
                      "<any>"
                    ],
                    "additionalProperties": true
                  }
                }
              ],
              "arguments": "<string>",
              "name": "<string>",
              "output": {}
            },
            "id": "<string>",
            "type": "<string>"
          }
        ]
      },
      "finish_reason": "<string>"
    }
  ],
  "usage": {
    "prompt_tokens": 123,
    "completion_tokens": 123,
    "prompt_tokens_details": {
      "cached_tokens": 123
    },
    "total_tokens": 123
  },
  "video_result": [
    {
      "url": "<string>",
      "cover_image_url": "<string>"
    }
  ],
  "web_search": [
    {
      "icon": "<string>",
      "title": "<string>",
      "link": "<string>",
      "media": "<string>",
      "publish_date": "<string>",
      "content": "<string>",
      "refer": "<string>"
    }
  ],
  "content_filter": [
    {
      "role": "<string>",
      "level": 123
    }
  ]
}

Authorizations

Authorization
string
header
required

使用以下格式进行身份验证:Bearer <your api key>

Body

application/json

普通对话模型请求,支持纯文本对话和工具调用

model
enum<string>
default:glm-4.5
required

调用的普通对话模型代码。GLM-4.5GLM-4.5-Air 是最新的旗舰模型系列,专为智能体应用打造的基础模型。GLM-4.5 系列提供了复杂推理、超长上下文、极快推理速度等多款模型。

Available options:
glm-4.5,
glm-4.5-air,
glm-4.5-x,
glm-4.5-airx,
glm-4.5-flash,
glm-4-plus,
glm-4-air-250414,
glm-4-airx,
glm-4-flashx,
glm-4-flashx-250414,
glm-z1-air,
glm-z1-airx,
glm-z1-flash,
glm-z1-flashx
Example:

"glm-4.5"

messages
(用户消息 · object | 系统消息 · object | 助手消息 · object | 工具消息 · object)[]
required

对话消息列表,包含当前对话的完整上下文信息。每条消息都有特定的角色和内容,模型会根据这些消息生成回复。消息按时间顺序排列,支持四种角色:system(系统消息,用于设定AI的行为和角色)、user(用户消息,来自用户的输入)、assistant(助手消息,来自AI的回复)、tool(工具消息,工具调用的结果)。普通对话模型主要支持纯文本内容。注意不能只包含系统消息或助手消息。

Minimum length: 1
stream
boolean
default:false

是否启用流式输出模式。默认值为 false。当设置为 false 时,模型会在生成完整响应后一次性返回所有内容,适合短文本生成和批处理场景。当设置为 true 时,模型会通过Server-Sent Events (SSE)流式返回生成的内容,用户可以实时看到文本生成过程,适合聊天对话和长文本生成场景,能提供更好的用户体验。流式输出结束时会返回 data: [DONE] 消息。

Example:

false

thinking
object

GLM-4.5 及以上模型支持此参数配置. 控制大模型是否开启思维链。

do_sample
boolean
default:true

是否启用采样策略来生成文本。默认值为 true。当设置为 true 时,模型会使用 temperature、top_p 等参数进行随机采样,生成更多样化的输出;当设置为 false 时,模型总是选择概率最高的词汇,生成更确定性的输出,此时 temperaturetop_p 参数将被忽略。对于需要一致性和可重复性的任务(如代码生成、翻译),建议设置为 false

Example:

true

temperature
number
default:0.6

采样温度,控制输出的随机性和创造性,取值范围为 [0.0, 1.0],限两位小数。对于GLM-4.5系列默认值为 0.6GLM-Z1系列和GLM-4系列默认值为 0.75。较高的值(如0.8)会使输出更随机、更具创造性,适合创意写作和头脑风暴;较低的值(如0.2)会使输出更稳定、更确定,适合事实性问答和代码生成。建议根据应用场景调整 top_ptemperature 参数,但不要同时调整两个参数。

Required range: 0 <= x <= 1
Example:

0.6

top_p
number
default:0.95

核采样(nucleus sampling)参数,是temperature采样的替代方法,取值范围为 [0.0, 1.0],限两位小数。对于GLM-4.5系列默认值为 0.95GLM-Z1系列和GLM-4系列默认值为 0.9。模型只考虑累积概率达到top_p的候选词汇。例如:0.1表示只考虑前10%概率的词汇,0.9表示考虑前90%概率的词汇。较小的值会产生更集中、更一致的输出;较大的值会增加输出的多样性。建议根据应用场景调整 top_ptemperature 参数,但不建议同时调整两个参数。

Required range: 0 <= x <= 1
Example:

0.95

max_tokens
integer

模型输出的最大令牌token数量限制。GLM-4.5最大支持96K输出长度,GLM-Z1系列最大支持32K输出长度,建议设置不小于1024。令牌是文本的基本单位,通常1个令牌约等于0.75个英文单词或1.5个中文字符。设置合适的max_tokens可以控制响应长度和成本,避免过长的输出。如果模型在达到max_tokens限制前完成回答,会自然结束;如果达到限制,输出可能被截断。 默认值和最大值等更多详见 max_tokens 文档

Required range: 1 <= x <= 98304
Example:

1024

tools

模型可以调用的工具列表。支持函数调用、知识库检索和网络搜索。使用此参数提供模型可以生成 JSON 输入的函数列表或配置其他工具。最多支持 128 个函数。目前 GLM-4 系列已支持所有 toolsGLM-4.5 已支持 web searchretrieval

tool_choice
enum<string>

控制模型如何选择工具。 用于控制模型选择调用哪个函数的方式,仅在工具类型为function时补充。默认auto且仅支持auto

Available options:
auto
stop
string[]

停止词列表,当模型生成的文本中遇到这些指定的字符串时会立即停止生成。目前仅支持单个停止词,格式为["stop_word1"]。停止词不会包含在返回的文本中。这对于控制输出格式、防止模型生成不需要的内容非常有用,例如在对话场景中可以设置["Human:"]来防止模型模拟用户发言。

Maximum length: 1
response_format
object

指定模型的响应输出格式,默认为text,仅文本模型支持此字段。支持两种格式:{ "type": "text" } 表示普通文本输出模式,模型返回自然语言文本;{ "type": "json_object" } 表示JSON输出模式,模型会返回有效的JSON格式数据,适用于结构化数据提取、API响应生成等场景。使用JSON模式时,建议在提示词中明确说明需要JSON格式输出。

request_id
string

请求唯一标识符。由用户端传递,建议使用UUID格式确保唯一性,若未提供平台将自动生成。

user_id
string

终端用户的唯一标识符。ID长度要求:最少6个字符,最多128个字符,建议使用不包含敏感信息的唯一标识。

Required string length: 6 - 128

Response

业务处理成功

id
string

任务 ID

request_id
string

请求 ID

created
integer

请求创建时间,Unix 时间戳(秒)

model
string

模型名称

choices
object[]

模型响应列表

usage
object

调用结束时返回的 Token 使用统计。

video_result
object[]

视频生成结果。

返回与网页搜索相关的信息,使用WebSearchToolSchema时返回

content_filter
object[]

返回内容安全的相关信息