Qwen-Image-2.1-Turbo API 调用与价格:百炼 0.1 元/张,Python 示例
qwen-image-2.1-turbo 官方 API 在阿里云百炼,北京 0.1 元/张、每千张 100 元,Pro 贵 2.5 倍;Key 要和地域一致,链接 24 小时失效。
文章目录

Qwen-Image-2.1-Turbo 的官方托管 API 在阿里云百炼(Model Studio),模型名写 qwen-image-2.1-turbo,2026 年 10 月 9 日和 Pro 版一起上线,按输出张数计费。截至 2026 年 10 月 26 日,中国站的华北2(北京)地域是 0.1 元/张,国际站的新加坡地域是 $0.016/张;qwen-image-2.1-pro 在北京是 0.25 元/张。新用户只在一个地域有免费额度:中国站是北京,国际站是新加坡,Turbo 和 Pro 各 10 张。
所以要做的事是:先看自己的阿里云账号属于中国站还是国际站,在对应地域的百炼控制台创建 API Key,再用同一地域的域名发同步请求,从返回里取出图片地址并马上下载,因为这个链接 24 小时后失效。两种情况不该走这条路:想完全免费,魔搭上只有基础版 Qwen-Image-2.1 可以免费调用,Turbo 不在其中;想离线自己跑,Turbo 权重可以下载,但许可只允许研究和评估用途。
2026 年 10 月 26 日实际运行过的是这几项:不带 Key 和带假 Key 向百炼新加坡、北京的同步端点发送 qwen-image-2.1-turbo 请求,都返回 HTTP 401 和 InvalidApiKey;读取 OpenRouter 的公开模型接口和魔搭的模型接口;用 Python 按官方单价复算了成本表。没有生成过任何一张图片:写作时没有百炼或 OpenRouter 的 API Key,下文的请求代码按百炼 API 参考写成,没有端到端跑通,实际运行时以返回的报错为准。
选 Turbo 还是 Pro:单价差 2.5 倍,限流差 6 倍
先用 Turbo。截至 2026 年 10 月 26 日,qwen-image-2.1-turbo 在每个地域的单价都是 Pro 的五分之二,Pro 的限流也只有 Turbo 的六分之一;两者都能文生图和改图,改图都支持最多 10 张参考图。Pro 值得多花钱的情况,是你在 Turbo 上反复试过,确实需要官方说的排版、人像光照和细节上的提升;阿里没有公布两者的画质对比数据。
| 对比项 | qwen-image-2.1-turbo | qwen-image-2.1-pro |
|---|---|---|
| 中国站单价(华北2 北京) | 0.1 元/张 | 0.25 元/张 |
| 国际站单价 | 新加坡 $0.016;美国、德国、日本、中国香港 $0.014133 | 新加坡 $0.04;全球地域 $0.035333 |
| 限流 | 每分钟 120 次请求,六个地域相同 | 每分钟 20 次请求,六个地域相同 |
| 开源权重 | 有,2026 年 10 月 9 日发布 | 没有 |
| 官方定位 | Qwen-Image 系列里"综合表现与性价比最优的开源图像生成模型" | 在生成质量、推理效率和多功能性之间取平衡,改进排版、人像光照和细节 |
| 能做什么 | 文生图、改图,最多 10 张参考图,可输出透明背景 | 同 Turbo |
价格来自阿里云百炼模型价格页和百炼国际站价格页,限流来自百炼的 qwen-image-2.1-turbo 模型信息页,价格都是原价,不含限时优惠,优惠以百炼控制台当日显示为准。中国站价格页用人民币标价,新加坡是 0.113362 元/张,美国(弗吉尼亚)、德国(法兰克福)、日本(东京)、中国香港这四个全球部署地域和北京同价;国际站用美元标价。两站的币种不同,不要拿汇率自己换算后比较。放在同一张价格页上看,北京地域的 qwen-image-2.0 是 0.2 元/张、qwen-image-2.0-pro 是 0.5 元/张,2.1 的 Turbo 和 Pro 正好各是它们的一半。
Turbo 不是 Pro 的加速档位,而是基础版 Qwen-Image-2.1 的加速版权重:同一套 7B 视觉生成架构,把去噪步数从基础版默认的 40 步压到 8 步,权重已在 Hugging Face 的 Qwen-Image-2.1-Turbo 模型页公开。托管 API 上没有步数参数,调用时不用也不能设置。另外,qwen-image-2.1-turbo 是按张计费的图像模型,和百炼上按 token 计费的文本模型 qwen-turbo、Qwen3-Turbo 无关,也不是另一个图像模型 z-image-turbo,查价格时别把它们的单价混在一起。
一千张、一万张要花多少钱,多久能跑完
在北京地域,Turbo 生成一千张是 100 元,一万张 1,000 元;Pro 是 250 元和 2,500 元。如果每次请求只出一张图,Turbo 跑完一万张至少要约 83 分钟,Pro 至少要 500 分钟,因为限流按每分钟请求数算,而且整个主账号共用一份。
下表按"单价 × 张数"算出,单价取上一节的原价,2026 年 10 月 26 日用 Python 复算过。
| 模型与地域 | 每千张 | 每万张 |
|---|---|---|
| Turbo,华北2(北京) | 100 元 | 1,000 元 |
| Turbo,新加坡 | $16.00 | $160.00 |
| Turbo,美国、德国、日本、中国香港 | $14.13 | $141.33 |
| Pro,华北2(北京) | 250 元 | 2,500 元 |
| Pro,新加坡 | $40.00 | $400.00 |
| Pro,全球地域 | $35.33 | $353.33 |
耗时的算法是:Turbo 每分钟 120 次请求,一小时最多 7,200 次,一万次单图请求需要 10,000 ÷ 120 ≈ 83 分钟;Pro 每分钟 20 次,一小时 1,200 次,一万次要 500 分钟。这是限流决定的下限,单次生成本身的耗时还要另算。百炼的限流说明写明按主账号统计,名下所有 RAM 子账号、业务空间和 API Key 的调用量合并计算,超限的请求会被拒绝,通常一分钟内恢复,所以多开几个 Key 并不能提速。

