Tutorial

Qwen3.7 Max Is API-Only: What to Self-Host Instead (2026)

Back to BlogWritten by Published Jun 8, 2026Updated
Qwen3.7 MaxQwen 3.7 MaxDeploy Qwen3.7 MaxQwen3.7 Max GPU RequirementsMoEvLLMSGLangGPU CloudLLM Deployment
Qwen3.7 Max Is API-Only: What to Self-Host Instead (2026)

Qwen3.7 Max cannot be deployed on GPU cloud, because Alibaba never released its weights. It is a proprietary model served only through Alibaba Cloud Model Studio, the QwenCloud API, and resellers, so there is no checkpoint to download, quantize, or load into vLLM. If you want a Qwen model running on your own GPUs, the ones you can actually deploy are Qwen3.6-35B-A3B and Qwen3.6-27B for most workloads, and Qwen3.8-Max if you need Max-class scale. This guide covers what Max is, how to reach it, and how to self-host the open alternatives.

TL;DR: Can You Deploy Qwen3.7 Max on GPU Cloud?

ModelWeightsWhere it runsSpheron rate
Qwen3.7 MaxClosed, API onlyAlibaba API onlyn/a
Qwen3.6-35B-A3BOpen, ~35 GB at FP81x L40S 48GB or 1x H100H100 from $2.20/hr
Qwen3.6-27BOpen, ~16 GB at INT41x RTX 4090 24GBRTX 4090 from $0.58/hr
Qwen3.8-MaxAnnounced open, 2.4TMulti-node clusterSee sizing guide
  • Spheron rates above are as of 17 Sep 2026. Compare every tier on the GPU pricing page.

What Qwen3.7 Max Is

Alibaba announced Qwen3.7 Max on May 20, 2026, at the Alibaba Cloud Summit. It is the top tier of the Qwen3.7 line, which also includes Flash and Plus. All three are closed-weight.

What is confirmed:

  • It is proprietary. No weights on Hugging Face or ModelScope, and no GitHub repository.
  • It is API-only. Access runs through Alibaba Cloud Model Studio, the QwenCloud API, and resellers.
  • No official parameter count. Alibaba has not published one, so there is nothing to size a GPU cluster against.

An earlier version of this post estimated parameter counts, VRAM needs, throughput, and cost per token for a self-hosted Qwen3.7 Max. Those numbers had no checkpoint behind them and have been removed.

For one published data point: on Terminal-Bench 2.1, Qwen3.7 Max scored 61.0, against 67.4 for its successor Qwen3.8-Max (Latent.Space).

The 3.7 generation broke with earlier Qwen releases. Qwen 3, Qwen 3.5, and the open side of Qwen 3.6 all shipped downloadable weights. The whole Qwen3.7 line is API-only, with no open sibling at all.

How to access Qwen3.7 Max

Call it through Alibaba Cloud Model Studio or the QwenCloud API, or through a reseller that exposes an OpenAI-compatible endpoint. Check Alibaba's current per-token rates in Model Studio before you compare against self-hosting, since they change.

API or Self-Hosted: Which One Fits

NeedQwen3.7 Max APISelf-hosted open Qwen
Exactly Qwen3.7 Max's behaviorYesNo
Data stays on hardware you controlNoYes
Fixed hourly cost at sustained loadNo, per tokenYes, per GPU hour
No third-party rate limitsNoYes
No infrastructure to runYesNo

Bursty or low-volume traffic usually favors the API, since you pay nothing while idle. Sustained load, data residency requirements, or strict latency control favor self-hosting. To compare the two on your own numbers, divide your GPU hourly rate by the tokens per second you measure on your prompts, then set that next to the API's per-token price. The MoE cost per token guide walks through that math, and the Qwen API pricing vs self-hosted comparison covers the privacy side.

The Open Qwen Models You Can Self-Host

Qwen3.6-35B-A3B (Qwen/Qwen3.6-35B-A3B) is a MoE with 35B total parameters and 3B active per token. At FP8 the weights are about 35 GB. All 35B parameters have to sit in VRAM even though only 3B fire per token, so size by total, not active.

Qwen3.6-27B (Qwen/Qwen3.6-27B) is dense. It weighs about 27 GB at FP8 and about 16 GB at INT4, which makes it the cheapest Qwen to run on a single consumer-class card.

