GET

/v1/schemas/cloudflare-workers-ai/chat/accounts/{account_id}/ai/run/@cf/zai-org/glm-4.7-flash

kind inputactivity chathash 116a332b…extracted Oct 7, 2026version currentsource upstream spec ↗
fieldrecorded source
schemaSource linked above.

upstream-spec

Source trace
6c22bf1b44dd8d017094d1b84f4a6aee3f9f45eb09dda7038d2515a974da8d0b
{
  "fetchedAt": 1791349950,
  "extractorVersion": "1",
  "verifiedAt": null
}

Request body

0 properties · 0 required · 0 $defs

This 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-4.7-flash",
  "kind": "input",
  "contentHash": "116a332b3efa19aec2494c6c61e4db6268c4d0a0965adf03e120f9148baf2b12",
  "specRevision": null,
  "provenance": {
    "sourceUrl": "https://raw.githubusercontent.com/cloudflare/cloudflare-docs/production/src/content/workers-ai-models/glm-4.7-flash.json",
    "sourceHash": "6c22bf1b44dd8d017094d1b84f4a6aee3f9f45eb09dda7038d2515a974da8d0b",
    "fetchedAt": 1791349950,
    "extractorVersion": "1",
    "derivation": "upstream-spec",
    "verifiedAt": null
  },
  "createdAt": 1791349950,
  "supersededAt": null,
  "schema": {
    "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."
          },
          "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."
          },
          "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 tokens
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"cloudflare-workers-ai","endpointId":"accounts/{account_id}/ai/run/@cf/zai-org/glm-4.7-flash","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}