参数 n 可以一次要 1 到 6 张图。限流数的是请求次数,按字面理解,n=6 时同样的限流能多出几倍的图,但费用照样按张数算;官方没有说明多图请求的生成耗时,这个上限没有经过验证。另外,被内容审核拦下的请求是否计费,价格页和 API 参考都没有写,大批量跑之前先用少量请求看账单。
官方百炼、OpenRouter、Runware 怎么选
账号能开通百炼就用官方。官方全球部署地域和 Runware 基本同价,OpenRouter 更贵,改图参考图上限也更低,而新用户免费额度只在百炼上。下表是截至 2026 年 10 月 26 日三条路线的 Turbo 报价,第三方都用美元标价。
| 路线 | Turbo 单价 | 改图参考图 | 尺寸怎么指定 |
|---|---|---|---|
| 阿里云百炼国际站 | 全球地域 $0.014133,新加坡略高 | 最多 10 张 | size 写像素,如 "1024*1024" |
| OpenRouter | 按图像 token 计价,模型页标 1K 分辨率 $0.0184/张 | 最多 4 张 | resolution 选 1K 或 2K,再加 aspect_ratio |
| Runware | $0.0141/张 | 最多 10 张 | width、height,192 到 4096 像素 |
OpenRouter 的公开模型接口里,qwen/qwen-image-2.1-turbo 只有一个提供方 Alibaba,图像输出按 token 计价,每 token $0.0000044072;每张图消耗多少 token 没有公布,模型页给出的 1K 价格是 $0.0184/张,比百炼新加坡贵 15%,比全球地域贵约 30%,2K 的单价页面上没有写。按这个价格,一千张是 $18.40。它的接口是 POST https://openrouter.ai/api/v1/images,一次同样最多 6 张,Pro 的 token 单价是 Turbo 的 2.5 倍。Runware 的 Qwen-Image-2.1-Turbo 文档把模型写成 alibaba:qwen-image@2.1-turbo,示例里 1024×1024 和 1536×1024 都是 $0.0141/张,一千张 $14.10,同样支持提示词改写和思考模式。两家都是转售阿里的模型,页面上没有说明是否另有商用授权,这两条路线都没有实际调用过。
按自己的情况选,可以这样判断。账号在中国站、用人民币付款,就直接用北京地域:第三方只有美元价,不换算汇率没法和它比,而北京还有免费额度。账号在国际站,先在新加坡用完免费额度;之后量大,可以改用美国(弗吉尼亚)等全球部署地域,单价比新加坡低约 12%,但 API Key 和域名都要换成那个地域的。只有在你已经用 OpenRouter 管理多家模型、不想再开阿里云账号时,才值得接受它的溢价和 4 张参考图上限;已经在用 Runware 的团队,换过去几乎不改变成本。要做商用产品,选托管 API,而不是下载权重自己跑,原因见后面关于许可的一节。
调用前先定地域:账号、API Key 和域名必须同一地域
百炼的模型、请求域名和 API Key 必须属于同一个地域,跨地域调用会失败。中国站账号用华北2(北京),域名是 dashscope.aliyuncs.com 或业务空间专属域名;国际站账号用新加坡,域名是 dashscope-intl.aliyuncs.com 或对应的业务空间域名。下表是 qwen-image-2.1-turbo 可用的地域,地域代码会出现在专属域名里。
| 账号与地域 | 同步请求域名 | 新用户免费额度 |
|---|---|---|
| 中国站(aliyun.com),华北2(北京) | {WorkspaceId}.cn-beijing.maas.aliyuncs.com,旧域名 dashscope.aliyuncs.com | 有 |
| 国际站(alibabacloud.com),新加坡 | {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com,旧域名 dashscope-intl.aliyuncs.com | 有 |
| 美国(弗吉尼亚)、德国(法兰克福)、日本(东京)、中国香港 | {WorkspaceId}.us-east-1.maas.aliyuncs.com,其余把地域代码换成 eu-central-1、ap-northeast-1、cn-hongkong | 无 |

准备工作按这个顺序做:
- 在账号所属的站点开通百炼。中国站打开北京地域的百炼控制台,同意服务协议后自动开通并发放免费额度,通常两小时内生效。
- 在同一地域创建 API Key,写进环境变量
DASHSCOPE_API_KEY,下文的代码只从这里读。 - 决定用哪个域名。百炼推荐业务空间专属域名,业务空间 ID 在控制台的"业务空间详情"页;旧域名官方说明仍可正常使用,下文的代码默认用北京的旧域名,换成专属域名只需改环境变量。
- 安装
requests:pip install requests。
export DASHSCOPE_API_KEY="sk-xxxx"
# 国际站账号把下一行换成 https://dashscope-intl.aliyuncs.com
export DASHSCOPE_BASE_URL="https://dashscope.aliyuncs.com"免费额度在两个站点的规则不同。中国站按百炼新人免费额度说明,有效期一般是 90 天,从开通百炼、模型发布或申请通过之日起算,以较晚者为准,具体到期时间以控制台为准;主账号和 RAM 子账号共用这份额度。中国站不实名也能领取和使用免费额度,但"免费额度用完即停"对未实名用户强制开启,额度用完返回 403,要继续调用得先实名认证再充值;实名用户默认关闭这个开关,可以自己打开,避免额度用完后直接开始扣费,开关改动要过一阵才生效,官方说关闭后约半小时恢复按量计费。国际站的免费额度只在新加坡,同样 90 天,"用完即停"默认关闭。
Python 同步调用 qwen-image-2.1-turbo:发请求、取地址、马上下载
下面的脚本用 requests 直接调 DashScope 同步接口,Key 从环境变量 DASHSCOPE_API_KEY 读取,拿到图片地址后立刻下载到本地。图片地址在 output.choices[0].message.content[0].image,是 PNG 的临时链接,按百炼 Qwen-Image 图像生成与编辑 API 参考只保留 24 小时,所以下载要放在同一个脚本里完成,不要只把链接存进数据库。
import os
import requests
API_KEY = os.environ["DASHSCOPE_API_KEY"]
BASE_URL = os.environ.get("DASHSCOPE_BASE_URL", "https://dashscope.aliyuncs.com")
URL = f"{BASE_URL}/api/v1/services/aigc/multimodal-generation/generation"
payload = {
"model": "qwen-image-2.1-turbo",
"input": {
"messages": [
{
"role": "user",
"content": [
{"text": "雨夜的老街面馆,暖黄灯光,玻璃窗上写着“深夜营业”,胶片质感"}
],
}
]
},
"parameters": {
"size": "1024*1024",
"n": 1,
"prompt_extend": True,
"watermark": False,
},
}
resp = requests.post(
URL,
headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},
json=payload,
timeout=600,
)
data = resp.json()
if resp.status_code != 200:
raise SystemExit(
f"HTTP {resp.status_code} {data.get('code')}: {data.get('message')} "
f"request_id={data.get('request_id')}"
)
# 结果链接有有效期,拿到就下载
urls = [
item["image"]
for choice in data["output"]["choices"]
for item in choice["message"]["content"]
if "image" in item
]
for i, image_url in enumerate(urls):
img = requests.get(image_url, timeout=120)
img.raise_for_status()
path = f"qwen_turbo_{i}.png"
with open(path, "wb") as f:
f.write(img.content)
print("saved", path)
print("usage:", data.get("usage"))请求体里能调的参数不多,2.1 系列和 3.0 系列还有差别。size 在 DashScope 接口里用星号写成 "1024*1024",总像素在 512×512 到 2048×2048 之间,宽高比在 1:8 到 8:1 之间,不传就由模型按提示词推荐分辨率。prompt_extend 默认开启,会先改写提示词;enable_thinking 也默认开启,只在 prompt_extend 开着时生效,官方说能提升出图质量但会更慢,赶时间可以设成 False 对比一下。watermark 默认不加水印,seed 取 0 到 2147483647,固定后结果相对稳定。negative_prompt 只有 3.0 系列支持,2.1 不要传;托管 API 也没有步数、CFG 这类参数。返回的 usage 里有 image_count、width 和 height,可以拿来对账。
改图用的是同一个接口:在 content 里先放 1 到 10 个 {"image": ...},再放正好一个 {"text": ...},图片可以是公网 URL,也可以是 data:image/png;base64,... 这样的 Base64 字符串,单张不超过 10 MB。生成需要一段时间,OpenRouter 模型页上这个模型最近一周的端到端延迟中位数约 27 秒,官方建议多图或并发时把客户端超时设到 600 秒起,上面代码的 timeout=600 就是这个原因。
如果项目已经在用 OpenAI SDK,百炼还有 OpenAI 兼容接口,base_url 写成 https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1,调用 client.images.generate。这时尺寸要写成字母 x 的 "1024x1024",prompt_extend 这类百炼扩展字段通过 extra_body 传,而且只支持同步调用。也可以用官方的 DashScope Python SDK(MultiModalConversation.call),把 dashscope.base_http_api_url 设成对应地域域名加 /api/v1;API 参考里的完整示例用的是 qwen-image-3.0-pro,换成 qwen-image-2.1-turbo 时记得去掉 negative_prompt。
批量生成改用异步:先拿 task_id,再轮询结果
一次要出很多张图,或者不想让一个连接挂着等,就改用异步接口:先提交任务拿到 task_id,再定时查询,状态变成 SUCCEEDED 后取图片地址。请求体和同步接口完全一样,区别是提交地址换成 /api/v1/services/aigc/image-generation/generation,请求头多一个 X-DashScope-Async: enable,查询用 GET /api/v1/tasks/{task_id}。
import os
import time
import requests
API_KEY = os.environ["DASHSCOPE_API_KEY"]
BASE_URL = os.environ.get("DASHSCOPE_BASE_URL", "https://dashscope.aliyuncs.com")
AUTH = {"Authorization": f"Bearer {API_KEY}"}
# payload 与上面同步示例相同
submit = requests.post(
f"{BASE_URL}/api/v1/services/aigc/image-generation/generation",
headers={**AUTH, "Content-Type": "application/json", "X-DashScope-Async": "enable"},
json=payload,
timeout=60,
)
body = submit.json()
if submit.status_code != 200:
raise SystemExit(f"submit failed: {body.get('code')}: {body.get('message')}")
task_id = body["output"]["task_id"]
while True:
r = requests.get(f"{BASE_URL}/api/v1/tasks/{task_id}", headers=AUTH, timeout=30)
out = r.json()["output"]
status = out["task_status"]
if status == "SUCCEEDED":
urls = [
item["image"]
for choice in out["choices"]
for item in choice["message"]["content"]
if "image" in item
]
print(urls) # 同样要马上下载
break
if status in ("FAILED", "CANCELED", "UNKNOWN"):
raise SystemExit(f"{status} {out.get('code')}: {out.get('message')}")
time.sleep(5) # PENDING 或 RUNNING,过几秒再查task_id 的查询有效期也是 24 小时,查询时必须用提交任务时的地域、业务空间和 API Key,换一个 Key 或域名去查会失败。轮询间隔官方没有规定,上面用的 5 秒是示例值。批量任务提交得再快,也受前面说的每分钟请求数限制,所以异步省的是连接,不会让一万张图更快跑完。
请求失败怎么查:401、403 FreeTierOnly、地域不匹配和链接过期
大多数失败在返回的 code 和 message 里就能看出原因,报错时把 request_id 一起记下,排查问题和联系阿里云支持时都要用。2026 年 10 月 26 日不带 Key 请求新加坡同步端点,1.35 秒后返回的就是下面这个 HTTP 401,带假 Key 时 message 变成 Invalid API-key provided.,北京旧域名也一样:
{"code":"InvalidApiKey","message":"No API-key provided.","request_id":"a6b1277a-de91-9f87-85b2-3d81301fc8d7"}| 现象 | 原因 | 处理 |
|---|---|---|
401,InvalidApiKey,No API-key provided. | 请求头里没有 Key,多半是环境变量没读到 | 检查 DASHSCOPE_API_KEY 和 Authorization: Bearer 请求头 |
401,InvalidApiKey,Invalid API-key provided. | Key 写错或已被删除 | 在控制台重新复制或新建 Key |
| Key 确认没错仍然失败 | Key、域名、模型不在同一地域,文档只说会失败,没有给出具体错误码 | 新加坡的 Key 配 dashscope-intl 域名,北京的 Key 配 dashscope 域名 |
403,AllocationQuota.FreeTierOnly | 免费额度用完,"免费额度用完即停"开着 | 实名用户在控制台关闭开关,约半小时后生效;未实名用户先实名认证并充值 |
current user api does not support synchronous calls | 向异步提交地址发请求,却没带 X-DashScope-Async: enable | 补上请求头,或改回同步地址 |
400,InvalidParameter | 参数不合规,例如 size 超出像素范围、改图时 prompt_extend_mode 传了 agent、text 不是正好一个 | 对照上文的参数范围修改 |
传了 negative_prompt | 2.1 系列不支持这个参数,传了会报错还是被忽略,文档没写 | 删掉,把不想出现的内容改成正面描述 |
| 一部分请求被拒绝,一分钟内又恢复 | 超过每分钟请求数,主账号下所有 Key 合并计算 | 降低并发,或用 n 一次多出几张 |
图片地址打不开,或任务查询返回 UNKNOWN | 链接或 task_id 过了有效期,或跨地域、跨业务空间查询 | 重新生成,以后拿到地址就下载 |
OpenRouter 那边的报错格式不同:同一天不带 Key 请求 https://openrouter.ai/api/v1/images,返回 401 和 No cookie auth credentials found,说明请求没带上 OpenRouter 的 Key,和百炼的 Key 不能混用。
想免费或自己部署:魔搭只有基础版,Turbo 权重限研究用途
想不花钱调用,可以去魔搭用基础版 Qwen-Image-2.1,截至 2026 年 10 月 26 日,魔搭的模型接口对 Qwen/Qwen-Image-2.1-Turbo 返回 SupportApiInference: false,Turbo 不能在那里免费调用。基础版的免费调用要绑定已实名的阿里云账号,每天大约 250 次,只能非商业使用,门槛和上限见 Qwen-Image-2.1 免费 API:魔搭门槛与每日上限;想看其他平台每天能免费生成多少张,见 2026 免费 AI 生图 API:哪里还真正免费,Cloudflare 每天约 173 张。
想离线或不开阿里云账号,可以下载 Turbo 权重本地跑,8 步的去噪设置已经存在权重里。但权重使用的是 Qwen Research License,按Qwen-Image-2.1-Turbo 的许可协议,"非商业"指仅限研究或评估,商用要另外向 Qwen 团队申请授权(许可里给的邮箱是 model-business@notice.qwencloud.com),所以不要把它当成 Apache 2.0 那样的宽松许可。要做面向用户的产品,付费的托管 API 才是官方给出的路线,生成内容的使用权利以开通百炼时同意的服务协议为准。显存够不够、选哪种权重,见 Qwen-Image-2.1 本地部署:按显存选权重与路线,那篇写于 Turbo 发布前,讲的是基础版。
Qwen-Image-2.1-Turbo API 的其他问题
千问AI平台和阿里云百炼是一回事吗?
2026 年 10 月 11 日的新闻报道说 Qwen-Image-2.1 Pro 和 Turbo API "上线千问AI平台",而阿里云的模型文档、价格页和控制台截至 2026 年 10 月 26 日仍叫"阿里云百炼"(Model Studio),qwen-image-2.1-turbo 的模型页也在百炼文档下,阿里云文档里没有改名说明。按文档找入口,搜"百炼"就能找到控制台和 API Key。
生成 2048×2048 的图比 1024×1024 贵吗?
按截至 2026 年 10 月 26 日的百炼价格页,qwen-image-2.1-turbo 和 qwen-image-2.1-pro 只有一个输出单价,没有像 qwen-image-3.0 系列那样分 1k、2k 两档,所以在允许的像素范围内,尺寸不影响单价。OpenRouter 按 token 计价,模型页上只写了 1K 的单价。
从 qwen-image-2.0 换到 qwen-image-2.1-turbo 要改什么?
按上文的请求体把 model 写成 qwen-image-2.1-turbo,请求里如果有 negative_prompt 就删掉,2.1 系列不支持这个参数。成本上要注意免费额度变少了:截至 2026 年 10 月 26 日的百炼价格页,北京地域新用户的 qwen-image-2.0 免费额度是 100 张,2.1 的 Turbo 和 Pro 各只有 10 张,用完后按 2.1 的单价计费。
参考来源9
本文引用的外部页面,按正文出现顺序排列。最后更新于 2026年10月26日。
参考来源9
本文引用的外部页面,按正文出现顺序排列。最后更新于 2026年10月26日。
- 1.阿里云百炼模型价格页help.aliyun.com/zh/model-studio/model-pricing
- 2.百炼国际站价格页alibabacloud.com/help/en/model-studio/model-pricing
- 3.百炼的 qwen-image-2.1-turbo 模型信息页help.aliyun.com/zh/model-studio/qwen-image-2-1-turbo
- 4.Hugging Face 的 Qwen-Image-2.1-Turbo 模型页huggingface.co/Qwen/Qwen-Image-2.1-Turbo
- 5.限流说明help.aliyun.com/zh/model-studio/rate-limit
- 6.Runware 的 Qwen-Image-2.1-Turbo 文档runware.ai/docs/models/alibaba-qwen-image-2-1-turbo
- 7.百炼新人免费额度说明help.aliyun.com/zh/model-studio/new-free-quota
- 8.百炼 Qwen-Image 图像生成与编辑 API 参考help.aliyun.com/zh/model-studio/qwen-image-generation-and-editing-api-reference
- 9.Qwen-Image-2.1-Turbo 的许可协议huggingface.co/Qwen/Qwen-Image-2.1-Turbo/blob/main/LICENSE





