Skip to content
Docs

Using Qwen3-235B-A22B-Thinking-2507 on Chutes

Qwen3-235B-A22B-Thinking-2507 is Qwen's flagship open-weight reasoning model: a 235B Mixture-of-Experts transformer that activates 22B parameters per token and always thinks before answering. On Chutes it runs inside a Trusted Execution Environment (TEE) behind a standard OpenAI-compatible API with a 262K-token context.

Overview

Released in July 2025 under Apache-2.0, this is the "2507" refresh in which the Qwen team continued to scale thinking capability, improving both the quality and depth of reasoning. Architecturally it is Qwen3MoeForCausalLM: 94 layers, 128 experts with 8 routed per token, grouped-query attention with 64 query heads and 4 KV heads (head dim 128), a 151,936-token vocabulary, and RoPE theta of 5,000,000. The card reports state-of-the-art results among open-source thinking models on reasoning benchmarks covering logic, mathematics, science, coding, and academic tasks, along with markedly better instruction following, tool usage, and 256K long-context understanding. Unlike hybrid Qwen3 releases, it supports only thinking mode: the chat template automatically opens a <think> block, so output typically contains only the closing tag.

Model specifications

PropertyValue
Parameters235B total, 22B activated per token, 234B non-embedding
ArchitectureMoE transformer, 94 layers, 128 experts (8 active), GQA 64Q/4KV
Context length262,144 tokens native
Vocabulary151,936
LicenseApache-2.0
ModalitiesText in, text out
ReasoningThinking-only; no non-thinking mode
ReleasedJuly 2025
Serving on ChutesTEE (confidential compute), OpenAI-compatible gateway

Quick start

Base URL https://llm.chutes.ai/v1, model name Qwen/Qwen3-235B-A22B-Thinking-2507-TEE, Bearer auth with your Chutes API key. Set max_tokens high: the card recommends a 32,768-token output budget.

curl -X POST "https://llm.chutes.ai/v1/chat/completions" \
  -H "Authorization: Bearer $CHUTES_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen3-235B-A22B-Thinking-2507-TEE",
    "messages": [{"role": "user", "content": "Prove that sqrt(2) is irrational."}],
    "stream": true,
    "max_tokens": 32768,
    "temperature": 0.6
  }'
import os
from openai import OpenAI

client = OpenAI(base_url="https://llm.chutes.ai/v1", api_key=os.environ["CHUTES_API_KEY"])

resp = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Thinking-2507-TEE",
    messages=[{"role": "user", "content": "Prove that sqrt(2) is irrational."}],
    max_tokens=32768,
    temperature=0.6,
)
print(resp.choices[0].message.content)
const res = await fetch("https://llm.chutes.ai/v1/chat/completions", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.CHUTES_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "Qwen/Qwen3-235B-A22B-Thinking-2507-TEE",
    messages: [{ role: "user", content: "Prove that sqrt(2) is irrational." }],
    max_tokens: 32768,
    temperature: 0.6,
  }),
});
const data = await res.json();
console.log(data.choices[0].message.content);

Parameters and tuning

Chute request fields and defaults (from the live llms.txt): max_tokens 1024, temperature 0.7, seed 42, streaming on /v1/chat/completions and /v1/completions. This chute also exposes /tokenize and /detokenize routes for exact token accounting against the model's own tokenizer.

The model card's best practices: temperature 0.6, top_p 0.95, top_k 20, min_p 0 (matching generation_config.json). Output length matters more than usual: 32,768 tokens for most queries, up to 81,920 for competition-grade math and programming, because the model spends a large share of its budget thinking. The chute default of 1024 will truncate serious reasoning, so always set max_tokens explicitly. An optional presence_penalty between 0 and 2 reduces endless repetition, at some risk of language mixing at high values.

What it's best at

This model is built for problems where extended deliberation wins: formal and informal mathematics, scientific reasoning, multi-step logic, and hard coding tasks. The 2507 update also improved instruction following and tool usage, and the Qwen team recommends Qwen-Agent for agentic workloads since it bundles the model's tool-call templates and parsers. With 262K native context it handles long-document analysis and repository-scale inputs while retaining budget for its own reasoning.

It is a poor fit for latency-sensitive or short-answer traffic: it cannot skip thinking, and recommended output budgets start at 32K tokens. It is text-only, and for high-volume simple chat a smaller instruct model is far cheaper per request.

How Chutes serves this model

The chute runs the model inside a Trusted Execution Environment: attested confidential-compute hardware that keeps prompts and outputs protected during processing. This is a serving-level guarantee and does not change model behavior. Inference is exposed on the shared OpenAI-compatible gateway with streaming, billed per token through your Chutes account, plus the extra /tokenize and /detokenize utility endpoints. See the model page, the machine-readable llms.txt, and the callable OpenAPI spec.

FAQ

Can I turn off thinking mode?

No. This variant supports only thinking mode; the chat template automatically opens a <think> block and the model reasons before every answer. If you need direct short answers, use a non-thinking Qwen3 instruct variant instead.

What context window does it support?

262,144 tokens natively, per config.json and the model card. That budget is shared between your prompt and the model's thinking plus answer, so leave generous headroom for reasoning output.

How many parameters are actually used per token?

22B of the 235B total. The model routes each token through 8 of its 128 experts, which gives large-model quality at a much lower per-token compute cost than a dense 235B model.

What max_tokens should I set?

The Qwen team recommends 32,768 output tokens for most queries and up to 81,920 for highly complex math or programming problems. The chute's default is 1024, which will truncate serious reasoning, so set max_tokens explicitly.

What sampling settings does the model card recommend?

Temperature 0.6, top_p 0.95, top_k 20, min_p 0, matching the shipped generation_config.json. A presence_penalty between 0 and 2 can reduce endless repetition, though high values may cause occasional language mixing.

How do I call it from the OpenAI SDK?

Point the SDK at base_url https://llm.chutes.ai/v1 with your Chutes API key and set model to Qwen/Qwen3-235B-A22B-Thinking-2507-TEE. Streaming chat completions work unchanged; the thinking content arrives as part of the response stream.

What does the TEE suffix mean?

The chute runs inside a Trusted Execution Environment: confidential-compute hardware that keeps prompts and outputs protected in memory and attestable. It is a serving-level guarantee on Chutes and does not alter the model itself.

Is it licensed for commercial use?

Yes. The upstream repository is Apache-2.0, permitting commercial use, modification, and redistribution with attribution. Chutes endpoint usage is billed per token through your account, separate from the license.

Sources