Back to Models
z-ai logo
z-ai/glm-4-5-air%3Afree
Not Available

GLM 4.5 Air (free)

GLM-4.5-Air is the lightweight variant of our latest flagship model family, also purpose-built for agent-centric applications. Like GLM-4.5, it adopts the Mixture-of-Experts (MoE) architecture but with a more compact parameter size. GLM-4.5-Air also supports hybrid inference modes, offering a "thinking mode" for advanced reasoning and tool use, and a "non-thinking mode" for real-time interaction. Users can control the reasoning behaviour with the `reasoning` `enabled` boolean. [Learn more in our docs](https://openrouter.ai/docs/use-cases/reasoning-tokens#enable-reasoning-with-default-config)

7/25/2025
131,072 tokens
Specifications

Modalities

Input
text
Output
text

Supported Parameters

include_reasoning
max_tokens
reasoning
temperature
tool_choice
tools
top_p

Max Output Tokens

96,000
Code Examples
curl https://api.fastmetal.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "glm-4.5-air-free",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

How GLM 4.5 Air (free) actually answers

Real responses to our standard prompts, recorded on FastMetal.

Count the number of 'r's in 'strawberry'

Count the number of 'r's in 'strawberry'. Explain your reasoning step by step.

To count the number of 'r's in the word 'strawberry', we need to examine each letter in the word one by one and identify how many times the letter 'r' appears. The word 'strawberry' is spelled as follows: s-t-r-a-w-b-e-r-r-y. ### Step-by-Step Reasoning: 1. **List all the characters in the word**: - The word has 10 characters: Position 1: 's' Position 2: 't' Position 3: 'r' Position 4: 'a' Position 5: 'w' Position 6: 'b' Position 7: 'e' Position 8: 'r' Position 9: 'r' Position 10: 'y' 2. **Check each character for 'r'**: - Position 1: 's' → Not 'r' - Position 2: 't' → Not 'r' - Position 3: 'r' → This…
157.8s response1724 output tokens
Debug This Error

I'm getting the following error in my Node.js application: TypeError: Cannot read properties of undefined (reading 'map') at UserList (/app/components/UserList.js:12:25) at renderWithHooks (/app/node_modules/rea…

The error occurs because the `users` prop is being passed as `undefined` to the `UserList` component, and you're trying to call `.map()` on it. Here's how to fix it: ### Solution 1: Default Parameter (Recommended) Modify the component to provide a default empty array for the `users` prop: ```javascript function UserList({ users = [] }) { return ( <ul> {users.map(user => <li key={user.id}>{user.name}</li>)} </ul> ); } ``` **Why this works**: The destructuring `users = []` sets a default value of an empty array if `users` is `undefined`. This ensures `.map()` is always called on an array. --- ### Solution 2: Conditional Rendering Add a check before calling `.map()`: `…
72.4s response1023 output tokens
Code Review

Please review the following Python function and suggest improvements for readability, performance, and best practices: def get_data(url, retries=3): import requests import time for i in range(retries):…

Here's an improved version of the function with enhanced readability, performance, and best practices: ```python import requests import time import logging from typing import List, Dict, Any def get_data(url: str, retries: int = 3, timeout: float = 10) -> List[Dict[str, Any]]: """ Fetches and filters data from a JSON API endpoint. Args: url: The API endpoint URL retries: Number of retry attempts (default: 3) timeout: Request timeout in seconds (default: 10) Returns: List of active items with 'name' and 'id' fields """ headers = {"Accept": "application/json"} # Explicitly request JSON for attempt in range(retries):…
235.9s response808 output tokens

Compare these answers side by side with other models →