TL;DR: Route to Flash by default and escalate to Max only when Flash's output fails a check. Both are free on AIHubMix until around November 13, 2026 (Pacific Time), or until the campaign credits run out, but they draw on one shared 1M-token daily pool. On the free route, Max takes about 11x longer to start answering and generates about a quarter as fast, and its tokens are worth about 14x as much at paid rates. On Qwen's own numbers, Flash is within about a point of Max on office tasks and graduate-level science questions; Max pulls ahead on repo-level coding and very hard reasoning.
The engineering problem
Two free model IDs, qwen3.8-max-free and qwen3.8-flash-free, same endpoint, same price ($0). The constraints that actually matter:
- One pool. After a top-up of $1 or more, all AIHubMix free models share 100 requests a day, 10 a minute and 1M tokens a day. Every Max call is a call you can't make on Flash.
- Very different speeds. On AIHubMix's own measurement of the free route, Max shows about 55 s latency and about 9 tok/s; Flash shows about 5 s and about 36 tok/s.
- A cliff on November 13. After the campaign, Max's output costs 13.3x Flash's on AIHubMix ($5.07 against $0.38 per million tokens).
| Qwen3.8 Max (free) | Qwen3.8 Flash (free) | |
|---|---|---|
| Free price (in / out) | $0 / $0 | $0 / $0 |
| Paid price on AIHubMix (in / out) | $1.69 / $5.07 | $0.1126 / $0.38 |
| Parameters | 2.4T total, ~95B active | 125B total, 6B active |
| Context / max output | 1M / 131K | 1M / 131K |
| Latency, free route | about 55 s | about 5 s |
| Throughput, free route | about 9 tok/s | about 36 tok/s |
Prices are per million tokens. Latency and throughput come from the Qwen3.8 Max (free) and Qwen3.8 Flash (free) pages on October 16, 2026, and move with load. Flash's parameter count is for the open-weight Flash-Next release. Side-by-side pages: free pair, paid pair.
What the benchmarks say (self-reported)
These are Qwen's launch figures as compiled by DataCamp (Max, Flash-Next). Nobody has reproduced them independently.
| Benchmark | Qwen3.8 Max | Qwen3.8 Flash | Ahead |
|---|---|---|---|
| CoWorkBench | 74.8 | 73.9 | Max by 0.9 |
| GPQA Diamond | 92.6 | 91.7 | Max by 0.9 |
| JobBench | 53.4 | 55.7 | Flash by 2.3 |
| SWE-bench Pro | 67.7 | 62.5 | Max by 5.2 |
| HLE | 43.6 | 35.9 | Max by 7.7 |
Max's numbers come from its August launch table; the 0902 update raised CoWorkBench to 76.1 and JobBench to 64.0, by Qwen's numbers. Flash's come from the Flash-Next table, and the hosted Flash may score slightly differently.
Practical reading: treat sub-2-point gaps as ties. The real gaps are repository fixes (SWE-bench Pro, 5 points) and very hard expert questions (HLE, almost 8 points).
Sizing one task: a PR review
Assumptions: a 1,500-line pull request plus touched files is about 30K input tokens; the model writes about 6K output tokens (thinking plus comments). The same 6K is assumed for both. Artificial Analysis measured Max using more than twice the median output tokens on its test suite, so Max's numbers here are on the low side.
| Qwen3.8 Max | Qwen3.8 Flash | |
|---|---|---|
| Tokens from the free daily pool | 36K | 36K |
| Reviews that fit in 1M tokens | about 27 | about 27 |
| Time at free-route speeds | about 12 min | about 3 min |
| Cost after the campaign | $0.081 | $0.0057 |
Time = latency (55 s / 5 s) + 6K tokens at 9 / 36 tok/s. Cost = 30K input + 6K output at AIHubMix paid prices: $0.0507 + $0.0304 for Max, $0.0034 + $0.0023 for Flash.
Same pool cost today, about 4x the wall-clock for Max, and after the campaign the Flash review costs under a fourteenth of the Max one. A CI gate someone is waiting on belongs on Flash; an overnight review of payment-code PRs is where Max's 5-point SWE-bench Pro lead earns the wait.
The routing pattern
Same base URL, same SDK, so routing is a model-ID swap. Flash first, Max only on failure:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://aihubmix.com/v1",
api_key=os.environ["AIHUBMIX_API_KEY"],
timeout=900,
)
def ask(model: str, prompt: str) -> str:
resp = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
)
return resp.choices[0].message.content
answer = ask("qwen3.8-flash-free", prompt)
if not passes_checks(answer): # your tests, a schema check, or a reviewer
answer = ask("qwen3.8-max-free", prompt)
passes_checks is whatever you already trust: a test run, a JSON schema validation, a linter, a human approval step. The timeout=900 covers Max's long answers on the free route.
Where each task type should start:
| Task | Start with | Why |
|---|---|---|
| Chat, Q&A, drafting | Flash | Seconds to answer, office scores near Max |
| Extraction, tagging, summaries | Flash | High volume; Max adds wait, not accuracy |
| In-editor help, small fixes | Flash | Interactive work needs fast replies |
| Multi-file bugs, deep code review | Max | Widest coding gap on Qwen's numbers |
| Hard math and expert questions | Max | Nearly 8 points ahead on HLE |
| Overnight and batch jobs | Max | The wait costs nothing there |
Failure modes to plan for
- Max as an interactive default. At about 55 s before the first token, Max makes chat UIs and editor assistants feel broken. Keep it off the interactive path.
- Escalating everything. If your check is too strict, every request goes to Max and you pay twice from the shared pool (Flash's tokens plus Max's). Log the escalation rate; if most requests escalate, call Max directly for that task type.
- Planning for after November 13 with free-route numbers. Max's output is 13.3x Flash's price on the paid IDs. A routing pattern that's free today has a real bill later, and Flash-first keeps it low.
What this post can't verify
- The benchmark gaps are Qwen's own, and the Flash column is from the open-weight Flash-Next release, not the hosted model.
- AIHubMix doesn't state which Max snapshot (launch or 0902) the free ID serves.
- Latency and throughput are point-in-time readings from the model pages and change with load.
- The PR-review numbers are estimates from stated assumptions, not a measured run.
Keep reading: the Qwen3.8 Free series
- If you haven't set up the free IDs yet, start with the limits, the end date and a first request: Free Qwen3.8 Max and Flash API on AIHubMix: Limits, End Date, and Your First Call
- Max's long waits and the shared pool cause most of the errors people hit, and there's a fallback that covers them: Qwen3.8 Free on AIHubMix: Fix 429s, "Rate Limited by Provider", and a Drained Token Pool
Sources
- Qwen3.8 Max (free) vs Qwen3.8 Flash (free) (AIHubMix)
- Free AI models and quotas (AIHubMix)
- Qwen3.8-Max: Features, Benchmarks, and Pricing (DataCamp)
- Qwen3.8-Flash-Next: Features, Benchmarks, and Pricing (DataCamp)
- Qwen3.8 Max (0902): Intelligence, Performance & Price Analysis (Artificial Analysis)
Top comments (0)