{ "openapi": "3.0.1", "info": { "title": "Z.AI API", "description": "Z.AI API available endpoints", "license": { "name": "Z.AI Developer Agreement and Policy", "url": "https://chat.z.ai/legal-agreement/terms-of-service" }, "version": "1.0.0", "contact": { "name": "Z.AI Developers", "url": "https://chat.z.ai/legal-agreement/privacy-policy", "email": "user_feedback@z.ai" } }, "servers": [ { "url": "https://api.z.ai/api", "description": "Production server" } ], "security": [ { "bearerAuth": [] } ], "paths": { "/paas/v4/chat/completions": { "post": { "description": "Create a chat completion model that generates AI replies for given conversation messages. It supports multimodal inputs (text, images, audio, video, file), offers configurable parameters (like temperature, max tokens, tool use), and supports both streaming and non-streaming output modes.", "parameters": [ { "$ref": "#/components/parameters/AcceptLanguage" } ], "requestBody": { "content": { "application/json": { "schema": { "oneOf": [ { "title": "Text Model", "$ref": "#/components/schemas/ChatCompletionTextRequest" }, { "title": "Vision Model", "$ref": "#/components/schemas/ChatCompletionVisionRequest" } ] }, "examples": { "Basic Example": { "value": { "model": "glm-5.1", "messages": [ { "role": "system", "content": "You are a useful AI assistant." }, { "role": "user", "content": "Please tell us about the development of artificial intelligence." } ], "temperature": 1, "stream": false } }, "Stream Example": { "value": { "model": "glm-5.1", "messages": [ { "role": "user", "content": "Write a poem about spring." } ], "temperature": 1, "stream": true } }, "Thinking Example": { "value": { "model": "glm-5.1", "messages": [ { "role": "user", "content": "Write a poem about spring." } ], "thinking": { "type": "enabled" }, "stream": true } }, "Multi Conversation": { "value": { "model": "glm-5.1", "messages": [ { "role": "system", "content": "You are a professional programming assistant." }, { "role": "user", "content": "What is recursion?" }, { "role": "assistant", "content": "Recursion is a programming technique where a function calls itself to solve a problem... What is recursion" }, { "role": "user", "content": "Can you give me an example of Python recursion?" } ], "stream": true } }, "Image Visual Example": { "value": { "model": "glm-5v-turbo", "messages": [ { "role": "user", "content": [ { "type": "image_url", "image_url": { "url": "https://cdn.bigmodel.cn/static/logo/register.png" } }, { "type": "image_url", "image_url": { "url": "https://cdn.bigmodel.cn/static/logo/api-key.png" } }, { "type": "text", "text": "What are the pics talk about?" } ] } ] } }, "Video Visual Example": { "value": { "model": "glm-5v-turbo", "messages": [ { "role": "user", "content": [ { "type": "video_url", "video_url": { "url": "https://cdn.bigmodel.cn/agent-demos/lark/113123.mov" } }, { "type": "text", "text": "What are the video show about?" } ] } ] } }, "File Visual Example": { "value": { "model": "glm-5v-turbo", "messages": [ { "role": "user", "content": [ { "type": "file_url", "file_url": { "url": "https://cdn.bigmodel.cn/static/demo/demo2.txt" } }, { "type": "file_url", "file_url": { "url": "https://cdn.bigmodel.cn/static/demo/demo1.pdf" } }, { "type": "text", "text": "What are the files show about?" } ] } ] } }, "Function Call Example": { "value": { "model": "glm-5.1", "messages": [ { "role": "user", "content": "Is there an example of how the weather in Beijing is today?" } ], "tools": [ { "type": "function", "function": { "name": "get_weather", "description": "Get weather information for the specified city.", "parameters": { "type": "object", "properties": { "city": { "type": "string", "description": "City Name" } }, "required": [ "city" ] } } } ], "tool_choice": "auto", "temperature": 0.3 } } } } }, "required": true }, "responses": { "200": { "description": "Processing successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChatCompletionResponse" } } } }, "default": { "description": "The request has failed.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/paas/v4/videos/generations": { "post": { "description": "CogVideoX is a video generation large model developed by Z.AI, equipped with powerful video generation capabilities. Simply inputting text or images allows for effortless video creation.\n\nVidu: A high-performance video large model that combines high consistency and high dynamism, with precise semantic understanding and exceptional reasoning speed.", "parameters": [ { "$ref": "#/components/parameters/AcceptLanguage" } ], "requestBody": { "content": { "application/json": { "schema": { "oneOf": [ { "title": "CogVideoX-3", "$ref": "#/components/schemas/CogVideoX3Request" }, { "title": "Vidu: Text to Video", "$ref": "#/components/schemas/ViduText2VideoRequest" }, { "title": "Vidu: Image to Video", "$ref": "#/components/schemas/ViduImage2VideoRequest" }, { "title": "Vidu: First & Last Frame to Video", "$ref": "#/components/schemas/ViduFrames2VideoRequest" }, { "title": "Vidu: Ref to Video", "$ref": "#/components/schemas/ViduReference2VideoRequest" } ] }, "examples": { "Text to Video Example": { "value": { "model": "cogvideox-3", "prompt": "A cat is playing with a ball.", "quality": "quality", "with_audio": true, "size": "1920x1080", "fps": 30 } }, "Image to Video Example": { "value": { "model": "cogvideox-3", "image_url": "https://img.iplaysoft.com/wp-content/uploads/2019/free-images/free_stock_photo.jpg", "prompt": "Make the picture move", "quality": "quality", "with_audio": true, "size": "1920x1080", "fps": 30 } }, "First Last Frame to Video": { "value": { "model": "cogvideox-3", "image_url": [ "https://gd-hbimg.huaban.com/ccee58d77afe8f5e17a572246b1994f7e027657fe9e6-qD66In_fw1200webp", "https://gd-hbimg.huaban.com/cc2601d568a72d18d90b2cc7f1065b16b2d693f7fa3f7-hDAwNq_fw1200webp" ], "prompt": "Make the picture move", "quality": "quality", "with_audio": true, "size": "1920x1080", "fps": 30 } } } } }, "required": true }, "responses": { "200": { "description": "Processing successful.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VideoResponse" } } } }, "default": { "description": "The request has failed.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/paas/v4/async-result/{id}": { "get": { "description": "This endpoint is used to query the result of an asynchronous request.", "parameters": [ { "$ref": "#/components/parameters/AcceptLanguage" }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "description": "Task id." } } ], "responses": { "200": { "description": "Processing successful", "content": { "application/json": { "schema": { "oneOf": [ { "title": "Video Generation", "$ref": "#/components/schemas/AsyncVideoGenerationResponse" }, { "title": "Image Generation", "$ref": "#/components/schemas/AsyncImageGenerationResponse" } ] } } } }, "default": { "description": "The request has failed.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/paas/v4/images/generations": { "post": { "summary": "Generate Image", "description": "Use [GLM-Image](/guides/image/glm-image) series models to generate high-quality images from text prompts. Through quick and accurate understanding of user text descriptions, `AI` image expression becomes more precise and personalized.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateImageRequest" }, "examples": { "Generate Image Example": { "value": { "model": "glm-image", "prompt": "A cute little kitten sitting on a sunny windowsill, with the background of blue sky and white clouds.", "size": "1280x1280" } } } } }, "required": true }, "responses": { "200": { "description": "Processing successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageGenerationResponse" } } } }, "default": { "description": "Request Failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/paas/v4/async/images/generations": { "post": { "summary": "Generate Image (Async)", "description": "Use the [GLM-Image](/guides/image/glm-image) series models to generate high-quality images from text prompts. Through quick and accurate understanding of user text descriptions, `AI` image expression becomes more precise and personalized. Only supports `GLM-Image` model.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AsyncCreateImageRequest" }, "examples": { "Image Generation Example": { "value": { "model": "glm-image", "prompt": "A cute little kitten sitting on a sunny windowsill, with the background of blue sky and white clouds.", "size": "1280x1280" } } } } }, "required": true }, "responses": { "200": { "description": "Processing successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AsyncResponse" } } } }, "default": { "description": "The request has failed.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/paas/v4/audio/transcriptions": { "post": { "summary": "Speech to Text", "description": "Use the [GLM-ASR-2512](/guides/audio/glm-asr-2512) model to transcribe audio files into text, supporting multiple languages and real-time streaming transcription.", "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/AudioTranscriptionRequest" }, "example": { "model": "glm-asr-2512", "stream": false } } }, "required": true }, "responses": { "200": { "description": "Request processed successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AudioTranscriptionResponse" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/AudioTranscriptionStreamResponse" } } } }, "default": { "description": "Request failed.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/paas/v4/tokenizer": { "post": { "summary": "Text Tokenizer", "description": "`Tokenizer` is used to split text into `tokens` recognizable by the model and calculate the count. It receives user input text, processes it through the model for tokenization, and finally returns the corresponding `token` count. It is suitable for text length evaluation, model input estimation, dialogue context truncation, cost calculation, etc.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenizerRequest" }, "examples": { "Text Tokenization Example": { "value": { "model": "glm-4.6", "messages": [ { "role": "user", "content": "What opportunities and challenges will the Chinese large model industry face in 2025?" } ] } } } } }, "required": true }, "responses": { "200": { "description": "Business processing successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenizerResponse" } } } }, "default": { "description": "The request has failed.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/paas/v4/layout_parsing": { "post": { "summary": "Layout Parsing", "description": "Use the [GLM-OCR](/guides/vlm/glm-ocr) model to parse the layout of documents and images and extract text content. Support OCR recognition of images and PDF documents, returning detailed layout information and visualization results.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LayoutParsingRequest" }, "examples": { "Layout Parsing Example": { "value": { "model": "glm-ocr", "file": "https://cdn.bigmodel.cn/static/logo/introduction.png" } } } } }, "required": true }, "responses": { "200": { "description": "Business processing successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LayoutParsingResponse" } } } }, "default": { "description": "Request failed.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/paas/v4/web_search": { "post": { "description": "The [Web Search](/guides/tools/web-search) is a specialized search engine for large language models. Building upon traditional search engine capabilities like web crawling and ranking, it enhances intent recognition to return results better suited for LLM processing (including webpage titles, URLs, summaries, site names, favicons etc.).", "parameters": [ { "$ref": "#/components/parameters/AcceptLanguage" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebSearchRequest" } } }, "required": true }, "responses": { "200": { "description": "Processing successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebSearchResponse" } } } }, "default": { "description": "The request has failed.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/paas/v4/reader": { "post": { "tags": [ "Tools API" ], "summary": "Web Reader", "description": "Reads and parses the content of the specified URL. Supports selectable return formats, cache control, image retention, and summary options.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReaderRequest" }, "examples": { "Basic": { "value": { "url": "https://www.example.com" } } } } }, "required": true }, "responses": { "200": { "description": "Processing successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReaderResponse" } } } }, "default": { "description": "The request has failed.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/paas/v4/files": { "post": { "description": "This API is designed for uploading auxiliary files (such as glossaries, terminology lists) to support the translation service. It allows users to upload reference materials that can enhance translation accuracy and consistency.", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "purpose": { "type": "string", "description": "Upload purpose (agent)", "default": "agent", "enum": [ "agent" ] }, "file": { "type": "string", "format": "binary", "description": "File to upload. Limit to `100MB`. Allowed formats: `pdf`, `doc`, `xlsx`, `ppt`, `txt`, `jpg`, `png`." } }, "required": [ "purpose", "file" ] } } }, "required": true }, "responses": { "200": { "description": "Processing successful", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier of the uploaded file." }, "object": { "type": "string", "description": "Object type." }, "bytes": { "type": "integer", "description": "File size in bytes." }, "filename": { "type": "string", "description": "Name of the uploaded file." }, "purpose": { "type": "string", "description": "Purpose of the uploaded file." }, "created_at": { "type": "integer", "description": "Timestamp of file creation." } } } } } }, "default": { "description": "The request has failed.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/v1/agents": { "post": { "description": "General Translation: General Translation API provides large model-based multilingual translation services, including general translation, paraphrase translation, two-step translation, and three-pass translation strategies. It supports automatic language detection, glossary customization, translation suggestions, and streaming output. Users only need to call the Translation API, input the text to be processed, specify the source language (auto-detection supported) and target language to receive high-quality translation results. \n\n Popular Special Effects Videos: Popular special effects videos are intelligent templates launched based on trending features from pan-entertainment platforms, designed to precisely adapt to short video creative production needs. Currently, three effect templates are available: `French Kiss`, `Body Shake Dance`, and `Sexy Me`. After selecting a template, users only need to upload an image and enter corresponding prompts to generate a special effects video. \n\n GLM Slide/Poster Agent: An intelligent creation agent built for working people and creators. It goes beyond traditional engineering-style assembly tools—supporting one-click generation of slides or posters from natural language instructions. By natively integrating content generation with layout aesthetics and design conventions, it helps you quickly produce polished, professional-grade materials while lowering design barriers and boosting creative efficiency.", "parameters": [ { "$ref": "#/components/parameters/AcceptLanguage" } ], "requestBody": { "content": { "application/json": { "schema": { "oneOf": [ { "title": "General Translation", "$ref": "#/components/schemas/TranslationAgentRequest" }, { "title": "Popular Special Effects Videos", "$ref": "#/components/schemas/SpecialEffectsVideosAgentRequest" }, { "title": "GLM Slide/Poster", "$ref": "#/components/schemas/GlmSlideAgentRequest" } ] } } }, "required": true }, "responses": { "200": { "description": "Processing successful", "content": { "application/json": { "schema": { "oneOf": [ { "title": "General Translation", "$ref": "#/components/schemas/TranslationAgentResponse" }, { "title": "Popular Special Effects Videos", "$ref": "#/components/schemas/SpecialEffectsVideosAgentResponse" }, { "title": "GLM Slide/Poster", "$ref": "#/components/schemas/GlmSlideAgentResponse" } ] }, "examples": { "General Translation": { "value": { "id": "", "agent_id": "", "choices": [ { "index": 123, "finish_reason": "", "messages": [ { "role": "", "content": { "text": "", "type": "" } } ] } ], "usage": { "prompt_tokens": 123, "completion_tokens": 123, "total_tokens": 123, "total_calls": 123 } } }, "Popular Special Effects Videos": { "value": { "status": "", "agent_id": "", "async_id": "" } } } } } }, "default": { "description": "The request has failed.", "content": { "application/json": { "schema": { "oneOf": [ { "title": "General Translation", "$ref": "#/components/schemas/Error" }, { "title": "Popular Special Effects Videos", "$ref": "#/components/schemas/SpecialEffectsVideosAgentError" } ] }, "examples": { "General Translation": { "value": { "code": 123, "message": "" } }, "Popular Special Effects Videos": { "value": { "status": "", "agent_id": "", "error": { "code": "", "message": "" } } } } } } } } } }, "/v1/agents/async-result": { "post": { "description": "This endpoint is used to query the result of an asynchronous request.", "parameters": [ { "$ref": "#/components/parameters/AcceptLanguage" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonAgentResultRequest" } } }, "required": true }, "responses": { "200": { "description": "Processing successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonAgentResultResponse" } } } }, "default": { "description": "The request has failed.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SpecialEffectsVideosAgentError" } } } } } } }, "/v1/agents/conversation": { "post": { "description": "This endpoint is used to query the agent conversation history.Only support slides_glm_agent", "parameters": [ { "$ref": "#/components/parameters/AcceptLanguage" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GlmSlideAgentConversationRequest" } } }, "required": true }, "responses": { "200": { "description": "Processing successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GlmSlideAgentConversationResponse" } } } }, "default": { "description": "The request has failed.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } } }, "components": { "parameters": { "AcceptLanguage": { "name": "Accept-Language", "in": "header", "schema": { "type": "string", "description": "Config desired response language for HTTP requests.", "default": "en-US,en", "example": "en-US,en", "enum": [ "en-US,en" ] }, "required": false } }, "schemas": { "ReaderRequest": { "type": "object", "properties": { "url": { "type": "string", "description": "The URL to retrieve" }, "timeout": { "type": "integer", "description": "Request timeout in seconds. Default is 20", "default": 20 }, "no_cache": { "type": "boolean", "description": "Whether to disable caching (true/false). Default is false", "default": false }, "return_format": { "type": "string", "description": "Return format (e.g., markdown, text). Default is markdown", "default": "markdown" }, "retain_images": { "type": "boolean", "description": "Whether to retain images (true/false). Default is true", "default": true }, "no_gfm": { "type": "boolean", "description": "Whether to disable GitHub Flavored Markdown (true/false). Default is false", "default": false }, "keep_img_data_url": { "type": "boolean", "description": "Whether to keep image data URLs (true/false). Default is false", "default": false }, "with_images_summary": { "type": "boolean", "description": "Whether to include image summary (true/false). Default is false", "default": false }, "with_links_summary": { "type": "boolean", "description": "Whether to include links summary (true/false). Default is false", "default": false } }, "required": [ "url" ] }, "ReaderResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "Task ID" }, "created": { "type": "integer", "format": "int64", "description": "Request creation time as a Unix timestamp in seconds" }, "request_id": { "type": "string", "description": "Client-provided unique identifier to distinguish requests. If not provided, the platform will generate one." }, "model": { "type": "string", "description": "Model code" }, "reader_result": { "type": "object", "description": "Web reading result", "properties": { "content": { "type": "string", "description": "Main content parsed from the page (body, images, links, etc.)" }, "description": { "type": "string", "description": "Brief description of the page" }, "title": { "type": "string", "description": "Page title" }, "url": { "type": "string", "description": "Original page URL" }, "external": { "type": "object", "description": "External resources referenced by the page", "properties": { "stylesheet": { "type": "object", "description": "Collection of external stylesheets", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "Stylesheet MIME type, typically `text/css`" } } } } } }, "metadata": { "type": "object", "description": "Page metadata", "properties": { "keywords": { "type": "string", "description": "Page keywords" }, "viewport": { "type": "string", "description": "Viewport settings" }, "description": { "type": "string", "description": "Meta description" }, "format-detection": { "type": "string", "description": "Format detection settings, e.g., `telephone=no`" } } } } } } }, "ChatCompletionTextRequest": { "required": [ "model", "messages" ], "type": "object", "properties": { "model": { "type": "string", "description": "The model code to be called. GLM-5.1, GLM-5, GLM-5-Turbo are the latest flagship model series, foundational models specifically designed for agent applications.", "example": "glm-5.1", "default": "glm-5.1", "enum": [ "glm-5.1", "glm-5-turbo", "glm-5", "glm-4.7", "glm-4.7-flash", "glm-4.7-flashx", "glm-4.6", "glm-4.5", "glm-4.5-air", "glm-4.5-x", "glm-4.5-airx", "glm-4.5-flash", "glm-4-32b-0414-128k" ] }, "messages": { "type": "array", "description": "The current conversation message list as the model’s prompt input, provided in JSON array format, e.g.,`{“role”: “user”, “content”: “Hello”}`. Possible message types include system messages, user messages, assistant messages, and tool messages. Note: The input must not consist of system messages or assistant messages only.", "items": { "oneOf": [ { "title": "User Message", "type": "object", "properties": { "role": { "type": "string", "enum": [ "user" ], "description": "Role of the message author", "default": "user" }, "content": { "oneOf": [ { "type": "string", "description": "Text message content", "example": "What opportunities and challenges will the Chinese large model industry face in 2025?" } ] } }, "required": [ "role", "content" ] }, { "title": "System Message", "type": "object", "properties": { "role": { "type": "string", "enum": [ "system" ], "description": "Role of the message author", "default": "system" }, "content": { "oneOf": [ { "type": "string", "description": "Message text content", "example": "You are a helpful assistant." } ] } }, "required": [ "role", "content" ] }, { "title": "Assistant Message", "type": "object", "description": "Can include tool calls", "properties": { "role": { "type": "string", "enum": [ "assistant" ], "description": "Role of the message author", "default": "assistant" }, "content": { "oneOf": [ { "type": "string", "description": "Text message content", "example": "I'll help you with that analysis." } ] }, "tool_calls": { "type": "array", "description": "Tool call messages generated by the model. When this field is provided, content is usually empty.", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "Tool call ID" }, "type": { "type": "string", "description": "Tool type, supports web_search, retrieval, function", "enum": [ "function", "web_search", "retrieval" ] }, "function": { "type": "object", "description": "Function call information, not empty when type is function", "properties": { "name": { "type": "string", "description": "Function name" }, "arguments": { "type": "string", "description": "Function parameters, JSON format string" } }, "required": [ "name", "arguments" ] } }, "required": [ "id", "type" ] } } }, "required": [ "role" ] }, { "title": "Tool Message", "type": "object", "properties": { "role": { "type": "string", "enum": [ "tool" ], "description": "Role of the message author", "default": "tool" }, "content": { "oneOf": [ { "type": "string", "description": "Message text content", "example": "Function executed successfully with result: ..." } ] }, "tool_call_id": { "type": "string", "description": "Indicates the tool call ID corresponding to this message" } }, "required": [ "role", "content", "tool_call_id" ] } ] }, "minItems": 1 }, "request_id": { "type": "string", "description": "Passed by the user side, needs to be unique; used to distinguish each request. If not provided by the user side, the platform will generate one by default." }, "do_sample": { "type": "boolean", "example": true, "default": true, "description": "When do_sample is true, sampling strategy is enabled; when do_sample is false, sampling strategy parameters such as temperature and top_p will not take effect. Default value is `true`." }, "stream": { "type": "boolean", "example": false, "default": false, "description": "This parameter should be set to false or omitted when using synchronous call. It indicates that the model returns all content at once after generating all content. Default value is false. If set to true, the model will return the generated content in chunks via standard Event Stream. When the Event Stream ends, a `data: [DONE]` message will be returned." }, "thinking": { "$ref": "#/components/schemas/ChatThinking" }, "temperature": { "type": "number", "description": "Sampling temperature, controls the randomness of the output, must be a positive number within the range: `[0.0, 1.0]`. The GLM-5.1, GLM-5, GLM-4.7, GLM-4.6 series default value is `1.0`, GLM-4.5 series default value is `0.6`, GLM-4-32B-0414-128K default value is `0.75`.", "format": "float", "example": 1, "default": 1, "minimum": 0, "maximum": 1 }, "top_p": { "type": "number", "description": "Another method of temperature sampling, value range is: `[0.01, 1.0]`. The GLM-5.1, GLM-5, GLM-4.7, GLM-4.6, GLM-4.5 series default value is `0.95`, GLM-4-32B-0414-128K default value is `0.9`.", "format": "float", "example": 0.95, "default": 0.95, "minimum": 0.01, "maximum": 1 }, "max_tokens": { "type": "integer", "description": "The maximum number of tokens for model output, the GLM-5.1, GLM-5, GLM-4.7, GLM-4.6 series supports 128K maximum output, the GLM-4.5 series supports 96K maximum output, the GLM-4.6v series supports 32K maximum output, the GLM-4.5v series supports 16K maximum output, GLM-4-32B-0414-128K supports 16K maximum output.", "example": 1024, "minimum": 1, "maximum": 131072 }, "tool_stream": { "type": "boolean", "example": false, "default": false, "description": "Whether to enable streaming response for Function Calls. Default value is false. Only supported by GLM-4.6 and above. Refer the [Stream Tool Call](/guides/tools/stream-tool)" }, "tools": { "type": "array", "description": "A list of tools the model may call. Currently, only functions are supported as a tool. Use this to provide a list of functions the model may generate JSON inputs for. A max of 128 functions are supported.\n", "items": { "anyOf": [ { "$ref": "#/components/schemas/FunctionToolSchema" }, { "$ref": "#/components/schemas/RetrievalToolSchema" }, { "$ref": "#/components/schemas/WebSearchToolSchema" } ] } }, "tool_choice": { "oneOf": [ { "type": "string", "enum": [ "auto" ], "description": "Used to control how the model selects which function to call. This is only applicable when the tool type is function. The default value is auto, and only auto is supported." } ], "description": "Controls how the model selects a tool." }, "stop": { "type": "array", "description": "Stop word list. Generation stops when the model encounters any specified string. Currently, only one stop word is supported, in the format [\"stop_word1\"].", "items": { "type": "string" }, "maxItems": 1 }, "response_format": { "type": "object", "description": "Specifies the response format of the model. Defaults to text. Supports two formats:{ \"type\": \"text\" } plain text mode, returns natural language text, { \"type\": \"json_object\" } JSON mode, returns valid JSON data. When using JSON mode, it’s recommended to clearly request JSON output in the prompt.", "properties": { "type": { "type": "string", "enum": [ "text", "json_object" ], "default": "text", "description": "Output format type: text for plain text, json_object for JSON-formatted output." } }, "required": [ "type" ] }, "user_id": { "type": "string", "description": "Unique ID for the end user, 6–128 characters. Avoid using sensitive information.", "minLength": 6, "maxLength": 128 } } }, "ChatCompletionVisionRequest": { "required": [ "model", "messages" ], "type": "object", "properties": { "model": { "type": "string", "description": "The model code to be called. GLM-5V-Turbo are the new generation of visual reasoning models. `AutoGLM-Phone-Multilingual` is mobile intelligent assistant model.", "example": "glm-5v-turbo", "default": "glm-5v-turbo", "enum": [ "glm-5v-turbo", "glm-4.6v", "autoglm-phone-multilingual", "glm-4.6v-flash", "glm-4.6v-flashx", "glm-4.5v" ] }, "messages": { "type": "array", "description": "The current conversation message list as the model’s prompt input, provided in JSON array format, e.g.,`{“role”: “user”, “content”: “Hello”}`. Possible message types include system messages, user messages. Note: The input must not consist of system or assistant messages only.", "items": { "oneOf": [ { "title": "User Message", "type": "object", "properties": { "role": { "type": "string", "enum": [ "user" ], "description": "Role of the message author", "default": "user" }, "content": { "oneOf": [ { "type": "array", "description": "Multimodal message content, supports text, images, video, file", "items": { "$ref": "#/components/schemas/VisionMultimodalContentItem" } }, { "type": "string", "description": "Text message content (can switch to multimodal message above)", "example": "What opportunities and challenges will the Chinese large model industry face in 2025?" } ] } }, "required": [ "role", "content" ] }, { "title": "System Message", "type": "object", "properties": { "role": { "type": "string", "enum": [ "system" ], "description": "Role of the message author", "default": "system" }, "content": { "oneOf": [ { "type": "string", "description": "Message text content", "example": "You are a helpful assistant." } ] } }, "required": [ "role", "content" ] }, { "title": "Assistant Message", "type": "object", "description": "Can include tool calls", "properties": { "role": { "type": "string", "enum": [ "assistant" ], "description": "Role of the message author", "default": "assistant" }, "content": { "oneOf": [ { "type": "string", "description": "Text message content", "example": "I'll help you with that analysis." } ] } }, "required": [ "role" ] } ] }, "minItems": 1 }, "request_id": { "type": "string", "description": "Passed by the user side, needs to be unique; used to distinguish each request. If not provided by the user side, the platform will generate one by default." }, "do_sample": { "type": "boolean", "example": true, "default": true, "description": "When do_sample is true, sampling strategy is enabled; when do_sample is false, sampling strategy parameters such as temperature and top_p will not take effect. Default value is `true`." }, "stream": { "type": "boolean", "example": false, "default": false, "description": "This parameter should be set to false or omitted when using synchronous call. It indicates that the model returns all content at once after generating all content. Default value is false. If set to true, the model will return the generated content in chunks via standard Event Stream. When the Event Stream ends, a `data: [DONE]` message will be returned." }, "thinking": { "$ref": "#/components/schemas/ChatThinking" }, "temperature": { "type": "number", "description": "Sampling temperature, controls the randomness of the output, must be a positive number within the range: `[0.0, 1.0]`. The GLM-5V-Turbo, GLM-4.6V, GLM-4.5V series default value is `0.8`, the autoglm-phone-multilingual default value is `0.0`.", "format": "float", "example": 0.8, "default": 0.8, "minimum": 0, "maximum": 1 }, "top_p": { "type": "number", "description": "Another method of temperature sampling, value range is: `[0.01, 1.0]`, value range is: `[0.01, 1.0]`. The GLM-5V-Turbo, GLM-4.6V, GLM-4.5V series default value is `0.6`, the autoglm-phone-multilingual default value is `0.85`.", "format": "float", "example": 0.6, "default": 0.6, "minimum": 0.01, "maximum": 1 }, "max_tokens": { "type": "integer", "description": "The maximum number of tokens for model output, the GLM-5V-Turbo supports 128K maximum output, GLM-4.6V series supports 32K maximum output, the GLM-4.5V series supports 16K maximum output, the autoglm-phone-multilingual supports 4K maximum output.", "example": 1024, "minimum": 1, "maximum": 131072 }, "tools": { "type": "array", "description": "A list of tools the model may call. Only support by GLM-4.6V series and autoglm-phone-multilingual. Use this to provide a list of functions the model may generate JSON inputs for. A max of 128 functions are supported.\n", "items": { "anyOf": [ { "$ref": "#/components/schemas/FunctionToolSchema" } ] } }, "tool_choice": { "oneOf": [ { "type": "string", "enum": [ "auto" ], "description": "Used to control how the model selects which function to call. This is only applicable when the tool type is function. The default value is auto, and only auto is supported." } ], "description": "Controls how the model selects a tool." }, "stop": { "type": "array", "description": "Stop word list. Generation stops when the model encounters any specified string. Currently, only one stop word is supported, in the format [\"stop_word1\"].", "items": { "type": "string" }, "maxItems": 1 }, "user_id": { "type": "string", "description": "Unique ID for the end user, 6–128 characters. Avoid using sensitive information.", "minLength": 6, "maxLength": 128 } } }, "MultimodalContentItem": { "oneOf": [ { "title": "Text", "type": "object", "properties": { "type": { "type": "string", "enum": [ "text" ], "description": "Content type is text", "default": "text" }, "text": { "type": "string", "description": "Text content" } }, "required": [ "type", "text" ], "additionalProperties": false }, { "title": "Image", "type": "object", "properties": { "type": { "type": "string", "enum": [ "image_url" ], "description": "Content type is image URL", "default": "image_url" }, "image_url": { "type": "object", "description": "Image information", "properties": { "url": { "type": "string", "description": "Image URL or Base64 encoding. Image size limit is under 5M per image, with pixels not exceeding 6000*6000. Supports jpg, png, jpeg formats." } }, "required": [ "url" ], "additionalProperties": false } }, "required": [ "type", "image_url" ], "additionalProperties": false }, { "title": "Audio", "type": "object", "properties": { "type": { "type": "string", "enum": [ "input_audio" ], "description": "Content type is audio input", "default": "input_audio" }, "input_audio": { "type": "object", "description": "Audio information", "properties": { "data": { "type": "string", "description": "Base64 encoding of audio file. Audio duration should not exceed 10 minutes. 1s audio = 12.5 Tokens, rounded up." }, "format": { "type": "string", "description": "Audio file format, supports wav and mp3", "enum": [ "wav", "mp3" ] } }, "required": [ "data", "format" ], "additionalProperties": false } }, "required": [ "type", "input_audio" ], "additionalProperties": false }, { "title": "Video", "type": "object", "properties": { "type": { "type": "string", "enum": [ "video_url" ], "description": "Content type is video URL", "default": "video_url" }, "video_url": { "type": "object", "description": "Video information.", "properties": { "url": { "type": "string", "description": "Video URL address." } }, "required": [ "url" ], "additionalProperties": false } }, "required": [ "type", "video_url" ], "additionalProperties": false }, { "title": "File", "type": "object", "properties": { "type": { "type": "string", "enum": [ "file_url" ], "description": "Content type is file URL", "default": "file_url" }, "file_url": { "type": "object", "description": "File information.", "properties": { "url": { "type": "string", "description": "File URL address. Supports formats such as PDF and Word, with a maximum of 50 pages for parsing." } }, "required": [ "url" ], "additionalProperties": false } }, "required": [ "type", "file_url" ], "additionalProperties": false } ] }, "VisionMultimodalContentItem": { "oneOf": [ { "title": "Text", "type": "object", "properties": { "type": { "type": "string", "enum": [ "text" ], "description": "Content type is text", "default": "text" }, "text": { "type": "string", "description": "Text content" } }, "required": [ "type", "text" ], "additionalProperties": false }, { "title": "Image", "type": "object", "properties": { "type": { "type": "string", "enum": [ "image_url" ], "description": "Content type is image URL", "default": "image_url" }, "image_url": { "type": "object", "description": "Image information", "properties": { "url": { "type": "string", "description": "Image URL or Base64 encoding. Image size limit is under 5M per image, with pixels not exceeding 6000*6000. GLM-5V GLM4.6V series are limited to 150 sheets, GLM4.5V limit 50 sheets. Supports jpg, png, jpeg formats." } }, "required": [ "url" ], "additionalProperties": false } }, "required": [ "type", "image_url" ], "additionalProperties": false }, { "title": "Video", "type": "object", "properties": { "type": { "type": "string", "enum": [ "video_url" ], "description": "Content type is video URL", "default": "video_url" }, "video_url": { "type": "object", "description": "Video information.", "properties": { "url": { "type": "string", "description": "Video URL address.The video size is limited to within 200 MB, GLM-5V GLM4.6V series are limited to 2 videos, GLM4.5V limit 1 video, and the format supports `mp4`,`mkv`,`mov`." } }, "required": [ "url" ], "additionalProperties": false } }, "required": [ "type", "video_url" ], "additionalProperties": false }, { "title": "File", "type": "object", "properties": { "type": { "type": "string", "enum": [ "file_url" ], "description": "Content type is file URL, not support passing both the `file_url` and `image_url` or `video_url` parameters at the same time.", "default": "file_url" }, "file_url": { "type": "object", "description": "File information.", "properties": { "url": { "type": "string", "description": "File URL address. Only GLM-5V-Turbo, GLM-4.6V, GLM-4.5V supported. Supports formats such as pdf、txt、word、jsonl、xlsx、pptx, with a maximum of 50." } }, "required": [ "url" ], "additionalProperties": false } }, "required": [ "type", "file_url" ], "additionalProperties": false } ] }, "ChatThinking": { "type": "object", "description": "Only supported by GLM-4.5 series and higher models. This parameter is used to control whether the model enable the chain of thought.", "properties": { "type": { "type": "string", "description": "Whether to enable the chain of thought(When enabled, GLM-5.1 GLM-5 GLM-5-Turbo GLM-5V-Turbo GLM-4.7 GLM-4.5V will think compulsorily, while GLM-4.6, GLM-4.6V, GLM-4.5 and others will automatically determine whether to think), default: enabled", "default": "enabled", "enum": [ "enabled", "disabled" ] }, "clear_thinking": { "type": "boolean", "description": "Default value is True. Controls whether to clear `reasoning_content` from previous conversation turns. View more in [Thinking Mode](/guides/capabilities/thinking-mode). \n - `true` (default): For this request, the system ignores/removes `reasoning_content` from prior turns, and only keeps non-reasoning context (e.g., user/assistant visible text, tool calls, and tool results). This is recommended for general chat or lightweight tasks to reduce context length and cost. \n - `false`: Retains `reasoning_content` from prior turns and includes it in the context sent to the model. To enable Preserved Thinking, you must forward the full, unmodified, and correctly ordered historical `reasoning_content` in `messages`. Missing, truncated, rewritten, or reordered blocks may degrade performance or prevent the feature from taking effect. \n - Notes: This parameter only affects cross-turn historical thinking blocks; it does not change whether the model generates/returns thinking in the current turn.", "default": true, "example": true } } }, "WebSearchToolSchema": { "type": "object", "title": "Web Search", "properties": { "type": { "type": "string", "default": "web_search", "enum": [ "web_search" ] }, "web_search": { "$ref": "#/components/schemas/WebSearchObject" } }, "required": [ "type", "web_search" ], "additionalProperties": false }, "WebSearchObject": { "type": "object", "properties": { "enable": { "type": "boolean", "description": "Whether to enable search functionality.\nDefault is `false`. Set to true to `enable`." }, "search_engine": { "type": "string", "description": "Type of search engine.\nDefault is `search_pro_jina`. Supports: `search_pro_jina`.", "enum": [ "search_pro_jina" ] }, "search_query": { "type": "string", "description": "Force trigger a search" }, "count": { "type": "integer", "description": "Number of returned results\nRange: `1-50`, max `50` results per search\nDefault is `10`\nSupported engines: `search_pro_jina`\n", "minimum": 1, "maximum": 50 }, "search_domain_filter": { "type": "string", "description": "Limits search results to specified whitelisted domains. Whitelist: input domains directly (e.g., www.example.com)\nSupported engines: `search_pro_jina`" }, "search_recency_filter": { "type": "string", "description": "Limits search to a specific time range.\nDefault is `noLimit`\nValues:\n`oneDay`, within a day\n`oneWeek`, within a week\n`oneMonth`, within a month\n`oneYear`, within a year\n`noLimit`, no limit (default)\nSupported engines: `search_pro_jina`", "enum": [ "oneDay", "oneWeek", "oneMonth", "oneYear", "noLimit" ] }, "content_size": { "type": "string", "description": "Number of characters for webpage summaries.\nDefault is `medium`\n`medium`: Balanced mode for most queries. 400-600 characters\n`high`: Maximizes context for comprehensive answers, 2500 characters.", "enum": [ "medium", "high" ] }, "result_sequence": { "type": "string", "description": "Specifies whether search results are shown before or after model response. Options: `before`, `after`. Default is `after`", "enum": [ "before", "after" ] }, "search_result": { "type": "boolean", "description": "Whether to return search results in the response.\nDefault is `false`" }, "require_search": { "type": "boolean", "description": "Whether to force model response based on search result.\nDefault is `false`" }, "search_prompt": { "type": "string", "description": "Prompt to customize how search results are processed.\nDefault Prompt:\n`You are an intelligent Q&A expert with the ability to synthesize information, recognize time, understand semantics, and clean contradictory data. The current date is {{current_date}}. Use this as the only time reference. Based on the following information, provide a comprehensive and accurate answer to the user's question.Only extract valuable content for the answer. Ensure the answer is timely and authoritative. State the answer directly without citing data sources or internal processes.`" } }, "required": [ "search_engine" ] }, "FunctionToolSchema": { "type": "object", "title": "Function Call", "properties": { "type": { "type": "string", "default": "function", "enum": [ "function" ] }, "function": { "$ref": "#/components/schemas/FunctionObject" } }, "required": [ "type", "function" ], "additionalProperties": false }, "FunctionObject": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.", "minLength": 1, "maxLength": 64, "pattern": "^[a-zA-Z0-9_-]+$" }, "description": { "type": "string", "description": "A description of what the function does, used by the model to choose when and how to call the function." }, "parameters": { "$ref": "#/components/schemas/FunctionParameters" } }, "required": [ "name", "description", "parameters" ] }, "FunctionParameters": { "type": "object", "description": "Parameters defined using JSON Schema. Must pass a JSON Schema object to accurately define accepted parameters. Omit if no parameters are needed when calling the function.", "additionalProperties": true }, "RetrievalToolSchema": { "type": "object", "title": "Retrieval", "properties": { "type": { "type": "string", "default": "retrieval", "enum": [ "retrieval" ] }, "retrieval": { "$ref": "#/components/schemas/RetrievalObject" } }, "required": [ "type", "retrieval" ], "additionalProperties": false }, "RetrievalObject": { "type": "object", "properties": { "knowledge_id": { "type": "string", "description": "Knowledge base ID, created or obtained from the platform" }, "prompt_template": { "type": "string", "description": "Prompt template for requesting the model, a custom request template containing placeholders `{{ knowledge }}` and `{{ question }}`. Default template: Search for the answer to the question `{{question}}` in the document `{{ knowledge }}`. If an answer is found, respond only using statements from the document; if no answer is found, use your own knowledge to answer and inform the user that the information is not from the document. Do not repeat the question, start the answer directly." } }, "required": [ "knowledge_id" ] }, "ChatCompletionResponse": { "type": "object", "properties": { "id": { "description": "Task ID", "type": "string" }, "request_id": { "description": "Request ID", "type": "string" }, "created": { "description": "Request creation time, Unix timestamp in seconds", "type": "integer" }, "model": { "description": "Model name", "type": "string" }, "choices": { "type": "array", "description": "List of model responses", "items": { "type": "object", "properties": { "index": { "type": "integer", "description": "Result index." }, "message": { "$ref": "#/components/schemas/ChatCompletionResponseMessage" }, "finish_reason": { "type": "string", "description": "Reason for model inference termination. Can be `stop`, `tool_calls`, `length`, `sensitive`, `model_context_window_exceeded` or `network_error`." } } } }, "usage": { "type": "object", "description": "Token usage statistics returned when the model call ends.", "properties": { "prompt_tokens": { "type": "number", "description": "Number of tokens in user input" }, "completion_tokens": { "type": "number", "description": "Number of output tokens" }, "prompt_tokens_details": { "type": "object", "properties": { "cached_tokens": { "type": "number", "description": "Number of tokens served from cache" } } }, "total_tokens": { "type": "integer", "description": "Total number of tokens" } } }, "web_search": { "description": "Search results.", "type": "array", "items": { "$ref": "#/components/schemas/WebSearchObjectResponse" } } } }, "ChatCompletionResponseMessage": { "type": "object", "properties": { "role": { "type": "string", "description": "Current conversation role, default is ‘assistant’ (model)", "example": "assistant" }, "content": { "type": "string", "description": "Current conversation content. Hits function is null, otherwise returns model inference result. \nFor the GLM-4.5V series models, the output may contain the reasoning process tags ` ` or the text boundary tags `<|begin_of_box|> <|end_of_box|>`." }, "reasoning_content": { "type": "string", "description": "Reasoning content, supports by GLM-4.5 series." }, "tool_calls": { "type": "array", "description": "Function names and parameters generated by the model that should be called.", "items": { "$ref": "#/components/schemas/ChatCompletionResponseMessageToolCall" } } } }, "ChatCompletionResponseMessageToolCall": { "type": "object", "properties": { "function": { "type": "object", "description": "Contains the function name and JSON format parameters generated by the model.", "properties": { "name": { "type": "string", "description": "Model-generated function name." }, "arguments": { "type": "object", "description": "JSON format of the function call parameters generated by the model. Validate the parameters before calling the function." } }, "required": [ "name", "arguments" ] }, "id": { "type": "string", "description": "Unique identifier for the hit function." }, "type": { "type": "string", "description": "Tool type called by the model, currently only supports ‘function’." } } }, "CogVideoX3Request": { "allOf": [ { "type": "object", "properties": { "model": { "type": "string", "description": "The model code to be called.", "enum": [ "cogvideox-3" ] }, "prompt": { "type": "string", "description": "Text description of the video, maximum input length of 512 characters. Either image_url or prompt must be provided, or both." }, "quality": { "type": "string", "description": "Output mode, default is `speed`.\n- `quality`: Prioritizes quality, higher generation quality. \n- `speed`: Prioritizes speed, faster generation time, relatively lower quality.", "example": "speed", "enum": [ "speed", "quality" ] }, "with_audio": { "type": "boolean", "description": "Whether to generate AI sound effects. Default: `false` (no sound effects).", "example": false }, "image_url": { "type": "array", "description": "Provide an image based on which content will be generated. If this parameter is passed, the system will operate based on this image. Supports passing images via URL or Base64 encoding. Image requirements: images support `.png`, `.jpeg`, `.jpg` formats; image size: no more than `5M`. Either image_url and prompt can be used, or both can be passed simultaneously.\nFirst and last frames: supports inputting two images. The first uploaded image is regarded as the first frame, and the second image is regarded as the last frame. The model will generate the video based on the images passed in this parameter.\nFirst and last frame mode only supports `speed` mode", "items": { "oneOf": [ { "title": "Image URL", "type": "string", "format": "uri", "example": "https://example.com/image.png" }, { "title": "Base64 Encoded Image", "type": "string", "format": "byte", "example": "data:image/png;base64, XXX" } ] } }, "size": { "type": "string", "description": "Default value: if not specified, the short side of the generated video is 1080 by default, and the long side is determined according to the original image ratio. Maximum support for 4K resolution. Resolution options: \"1280x720\", \"720x1280\", \"1024x1024\", \"1080x1920\", \"2048x1080\", \"3840x2160\"", "example": "1920x1080", "enum": [ "1280x720", "720x1280", "1024x1024", "1920x1080", "1080x1920", "2048x1080", "3840x2160" ] }, "fps": { "type": "integer", "description": "Video frame rate (FPS), optional values are `30` or `60`. Default: `30`.", "example": 30, "enum": [ 30, 60 ] }, "duration": { "type": "integer", "description": "Video duration, default is 5 seconds, supports `5` and `10` seconds.", "example": 5, "enum": [ 5, 10 ] } }, "required": [ "model" ] }, { "$ref": "#/components/schemas/VideoCommonRequest" } ] }, "ViduText2VideoRequest": { "allOf": [ { "type": "object", "properties": { "model": { "type": "string", "description": "The model code to be called.", "enum": [ "viduq1-text" ] }, "prompt": { "type": "string", "description": "Text description of the video, maximum input length of 512 characters." }, "style": { "type": "string", "description": "Style\nDefault: `general`\nOptional values: `general` , `anime`\n- `general`: General style, can be controlled using prompts to define the style.\n- `anime`: Anime style, optimized for anime-specific visuals. The style can be controlled using different anime-themed prompts.", "enum": [ "general", "anime" ] }, "duration": { "type": "integer", "description": "Video duration parameter.\nDefault: `5` , Optional: `5`.", "example": 5, "enum": [ 5 ] }, "aspect_ratio": { "type": "string", "description": "Aspect ratio\nDefault: `16:9`, Optional values: `16:9`, `9:16`, `1:1`", "example": "16:9", "enum": [ "16:9", "9:16", "1:1" ] }, "size": { "type": "string", "description": "Resolution parameter\nDefault: `1920x1080`, Optional: `1920x1080`", "example": "1920x1080", "enum": [ "1920x1080" ] }, "movement_amplitude": { "type": "string", "description": "Motion amplitude\nDefault: `auto` , Optional values: `auto` ,`small` ,`medium` ,`large`", "example": "auto", "enum": [ "auto", "small", "medium", "large" ] } }, "required": [ "model", "prompt" ] }, { "$ref": "#/components/schemas/VideoCommonRequest" } ] }, "ViduImage2VideoRequest": { "allOf": [ { "type": "object", "properties": { "model": { "type": "string", "description": "The model code to be called.", "enum": [ "viduq1-image", "vidu2-image" ] }, "prompt": { "type": "string", "description": "Text description of the video, maximum input length of 512 characters. Either image_url or prompt must be provided, or both." }, "image_url": { "type": "string", "description": "The model will use the image provided in this parameter as the first frame to generate the video.\nOnly `1` image is supported.\nSupported formats: `png` , `jpeg` , `jpg` , `webp` .\nImage aspect ratio must be less than `1:4` or `4:1`.\nImage file size must not exceed `50MB`.\nNote: After Base64 decoding, the byte length must be less than 50 MB, and the encoding must include the appropriate content type string (e.g., `data:image/png;base64,{base64_encode}`).", "oneOf": [ { "title": "Image URL", "type": "string", "format": "uri", "example": "https://example.com/image.png" }, { "title": "Base64 Encoded Image", "type": "string", "format": "byte", "example": "data:image/png;base64, XXX" } ] }, "duration": { "oneOf": [ { "title": "viduq1-image", "type": "integer", "description": "Video duration parameter.\nDefault: `5` , Optional: `5`.", "example": 5, "enum": [ 5 ] }, { "title": "viduq2-image", "type": "integer", "description": "Video duration parameter.\nDefault: `4` , Optional: `4`.", "example": 4, "enum": [ 4 ] } ] }, "size": { "oneOf": [ { "title": "viduq1-image", "type": "string", "description": "Resolution parameter\nDefault: `1920x1080`, Optional: `1920x1080`", "example": "1920x1080", "enum": [ "1920x1080" ] }, { "title": "viduq2-image", "type": "string", "description": "Resolution parameter\nDefault: `1280x720`, Optional: `1280x720`", "example": "1280x720", "default": "1280x720", "enum": [ "1280x720" ] } ] }, "movement_amplitude": { "type": "string", "description": "Motion amplitude\nDefault: `auto` , Optional values: `auto` ,`small` ,`medium` ,`large`", "example": "auto", "enum": [ "auto", "small", "medium", "large" ] }, "with_audio": { "type": "boolean", "description": "Add background music to the generated video." } }, "required": [ "model" ] }, { "$ref": "#/components/schemas/VideoCommonRequest" } ] }, "ViduFrames2VideoRequest": { "allOf": [ { "type": "object", "properties": { "model": { "type": "string", "description": "The model code to be called.", "enum": [ "viduq1-start-end", "vidu2-start-end" ] }, "prompt": { "type": "string", "description": "Text description of the video, maximum input length of 512 characters. Either image_url or prompt must be provided, or both." }, "image_url": { "type": "array", "description": "Images\nSupports input of two images: the first uploaded image will be treated as the first frame, and the second image as the last frame. The model will use the images provided in this parameter to generate a video.\nThe resolutions of the two input images (first and last frame) must be similar, with the ratio between the resolution of the first frame and the resolution of the last frame falling within `0.8–1.25`. Additionally, the image aspect ratio must be less than `1:4` or `4:1`.\nSupports image URLs or images encoded in Base64 (ensure accessibility; using image URLs is recommended).\nSupported formats: `png`, `jpeg`, `.jpg`, `webp`.\nImage file size must not exceed `50 MB`.\nNote: After Base64 decoding, the byte length must be less than 50 MB, and the encoding must include the appropriate content type string, such as `data:image/png;base64,{base64_encode}`.", "items": { "type": "string", "minLength": 1 }, "minItems": 1, "maxItems": 2 }, "duration": { "oneOf": [ { "title": "viduq1-start-end", "type": "integer", "description": "Video duration parameter.\nDefault: `5` , Optional: `5`.", "example": 5, "enum": [ 5 ] }, { "title": "vidu2-start-end", "type": "integer", "description": "Video duration parameter.\nDefault: `4` , Optional: `4`.", "example": 4, "enum": [ 4 ] } ] }, "size": { "oneOf": [ { "title": "viduq1-start-end", "type": "string", "description": "Resolution parameter\nDefault: `1920x1080`, Optional: `1920x1080`", "example": "1920x1080", "enum": [ "1920x1080" ] }, { "title": "vidu2-start-end", "type": "string", "description": "Resolution parameter\nDefault: `1280x720`, Optional: `1280x720`", "example": "1280x720", "default": "1280x720", "enum": [ "1280x720" ] } ] }, "movement_amplitude": { "type": "string", "description": "Motion amplitude\nDefault: `auto` , Optional values: `auto` ,`small` ,`medium` ,`large`", "example": "auto", "enum": [ "auto", "small", "medium", "large" ] }, "with_audio": { "type": "boolean", "description": "Add background music to the generated video." } }, "required": [ "model" ] }, { "$ref": "#/components/schemas/VideoCommonRequest" } ] }, "ViduReference2VideoRequest": { "allOf": [ { "type": "object", "properties": { "model": { "type": "string", "description": "The model code to be called.", "enum": [ "vidu2-reference" ] }, "prompt": { "type": "string", "description": "Text description of the video, maximum input length of 512 characters. Either image_url or prompt must be provided, or both." }, "image_url": { "type": "array", "description": "Image reference\nSupports input of 1 to 3 images. The model will use the themes from the images provided in this parameter as references to generate a video with consistent subjects.\n1. Supports image URLs or images encoded in Base64 (ensure accessibility; it is recommended to prioritize using image URLs).\n2. Supported formats: `png`, `jpeg`, `.jpg`, `webp`.\n3. Image resolution must not be smaller than `128x128`, and the aspect ratio must be less than `1:4` or `4:1`.\n4. Image file size must not exceed `50 MB`.\n5. Note: After Base64 decoding, the byte length must be less than 50 MB, and the encoding must include the proper content-type string, such as `data:image/png;base64,{base64_encode}`.", "items": { "type": "string", "minLength": 1 }, "minItems": 1, "maxItems": 3 }, "duration": { "title": "vidu2-reference", "type": "integer", "description": "Video duration parameter.\nDefault: `4` , Optional: `4`.", "example": 4, "enum": [ 4 ] }, "aspect_ratio": { "type": "string", "description": "Aspect ratio\nDefault: `16:9`, Optional values: `16:9`, `9:16`, `1:1`", "example": "16:9", "enum": [ "16:9", "9:16", "1:1" ] }, "size": { "title": "vidu2-reference ", "type": "string", "description": "Resolution parameter\nDefault: `1280x720`, Optional: `1280x720`", "example": "1280x720", "enum": [ "1280x720" ] }, "movement_amplitude": { "type": "string", "description": "Motion amplitude\nDefault: `auto` , Optional values: `auto` ,`small` ,`medium` ,`large`", "example": "auto", "enum": [ "auto", "small", "medium", "large" ] }, "with_audio": { "type": "boolean", "description": "Add background music to the generated video." } }, "required": [ "model" ] }, { "$ref": "#/components/schemas/VideoCommonRequest" } ] }, "VideoCommonRequest": { "type": "object", "properties": { "request_id": { "type": "string", "description": "Provided by the client, must be unique; used to distinguish each request’s unique identifier. If not provided by the client, the platform will generate one by default." }, "user_id": { "type": "string", "description": "Unique ID of the end-user, assists the platform in intervening in end-user violations, generating illegal or inappropriate information, or other abusive behaviors. ID length requirement: minimum `6` characters, maximum `128` characters." } } }, "AsyncResponse": { "type": "object", "properties": { "model": { "description": "Model name used in this call.", "type": "string" }, "id": { "description": "Task order number generated by the platform, use this order number when calling the async result interface.", "type": "string" }, "request_id": { "description": "Task number submitted by the user during the client request or generated by the platform.", "type": "string" }, "task_status": { "description": "Processing status, `PROCESSING (processing)`, `SUCCESS (success)`, `FAIL (failure)`. Results need to be obtained via query.", "type": "string" } } }, "AsyncCreateImageRequest": { "type": "object", "required": [ "model", "prompt" ], "properties": { "model": { "type": "string", "description": "Model code", "enum": [ "glm-image" ], "example": "glm-image" }, "prompt": { "type": "string", "description": "The text description of the image to be generated.", "example": "A cute little kitten." }, "quality": { "type": "string", "description": "The quality of the generated image. `hd`: Generates a more detailed and rich image with higher overall consistency, takes about `20` seconds.", "enum": [ "hd" ], "default": "hd" }, "size": { "type": "string", "description": "Image size, recommended enum values: `1280x1280` (default), `1568x1056`, `1056x1568`, `1472x1088`, `1088x1472`, `1728x960`, `960x1728`.\nCustom parameter: Both width and height must be between `1024px-2048px`, and must be divisible by `32`, and the maximum pixel count must not exceed `2^22px`.", "default": "1280x1280", "example": "1280x1280" }, "user_id": { "type": "string", "description": "Unique ID of the end user, helping the platform intervene in illegal activities, inappropriate content generation, or other abuses. ID length: 6 to 128 characters.", "minLength": 6, "maxLength": 128 } } }, "AsyncVideoGenerationResponse": { "type": "object", "properties": { "model": { "type": "string", "description": "Model name." }, "task_status": { "type": "string", "description": "Processing status, `PROCESSING` (processing), `SUCCESS` (success), `FAIL` (failure). Note: Processing status needs to be obtained via query." }, "video_result": { "type": "array", "description": "Video generation results.", "items": { "type": "object", "properties": { "url": { "type": "string", "description": "Video URL." }, "cover_image_url": { "type": "string", "description": "Video cover URL." } } } }, "request_id": { "type": "string", "description": "Task number submitted by the user during the client request or generated by the platform." } } }, "AsyncImageGenerationResponse": { "type": "object", "properties": { "model": { "type": "string", "description": "Model name." }, "task_status": { "type": "string", "description": "Processing status, `PROCESSING` (processing), `SUCCESS` (success), `FAIL` (failure). Note: Processing status needs to be obtained via query." }, "image_result": { "type": "array", "description": "Array containing the generated image URLs.", "items": { "type": "object", "properties": { "url": { "type": "string", "description": "Image URL. The temporary link expires after `30` days, please store it promptly." } } } }, "request_id": { "type": "string", "description": "Unique ID identifying this request, can be submitted by the user or generated by the platform." } } }, "VideoResponse": { "type": "object", "properties": { "model": { "description": "Model name used in this call.", "type": "string" }, "id": { "description": "Task order number generated by the Z.AI, use this order number when calling the request result interface.", "type": "string" }, "request_id": { "description": "Task number submitted by the user during the client request or generated by the platform.", "type": "string" }, "task_status": { "description": "Processing status, `PROCESSING (processing)`,` SUCCESS (success)`, `FAIL (failure)`. Results need to be obtained via query.", "type": "string" } } }, "CreateImageRequest": { "type": "object", "required": [ "model", "prompt" ], "properties": { "model": { "type": "string", "description": "Model code", "enum": [ "glm-image", "cogview-4-250304" ], "example": "glm-image" }, "prompt": { "type": "string", "description": "The text description of the image to be generated.", "example": "A cute little kitten." }, "quality": { "type": "string", "description": "The quality of the generated image. `glm-image` default is `hd`, others model is `standard`. `hd`: Generates a more detailed and rich image with higher overall consistency, but takes about `20` seconds. `standard`: Generates an image quickly, suitable for scenarios with higher requirements for generation speed, takes about `5-10` seconds.", "enum": [ "hd", "standard" ], "default": "hd" }, "size": { "type": "string", "description": "Image size. `glm-image` recommended enum values: `1280x1280` (default), `1568x1056`, `1056x1568`, `1472x1088`, `1088x1472`, `1728x960`, `960x1728`. Custom parameter: Both width and height must be between `1024px-2048px`, and must be divisible by `32`, and the maximum pixel count must not exceed `2^22px`. \nOthers model recommended enum values: `1024x1024` (default), `768x1344`, `864x1152`, `1344x768`, `1152x864`, `1440x720`, `720x1440`. Custom parameter: Both width and height must be between `512px-2048px`, and must be divisible by `16`, and the maximum pixel count must not exceed `2^21px`.", "default": "1280x1280", "example": "1280x1280" }, "user_id": { "type": "string", "description": "Unique ID of the end user, helping the platform intervene in illegal activities, inappropriate content generation, or other abuses. ID length: 6 to 128 characters.", "minLength": 6, "maxLength": 128 } } }, "ImageGenerationResponse": { "type": "object", "properties": { "created": { "type": "integer", "example": 1760335349, "description": "Request creation time, in `Unix` timestamp format, unit is seconds." }, "data": { "type": "array", "description": "Array, containing the generated image `URL`. Currently, the array only contains one image.", "items": { "type": "object", "properties": { "url": { "type": "string", "description": "Image link. The temporary link expires after `30` days, please store it promptly." } }, "required": [ "url" ] } }, "content_filter": { "type": "array", "description": "Array, containing content safety related information.", "items": { "type": "object", "properties": { "role": { "type": "string", "description": "Safety enforcement stage, including `role = assistant` model inference, `role = user` user input, `role = history` historical context.", "enum": [ "assistant", "user", "history" ] }, "level": { "type": "integer", "description": "Severity level `level 0-3`, `level 0` is most severe, `3` is least severe.", "minimum": 0, "maximum": 3 } } } } } }, "AudioTranscriptionRequest": { "type": "object", "required": [ "file", "model" ], "properties": { "file": { "type": "string", "format": "binary", "description": "The audio file to be transcribed. Supported audio file formats: `.wav / .mp3`. Specifications: file size ≤ `25 MB`, audio duration ≤ `30 seconds`." }, "file_base64": { "type": "string", "description": "Base64 encoded audio file. Only one of file_base64 or file needs to be provided (if both are provided, file takes precedence)." }, "model": { "type": "string", "description": "The model ID to invoke.", "enum": [ "glm-asr-2512" ], "default": "glm-asr-2512" }, "prompt": { "type": "string", "description": "In long text scenarios, you can provide previous transcription results as context. Recommended to be less than 8000 characters." }, "hotwords": { "type": "array", "description": "Hotword list to improve recognition accuracy for domain-specific vocabulary. Format example: [\"person_name\",\"place_name\"]. Recommended not to exceed 100 items.", "items": { "type": "string" }, "maxItems": 100 }, "stream": { "type": "boolean", "default": false, "description": "This parameter should be set to `false` or omitted when using synchronous calls. It indicates that the model returns all content at once after generating all content. Default is `false`. If set to `true`, the model will return generated content in chunks via standard `Event Stream`. When the `Event Stream` ends, a `data: [DONE]` message will be returned." }, "request_id": { "type": "string", "description": "Passed by the client, must be unique. A unique identifier to distinguish each request. If not provided by the client, the platform will generate one by default." }, "user_id": { "type": "string", "description": "A unique `ID` for the end user, helping the platform intervene in illegal activities, generation of illegal or inappropriate content, or other abusive behaviors by end users. `ID` length requirement: at least `6` characters, at most `128` characters." } } }, "AudioTranscriptionResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "Task ID" }, "created": { "type": "integer", "format": "int64", "description": "Request creation time, as a `Unix` timestamp in seconds." }, "request_id": { "type": "string", "description": "Passed by the client, must be unique. A unique identifier to distinguish each request. If not provided by the client, the platform will generate one by default." }, "model": { "type": "string", "description": "Model name" }, "text": { "type": "string", "description": "The complete transcribed content of the audio." } } }, "AudioTranscriptionStreamResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "Task ID" }, "created": { "type": "integer", "format": "int64", "description": "Request creation time, as a `Unix` timestamp in seconds." }, "model": { "type": "string", "description": "Model name" }, "type": { "type": "string", "description": "Audio transcription event type. `transcript.text.delta` indicates transcription in progress, `transcript.text.done` indicates transcription completed." }, "delta": { "type": "string", "description": "Incremental audio transcription information returned by the model." } } }, "TokenizerRequest": { "type": "object", "required": [ "model", "messages" ], "properties": { "model": { "type": "string", "description": "The model code to be called.", "example": "glm-4.6", "default": "glm-4.6", "enum": [ "glm-4.6", "glm-4.6v", "glm-4.5" ] }, "messages": { "type": "array", "description": "The current conversation message list as the model’s prompt input, provided in JSON array format, e.g.,`{“role”: “user”, “content”: “Hello”}`. Possible message types include system messages, user messages. Note: The input must not consist of system or assistant messages only.", "items": { "oneOf": [ { "title": "User Message", "type": "object", "properties": { "role": { "type": "string", "enum": [ "user" ], "description": "Role of the message author", "default": "user" }, "content": { "oneOf": [ { "type": "array", "description": "Multimodal message content, supports text, images, video, file", "items": { "$ref": "#/components/schemas/VisionMultimodalContentItem" } }, { "type": "string", "description": "Text message content (can switch to multimodal message above)", "example": "What opportunities and challenges will the Chinese large model industry face in 2025?" } ] } }, "required": [ "role", "content" ] }, { "title": "System Message", "type": "object", "properties": { "role": { "type": "string", "enum": [ "system" ], "description": "Role of the message author", "default": "system" }, "content": { "oneOf": [ { "type": "string", "description": "Message text content", "example": "You are a helpful assistant." } ] } }, "required": [ "role", "content" ] }, { "title": "Assistant Message", "type": "object", "description": "Can include tool calls", "properties": { "role": { "type": "string", "enum": [ "assistant" ], "description": "Role of the message author", "default": "assistant" }, "content": { "oneOf": [ { "type": "string", "description": "Text message content", "example": "I'll help you with that analysis." } ] } }, "required": [ "role" ] } ] }, "minItems": 1 }, "tools": { "type": "array", "description": "List of tools the model can call. Supports up to `128` functions.", "anyOf": [ { "items": { "$ref": "#/components/schemas/FunctionToolSchema" } } ] }, "request_id": { "type": "string", "description": "Passed by the client, must be unique. If empty, it will be generated by default." }, "user_id": { "type": "string", "description": "Unique `ID` of the end user" } } }, "TokenizerResponse": { "type": "object", "properties": { "created": { "type": "integer", "format": "int64", "example": 1727156815 }, "id": { "type": "string", "example": "20241120141244890ab4ee4af84acf", "description": "The task sequence number generated by the Zhipu AI Open Platform. Please use this number when calling the request result interface." }, "request_id": { "type": "string", "example": "1", "description": "The task number submitted by the client or generated by the platform when the request was initiated." }, "usage": { "type": "object", "properties": { "prompt_tokens": { "type": "number", "description": "Prompt tokens in this input" }, "image_tokens": { "type": "number", "description": "Image tokens in this input" }, "video_tokens": { "type": "number", "description": "Video tokens in this input" }, "total_tokens": { "type": "number", "description": "Total tokens in this input" } } } }, "required": [ "id", "usage" ] }, "WebSearchRequest": { "type": "object", "properties": { "search_engine": { "type": "string", "description": "The search engine code to call.\n search-prime: Z.AI Premium Version Search Engine", "example": "search-prime", "default": "search-prime", "enum": [ "search-prime" ] }, "search_query": { "type": "string", "description": "The content to be searched." }, "count": { "type": "integer", "description": "The number of results to return\nFillable range: `1-50`, maximum `50` results per single search\nDefault is `10`\nSupported search engines: \n`search_pro_jina`.", "minimum": 1, "maximum": 50 }, "search_domain_filter": { "type": "string", "description": "Used to limit the scope of search results and only return content from specified whitelist domains.\nWhitelist: Directly enter the domain name (e.g., `www.example.com`)\nSupported search engines: \n`search_pro_jina`" }, "search_recency_filter": { "type": "string", "description": "Search for webpages within a specified time range.\nDefault is `noLimit`\nFillable values:\n`oneDay`: within one day\n`oneWeek`: within one week\n`oneMonth`: within one month\n`oneYear`: within one year\n`noLimit`: no limit (default)\nSupported search engines: \n`search_pro_jina`", "enum": [ "oneDay", "oneWeek", "oneMonth", "oneYear", "noLimit" ] }, "request_id": { "type": "string", "description": "User-provided unique identifier for distinguishing requests. If not provided, the platform will generate one." }, "user_id": { "type": "string", "description": "Unique ID of the end user, helping the platform intervene in illegal activities, inappropriate content generation, or other abuses. ID length: 6 to 128 characters." } }, "required": [ "search_engine", "search_query" ] }, "WebSearchResponse": { "type": "object", "properties": { "id": { "description": "Task ID.", "type": "string" }, "created": { "description": "Request creation time, Unix timestamp in seconds.", "type": "integer" }, "search_result": { "description": "Search results.", "type": "array", "items": { "$ref": "#/components/schemas/WebSearchObjectResponse" } } } }, "WebSearchObjectResponse": { "type": "object", "properties": { "title": { "type": "string", "description": "Title." }, "content": { "type": "string", "description": "Content summary." }, "link": { "type": "string", "description": "Result URL." }, "media": { "type": "string", "description": "Website name." }, "icon": { "type": "string", "description": "Website icon." }, "refer": { "type": "string", "description": "Index number." }, "publish_date": { "type": "string", "description": "Website publication date." } } }, "TranslationAgentRequest": { "type": "object", "properties": { "agent_id": { "type": "string", "description": "Agent ID: `general_translation`.", "enum": [ "general_translation" ] }, "stream": { "type": "boolean", "description": "False for sync calls (default). True for streaming." }, "messages": { "type": "array", "description": "Session message body.", "items": { "type": "object", "properties": { "role": { "type": "string", "description": "User input role: `user`", "example": "user", "default": "user", "enum": [ "user" ] }, "content": { "type": "array", "description": "Content list.", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Supported type: `text`.", "default": "text", "enum": [ "text" ] }, "text": { "type": "string", "description": "User text input." } }, "required": [ "type", "text" ] } } }, "required": [ "role", "content" ] } }, "custom_variables": { "type": "object", "properties": { "source_lang": { "type": "string", "description": "Supported language codes (default: `auto`):\n- `auto`: Auto Detect\n- `zh-CN`: Simplified Chinese\n- `zh-TW`: Traditional Chinese\n- `wyw`: Classical Chinese\n- `yue`: Cantonese\n- `en`: English\n- `ja`: Japanese\n- `ko`: Korean\n- `fr`: French\n- `de`: German\n- `es`: Spanish\n- `ru`: Russian\n- `pt`: Portuguese\n- `it`: Italian\n- `ar`: Arabic\n- `hi`: Hindi\n- `bg`: Bulgarian\n- `cs`: Czech\n- `da`: Danish\n- `el`: Greek\n- `et`: Estonian\n- `fi`: Finnish\n- `hu`: Hungarian\n- `id`: Indonesian\n- `lt`: Lithuanian\n- `lv`: Latvian\n- `nl`: Dutch\n- `no`: Norwegian Bokmål\n- `pl`: Polish\n- `ro`: Romanian\n- `sk`: Slovak\n- `sl`: Slovenian\n- `sv`: Swedish\n- `th`: Thai\n- `tr`: Turkish\n- `uk`: Ukrainian\n- `vi`: Vietnamese\n- `my`: Burmese\n- `ms`: Malay\n- `Pinyin`: Pinyin\n- `IPA`: International Phonetic Alphabet\n", "enum": [ "auto", "zh-CN", "zh-TW", "wyw", "yue", "en", "ja", "ko", "fr", "de", "es", "ru", "pt", "it", "ar", "hi", "bg", "cs", "da", "el", "et", "fi", "hu", "id", "lt", "lv", "nl", "no", "pl", "ro", "sk", "sl", "sv", "th", "tr", "uk", "vi", "my", "ms", "Pinyin", "IPA" ] }, "target_lang": { "type": "string", "description": "Target language code (default: `zh-CN`):\n- `zh-CN`: Simplified Chinese\n- `zh-TW`: Traditional Chinese\n- `wyw`: Classical Chinese\n- `yue`: Cantonese\n- `en`: English\n- `en-GB`: English (British)\n- `en-US`: English (American)\n- `ja`: Japanese\n- `ko`: Korean\n- `fr`: French\n- `de`: German\n- `es`: Spanish\n- `ru`: Russian\n- `pt`: Portuguese\n- `it`: Italian\n- `ar`: Arabic\n- `hi`: Hindi\n- `bg`: Bulgarian\n- `cs`: Czech\n- `da`: Danish\n- `el`: Greek\n- `et`: Estonian\n- `fi`: Finnish\n- `hu`: Hungarian\n- `id`: Indonesian\n- `lt`: Lithuanian\n- `lv`: Latvian\n- `nl`: Dutch\n- `no`: Norwegian Bokmål\n- `pl`: Polish\n- `ro`: Romanian\n- `sk`: Slovak\n- `sl`: Slovenian\n- `sv`: Swedish\n- `th`: Thai\n- `tr`: Turkish\n- `uk`: Ukrainian\n- `vi`: Vietnamese\n- `my`: Burmese\n- `ms`: Malay\n- `Pinyin`: Pinyin\n- `IPA`: International Phonetic Alphabet\n.", "enum": [ "zh-CN", "zh-TW", "wyw", "yue", "en", "en-GB", "en-US", "ja", "ko", "fr", "de", "es", "ru", "pt", "it", "ar", "hi", "bg", "cs", "da", "el", "et", "fi", "hu", "id", "lt", "lv", "nl", "no", "pl", "ro", "sk", "sl", "sv", "th", "tr", "uk", "vi", "my", "ms", "Pinyin", "IPA" ] }, "glossary": { "type": "string", "description": "Glossary ID." }, "strategy": { "type": "string", "description": "Translation strategy (default: `general`),Optional:\n- `general`: General Translation\n- `paraphrase`: Paraphrase Translation\n- `two_step`: Two-Step Translation\n- `three_step`: Three-Stage Translation\n- `reflection`: Reflection Translation; cot: COT Translation", "enum": [ "general", "paraphrase", "two_step", "three_step", "reflection" ] }, "strategy_config": { "type": "object", "description": "Strategy parameters.", "properties": { "general": { "type": "object", "properties": { "suggestion": { "type": "string", "description": "Translation suggestions or style requirements (e.g., terminology mapping, style guidelines)." } } }, "cot": { "type": "object", "description": "Parameters when strategy is `cot`.", "properties": { "reason_lang": { "type": "string", "description": "Language for translation reasoning, values: [`from`|`to`], default: `to`.", "enum": [ "from", "to" ] } } } } } } } }, "required": [ "agent_id", "messages" ] }, "TranslationAgentResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "Task ID." }, "agent_id": { "type": "string", "description": "Agent ID." }, "status": { "type": "string", "description": "Task status." }, "choices": { "type": "array", "description": "Model output content.", "items": { "type": "object", "properties": { "index": { "type": "integer", "description": "Result index." }, "finish_reason": { "type": "string", "description": "Termination reason: `stop` (normal completion), `tool_calls` (model calls), `length` (token limit exceeded), `sensitive` (content flagged), `network_error` (model inference error)." }, "messages": { "type": "object", "description": "Model response message.", "properties": { "role": { "type": "string", "description": "Dialog role (default: `assistant`)." }, "content": { "type": "object", "description": "Inference result", "properties": { "type": { "type": "string", "description": "Result type." }, "text": { "type": "string", "description": "Result content." } } } } } } } }, "usage": { "type": "object", "description": "Token usage statistics.", "properties": { "prompt_tokens": { "type": "integer", "description": "Input tokens count." }, "completion_tokens": { "type": "integer", "description": "Output tokens count." }, "total_tokens": { "type": "integer", "description": "Total tokens count." }, "total_calls": { "type": "integer", "description": "Total number of calls" } } } } }, "SpecialEffectsVideosAgentRequest": { "type": "object", "properties": { "agent_id": { "type": "string", "description": "Agent ID: `vidu_template_agent`.", "enum": [ "vidu_template_agent" ] }, "request_id": { "type": "string", "description": "User-defined unique ID; used to distinguish requests. Auto-generated if omitted." }, "messages": { "type": "array", "description": "Session message body.", "items": { "type": "object", "properties": { "role": { "type": "string", "description": "User input role: `user`", "example": "user", "default": "user", "enum": [ "user" ] }, "content": { "type": "array", "description": "Content list.", "items": { "oneOf": [ { "title": "text", "type": "object", "properties": { "type": { "type": "string", "description": "Specifies that this content is text.", "enum": [ "text" ] }, "text": { "type": "string", "description": "User text input." } }, "required": [ "type", "text" ] }, { "title": "image_url", "type": "object", "properties": { "type": { "type": "string", "description": "Specifies that this content is an image URL.", "enum": [ "image_url" ] }, "image_url": { "type": "string", "format": "uri", "description": "Image URL input." } }, "required": [ "type", "image_url" ] } ] } } }, "required": [ "role", "content" ] } }, "custom_variables": { "type": "object", "description": "Agent extension parameters.", "properties": { "template": { "type": "string", "description": "Effect template: `french_kiss`, `bodyshake`, or `sexy_me`.", "enum": [ "french_kiss", "bodyshake", "sexy_me" ] } }, "required": [ "template" ] } }, "required": [ "agent_id", "messages" ] }, "SpecialEffectsVideosAgentResponse": { "allOf": [ { "type": "object", "properties": { "async_id": { "type": "string", "description": "Asynchronous task ID." } } }, { "$ref": "#/components/schemas/SpecialEffectsVideosAgentError" } ] }, "SpecialEffectsVideosAgentError": { "type": "object", "properties": { "status": { "type": "string", "description": "Status: `pending` (task created), `failed` (task creation failed)." }, "agent_id": { "type": "string", "description": "Agent ID" }, "error": { "type": "object", "properties": { "code": { "type": "string", "description": "Error code." }, "message": { "type": "string", "description": "Error message." } } } } }, "GlmSlideAgentRequest": { "type": "object", "properties": { "agent_id": { "type": "string", "description": "Agent ID.", "enum": [ "slides_glm_agent" ] }, "stream": { "type": "boolean", "default": true, "description": "False for sync calls (default). True for streaming." }, "conversation_id": { "type": "string", "description": "Conversation Id." }, "request_id": { "type": "string", "description": "User-defined unique ID; used to distinguish requests. Auto-generated if omitted." }, "messages": { "type": "array", "description": "Message body.", "items": { "type": "object", "properties": { "role": { "type": "string", "description": "User input role: `user`", "example": "user", "default": "user", "enum": [ "user" ] }, "content": { "type": "array", "description": "Content list.", "items": { "oneOf": [ { "title": "text", "type": "object", "properties": { "type": { "type": "string", "description": "Specifies that this content is text.", "enum": [ "text" ] }, "text": { "type": "string", "description": "User text input." } }, "required": [ "type", "text" ] } ] } } }, "required": [ "role", "content" ] } } }, "required": [ "agent_id", "messages" ] }, "GlmSlideAgentResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "Request ID" }, "conversation_id": { "type": "string", "description": "Conversation ID" }, "agent_id": { "type": "string", "description": "Agent ID" }, "choices": { "type": "array", "description": "Agent output.", "items": { "type": "object", "properties": { "index": { "type": "integer", "description": "Result index." }, "finish_reason": { "type": "string", "description": "Reason for model inference termination. Can be ‘stop’, ‘tool_calls’, ‘length’, ‘sensitive’, or ‘network_error’." }, "message": { "type": "array", "items": { "type": "object", "properties": { "role": { "type": "string", "description": "Role: fixed as `assistant`." }, "phase": { "type": "string", "description": "Current role type: thinking、tool、answer" }, "content": { "type": "array", "description": "Content metadata", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Response Content type: text、object" }, "tag_cn": { "type": "string", "description": "CN Tag." }, "tag_en": { "type": "string", "description": "EN Tag." }, "text": { "type": "string", "description": "Output string content when type is text" }, "object": { "type": "object", "description": "Output object content when type is object", "properties": { "tool_name": { "type": "string", "description": "Tool name eg: search、insert_page" }, "input": { "type": "string", "description": "Tool input content" }, "output": { "type": "string", "description": "Tool output content, will output html when generate slide" }, "position": { "type": "array", "description": "If the tool involves operations on a PPT file, the position field specifies which slides are being manipulated.\n If the user says, “Insert a slide after the second slide,” then position = [3], and the output is the HTML content of the third slide.\n If the user says, “Please delete slides 4, 5, and 6,” then position = [4, 5, 6].", "items": { "type": "number" } } } } } } } } } } } } }, "error": { "type": "object", "properties": { "code": { "type": "string", "description": "Error code." }, "message": { "type": "string", "description": "Error message." } } } } }, "CommonAgentResultRequest": { "type": "object", "properties": { "agent_id": { "type": "string", "description": "Agent ID: `vidu_template_agent`." }, "async_id": { "type": "string", "description": "Task ID from async response." } } }, "GlmSlideAgentConversationRequest": { "type": "object", "properties": { "agent_id": { "type": "string", "description": "Agent ID" }, "conversation_id": { "type": "string", "description": "Conversation ID" }, "custom_variables": { "type": "object", "description": "Custom variables", "properties": { "include_pdf": { "type": "boolean", "description": "Is export the pdf file" }, "pages": { "type": "array", "description": "Slides Pages", "items": { "type": "object", "properties": { "position": { "type": "number", "description": "Slide Page Position" }, "width": { "type": "number", "description": "Slide Width, unit: pt" }, "height": { "type": "number", "description": "Slide Height, unit: pt" } } } } } } } }, "GlmSlideAgentConversationResponse": { "type": "object", "properties": { "conversation_id": { "type": "string", "description": "Conversation ID" }, "agent_id": { "type": "string", "description": "Agent ID" }, "choices": { "type": "array", "description": "Agent output.", "items": { "type": "object", "properties": { "message": { "type": "array", "items": { "type": "object", "properties": { "role": { "type": "string", "description": "Role: fixed as `assistant`." }, "content": { "type": "array", "description": "Content metadata", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Response Content type: file_url、image_url" }, "tag_cn": { "type": "string", "description": "CN Tag." }, "tag_en": { "type": "string", "description": "EN Tag." }, "file_url": { "type": "string", "description": "Output file_url content when type is file_url" }, "image_url": { "type": "string", "description": "Output image_url content when type is image_url" } } } } } } } } } }, "error": { "type": "object", "properties": { "code": { "type": "string", "description": "Error code." }, "message": { "type": "string", "description": "Error message." } } } } }, "CommonAgentResultResponse": { "type": "object", "properties": { "status": { "type": "string", "description": "`pending` (processing), `success` (completed), `failed` (failed)." }, "agent_id": { "type": "string", "description": "Agent ID" }, "async_id": { "type": "string", "description": "Asynchronous task ID." }, "choices": { "type": "array", "description": "Agent output.", "items": { "type": "object", "properties": { "index": { "type": "integer", "description": "Result index." }, "finish_reason": { "type": "string", "description": "Reason for model inference termination. Can be ‘stop’, ‘tool_calls’, ‘length’, ‘sensitive’, or ‘network_error’." }, "message": { "type": "array", "items": { "type": "object", "properties": { "role": { "type": "string", "description": "Role: fixed as `assistant`." }, "content": { "type": "array", "description": "Video file metadata", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "object type: `video_url`." }, "video_url": { "type": "string", "description": "MP4 video URL." } } } } } } } } } } } }, "LayoutParsingRequest": { "type": "object", "required": [ "model", "file" ], "properties": { "model": { "type": "string", "description": "Model code: `glm-ocr`", "example": "glm-ocr", "enum": [ "glm-ocr" ] }, "file": { "type": "string", "description": "Image or PDF document to be recognized, supports URL and base64. Supported image formats: PDF, JPG, PNG. Single image ≤10MB, PDF ≤50MB, maximum support 100 pages", "example": "https://cdn.bigmodel.cn/static/logo/introduction.png" }, "return_crop_images": { "type": "boolean", "description": "Whether to return screenshot information", "default": false }, "need_layout_visualization": { "type": "boolean", "description": "Whether to return detailed layout image result information", "default": false }, "start_page_id": { "type": "integer", "description": "Start page number for parsing when PDF is provided", "minimum": 1 }, "end_page_id": { "type": "integer", "description": "End page number for parsing when PDF is provided", "minimum": 1 }, "request_id": { "type": "string", "description": "Unique request identifier, automatically generated if not provided", "example": "req_123456789" }, "user_id": { "type": "string", "description": "End user ID for abuse monitoring. Length: 6-128 characters", "minLength": 6, "maxLength": 128, "example": "user_123456" } } }, "LayoutParsingResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "Task ID", "example": "task_123456789" }, "created": { "type": "integer", "format": "int64", "description": "Request creation time, Unix timestamp in seconds", "example": 1727156815 }, "model": { "type": "string", "description": "Model name", "example": "GLM-OCR" }, "md_results": { "type": "string", "description": "Recognition result in Markdown format", "example": "# Doc title\nThis is the document content..." }, "layout_details": { "type": "array", "description": "Detailed layout information", "items": { "type": "array", "items": { "$ref": "#/components/schemas/LayoutDetail" } } }, "layout_visualization": { "type": "array", "description": "Recognition result image URLs", "items": { "type": "string" } }, "data_info": { "$ref": "#/components/schemas/DataInfo" }, "usage": { "type": "object", "description": "Token usage statistics returned when the model call ends.", "properties": { "prompt_tokens": { "type": "number", "description": "Number of tokens in user input" }, "completion_tokens": { "type": "number", "description": "Number of output tokens" }, "prompt_tokens_details": { "type": "object", "properties": { "cached_tokens": { "type": "number", "description": "Number of tokens served from cache" } } }, "total_tokens": { "type": "integer", "description": "Total number of tokens" } } }, "request_id": { "type": "string", "description": "Request ID", "example": "req_123456789" } }, "required": [ "id", "created", "model" ] }, "LayoutDetail": { "type": "object", "description": "Layout detail element", "properties": { "index": { "type": "integer", "description": "Element index", "example": 1 }, "label": { "type": "string", "description": "Element type: image for images, text for text content, formula for inline formulas, table for tables", "enum": [ "image", "text", "formula", "table" ], "example": "text" }, "bbox_2d": { "type": "array", "description": "Normalized element coordinates [x1,y1,x2,y2]", "items": { "type": "number", "minimum": 0, "maximum": 1 }, "minItems": 4, "maxItems": 4, "example": [ 0.1, 0.1, 0.5, 0.3 ] }, "content": { "type": "string", "description": "Element content (text / image URL / table HTML)", "example": "This is the content of the element" }, "height": { "type": "integer", "description": "Page height", "example": 800 }, "width": { "type": "integer", "description": "Page width", "example": 600 } }, "required": [ "index", "label" ] }, "DataInfo": { "type": "object", "description": "Document basic information", "properties": { "num_pages": { "type": "integer", "description": "Total number of document pages", "example": 5 }, "pages": { "type": "array", "description": "Document page count information", "items": { "$ref": "#/components/schemas/PageInfo" } } }, "required": [ "num_pages" ] }, "PageInfo": { "type": "object", "description": "Page dimension information", "properties": { "width": { "type": "integer", "description": "Page width", "example": 600 }, "height": { "type": "integer", "description": "Page height", "example": 800 } }, "required": [ "width", "height" ] }, "BadRequestData": {}, "UnauthorizedData": {}, "NotFoundData": {}, "Error": { "required": [ "code", "message" ], "type": "object", "description": "The request has failed.", "properties": { "code": { "type": "integer", "format": "int32", "description": "Error code." }, "message": { "type": "string", "description": "Error message." } } } }, "securitySchemes": { "bearerAuth": { "type": "http", "scheme": "bearer", "description": "Use the following format for authentication: Bearer [](https://z.ai/manage-apikey/apikey-list)" } } } }