Models/qwen3.7-max
Model Code
qwen3.7-max
Try now

Model overview

Qwen3.7Deep thinkingText generation

Qwen3.7-Max is the largest and strongest model in the Qwen3.7 series. It currently exposes text-only capabilities and is designed for the agent era, with strong performance in coding, office productivity, and long-horizon autonomous execution tasks.

This model version is functionally equivalent to the snapshot model qwen3.7-max-2026-05-20.

Company: AlibabaProvider: Alibaba Cloud

Model capabilities

Input modalityT
Output modalityT
Model experience
Function calling
Structured output×
Web search
Prefix completion
Context cache
Batch inference
Fine-tuning×

Model pricing

Input$1.79/1M tokens
Input (cache hit)$0.3582/1M tokens
Input (Batch File)$0.8955/1M tokens
Explicit cache write$2.24/1M tokens
Explicit cache hit$0.1791/1M tokens
Input (Batch Chat)$1.79/1M tokens
Output$5.37/1M tokens
Output (Batch File)$2.69/1M tokens
Output (Batch Chat)$5.37/1M tokens

Tool call pricing

code_interpreter Responses APIFree
web_extractor Responses APIFree
web_search Responses API$0.597/1K calls

Rate limits and context

Maximum input length991K
Maximum input length (thinking mode)983K
Context length1M
Maximum output length64K
Maximum output length (thinking mode)64K
Maximum reasoning length256K
RPM30000
TPM5000000

API reference

EndpointPOST /v1/chat/completions
SDKOpenAI-compatible

API code examples

Get API Key
from openai import OpenAI
import os


client = OpenAI(
    api_key=os.getenv("WLROUTER_API_KEY"),
    base_url="https://api.wlrouter.com/v1",
)


messages = [{"role": "user", "content": "Who are you?"}]
completion = client.chat.completions.create(
    model="qwen3.7-max",
    messages=messages,
    extra_body={"enable_thinking": True},
    stream=True
)
is_answering = False
print("
" + "=" * 20 + "Reasoning process" + "=" * 20)
for chunk in completion:
    if not chunk.choices:
        continue
    delta = chunk.choices[0].delta
    if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
        if not is_answering:
            print(delta.reasoning_content, end="", flush=True)
    if hasattr(delta, "content") and delta.content:
        if not is_answering:
            print("
" + "=" * 20 + "Final answer" + "=" * 20)
            is_answering = True
        print(delta.content, end="", flush=True)