Back to Openclaw

Qwen

docs/providers/qwen.md

2026.7.112.8 KB
Original Source

Qwen Cloud is an official external OpenClaw provider plugin with canonical id qwen. It targets Qwen Cloud / Alibaba DashScope Standard and Coding Plan endpoints, keeps legacy modelstudio ids working as a compatibility alias, and exposes the Qwen Portal token flow as a separate provider, qwen-oauth.

PropertyValue
Providerqwen
Portal providerqwen-oauth
Preferred env varQWEN_API_KEY
Also accepted (compat)MODELSTUDIO_API_KEY, DASHSCOPE_API_KEY
API styleOpenAI-compatible
<Tip> For `qwen3.6-plus`, use a **Standard (pay-as-you-go)** endpoint. It is not available on the Coding Plan endpoints. </Tip>

Install plugin

qwen ships as an official external plugin, not bundled with core. Install it and restart Gateway:

bash
openclaw plugins install @openclaw/qwen-provider
openclaw gateway restart

Getting started

Choose your plan type and follow the setup steps.

<Tabs> <Tab title="Coding Plan (subscription)"> **Best for:** subscription-based access through the Qwen Coding Plan.
<Steps>
  <Step title="Get your API key">
    Create or copy an API key from [home.qwencloud.com/api-keys](https://home.qwencloud.com/api-keys).
  </Step>
  <Step title="Run onboarding">
    For the **Global** endpoint:

    ```bash
    openclaw onboard --auth-choice qwen-api-key
    ```

    For the **China** endpoint:

    ```bash
    openclaw onboard --auth-choice qwen-api-key-cn
    ```
  </Step>
  <Step title="Set a default model">
    ```json5
    {
      agents: {
        defaults: {
          model: { primary: "qwen/qwen3.5-plus" },
        },
      },
    }
    ```
  </Step>
  <Step title="Verify the model is available">
    ```bash
    openclaw models list --provider qwen
    ```
  </Step>
</Steps>

<Note>
Legacy `modelstudio-*` auth-choice ids and `modelstudio/...` model refs still
work as compatibility aliases, but new setup flows should prefer the canonical
`qwen-*` auth-choice ids and `qwen/...` model refs. If you define an exact
custom `models.providers.modelstudio` entry with another `api` value, that
custom provider owns `modelstudio/...` refs instead of the Qwen compatibility
alias.
</Note>
</Tab> <Tab title="Standard (pay-as-you-go)"> **Best for:** pay-as-you-go access through the Standard Model Studio endpoint, including models like `qwen3.6-plus` that are not available on the Coding Plan.
<Steps>
  <Step title="Get your API key">
    Create or copy an API key from [home.qwencloud.com/api-keys](https://home.qwencloud.com/api-keys).
  </Step>
  <Step title="Run onboarding">
    For the **Global** endpoint:

    ```bash
    openclaw onboard --auth-choice qwen-standard-api-key
    ```

    For the **China** endpoint:

    ```bash
    openclaw onboard --auth-choice qwen-standard-api-key-cn
    ```
  </Step>
  <Step title="Set a default model">
    ```json5
    {
      agents: {
        defaults: {
          model: { primary: "qwen/qwen3.5-plus" },
        },
      },
    }
    ```
  </Step>
  <Step title="Verify the model is available">
    ```bash
    openclaw models list --provider qwen
    ```
  </Step>
</Steps>

<Note>
Legacy `modelstudio-*` auth-choice ids and `modelstudio/...` model refs still
work as compatibility aliases, but new setup flows should prefer the canonical
`qwen-*` auth-choice ids and `qwen/...` model refs. If you define an exact
custom `models.providers.modelstudio` entry with another `api` value, that
custom provider owns `modelstudio/...` refs instead of the Qwen compatibility
alias.
</Note>
</Tab> <Tab title="Qwen OAuth / Portal"> **Best for:** a Qwen Portal token against `https://portal.qwen.ai/v1`.
See [Qwen OAuth / Portal](/providers/qwen-oauth) for the dedicated provider
page and migration notes.

<Steps>
  <Step title="Provide your portal token">
    ```bash
    openclaw onboard --auth-choice qwen-oauth
    ```
  </Step>
  <Step title="Set a default model">
    ```json5
    {
      agents: {
        defaults: {
          model: { primary: "qwen-oauth/qwen3.5-plus" },
        },
      },
    }
    ```
  </Step>
  <Step title="Verify the model is available">
    ```bash
    openclaw models list --provider qwen-oauth
    ```
  </Step>
</Steps>

<Note>
`qwen-oauth` uses the same `QWEN_API_KEY` env var name as the Qwen Cloud
provider, but stores auth under the `qwen-oauth` provider id when configured
through OpenClaw onboarding.
</Note>
</Tab> </Tabs>

Plan types and endpoints

PlanRegionAuth choiceEndpoint
Coding Plan (subscription)Chinaqwen-api-key-cncoding.dashscope.aliyuncs.com/v1
Coding Plan (subscription)Globalqwen-api-keycoding-intl.dashscope.aliyuncs.com/v1
Qwen PortalGlobalqwen-oauthportal.qwen.ai/v1
Standard (pay-as-you-go)Chinaqwen-standard-api-key-cndashscope.aliyuncs.com/compatible-mode/v1
Standard (pay-as-you-go)Globalqwen-standard-api-keydashscope-intl.aliyuncs.com/compatible-mode/v1

The provider auto-selects the endpoint based on your auth choice. Canonical choices use the qwen-* family; modelstudio-* remains compatibility-only. Override with a custom baseUrl in config.

<Tip> **Manage keys:** [home.qwencloud.com/api-keys](https://home.qwencloud.com/api-keys) | **Docs:** [docs.qwencloud.com](https://docs.qwencloud.com/developer-guides/getting-started/introduction) </Tip>

Built-in catalog

OpenClaw ships this Qwen static catalog. The catalog is endpoint-aware: Coding Plan configs omit models that only work on the Standard endpoint.

Model refInputContextNotes
qwen/qwen3.5-plustext, image1,000,000Default model
qwen/qwen3.6-plustext, image1,000,000Standard endpoints only
qwen/qwen3-max-2026-01-23text262,144Qwen Max line
qwen/qwen3-coder-nexttext262,144Coding
qwen/qwen3-coder-plustext1,000,000Coding
qwen/MiniMax-M2.5text1,000,000Reasoning enabled
qwen/glm-5text202,752GLM
qwen/glm-4.7text202,752GLM
qwen/kimi-k2.5text, image262,144Moonshot AI via Alibaba
qwen-oauth/qwen3.5-plustext, image1,000,000Qwen Portal default
<Note> Availability can still vary by endpoint and billing plan even when a model is present in the static catalog. </Note>

Thinking controls

qwen/MiniMax-M2.5 is the only reasoning-enabled model in the built-in catalog. For reasoning models on the qwen family, the provider maps OpenClaw thinking levels to DashScope's top-level enable_thinking request flag: disabled thinking sends enable_thinking: false, any other level sends enable_thinking: true. Custom models can opt into an alternate chat-template thinking payload by setting compat.thinkingFormat: "qwen-chat-template" on the model entry.

Multimodal add-ons

The qwen plugin exposes multimodal capabilities on the Standard DashScope endpoints only, not the Coding Plan endpoints:

  • Image and video understanding via qwen-vl-max-latest
  • Wan video generation via wan2.6-t2v (default), wan2.6-i2v, wan2.6-r2v, wan2.6-r2v-flash, wan2.7-r2v

Media understanding is auto-resolved from the configured Qwen auth; no extra config is needed. Make sure you are on a Standard (pay-as-you-go) endpoint for media understanding to work.

To make Qwen the default video provider:

json5
{
  agents: {
    defaults: {
      videoGenerationModel: { primary: "qwen/wan2.6-t2v" },
    },
  },
}

Video-generation limits: 1 output video per request, up to 1 input image (image-to-video), up to 4 input videos (video-to-video), max 10 seconds duration. Supports size, aspectRatio, resolution, audio, and watermark. Reference image/video inputs require remote http(s) URLs; local file paths are rejected up front because the DashScope video endpoint does not accept uploaded local buffers for those references.

<Note> See [Video generation](/tools/video-generation) for shared tool parameters, provider selection, and failover behavior. </Note>

Advanced configuration

<AccordionGroup> <Accordion title="Qwen 3.6 Plus availability"> `qwen3.6-plus` is available on the Standard (pay-as-you-go) endpoints:
- China: `dashscope.aliyuncs.com/compatible-mode/v1`
- Global: `dashscope-intl.aliyuncs.com/compatible-mode/v1`

If the Coding Plan endpoints return an "unsupported model" error for
`qwen3.6-plus`, switch to Standard (pay-as-you-go) instead of the Coding Plan
endpoint/key pair.

OpenClaw's Qwen static catalog does not advertise `qwen3.6-plus` on Coding
Plan endpoints, but an explicitly configured `qwen/qwen3.6-plus` entry under
`models.providers.qwen.models` is honored on Coding Plan base URLs, so you
can opt that model in if Aliyun enables it on your subscription. The
upstream API still decides whether the call succeeds.
</Accordion> <Accordion title="Video generation region routing"> OpenClaw maps the configured Qwen region to the matching DashScope AIGC host before submitting a video job:
- Global/Intl: `https://dashscope-intl.aliyuncs.com`
- China: `https://dashscope.aliyuncs.com`

A normal `models.providers.qwen.baseUrl` pointing at either the Coding Plan
or Standard Qwen hosts still routes video generation to the matching
regional DashScope video endpoint.
</Accordion> <Accordion title="Streaming usage compatibility"> Native Qwen endpoints advertise streaming usage compatibility on the shared `openai-completions` transport, so DashScope-compatible custom provider ids targeting the same native hosts inherit the same behavior without requiring the built-in `qwen` provider id specifically. This applies to both Coding Plan and Standard endpoints:
- `https://coding.dashscope.aliyuncs.com/v1`
- `https://coding-intl.dashscope.aliyuncs.com/v1`
- `https://dashscope.aliyuncs.com/compatible-mode/v1`
- `https://dashscope-intl.aliyuncs.com/compatible-mode/v1`
</Accordion> <Accordion title="Capability plan"> The `qwen` plugin is being positioned as the vendor home for the full Qwen Cloud surface, not just coding/text models.
- **Text/chat models:** available through the plugin
- **Tool calling, structured output, thinking:** inherited from the OpenAI-compatible transport
- **Image generation:** planned at the provider-plugin layer
- **Image/video understanding:** available through the plugin on the Standard endpoint
- **Speech/audio:** planned at the provider-plugin layer
- **Memory embeddings/reranking:** planned through the embedding adapter surface
- **Video generation:** available through the plugin through the shared video-generation capability
</Accordion> <Accordion title="Environment and daemon setup"> If the Gateway runs as a daemon (launchd/systemd), make sure `QWEN_API_KEY` is available to that process (for example, in `~/.openclaw/.env` or via `env.shellEnv`). </Accordion> </AccordionGroup> <CardGroup cols={2}> <Card title="Model selection" href="/concepts/model-providers" icon="layers"> Choosing providers, model refs, and failover behavior. </Card> <Card title="Video generation" href="/tools/video-generation" icon="video"> Shared video tool parameters and provider selection. </Card> <Card title="Alibaba Model Studio" href="/providers/alibaba" icon="cloud"> Bundled Wan video generation provider on the same DashScope platform. </Card> <Card title="Troubleshooting" href="/help/troubleshooting" icon="wrench"> General troubleshooting and FAQ. </Card> </CardGroup>