Qwen3.8-Max is the Max-class option: 2.4T total parameters with about 95B active, and the first Max-tier Qwen with announced open weights. It is a multi-node deployment. Cluster sizing, precision choices, and launch configs are in the Qwen3.8-Max GPU requirements guide.

For full VRAM tables across BF16, FP8, and INT4 for both Qwen 3.6 models, see the Qwen 3.6 open model deployment guide.

GPU picks

Model and precisionGPUNotes
35B-A3B FP81x L40S 48GBKeep context around 32K
35B-A3B FP81x H100 80GBRoom for longer context
27B FP81x L40S 48GB or 1x H100Fits either with KV cache headroom
27B INT41x RTX 4090 24GBLowest-cost path, moderate context
Qwen3.8-MaxMulti-node clusterSee the Qwen3.8-Max guide

FP8 on an L40S covers either Qwen 3.6 model for most workloads. Step up to a Spheron H100 for longer context or higher concurrency, or an H200 on Spheron if you want to run 35B-A3B at full BF16 precision without squeezing KV cache.

If you are weighing other large open MoE models against Qwen, the DeepSeek V4 deployment guide and the open-weight frontier model showdown cover the rest of the field.

Deploy Qwen3.6 with vLLM on Spheron

Provision a GPU on Spheron that matches the table above, then confirm the hardware:

bash
nvidia-smi

Install vLLM and download the weights:

bash
pip install "vllm>=0.19.0"

huggingface-cli download Qwen/Qwen3.6-35B-A3B \
    --local-dir /data/models/qwen3.6-35b-a3b

Launch the server:

bash
# Qwen3.6-35B-A3B, FP8 on 1x L40S or H100
vllm serve /data/models/qwen3.6-35b-a3b \
    --served-model-name qwen3.6-35b-a3b \
    --quantization fp8 \
    --tensor-parallel-size 1 \
    --gpu-memory-utilization 0.9 \
    --max-model-len 32768 \
    --port 8000

Swap in Qwen/Qwen3.6-27B for the dense model. On an H100 you can raise --max-model-len once nvidia-smi shows KV cache headroom. A100 has no FP8 Tensor Cores, so drop --quantization fp8 there and use an INT4 checkpoint instead.

Test the OpenAI-compatible endpoint:

bash
curl http://localhost:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{"model": "qwen3.6-35b-a3b", "messages": [{"role": "user", "content": "Explain expert parallelism in one paragraph."}], "max_tokens": 1024}'

If you already call Qwen3.7 Max through an OpenAI-compatible API, switching to your own server is a change of base_url and model in the client. Expect different output quality, so run your own evals before cutting over.

If the server fails to start with an out-of-memory error, lower --max-model-len first. The vLLM OOM and GPU memory utilization guide covers the rest.

Function Calling and Structured Output

vLLM serves tool calls through the standard /v1/chat/completions tools parameter. To turn it on, start the server with --enable-auto-tool-choice plus the --tool-call-parser value the Qwen3.6 model card recommends. A request looks like this:

json
{
  "model": "qwen3.6-35b-a3b",
  "messages": [
    { "role": "user", "content": "What GPU should I rent for a 27B model?" }
  ],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_gpu_pricing",
        "description": "Fetch current GPU rental pricing from Spheron",
        "parameters": {
          "type": "object",
          "properties": {
            "gpu_model": {
              "type": "string",
              "description": "GPU model name, e.g. 'H100 SXM5' or 'L40S'"
            },
            "pricing_type": { "type": "string", "enum": ["on-demand", "spot"] }
          },
          "required": ["gpu_model"]
        }
      }
    }
  ],
  "max_tokens": 512
}

The response carries a tool_calls array with the function name and arguments. For structured output, vLLM supports response_format with a JSON schema, so the OpenAI Python client's Pydantic parsing works against your own server:

python
from openai import OpenAI
from pydantic import BaseModel

class GPUPick(BaseModel):
    gpu_model: str
    count: int
    precision: str

client = OpenAI(base_url="http://localhost:8000/v1", api_key="not-needed")

response = client.beta.chat.completions.parse(
    model="qwen3.6-35b-a3b",
    messages=[{"role": "user", "content": "Pick a GPU setup for a 27B dense model at INT4."}],
    response_format=GPUPick,
)
print(response.choices[0].message.parsed)

For benchmarks and failure modes, see the structured output and function calling guide.

Spheron Pricing for Open Qwen Workloads

