> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.empiriolabs.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.empiriolabs.ai/_mcp/server.

# Qwen3.8 Max 0902

> Upgraded Qwen3.8 Max snapshot with stronger coding, steadier multi-tool agent runs, and sharper chart and document vision across a 1M-token context.

![Qwen3.8 Max 0902](https://media.empiriolabs.ai/model-logos/qwen.png)

[Alibaba Cloud](/providers/alibaba) · Text Generation

`POST /v1/chat/completions`

Upgraded Qwen3.8 Max snapshot with stronger coding, steadier multi-tool agent runs, and sharper chart and document vision across a 1M-token context.

## At a glance

| Field               | Value                                                                                                                          |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Model id            | `qwen3-8-max-0902`                                                                                                             |
| Model release date  | 2026-09-02                                                                                                                     |
| Input modalities    | Text, Image, Video                                                                                                             |
| Output modalities   | Text                                                                                                                           |
| Context window      | 1M                                                                                                                             |
| Weight precision    | -                                                                                                                              |
| Max output tokens   | 131,072                                                                                                                        |
| Region              | Singapore                                                                                                                      |
| Features            | reasoning, vision, multimodal, web_search, code_interpreter, function_calling, structured_output, agentic_coding               |
| Native inference    | No                                                                                                                             |
| New                 | Yes                                                                                                                            |
| Structured output   | JSON Schema                                                                                                                    |
| Supported endpoints | `POST /v1/chat/completions`, `POST /v1/responses`, `POST /v1/messages`, `POST /v1beta/models/qwen3-8-max-0902:generateContent` |
| Alternate model ids | `qwen3.8-max-0902`, `qwen3.8-max-2026-09-02`                                                                                   |

## Pricing

| Charge                | Spec                    | Rate   |
| --------------------- | ----------------------- | ------ |
| Input                 | per 1M prompt tokens    | \$2.00 |
| Output                | per 1M generated tokens | \$6.00 |
| Web search            | per call when invoked   | \$0.02 |
| Text-to-image search  | per call when invoked   | \$0.02 |
| Image-to-image search | per call when invoked   | \$0.02 |
| Web extractor         | per call when invoked   | \$0.00 |
| Code interpreter      | per call when invoked   | \$0.00 |

## Example request

```bash
curl https://api.empiriolabs.ai/v1/chat/completions \
  -H 'Authorization: Bearer $EMPIRIOLABS_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"model": "qwen3-8-max-0902", "messages": [{"role":"user","content":"Hello"}]}'
```

## Parameters

| Parameter                   | Type    | Required | Default    | Description                                                                                                                                                                            |
| --------------------------- | ------- | -------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `temperature`               | number  | no       | `0.7`      | Sampling temperature. 0 is deterministic and 2 is maximum randomness. · Range: 0 – 2                                                                                                   |
| `top_p`                     | number  | no       | `0.9`      | Nucleus sampling probability mass. Lower values make outputs more focused. · Range: 0 – 1                                                                                              |
| `max_tokens`                | number  | no       | `4096`     | Maximum output tokens. · Range: 1 – 131072                                                                                                                                             |
| `stop`                      | string  | no       | -          | Up to 4 strings where the model will stop generating further tokens.                                                                                                                   |
| `enable_thinking`           | boolean | no       | true       | Enable reasoning before answering.                                                                                                                                                     |
| `reasoning_effort`          | enum    | no       | `"medium"` | Reasoning effort level. none disables thinking. low, medium, high, and max set bounded thinking budgets sized to the selected model. · Allowed: `none`, `low`, `medium`, `high`, `max` |
| `thinking_budget`           | number  | no       | `32768`    | Maximum tokens reserved for reasoning when thinking is enabled. · Range: 1 – 262144                                                                                                    |
| `vl_high_resolution_images` | boolean | no       | true       | Use higher resolution processing for image inputs.                                                                                                                                     |
| `max_pixels`                | number  | no       | `2621440`  | Maximum pixel count per image when high resolution processing is disabled. · Range: 4096 – 16777216                                                                                    |
| `video_fps`                 | number  | no       | `2`        | Frames per second to sample from video inputs. · Range: 0.1 – 10                                                                                                                       |
| `treat_images_as_video`     | boolean | no       | false      | Treat a sequence of images as video frames.                                                                                                                                            |
| `tool_web_search`           | boolean | no       | false      | Search the web for real-time information. Adds \$0.02 to the request cost for each invoked call.                                                                                       |
| `tool_web_extractor`        | boolean | no       | false      | Extract and read content from URLs. Requires Web Search and Thinking.                                                                                                                  |
| `tool_code_interpreter`     | boolean | no       | false      | Run Python code in a sandbox. Requires Thinking.                                                                                                                                       |
| `tool_web_search_image`     | boolean | no       | false      | Search the web for images from text descriptions. Adds \$0.02 to the request cost for each invoked call.                                                                               |
| `tool_image_search`         | boolean | no       | false      | Find similar images from an uploaded image. Adds \$0.02 to the request cost for each invoked call.                                                                                     |
| `disable_formatting`        | boolean | no       | false      | Return raw provider-style output without EmpirioLabs source formatting where supported.                                                                                                |
| `response_format`           | enum    | no       | -          | Constrain the output to valid JSON. Use JSON mode for any JSON object, or supply a JSON Schema to force an exact response shape.                                                       |

## Notes

Text, image, and video input are supported. Web search, web extractor, code interpreter, text-to-image search, and image-to-image search are optional built-in tools exposed through tool\_\* parameters. Web search, text-to-image search, and image-to-image search add \$0.02 for each invoked call; web extractor and code interpreter run at no extra cost. Web extractor requires web search, and both web extractor and code interpreter require thinking. A single request can invoke a tool more than once, and each invoked call is billed. Thinking tokens are billed as output tokens. This id is pinned to the September 2, 2026 snapshot and will not change. The rolling qwen3-8-max id serves the same build since September 5, 2026 and will move to future snapshots.

**Per-tool billing (`usage.tool_usage`)**

When this model invokes built-in tools inside a single request, the response carries a normalized `usage.tool_usage` map alongside the token counts:

```json
"usage": {
  "prompt_tokens": 123,
  "completion_tokens": 456,
  "cost_usd": 0.0042,
  "tool_usage": {"web_search": 3, "code_interpreter": 1}
}
```

Tool counts are already factored into `cost_usd` and are surfaced for transparency so you can audit per-tool billing. The field is omitted when no tools were invoked.

---

*Machine-readable schema:* `GET https://api.empiriolabs.ai/v1/models/qwen3-8-max-0902`.