Qwen3.7-Max
Copy success!
Try AIAdd to Compare
Overview
The early version of the Max model in the Qwen3.7 series supports only the reasoning mode and makes its plain-text capabilities available for experimentation. Qwen3.7 is a next‑generation flagship model designed for the agent‑centric era, with major improvements in coding and agent‑level capabilities. This release is a snapshot as of May 17, 2026.
Input
Text
Output
Text
Features
Prefix Completion
Enable Partial Mode when calling the Qwen API to make the model continue strictly from your provided prefix text.View docsFunction Calling
Use function calling to connect large language models with external tools and systems.View docsCache
Context Cache stores shared prefixes for long-context requests to reduce repeated computation, improve latency, and lower cost.View docsStructured Outputs
Structured Outputs help ensure the model returns a JSON string in the expected format.View docsPricing
- Input$2.5Per 1M tokens
- Output$7.5Per 1M tokens
Rate Limits & Context
- Max Input991K
- Max Output131K
- Max Input (Thinking)983K
- Max Output (Thinking)131K
- Context1M
- Max Reasoning262K
- TPMTokens Per Minute1M
- RPMRequests Per Minute600
Built-in Tools
API Reference
Call APICopy success!
12345678910111213141516171819202122232425262728
from openai import OpenAI
import os
client = OpenAI(
# If the environment variable is not set, replace it with your Model Studio API key: api_key="sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
messages = [{"role": "user", "content": "Who are you"}]
completion = client.chat.completions.create(
model="qwen3.7-max-2026-05-17",
messages=messages,
stream=True
)
is_answering = False # Indicates whether the response phase has started
print("\n" + "=" * 20 + "Thinking process" + "=" * 20)
for chunk in completion:
if chunk.choices:
delta = chunk.choices[0].delta
# Collect only the thinking content
if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
if not is_answering:
print(delta.reasoning_content, end="", flush=True)
# When content is received, start generating the response
if hasattr(delta, "content") and delta.content:
if not is_answering:
print("\n" + "=" * 20 + "Full response" + "=" * 20)
is_answering = True
print(delta.content, end="", flush=True)