SetupGPUOn-demand / hrSpot / hr
27B INT4, dev and testing1x RTX 4090 24GB$0.72/hrn/a
35B-A3B or 27B FP8, short ctx1x L40S 48GB$0.96/hr$1.05/hr
35B-A3B or 27B FP8, long ctx1x H100 80GB$3.96/hr$2.20/hr
35B-A3B BF161x H200 141GB$5.51/hr$3.35/hr

Spot capacity can be reclaimed without notice, so keep production traffic on on-demand instances unless your serving layer handles restarts.

Pricing fluctuates based on GPU availability. Spheron rates above are live as of 17 Sep 2026; other providers reflect their most recent published rates and may have changed. Check current GPU pricing → for live rates.


Qwen3.7 Max stays behind Alibaba's API, but Qwen3.6-35B-A3B and Qwen3.6-27B run on a single GPU, and Qwen3.8-Max brings open weights to Max-class scale.

Spheron L40S instances → | On-demand H100 → | View all pricing →

Get started on Spheron →

STEPS / 05

Quick Setup Guide

  1. Decide whether you need Qwen3.7 Max itself

    Qwen3.7 Max is closed-weight. Alibaba serves it only through Alibaba Cloud Model Studio, the QwenCloud API, and resellers. If you need Max specifically, call the API. If you need a Qwen model on your own GPUs, pick an open-weight release: Qwen3.6-35B-A3B (MoE, 3B active) or Qwen3.6-27B (dense) for most teams, or Qwen3.8-Max if you need Max-class scale and have a multi-node cluster.

  2. Choose an open model and GPU

    Qwen3.6-35B-A3B is about 35 GB at FP8 and fits a single L40S 48GB (short context) or H100 80GB. Qwen3.6-27B is about 27 GB at FP8 and about 16 GB at INT4, so it fits an L40S or H100 at FP8 and an RTX 4090 at INT4. Qwen3.8-Max has 2.4T total parameters and needs a multi-node cluster; follow its dedicated sizing guide.

  3. Provision a GPU instance on Spheron

    Go to app.spheron.ai and provision the GPU that matches your model and precision. SSH in and run nvidia-smi to confirm GPU count, VRAM, and driver version.

  4. Install vLLM and download the weights

    Run pip install 'vllm>=0.19.0', then huggingface-cli download Qwen/Qwen3.6-35B-A3B --local-dir /data/models/qwen3.6-35b-a3b (or Qwen/Qwen3.6-27B for the dense model). There is no Qwen3.7 Max repository to download.

  5. Launch and test the server

    Run vllm serve /data/models/qwen3.6-35b-a3b --quantization fp8 --gpu-memory-utilization 0.9 --max-model-len 32768 --port 8000, then send a test request to http://localhost:8000/v1/chat/completions. Raise --max-model-len only after checking KV cache headroom.

FAQ / 04

Frequently Asked Questions

No. Qwen3.7 Max is proprietary and API-only. There are no weights on Hugging Face or ModelScope and no GitHub repository, so there is nothing for vLLM or SGLang to load. Access it through Alibaba Cloud Model Studio, the QwenCloud API, or a reseller.

No. Every Qwen3.7 model, Flash, Plus, and Max, is closed-weight. The 3.7 generation skipped open weights entirely. Alibaba has also not published an official parameter count for Qwen3.7 Max, so any VRAM figure quoted for it is a guess.

For most teams, Qwen3.6-35B-A3B, a 35B-total, 3B-active MoE that fits one L40S 48GB or H100 80GB at FP8. Qwen3.6-27B is the dense option. If you need Max-class scale, Qwen3.8-Max (2.4T total, about 95B active) is the first Max-tier Qwen with announced open weights, but it needs a multi-node GPU cluster.

On Terminal-Bench 2.1, Qwen3.7 Max scored 61.0 and Qwen3.8-Max scored 67.4, per Latent.Space. The bigger practical difference is distribution: Qwen3.7 Max is API-only, while Qwen3.8-Max has announced open weights you can run on your own cluster.

// Try It Yourself

Try It on Real GPUs

The GPUs behind these guides are the ones you can rent here: H100s, H200s, B200s, and more, billed per minute after a 20-minute minimum runtime, with no contracts. Pick one and you are live in under two minutes.

View Pricing
→
Or talk to our team
Spheron GPU instance going live and linking data centers across the globe