# Z-AI models on GPTProto > One GPTProto API key covers every model listed below. Text models share an OpenAI-compatible API — swap the `model` id. Image / video / audio models use a submit-and-poll API; follow each model's own llms.txt. ## Overview - **Models**: 5 - **Vendor**: Z-AI - **Base URL**: `https://gptproto.com/v1` - **Provider page**: https://gptproto.com/model/z-ai ## Authentication Every request needs a GPTProto API key in the `Authorization` header. Create one at https://gptproto.com/dashboard/api-key, then export it: ```bash export GPTPROTO_API_KEY="your-api-key" ``` Header: `Authorization: Bearer $GPTPROTO_API_KEY`. Use `base_url` `https://gptproto.com/v1` with any OpenAI-compatible SDK. ## Text models Call these with the OpenAI-compatible Chat Completions (or Responses / Messages / Gemini) endpoints. Change only the `model` field. | Model ID | Name | Context | Input / 1M | Output / 1M | Guide | | --- | --- | --- | --- | --- | --- | | `glm-5.3` | GLM 5.3 | 1.05M | $1.26 | $3.96 | [llms.txt](https://gptproto.com/model/z-ai/glm-5.3/llms.txt) | | `glm-5.2` | GLM 5.2 | 1.05M | $1.26 | $3.96 | [llms.txt](https://gptproto.com/model/z-ai/glm-5.2/llms.txt) | | `glm-5.1` | GLM 5.1 | 205K | $1.26 | $3.96 | [llms.txt](https://gptproto.com/model/z-ai/glm-5.1/llms.txt) | | `glm-5-turbo` | GLM 5 Turbo | 203K | $1.08 | $3.6 | [llms.txt](https://gptproto.com/model/z-ai/glm-5-turbo/llms.txt) | | `glm-5` | GLM 5 | 205K | $0.9 | $2.88 | [llms.txt](https://gptproto.com/model/z-ai/glm-5/llms.txt) | ## Usage example The snippets below call `glm-5.3`. For any other text model in the table, keep the same request and change `"model"`. ```bash curl --request POST "https://gptproto.com/v1/chat/completions" \ --header "Authorization: Bearer $GPTPROTO_API_KEY" \ --header "Content-Type: application/json" \ --data '{ "model": "glm-5.3", "messages": [ { "role": "user", "content": "Hello" } ] }' ``` ```python import os import requests url = "https://gptproto.com/v1/chat/completions" headers = { "Authorization": f"Bearer {os.environ['GPTPROTO_API_KEY']}", "Content-Type": "application/json" } payload = { "model": "glm-5.3", "messages": [ { "role": "user", "content": "Hello" } ] } response = requests.request("POST", url, headers=headers, json=payload) print(response.json()) ``` ```typescript const response = await fetch("https://gptproto.com/v1/chat/completions", { method: "POST", headers: { "Authorization": `Bearer ${process.env.GPTPROTO_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ model: "glm-5.3", messages: [ { role: "user", content: "Hello", }, ], }), }); const data = await response.json(); console.log(data); ``` ## Additional resources - [Provider page](https://gptproto.com/model/z-ai) - [All models](https://gptproto.com/model) - [API keys](https://gptproto.com/dashboard/api-key) - [Platform overview for LLMs](https://gptproto.com/llm-full.txt) - Per-model guide: `https://gptproto.com/model/{vendor}/{model}/llms.txt`