Skip to main content

Alibaba Cloud Model Studio (DashScope) Provider Guide

Alibaba Cloud Model Studio (DashScope) is a Tier-2 catalog provider: OpenAI-wire-compatible with no behavioural quirks, so its entire integration is one JSON file (src/lib/providers/catalog/dashscope.json) rather than hand-written code. That file is the source of truth for everything on this page.

Verification status: this entry is docs-verified only, not yet live-verified. The vendor's /models endpoint needs a key (an unauthenticated GET of it returns HTTP 401), so the model ids come from the vendor's public documentation pages and the roster has not been checked against the API. No account was created and no API key was used to build it. evidence.liveMatrix is null until someone runs the live capability matrix with a real key (see Verification status below).


Key Facts​

  • Provider id: dashscope
  • Protocol: OpenAI-compatible (/chat/completions) — the vendor's first API call page says "Alibaba Cloud Model Studio supports API calls to models through OpenAI-compatible interfaces and the DashScope SDK."
  • Base URL: https://dashscope-intl.aliyuncs.com/compatible-mode/v1 — the Singapore region, International deployment scope (see Base URL)
  • Default model: qwen3.8-max
  • Models in catalog: 8, taken from the vendor's Models page, text-generation page and pricing page (retrieved 2026-09-29)
  • Streaming: supported — the vendor's Streaming output page describes Server-Sent Events, enabled by setting stream to true
  • Tool calling: model-dependent — the Function Calling column on the text-generation page reads Supported for qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.7-plus, qwen3.7-flash, deepseek-v4-pro and deepseek-v4-flash in its Recommended models table, and Unsupported for some models under Legacy models (for example qwen2.5-omni-7b). The OpenAI-compatible Chat page documents the tools parameter
  • Tools while streaming: supported — the function calling page has a Streaming output section that begins "Using streaming output lets you obtain the tool function name and input parameter information in real time"
  • Structured output: supported — the structured output page documents response_format in JSON Object and JSON Schema modes. Its JSON Object list includes kimi-k3, deepseek-v4-pro and deepseek-v4-flash; its JSON Schema list reads "Qwen3.7-Plus series, Qwen3.7-Flash series, Qwen3.7-Max series, Qwen3.8-Max series, and Qwen3.8-Flash series models."
  • Structured output + tools together: not declared (false) — no combined probe was possible without credentials
  • Embeddings: not declared
  • Thinking: false on this entry, because NeuroLink's thinkingLevel option has not been exercised against it (no credentials were used). The text-generation page lists Thinking mode as Supported for the ids in its Recommended models table, and the OpenAI-compatible Chat page documents the enable_thinking and reasoning_effort parameters
  • Billing: free-tier — the vendor's free quota page says "the platform automatically grants you a free quota for various models" on first activation of Model Studio (Singapore region)
  • Key format: none declared. The vendor's error-code page says "Alibaba Cloud Model Studio API Keys start with sk-", and NeuroLink does not validate it

Quick Start​

