GET
/v1/schemas/cloudflare-workers-ai/chat/accounts/{account_id}/ai/run/@cf/zai-org/glm-5.2
Accept:
| field | recorded source |
|---|---|
| schema | Source linked above. upstream-spec Source trace2a376acec3152e85e35e865949eba31c0e637bcf6d8b8e955aa8906c3a9c9173{
"fetchedAt": 1791349950,
"extractorVersion": "1",
"verifiedAt": null
} |
Request body
0 properties · 0 required · 0 $defsThis schema isn’t a plain object with properties — showing the raw JSON instead.
application/json
{
"provider": "cloudflare-workers-ai",
"activity": "chat",
"endpointId": "accounts/{account_id}/ai/run/@cf/zai-org/glm-5.2",
"kind": "input",
"contentHash": "d5f4f00119f016cd21b12880e0b11a249463f6b00d070bc9739b25a9d9c510cb",
"specRevision": null,
"provenance": {
"sourceUrl": "https://raw.githubusercontent.com/cloudflare/cloudflare-docs/production/src/content/workers-ai-models/glm-5.2.json",
"sourceHash": "2a376acec3152e85e35e865949eba31c0e637bcf6d8b8e955aa8906c3a9c9173",
"fetchedAt": 1791349950,
"extractorVersion": "1",
"derivation": "upstream-spec",
"verifiedAt": null
},
"createdAt": 1791349950,
"supersededAt": null,
"schema": {
"anyOf": [
{
"type": "object",
"oneOf": [
{
"title": "Prompt",
"properties": {
"prompt": {
"type": "string",
"minLength": 1,
"description": "The input text prompt for the model to generate a response."
},
"model": {
"type": "string",
"description": "ID of the model to use (e.g. '@cf/zai-org/glm-4.7-flash, etc')."
},
"audio": {
"anyOf": [
{
"type": "object",
"description": "Parameters for audio output. Required when modalities includes 'audio'.",
"properties": {
"voice": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}
]
},
"format": {
"type": "string",
"enum": [
"wav",
"aac",
"mp3",
"flac",
"opus",
"pcm16"
]
}
},
"required": [
"voice",
"format"
]
}
]
},
"frequency_penalty": {
"anyOf": [
{
"type": "number",
"minimum": -2,
"maximum": 2
},
{
"type": "null"
}
],
"default": 0,
"description": "Penalizes new tokens based on their existing frequency in the text so far."
},
"logit_bias": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
],
"description": "Modify the likelihood of specified tokens appearing in the completion. Maps token IDs to bias values from -100 to 100."
},
"logprobs": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to return log probabilities of the output tokens."
},
"top_logprobs": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 20
},
{
"type": "null"
}
],
"description": "How many top log probabilities to return at each token position (0-20). Requires logprobs=true."
},
"max_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Deprecated in favor of max_completion_tokens. The maximum number of tokens to generate."
},
"max_completion_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "An upper bound for the number of tokens that can be generated for a completion."
},
"metadata": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
],
"description": "Set of 16 key-value pairs that can be attached to the object."
},
"modalities": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"enum": [
"text",
"audio"
]
}
},
{
"type": "null"
}
],
"description": "Output types requested from the model (e.g. ['text'] or ['text', 'audio'])."
},
"n": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 128
},
{
"type": "null"
}
],
"default": 1,
"description": "How many chat completion choices to generate for each input message."
},
"parallel_tool_calls": {
"type": "boolean",
"default": true,
"description": "Whether to enable parallel function calling during tool use."
},
"prediction": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"content"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
}
},
"required": [
"type",
"text"
]
}
}
]
}
},
"required": [
"type",
"content"
]
}
]
},
"presence_penalty": {
"anyOf": [
{
"type": "number",
"minimum": -2,
"maximum": 2
},
{
"type": "null"
}
],
"default": 0,
"description": "Penalizes new tokens based on whether they appear in the text so far."
},
"reasoning_effort": {
"anyOf": [
{
"type": "string",
"enum": [
"max",
"high",
"none"
]
},
{
"type": "null"
}
],
"description": "Reasoning effort. Supported levels: max, high, none. Compatibility aliases: low maps to high; medium maps to high; xhigh maps to max; minimal maps to none.",
"default": "max"
},
"chat_template_kwargs": {
"type": "object",
"properties": {
"enable_thinking": {
"type": "boolean",
"default": true,
"description": "Whether to enable reasoning for this model."
},
"clear_thinking": {
"type": "boolean",
"default": false,
"description": "If false, preserves reasoning context between turns."
}
}
},
"response_format": {
"anyOf": [
{
"description": "Specifies the format the model must output.",
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"json_object"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"json_schema"
]
},
"json_schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"schema": {
"type": "object"
},
"strict": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"json_schema"
]
}
]
}
]
},
"seed": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "If specified, the system will make a best effort to sample deterministically."
},
"stop": {
"description": "Up to 4 sequences where the API will stop generating further tokens.",
"anyOf": [
{
"type": "null"
},
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 4
}
]
},
"store": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to store the output for model distillation / evals."
},
"stream": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "If true, partial message deltas will be sent as server-sent events."
},
"stream_options": {
"anyOf": [
{
"type": "object",
"properties": {
"include_usage": {
"type": "boolean"
},
"include_obfuscation": {
"type": "boolean"
}
}
}
]
},
"temperature": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 2
},
{
"type": "null"
}
],
"default": 1,
"description": "Sampling temperature between 0 and 2."
},
"tool_choice": {
"anyOf": [
{
"description": "Controls which (if any) tool is called by the model. 'none' = no tools, 'auto' = model decides, 'required' = must call a tool.",
"oneOf": [
{
"type": "string",
"enum": [
"none",
"auto",
"required"
]
},
{
"type": "object",
"description": "Force a specific function tool.",
"properties": {
"type": {
"type": "string",
"enum": [
"function"
]
},
"function": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"function"
]
},
{
"type": "object",
"description": "Force a specific custom tool.",
"properties": {
"type": {
"type": "string",
"enum": [
"custom"
]
},
"custom": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"custom"
]
},
{
"type": "object",
"description": "Constrain to an allowed subset of tools.",
"properties": {
"type": {
"type": "string",
"enum": [
"allowed_tools"
]
},
"allowed_tools": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"auto",
"required"
]
},
"tools": {
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [
"mode",
"tools"
]
}
},
"required": [
"type",
"allowed_tools"
]
}
]
}
]
},
"tools": {
"type": "array",
"description": "A list of tools the model may call.",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"function"
]
},
"function": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the function to be called."
},
"description": {
"type": "string",
"description": "A description of what the function does."
},
"parameters": {
"type": "object",
"description": "The parameters the function accepts, described as a JSON Schema object."
},
"strict": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to enable strict schema adherence."
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"function"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"custom"
]
},
"custom": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"format": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"grammar"
]
},
"grammar": {
"type": "object",
"properties": {
"definition": {
"type": "string"
},
"syntax": {
"type": "string",
"enum": [
"lark",
"regex"
]
}
},
"required": [
"definition",
"syntax"
]
}
},
"required": [
"type",
"grammar"
]
}
]
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"custom"
]
}
]
}
},
"top_p": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1
},
{
"type": "null"
}
],
"default": 1,
"description": "Nucleus sampling: considers the results of the tokens with top_p probability mass."
},
"user": {
"type": "string",
"description": "A unique identifier representing your end-user, for abuse monitoring."
},
"web_search_options": {
"anyOf": [
{
"type": "object",
"description": "Options for the web search tool (when using built-in web search).",
"properties": {
"search_context_size": {
"type": "string",
"enum": [
"low",
"medium",
"high"
],
"default": "medium"
},
"user_location": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"approximate"
]
},
"approximate": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"region": {
"type": "string"
},
"timezone": {
"type": "string"
}
}
}
},
"required": [
"type",
"approximate"
]
}
}
}
]
},
"function_call": {
"anyOf": [
{
"type": "string",
"enum": [
"none",
"auto"
]
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
]
},
"functions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the function to be called."
},
"description": {
"type": "string",
"description": "A description of what the function does."
},
"parameters": {
"type": "object",
"description": "The parameters the function accepts, described as a JSON Schema object."
},
"strict": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to enable strict schema adherence."
}
},
"required": [
"name"
]
},
"minItems": 1,
"maxItems": 128
}
},
"required": [
"prompt"
]
},
{
"title": "Messages",
"properties": {
"messages": {
"type": "array",
"description": "A list of messages comprising the conversation so far.",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"developer"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
}
},
"required": [
"type",
"text"
]
}
}
]
},
"name": {
"type": "string"
}
},
"required": [
"role",
"content"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"system"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
}
},
"required": [
"type",
"text"
]
}
}
]
},
"name": {
"type": "string"
}
},
"required": [
"role",
"content"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"user"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text",
"image_url",
"video_url",
"input_audio",
"file"
]
},
"text": {
"type": "string"
},
"image_url": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"detail": {
"type": "string",
"enum": [
"auto",
"low",
"high"
],
"default": "auto"
}
}
},
"video_url": {
"type": "object",
"properties": {
"url": {
"type": "string"
}
}
},
"input_audio": {
"type": "object",
"properties": {
"data": {
"type": "string"
},
"format": {
"type": "string",
"enum": [
"wav",
"mp3"
]
}
}
},
"file": {
"type": "object",
"properties": {
"file_data": {
"type": "string"
},
"file_id": {
"type": "string"
},
"filename": {
"type": "string"
}
}
}
},
"required": [
"type"
]
},
"minItems": 1
}
]
},
"name": {
"type": "string"
}
},
"required": [
"role",
"content"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"assistant"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text",
"refusal"
]
},
"text": {
"type": "string"
},
"refusal": {
"type": "string"
}
},
"required": [
"type"
]
}
}
]
},
"refusal": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
},
"audio": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}
]
},
"tool_calls": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"function"
]
},
"function": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "string",
"description": "JSON-encoded arguments string."
}
},
"required": [
"name",
"arguments"
]
}
},
"required": [
"id",
"type",
"function"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"custom"
]
},
"custom": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"input": {
"type": "string"
}
},
"required": [
"name",
"input"
]
}
},
"required": [
"id",
"type",
"custom"
]
}
]
}
},
"function_call": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "string"
}
},
"required": [
"name",
"arguments"
]
}
]
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"tool"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
}
},
"required": [
"type",
"text"
]
}
}
]
},
"tool_call_id": {
"type": "string"
}
},
"required": [
"role",
"content",
"tool_call_id"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"function"
]
},
"content": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"role",
"content",
"name"
]
}
]
},
"minItems": 1
},
"model": {
"type": "string",
"description": "ID of the model to use (e.g. '@cf/zai-org/glm-4.7-flash, etc')."
},
"audio": {
"anyOf": [
{
"type": "object",
"description": "Parameters for audio output. Required when modalities includes 'audio'.",
"properties": {
"voice": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}
]
},
"format": {
"type": "string",
"enum": [
"wav",
"aac",
"mp3",
"flac",
"opus",
"pcm16"
]
}
},
"required": [
"voice",
"format"
]
}
]
},
"frequency_penalty": {
"anyOf": [
{
"type": "number",
"minimum": -2,
"maximum": 2
},
{
"type": "null"
}
],
"default": 0,
"description": "Penalizes new tokens based on their existing frequency in the text so far."
},
"logit_bias": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
],
"description": "Modify the likelihood of specified tokens appearing in the completion. Maps token IDs to bias values from -100 to 100."
},
"logprobs": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to return log probabilities of the output tokens."
},
"top_logprobs": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 20
},
{
"type": "null"
}
],
"description": "How many top log probabilities to return at each token position (0-20). Requires logprobs=true."
},
"max_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Deprecated in favor of max_completion_tokens. The maximum number of tokens to generate."
},
"max_completion_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "An upper bound for the number of tokens that can be generated for a completion."
},
"metadata": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
],
"description": "Set of 16 key-value pairs that can be attached to the object."
},
"modalities": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"enum": [
"text",
"audio"
]
}
},
{
"type": "null"
}
],
"description": "Output types requested from the model (e.g. ['text'] or ['text', 'audio'])."
},
"n": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 128
},
{
"type": "null"
}
],
"default": 1,
"description": "How many chat completion choices to generate for each input message."
},
"parallel_tool_calls": {
"type": "boolean",
"default": true,
"description": "Whether to enable parallel function calling during tool use."
},
"prediction": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"content"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
}
},
"required": [
"type",
"text"
]
}
}
]
}
},
"required": [
"type",
"content"
]
}
]
},
"presence_penalty": {
"anyOf": [
{
"type": "number",
"minimum": -2,
"maximum": 2
},
{
"type": "null"
}
],
"default": 0,
"description": "Penalizes new tokens based on whether they appear in the text so far."
},
"reasoning_effort": {
"anyOf": [
{
"type": "string",
"enum": [
"max",
"high",
"none"
]
},
{
"type": "null"
}
],
"description": "Reasoning effort. Supported levels: max, high, none. Compatibility aliases: low maps to high; medium maps to high; xhigh maps to max; minimal maps to none.",
"default": "max"
},
"chat_template_kwargs": {
"type": "object",
"properties": {
"enable_thinking": {
"type": "boolean",
"default": true,
"description": "Whether to enable reasoning for this model."
},
"clear_thinking": {
"type": "boolean",
"default": false,
"description": "If false, preserves reasoning context between turns."
}
}
},
"response_format": {
"anyOf": [
{
"description": "Specifies the format the model must output.",
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"json_object"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"json_schema"
]
},
"json_schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"schema": {
"type": "object"
},
"strict": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"json_schema"
]
}
]
}
]
},
"seed": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "If specified, the system will make a best effort to sample deterministically."
},
"stop": {
"description": "Up to 4 sequences where the API will stop generating further tokens.",
"anyOf": [
{
"type": "null"
},
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 4
}
]
},
"store": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to store the output for model distillation / evals."
},
"stream": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "If true, partial message deltas will be sent as server-sent events."
},
"stream_options": {
"anyOf": [
{
"type": "object",
"properties": {
"include_usage": {
"type": "boolean"
},
"include_obfuscation": {
"type": "boolean"
}
}
}
]
},
"temperature": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 2
},
{
"type": "null"
}
],
"default": 1,
"description": "Sampling temperature between 0 and 2."
},
"tool_choice": {
"anyOf": [
{
"description": "Controls which (if any) tool is called by the model. 'none' = no tools, 'auto' = model decides, 'required' = must call a tool.",
"oneOf": [
{
"type": "string",
"enum": [
"none",
"auto",
"required"
]
},
{
"type": "object",
"description": "Force a specific function tool.",
"properties": {
"type": {
"type": "string",
"enum": [
"function"
]
},
"function": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"function"
]
},
{
"type": "object",
"description": "Force a specific custom tool.",
"properties": {
"type": {
"type": "string",
"enum": [
"custom"
]
},
"custom": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"custom"
]
},
{
"type": "object",
"description": "Constrain to an allowed subset of tools.",
"properties": {
"type": {
"type": "string",
"enum": [
"allowed_tools"
]
},
"allowed_tools": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"auto",
"required"
]
},
"tools": {
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [
"mode",
"tools"
]
}
},
"required": [
"type",
"allowed_tools"
]
}
]
}
]
},
"tools": {
"type": "array",
"description": "A list of tools the model may call.",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"function"
]
},
"function": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the function to be called."
},
"description": {
"type": "string",
"description": "A description of what the function does."
},
"parameters": {
"type": "object",
"description": "The parameters the function accepts, described as a JSON Schema object."
},
"strict": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to enable strict schema adherence."
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"function"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"custom"
]
},
"custom": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"format": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"grammar"
]
},
"grammar": {
"type": "object",
"properties": {
"definition": {
"type": "string"
},
"syntax": {
"type": "string",
"enum": [
"lark",
"regex"
]
}
},
"required": [
"definition",
"syntax"
]
}
},
"required": [
"type",
"grammar"
]
}
]
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"custom"
]
}
]
}
},
"top_p": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1
},
{
"type": "null"
}
],
"default": 1,
"description": "Nucleus sampling: considers the results of the tokens with top_p probability mass."
},
"user": {
"type": "string",
"description": "A unique identifier representing your end-user, for abuse monitoring."
},
"web_search_options": {
"anyOf": [
{
"type": "object",
"description": "Options for the web search tool (when using built-in web search).",
"properties": {
"search_context_size": {
"type": "string",
"enum": [
"low",
"medium",
"high"
],
"default": "medium"
},
"user_location": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"approximate"
]
},
"approximate": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"region": {
"type": "string"
},
"timezone": {
"type": "string"
}
}
}
},
"required": [
"type",
"approximate"
]
}
}
}
]
},
"function_call": {
"anyOf": [
{
"type": "string",
"enum": [
"none",
"auto"
]
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
]
},
"functions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the function to be called."
},
"description": {
"type": "string",
"description": "A description of what the function does."
},
"parameters": {
"type": "object",
"description": "The parameters the function accepts, described as a JSON Schema object."
},
"strict": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to enable strict schema adherence."
}
},
"required": [
"name"
]
},
"minItems": 1,
"maxItems": 128
}
},
"required": [
"messages"
]
}
]
},
{
"type": "object",
"properties": {
"requests": {
"type": "array",
"items": {
"type": "object",
"oneOf": [
{
"title": "Prompt",
"properties": {
"prompt": {
"type": "string",
"minLength": 1,
"description": "The input text prompt for the model to generate a response."
},
"model": {
"type": "string",
"description": "ID of the model to use (e.g. '@cf/zai-org/glm-4.7-flash, etc')."
},
"audio": {
"anyOf": [
{
"type": "object",
"description": "Parameters for audio output. Required when modalities includes 'audio'.",
"properties": {
"voice": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}
]
},
"format": {
"type": "string",
"enum": [
"wav",
"aac",
"mp3",
"flac",
"opus",
"pcm16"
]
}
},
"required": [
"voice",
"format"
]
}
]
},
"frequency_penalty": {
"anyOf": [
{
"type": "number",
"minimum": -2,
"maximum": 2
},
{
"type": "null"
}
],
"default": 0,
"description": "Penalizes new tokens based on their existing frequency in the text so far."
},
"logit_bias": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
],
"description": "Modify the likelihood of specified tokens appearing in the completion. Maps token IDs to bias values from -100 to 100."
},
"logprobs": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to return log probabilities of the output tokens."
},
"top_logprobs": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 20
},
{
"type": "null"
}
],
"description": "How many top log probabilities to return at each token position (0-20). Requires logprobs=true."
},
"max_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Deprecated in favor of max_completion_tokens. The maximum number of tokens to generate."
},
"max_completion_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "An upper bound for the number of tokens that can be generated for a completion."
},
"metadata": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
],
"description": "Set of 16 key-value pairs that can be attached to the object."
},
"modalities": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"enum": [
"text",
"audio"
]
}
},
{
"type": "null"
}
],
"description": "Output types requested from the model (e.g. ['text'] or ['text', 'audio'])."
},
"n": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 128
},
{
"type": "null"
}
],
"default": 1,
"description": "How many chat completion choices to generate for each input message."
},
"parallel_tool_calls": {
"type": "boolean",
"default": true,
"description": "Whether to enable parallel function calling during tool use."
},
"prediction": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"content"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
}
},
"required": [
"type",
"text"
]
}
}
]
}
},
"required": [
"type",
"content"
]
}
]
},
"presence_penalty": {
"anyOf": [
{
"type": "number",
"minimum": -2,
"maximum": 2
},
{
"type": "null"
}
],
"default": 0,
"description": "Penalizes new tokens based on whether they appear in the text so far."
},
"reasoning_effort": {
"anyOf": [
{
"type": "string",
"enum": [
"max",
"high",
"none"
]
},
{
"type": "null"
}
],
"description": "Reasoning effort. Supported levels: max, high, none. Compatibility aliases: low maps to high; medium maps to high; xhigh maps to max; minimal maps to none.",
"default": "max"
},
"chat_template_kwargs": {
"type": "object",
"properties": {
"enable_thinking": {
"type": "boolean",
"default": true,
"description": "Whether to enable reasoning for this model."
},
"clear_thinking": {
"type": "boolean",
"default": false,
"description": "If false, preserves reasoning context between turns."
}
}
},
"response_format": {
"anyOf": [
{
"description": "Specifies the format the model must output.",
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"json_object"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"json_schema"
]
},
"json_schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"schema": {
"type": "object"
},
"strict": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"json_schema"
]
}
]
}
]
},
"seed": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "If specified, the system will make a best effort to sample deterministically."
},
"stop": {
"description": "Up to 4 sequences where the API will stop generating further tokens.",
"anyOf": [
{
"type": "null"
},
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 4
}
]
},
"store": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to store the output for model distillation / evals."
},
"stream": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "If true, partial message deltas will be sent as server-sent events."
},
"stream_options": {
"anyOf": [
{
"type": "object",
"properties": {
"include_usage": {
"type": "boolean"
},
"include_obfuscation": {
"type": "boolean"
}
}
}
]
},
"temperature": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 2
},
{
"type": "null"
}
],
"default": 1,
"description": "Sampling temperature between 0 and 2."
},
"tool_choice": {
"anyOf": [
{
"description": "Controls which (if any) tool is called by the model. 'none' = no tools, 'auto' = model decides, 'required' = must call a tool.",
"oneOf": [
{
"type": "string",
"enum": [
"none",
"auto",
"required"
]
},
{
"type": "object",
"description": "Force a specific function tool.",
"properties": {
"type": {
"type": "string",
"enum": [
"function"
]
},
"function": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"function"
]
},
{
"type": "object",
"description": "Force a specific custom tool.",
"properties": {
"type": {
"type": "string",
"enum": [
"custom"
]
},
"custom": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"custom"
]
},
{
"type": "object",
"description": "Constrain to an allowed subset of tools.",
"properties": {
"type": {
"type": "string",
"enum": [
"allowed_tools"
]
},
"allowed_tools": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"auto",
"required"
]
},
"tools": {
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [
"mode",
"tools"
]
}
},
"required": [
"type",
"allowed_tools"
]
}
]
}
]
},
"tools": {
"type": "array",
"description": "A list of tools the model may call.",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"function"
]
},
"function": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the function to be called."
},
"description": {
"type": "string",
"description": "A description of what the function does."
},
"parameters": {
"type": "object",
"description": "The parameters the function accepts, described as a JSON Schema object."
},
"strict": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to enable strict schema adherence."
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"function"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"custom"
]
},
"custom": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"format": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"grammar"
]
},
"grammar": {
"type": "object",
"properties": {
"definition": {
"type": "string"
},
"syntax": {
"type": "string",
"enum": [
"lark",
"regex"
]
}
},
"required": [
"definition",
"syntax"
]
}
},
"required": [
"type",
"grammar"
]
}
]
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"custom"
]
}
]
}
},
"top_p": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1
},
{
"type": "null"
}
],
"default": 1,
"description": "Nucleus sampling: considers the results of the tokens with top_p probability mass."
},
"user": {
"type": "string",
"description": "A unique identifier representing your end-user, for abuse monitoring."
},
"web_search_options": {
"anyOf": [
{
"type": "object",
"description": "Options for the web search tool (when using built-in web search).",
"properties": {
"search_context_size": {
"type": "string",
"enum": [
"low",
"medium",
"high"
],
"default": "medium"
},
"user_location": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"approximate"
]
},
"approximate": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"region": {
"type": "string"
},
"timezone": {
"type": "string"
}
}
}
},
"required": [
"type",
"approximate"
]
}
}
}
]
},
"function_call": {
"anyOf": [
{
"type": "string",
"enum": [
"none",
"auto"
]
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
]
},
"functions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the function to be called."
},
"description": {
"type": "string",
"description": "A description of what the function does."
},
"parameters": {
"type": "object",
"description": "The parameters the function accepts, described as a JSON Schema object."
},
"strict": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to enable strict schema adherence."
}
},
"required": [
"name"
]
},
"minItems": 1,
"maxItems": 128
}
},
"required": [
"prompt"
]
},
{
"title": "Messages",
"properties": {
"messages": {
"type": "array",
"description": "A list of messages comprising the conversation so far.",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"developer"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
}
},
"required": [
"type",
"text"
]
}
}
]
},
"name": {
"type": "string"
}
},
"required": [
"role",
"content"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"system"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
}
},
"required": [
"type",
"text"
]
}
}
]
},
"name": {
"type": "string"
}
},
"required": [
"role",
"content"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"user"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text",
"image_url",
"video_url",
"input_audio",
"file"
]
},
"text": {
"type": "string"
},
"image_url": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"detail": {
"type": "string",
"enum": [
"auto",
"low",
"high"
],
"default": "auto"
}
}
},
"video_url": {
"type": "object",
"properties": {
"url": {
"type": "string"
}
}
},
"input_audio": {
"type": "object",
"properties": {
"data": {
"type": "string"
},
"format": {
"type": "string",
"enum": [
"wav",
"mp3"
]
}
}
},
"file": {
"type": "object",
"properties": {
"file_data": {
"type": "string"
},
"file_id": {
"type": "string"
},
"filename": {
"type": "string"
}
}
}
},
"required": [
"type"
]
},
"minItems": 1
}
]
},
"name": {
"type": "string"
}
},
"required": [
"role",
"content"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"assistant"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text",
"refusal"
]
},
"text": {
"type": "string"
},
"refusal": {
"type": "string"
}
},
"required": [
"type"
]
}
}
]
},
"refusal": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
},
"audio": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}
]
},
"tool_calls": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"function"
]
},
"function": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "string",
"description": "JSON-encoded arguments string."
}
},
"required": [
"name",
"arguments"
]
}
},
"required": [
"id",
"type",
"function"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"custom"
]
},
"custom": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"input": {
"type": "string"
}
},
"required": [
"name",
"input"
]
}
},
"required": [
"id",
"type",
"custom"
]
}
]
}
},
"function_call": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "string"
}
},
"required": [
"name",
"arguments"
]
}
]
}
},
"required": [
"role"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"tool"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
}
},
"required": [
"type",
"text"
]
}
}
]
},
"tool_call_id": {
"type": "string"
}
},
"required": [
"role",
"content",
"tool_call_id"
]
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"function"
]
},
"content": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"role",
"content",
"name"
]
}
]
},
"minItems": 1
},
"model": {
"type": "string",
"description": "ID of the model to use (e.g. '@cf/zai-org/glm-4.7-flash, etc')."
},
"audio": {
"anyOf": [
{
"type": "object",
"description": "Parameters for audio output. Required when modalities includes 'audio'.",
"properties": {
"voice": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}
]
},
"format": {
"type": "string",
"enum": [
"wav",
"aac",
"mp3",
"flac",
"opus",
"pcm16"
]
}
},
"required": [
"voice",
"format"
]
}
]
},
"frequency_penalty": {
"anyOf": [
{
"type": "number",
"minimum": -2,
"maximum": 2
},
{
"type": "null"
}
],
"default": 0,
"description": "Penalizes new tokens based on their existing frequency in the text so far."
},
"logit_bias": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
],
"description": "Modify the likelihood of specified tokens appearing in the completion. Maps token IDs to bias values from -100 to 100."
},
"logprobs": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to return log probabilities of the output tokens."
},
"top_logprobs": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 20
},
{
"type": "null"
}
],
"description": "How many top log probabilities to return at each token position (0-20). Requires logprobs=true."
},
"max_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Deprecated in favor of max_completion_tokens. The maximum number of tokens to generate."
},
"max_completion_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "An upper bound for the number of tokens that can be generated for a completion."
},
"metadata": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
],
"description": "Set of 16 key-value pairs that can be attached to the object."
},
"modalities": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"enum": [
"text",
"audio"
]
}
},
{
"type": "null"
}
],
"description": "Output types requested from the model (e.g. ['text'] or ['text', 'audio'])."
},
"n": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 128
},
{
"type": "null"
}
],
"default": 1,
"description": "How many chat completion choices to generate for each input message."
},
"parallel_tool_calls": {
"type": "boolean",
"default": true,
"description": "Whether to enable parallel function calling during tool use."
},
"prediction": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"content"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
}
},
"required": [
"type",
"text"
]
}
}
]
}
},
"required": [
"type",
"content"
]
}
]
},
"presence_penalty": {
"anyOf": [
{
"type": "number",
"minimum": -2,
"maximum": 2
},
{
"type": "null"
}
],
"default": 0,
"description": "Penalizes new tokens based on whether they appear in the text so far."
},
"reasoning_effort": {
"anyOf": [
{
"type": "string",
"enum": [
"max",
"high",
"none"
]
},
{
"type": "null"
}
],
"description": "Reasoning effort. Supported levels: max, high, none. Compatibility aliases: low maps to high; medium maps to high; xhigh maps to max; minimal maps to none.",
"default": "max"
},
"chat_template_kwargs": {
"type": "object",
"properties": {
"enable_thinking": {
"type": "boolean",
"default": true,
"description": "Whether to enable reasoning for this model."
},
"clear_thinking": {
"type": "boolean",
"default": false,
"description": "If false, preserves reasoning context between turns."
}
}
},
"response_format": {
"anyOf": [
{
"description": "Specifies the format the model must output.",
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"json_object"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"json_schema"
]
},
"json_schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"schema": {
"type": "object"
},
"strict": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"json_schema"
]
}
]
}
]
},
"seed": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "If specified, the system will make a best effort to sample deterministically."
},
"stop": {
"description": "Up to 4 sequences where the API will stop generating further tokens.",
"anyOf": [
{
"type": "null"
},
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 4
}
]
},
"store": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to store the output for model distillation / evals."
},
"stream": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "If true, partial message deltas will be sent as server-sent events."
},
"stream_options": {
"anyOf": [
{
"type": "object",
"properties": {
"include_usage": {
"type": "boolean"
},
"include_obfuscation": {
"type": "boolean"
}
}
}
]
},
"temperature": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 2
},
{
"type": "null"
}
],
"default": 1,
"description": "Sampling temperature between 0 and 2."
},
"tool_choice": {
"anyOf": [
{
"description": "Controls which (if any) tool is called by the model. 'none' = no tools, 'auto' = model decides, 'required' = must call a tool.",
"oneOf": [
{
"type": "string",
"enum": [
"none",
"auto",
"required"
]
},
{
"type": "object",
"description": "Force a specific function tool.",
"properties": {
"type": {
"type": "string",
"enum": [
"function"
]
},
"function": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"function"
]
},
{
"type": "object",
"description": "Force a specific custom tool.",
"properties": {
"type": {
"type": "string",
"enum": [
"custom"
]
},
"custom": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"custom"
]
},
{
"type": "object",
"description": "Constrain to an allowed subset of tools.",
"properties": {
"type": {
"type": "string",
"enum": [
"allowed_tools"
]
},
"allowed_tools": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"auto",
"required"
]
},
"tools": {
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [
"mode",
"tools"
]
}
},
"required": [
"type",
"allowed_tools"
]
}
]
}
]
},
"tools": {
"type": "array",
"description": "A list of tools the model may call.",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"function"
]
},
"function": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the function to be called."
},
"description": {
"type": "string",
"description": "A description of what the function does."
},
"parameters": {
"type": "object",
"description": "The parameters the function accepts, described as a JSON Schema object."
},
"strict": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to enable strict schema adherence."
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"function"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"custom"
]
},
"custom": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"format": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"grammar"
]
},
"grammar": {
"type": "object",
"properties": {
"definition": {
"type": "string"
},
"syntax": {
"type": "string",
"enum": [
"lark",
"regex"
]
}
},
"required": [
"definition",
"syntax"
]
}
},
"required": [
"type",
"grammar"
]
}
]
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"custom"
]
}
]
}
},
"top_p": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1
},
{
"type": "null"
}
],
"default": 1,
"description": "Nucleus sampling: considers the results of the tokens with top_p probability mass."
},
"user": {
"type": "string",
"description": "A unique identifier representing your end-user, for abuse monitoring."
},
"web_search_options": {
"anyOf": [
{
"type": "object",
"description": "Options for the web search tool (when using built-in web search).",
"properties": {
"search_context_size": {
"type": "string",
"enum": [
"low",
"medium",
"high"
],
"default": "medium"
},
"user_location": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"approximate"
]
},
"approximate": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"region": {
"type": "string"
},
"timezone": {
"type": "string"
}
}
}
},
"required": [
"type",
"approximate"
]
}
}
}
]
},
"function_call": {
"anyOf": [
{
"type": "string",
"enum": [
"none",
"auto"
]
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
]
},
"functions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the function to be called."
},
"description": {
"type": "string",
"description": "A description of what the function does."
},
"parameters": {
"type": "object",
"description": "The parameters the function accepts, described as a JSON Schema object."
},
"strict": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Whether to enable strict schema adherence."
}
},
"required": [
"name"
]
},
"minItems": 1,
"maxItems": 128
}
},
"required": [
"messages"
]
}
]
}
}
}
}
]
}
}Validate a payload
before you spend tokensshell
$ curl -X POST https://modelschemas.com/v1/validate \
-d '{"provider":"cloudflare-workers-ai","endpointId":"accounts/{account_id}/ai/run/@cf/zai-org/glm-5.2","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}