GLM 5
glm-5GLM 5 through Google Vertex AI Model Garden/MaaS with Omixa routing and streaming.
GLM 5 through Google Vertex AI Model Garden/MaaS with Omixa routing and streaming.
Language, code, reasoning, multimodal chat, tool calling, and streaming responses. Endpoint: http://omixa.cloud/api/v1/chat/completions
GLM 5 through Google Vertex AI Model Garden/MaaS with Omixa routing and streaming.
Use Omixa's unified endpoint and your workspace API key. Provider routing, billing, failover, and usage records are handled by Omixa.
http://omixa.cloud/api/v1/chat/completions
Only send options supported by this model. Required fields and accepted values are listed below.
| Field | Type | Required | Accepted values | Description |
|---|---|---|---|---|
model |
string | Yes | glm-5 | Use `glm-5`. Omixa resolves the active provider route and failover key automatically. |
messages |
array | Yes | Any valid value | Conversation turns. Each item contains `role` and `content`. Roles are `system`, `user`, `assistant`, and tool roles when supported. |
messages[].content |
string|array | Yes | Any valid value | Text prompt or multimodal parts. Multimodal-capable models accept `{type:"text"}`, `{type:"image_url"}`, and inline files supported by Omixa. |
stream |
boolean | No | Any valid value | When true, returns OpenAI-compatible Server-Sent Events until `data: [DONE]`. |
max_tokens|max_completion_tokens |
integer | No | Any valid value | Maximum answer tokens. Omixa maps the correct field for Google, Azure chat, and reasoning model families. |
temperature |
number | No | Any valid value | Sampling randomness for non-reasoning models. Reasoning-only models may ignore or reject it, so Omixa strips it where needed. |
top_p |
number | No | Any valid value | Nucleus sampling. Use either `temperature` or `top_p` for predictable tuning. |
stop |
string|array | No | Any valid value | Stop sequence or sequences. Not all provider routes support it. |
response_format |
object | No | Any valid value | Structured output hints such as `{ "type": "json_object" }` when the selected provider supports JSON mode. |
tools |
array | No | Any valid value | OpenAI-style tool/function declarations. Omixa forwards compatible declarations to tool-capable providers. |
tool_choice |
string|object | No | Any valid value | `auto`, `none`, `required`, or a specific tool choice when the provider supports it. |
reasoning_effort |
string | No | none, low | Reasoning budget/effort. Omixa normalizes options per provider family. |
show_thinking |
boolean | No | Any valid value | Requests reasoning summaries or native `reasoning_content` chunks when supported by the selected route. |
Start with this model-safe payload and expect the normalized Omixa response shape shown beside it.
{
"model": "glm-5",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": true,
"max_tokens": 2048,
"reasoning_effort": "none",
"show_thinking": true,
"tools": [
{
"type": "function",
"function": {
"name": "lookup_order",
"description": "Return order status by ID.",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
}
},
"required": [
"order_id"
]
}
}
}
],
"tool_choice": "auto"
}
{
"object": "chat.completion",
"choices": [
{
"message": {
"role": "assistant",
"content": "..."
}
}
],
"usage": {
"prompt_tokens": 123,
"completion_tokens": 45,
"total_tokens": 168
}
}
Replace the example API key with a workspace key and keep model-specific fields unchanged unless the table above marks them optional.
curl -X POST http://omixa.cloud/api/v1/chat/completions \
-H "Authorization: Bearer omx_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-5",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": true,
"max_tokens": 2048,
"reasoning_effort": "none",
"show_thinking": true,
"tools": [
{
"type": "function",
"function": {
"name": "lookup_order",
"description": "Return order status by ID.",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
}
},
"required": [
"order_id"
]
}
}
}
],
"tool_choice": "auto"
}'
const response = await fetch('http://omixa.cloud/api/v1/chat/completions', {
method: 'POST',
headers: {
'Authorization': 'Bearer omx_live_xxx',
'Content-Type': 'application/json'
},
body: "{\n \"model\": \"glm-5\",\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"You are a concise API assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Explain this model in three practical bullet points.\"\n }\n ],\n \"stream\": true,\n \"max_tokens\": 2048,\n \"reasoning_effort\": \"none\",\n \"show_thinking\": true,\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"lookup_order\",\n \"description\": \"Return order status by ID.\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"order_id\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"order_id\"\n ]\n }\n }\n }\n ],\n \"tool_choice\": \"auto\"\n}"
});
const data = await response.json();
import requests
response = requests.post(
'http://omixa.cloud/api/v1/chat/completions',
headers={'Authorization': 'Bearer omx_live_xxx', 'Content-Type': 'application/json'},
json={
"model": "glm-5",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": True,
"max_tokens": 2048,
"reasoning_effort": "none",
"show_thinking": True,
"tools": [
{
"type": "function",
"function": {
"name": "lookup_order",
"description": "Return order status by ID.",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
}
},
"required": [
"order_id"
]
}
}
}
],
"tool_choice": "auto"
}
)
print(response.json())
$ch = curl_init('http://omixa.cloud/api/v1/chat/completions');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer omx_live_xxx', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{
"model": "glm-5",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": true,
"max_tokens": 2048,
"reasoning_effort": "none",
"show_thinking": true,
"tools": [
{
"type": "function",
"function": {
"name": "lookup_order",
"description": "Return order status by ID.",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
}
},
"required": [
"order_id"
]
}
}
}
],
"tool_choice": "auto"
}',
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "omx_live_xxx");
var json = @"{
""model"": ""glm-5"",
""messages"": [
{
""role"": ""system"",
""content"": ""You are a concise API assistant.""
},
{
""role"": ""user"",
""content"": ""Explain this model in three practical bullet points.""
}
],
""stream"": true,
""max_tokens"": 2048,
""reasoning_effort"": ""none"",
""show_thinking"": true,
""tools"": [
{
""type"": ""function"",
""function"": {
""name"": ""lookup_order"",
""description"": ""Return order status by ID."",
""parameters"": {
""type"": ""object"",
""properties"": {
""order_id"": {
""type"": ""string""
}
},
""required"": [
""order_id""
]
}
}
}
],
""tool_choice"": ""auto""
}";
var response = await client.PostAsync("http://omixa.cloud/api/v1/chat/completions", new StringContent(json, System.Text.Encoding.UTF8, "application/json"));
var body = await response.Content.ReadAsStringAsync();
payload := []byte(`{
"model": "glm-5",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": true,
"max_tokens": 2048,
"reasoning_effort": "none",
"show_thinking": true,
"tools": [
{
"type": "function",
"function": {
"name": "lookup_order",
"description": "Return order status by ID.",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
}
},
"required": [
"order_id"
]
}
}
}
],
"tool_choice": "auto"
}`)
req, _ := http.NewRequest("POST", "http://omixa.cloud/api/v1/chat/completions", bytes.NewReader(payload))
req.Header.Set("Authorization", "Bearer omx_live_xxx")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
Set `"stream": true` and read Server-Sent Events line by line until `data: [DONE]`. Each event is OpenAI-compatible `chat.completion.chunk` JSON.