1. Get an API key​

  1. Visit: https://account.alibabacloud.com/register/intl_register.htm and create an Alibaba Cloud account (linked from https://www.alibabacloud.com/help/en/model-studio/first-api-call-to-qwen)
  2. Complete your account information, then open https://modelstudio.console.alibabacloud.com/ap-southeast-1 and agree to the service agreement to activate Model Studio (Singapore region); https://www.alibabacloud.com/help/en/model-studio/new-free-quota says the system then grants a free quota automatically
  3. Create an API key at https://modelstudio.console.alibabacloud.com/ap-southeast-1/settings/api-key with the region set to Singapore; https://www.alibabacloud.com/help/en/model-studio/get-api-key states that each region has its own endpoint, API keys, and model list, and that they cannot be used across regions. Copy the key when it is shown
  4. Free quota, per https://www.alibabacloud.com/help/en/model-studio/new-free-quota: valid for 90 days, typically 1,000,000 tokens for each model, and "After the free quota is exhausted, you are automatically billed on a pay-as-you-go basis."
  5. Set DASHSCOPE_API_KEY in your .env file (the vendor's examples use the same variable name)

2. Configure​

export DASHSCOPE_API_KEY=your-api-key
export DASHSCOPE_MODEL=qwen3.8-max # optional — overrides the default model
export DASHSCOPE_BASE_URL=https://dashscope-intl.aliyuncs.com/compatible-mode/v1 # optional — for example the workspace-dedicated domain

3. Use it​

import { NeuroLink } from "@juspay/neurolink";

const neurolink = new NeuroLink();

const result = await neurolink.generate({
input: { text: "Explain context windows in one paragraph." },
provider: "dashscope",
model: "qwen3.8-max",
});

console.log(result.content);
# CLI
npx @juspay/neurolink generate "Hello" --provider dashscope

Per-request credentials are passed the same way as for the other catalog providers:

await neurolink.generate({
input: { text: "Hello" },
provider: "dashscope",
credentials: { dashscope: { apiKey: process.env.DASHSCOPE_API_KEY } },
});

Base URL​

The catalog uses https://dashscope-intl.aliyuncs.com/compatible-mode/v1. The vendor's regions page lists dashscope-intl.aliyuncs.com as the Singapore DashScope domain, labelled "existing domain", and says the China (Beijing) and Singapore regions each support one service deployment scope, Chinese mainland and International respectively. The OpenAI-compatible Chat page says "The existing domain remains fully functional."

The regions page also documents a workspace-dedicated domain, https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1, labelled "(recommended)" in its endpoint comparison. To use it, set DASHSCOPE_BASE_URL to that URL with your workspace id. The same page states: "The DashScope domain (dashscope.aliyuncs.com) will no longer support new features after September 30, 2026."


Models​

ModelContextVision$/M in · outNotes
qwen3.8-max ⭐1Myes$2 / $6NeuroLink default. The model in the vendor's OpenAI-compatible examples; the text-generation page says "For the strongest reasoning, choose qwen3.8-max." Thinking mode, Function Calling, Built-in tools and Structured output Supported.
qwen3.8-flash1Myes$0.15 / $0.47Fallback. Thinking mode, Function Calling, Built-in tools and Structured output Supported.
qwen3.7-plus1Myes—Fallback. The text-generation page says "We recommend qwen3.7-plus for balanced performance and cost, with full tool calling and a 1M-token context window for large codebases."
qwen3.8-max-09021Myes$2 / $6Fallback. Thinking mode, Function Calling, Built-in tools and Structured output Supported.
qwen3.7-flash1Myes—Fallback. Thinking mode, Function Calling, Built-in tools and Structured output Supported.
deepseek-v4-pro1Mno$2.40 / $4.80Fallback. Thinking mode, Function Calling and Structured output Supported; Built-in tools Unsupported.
deepseek-v4-flash1Mno (placeholder)$0.20 / $0.40Fallback. Thinking mode, Function Calling and Structured output Supported; Built-in tools Unsupported.
kimi-k3—yes$3 / $15Fallback. Named under Text generation and under Image & video, Understanding on the Models page.

Where the sources are:

  • Context, thinking mode, function calling, built-in tools, structured output: the Recommended models table on the text-generation page. The 1M label is recorded as 1,000,000, since the pricing page states "K means 1,000 and M means 1,000,000". kimi-k3 has no context figure in the catalog.
  • Prices: the pricing page, Singapore tab, International deployment scope, per 1 million tokens, where the page gives one input price and one output price for the model. qwen3.7-plus and qwen3.7-flash are left to the pricing page itself.
  • Vision: yes on the ids the vendor's vision page names in its image-quantity limits ("Qwen3.8-Max, Qwen3.8-Flash, Qwen3.7-Plus series: Up to 2,048 images" and "Qwen3.7-Flash, Qwen3.6-Plus, Qwen3.6-Flash, Qwen3.5-Plus, Qwen3.5-Flash, Qwen3-VL, Qwen-VL, QVQ series: Up to 256 images"), on qwen3.8-max-0902, which the Visual understanding page (vision-model) names in its Video support list ("Up to 2 hours / 2 GB") and whose Recommended models row lists Max images 2048 and Max videos 64, and on kimi-k3, which the Models page lists under Image & video, Understanding. deepseek-v4-pro carries false: the error-code page refers to "plain-text models like qwen3-max, qwen-plus, or deepseek-v4-pro". The schema requires a boolean, and deepseek-v4-flash carries false as a placeholder.

models.defaultContextWindow (128,000) and models.defaultMaxOutputTokens (8,192) are conservative placeholders; the vendor does not publish a general default. They apply wherever the catalog sets no value, which includes model ids outside the catalog, the context window of kimi-k3 and the max output tokens of each catalog id.

Fallback order when the default is unavailable: qwen3.8-flash → qwen3.7-plus → qwen3.8-max-0902 → qwen3.7-flash → deepseek-v4-pro → deepseek-v4-flash → kimi-k3.


Verification status​

Tier-2 onboarding requires evidence before a provider is accepted, and pnpm run verify:provider-onboarding gates it in CI. This is what the catalog currently records for Alibaba Cloud Model Studio (DashScope) — docs-verified only, not live-verified:

ProbeResult
Rosterunauthenticated GET /compatible-mode/v1/models, HTTP 401 without a key, 2026-09-29. Model ids are taken from the vendor's text-generation and Models pages (retrieved 2026-09-29); the roster is not verified
Auth-failure shapethe same GET returned a JSON body with error.message "You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY).", error.type "invalid_request_error", error.param null, error.code null and a top-level request_id; errorRules carries a status 401 rule
Endpoint checkan unauthenticated GET of /compatible-mode/v1/chat/completions answered HTTP 400 with code "InvalidParameter" and message "Request method 'GET' is not supported."; that message is also listed on the vendor's error-code page
Billingthe free quota page says "the platform automatically grants you a free quota for various models" on first activation (Singapore region), valid for 90 days, and "After the free quota is exhausted, you are automatically billed on a pay-as-you-go basis." — 2026-09-29
Other error rulesFreeTierOnly (HTTP 403) and Arrearage (HTTP 400) rules follow the vendor's error-code page; neither was triggered
Tools / structured outputdocumented on the function calling and structured output pages; neither was exercised live, and no combined tools+schema request was sent — structuredOutputWithTools stays false
Live capability sweepnot run. evidence.liveMatrix is null. Before treating this provider as production-ready, run npx tsx test/continuous-test-suite-provider-matrix.ts --provider=dashscope with a real key and record the result.

Do not treat this entry as equivalent to a live-verified Tier-2 provider (e.g. FriendliAI, Novita AI) until that live matrix has been run and evidence.liveMatrix is filled in.


Troubleshooting​

The rows below restate what the vendor's error-code page gives for the named error.

SymptomCause the vendor listsFix the vendor lists
HTTP 401 invalid_api_keyAmong the causes: the API key and the base URL belong to different regionsUse an API key from the Singapore region page together with the Singapore base URL
HTTP 403 AllocationQuota.FreeTierOnly"Cause 2": the free quota exhaustion stop was enabled and requests were made after the free quota ran outDisable the free quota exhaustion stop switch to continue on a paid basis
HTTP 400 ArrearageThe Alibaba Cloud account associated with the API key has an overdue paymentCheck Expenses and Costs on the vendor's billing console and recharge
HTTP 404 model_not_foundThe model does not exist, or Model Studio has not been activatedCompare the model value with the Models page; activate model services in the Model Marketplace
HTTP 429 ThrottlingAPI calls triggered rate limiting"Reduce call frequency or retry later."

See also​