Zhipu AI Paas API
The Paas API from Zhipu AI — 10 operation(s) for paas.
The Paas API from Zhipu AI — 10 operation(s) for paas.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/zhipu-ai-paas-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Z.AI Agents Paas 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: []
tags:
- name: Paas
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'
tags:
- Paas
/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.
Vidu: 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'
tags:
- Paas
/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'
tags:
- Paas
/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'
tags:
- Paas
/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'
tags:
- Paas
/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'
tags:
- Paas
/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'
tags:
- Paas
/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'
tags:
- Paas
/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'
tags:
- Paas
/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'
tags:
- Paas
components:
schemas:
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 `<think> </think>` 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'
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.'
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
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
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
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.
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.
'
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
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’.
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
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
TokenizerResponse:
type: object
properties:
created:
# --- truncated at 32 KB (85 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zhipu-ai/refs/heads/main/openapi/zhipu-ai-paas-api-openapi.yml