文生图包含通义千问Qwen-Image模型和通义万相系列模型。只需输入文本描述,即可创造出高质量、多样化风格的图像。
快速入口:通义千问Qwen-Image在线体验 | 通义万相官网在线体验 | |
API文档:通义千问Qwen-Image API参考 | 通义万相文生图V2版API参考 |
模型概览
模型效果
通义千问Qwen-Image
复杂文字 | 超长段落 | 复杂布局 |
电商海报 | 插画设计 | 写实摄影 |
通义万相
场景一:文字生成与创意设计 prompt = "生成一张新年祝福贺卡,背景有白雪,放鞭炮的小孩,蛇形成文案2025,并写上HAPPY NEW YEAR。" 效果对比:2.2模型的文字生成能力更强,适合创意设计场景。 | ||
文生图2.2(wan2.2-t2i-plus) | 文生图2.1(wanx2.1-t2i-turbo) | 文生图2.0(wanx2.0-t2i-turbo) |
场景二:语义理解与细节表现 prompt = "一个用针毡制作的圣诞老人手持礼物,旁边站着一只白色的猫咪,背景中有许多五颜六色的礼物。整个场景应该是可爱、温暖和舒适的,并且背景中还有一些绿色植物。" 效果对比:2.2和2.1模型的语义理解更加准确(如手持礼物),2.2模型画面细节更丰富(如礼物纹理)。 | ||
文生图2.2(wan2.2-t2i-plus) | 文生图2.1(wanx2.1-t2i-turbo) | 文生图2.0(wanx2.0-t2i-turbo) |
场景三:人像创作 prompt = "中国女孩,圆脸,看着镜头,优雅的民族服装,商业摄影,室外,电影级光照,半身特写,精致的淡妆,锐利的边缘。 " 效果对比:2.2生图更稳定,2.0在质感人像上同样出色。 | ||
文生图2.2(wan2.2-t2i-plus) | 文生图2.1(wanx2.1-t2i-turbo) | 文生图2.0(wanx2.0-t2i-turbo) |
模型选型
模型系列 | 模型名称 | 核心优势 |
通义千问 | qwen-image | 复杂文本渲染能力。支持中英文及多行文字生成,擅长图文混合设计。 |
通义万相 | wan2.2-t2i-plus | 万相2.2专业版。更强指令遵循,更美画面结构,简短文字生成。 |
wan2.2-t2i-flash | 万相2.2极速版。更强指令遵循,更美画面结构,速度快。 | |
wanx2.1-t2i-plus | 万相2.1专业版。专业画质,支持复杂构图。 | |
wanx2.1-t2i-turbo | 万相2.1极速版。稳定的指令理解,速度快。 | |
wanx2.0-t2i-turbo | 万相2.0极速版。擅长人像艺术摄影。 | |
wanx-v1 | 早期文生图模型。建议切换到最新模型,本文不做讲解。 |
功能对比 | 通义千问Qwen-Image模型 | 通义万相文生图 V2版模型 |
综合图像质量 | 擅长复杂文本渲染,同时支持通用图像生成 | 通用模型,写实质感全面提升,指令遵循能力强 |
Prompt智能优化 | 支持 | 支持 |
水印 | 支持 | 支持 |
输出图像的分辨率 | 固定尺寸,支持常用5种图像宽高比 | 任意尺寸(宽高均在 [768, 1440] 像素范围内) |
输出图像的张数 | 1张 | 1~4,默认4张 |
快速开始
前提条件
在调用前,您需要开通模型服务并获取API Key,再配置API Key到环境变量。
然后安装DashScope SDK。目前,该SDK已支持Python和Java。
示例代码
通义千问Qwen-Image和通义万相的 API 兼容。以下代码以 qwen-image 为例。
如需切换为通义万相,只需 model
参数修改为 "wan2.2-t2i-flash
"。
Python
请求示例
from http import HTTPStatus
from urllib.parse import urlparse, unquote
from pathlib import PurePosixPath
import requests
from dashscope import ImageSynthesis
import os
prompt = "一副典雅庄重的对联悬挂于厅堂之中,房间是个安静古典的中式布置,桌子上放着一些青花瓷,对联上左书“义本生知人机同道善思新”,右书“通云赋智乾坤启数高志远”, 横批“智启通义”,字体飘逸,中间挂在一着一副中国风的画作,内容是岳阳楼。"
# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx"
api_key = os.getenv("DASHSCOPE_API_KEY")
print('----同步调用,请等待任务执行----')
rsp = ImageSynthesis.call(api_key=api_key,
model="qwen-image",
prompt=prompt,
n=1,
size='1328*1328')
print('response: %s' % rsp)
if rsp.status_code == HTTPStatus.OK:
# 在当前目录下保存图片
for result in rsp.output.results:
file_name = PurePosixPath(unquote(urlparse(result.url).path)).parts[-1]
with open('./%s' % file_name, 'wb+') as f:
f.write(requests.get(result.url).content)
else:
print('同步调用失败, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
响应示例
url 有效期24小时,请及时下载图像。
{
"task_id": "8c4ceaa9-ec7b-4761-9e77-xxxxxx",
"task_status": "SUCCEEDED",
"results": [
{
"url": "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxxxxx",
"orig_prompt": "一副典雅庄重的对联悬挂于厅堂之中,房间是个安静古典的中式布置,桌子上放着一些青花瓷,对联上左书“义本生知人机同道善思新”,右书“通云赋智乾坤启数高志远”, 横批“智启通义”,字体飘逸,中间挂在一着一副中国风的画作,内容是岳阳楼。",
"actual_prompt": "典雅庄重的中式厅堂内,布置古朴宁静,整体空间充满传统东方美学的韵味。画面中央,一副对联悬挂于厅堂正中墙面,左侧书写“义本生知人机同道善思新”,右侧书写“通云赋智乾坤启数高志远”,横批为“智启通义”,字体采用飘逸洒脱的书法风格,墨色浓淡有致,展现出浓厚的文化气息与艺术美感。\n\n对联中间悬挂着一幅中国风画作,内容为岳阳楼,楼阁飞檐翘角,依水而建,远处云雾缭绕,山水相映,意境深远,体现出浓厚的古典诗意与江南园林的静谧之美。墙面为淡色木质结构,带有传统雕花窗棂,营造出沉稳内敛的氛围。\n\n对联下方为一张古色木桌,桌面平整,摆放着几件青花瓷器,造型典雅,花纹细腻,蓝白相间,釉色温润。瓷器中有一只花瓶,插着几枝干枯的梅花,增添了几分书斋的雅趣。整体空间布局对称而富有层次,光线柔和自然,营造出一种宁静、肃穆又不失文化韵味的氛围。\n\n画面风格为中国古典水墨淡彩风,线条流畅,色彩柔和,细节丰富,充分体现出中式厅堂的文化内涵与审美格调。"
}
],
"submit_time": "2025-08-13 20:30:25.185",
"scheduled_time": "2025-08-13 20:30:26.236",
"end_time": "2025-08-13 20:30:50.971"
}
Java
请求示例
// Copyright (c) Alibaba, Inc. and its affiliates.
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesis;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisListResult;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisParam;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.task.AsyncTaskListParam;
import com.alibaba.dashscope.utils.JsonUtils;
public class Text2Image {
// 若没有配置环境变量,请用百炼API Key将下行替换为:apiKey="sk-xxx"
static String apiKey = System.getenv("DASHSCOPE_API_KEY");
public static void basicCall() throws ApiException, NoApiKeyException {
String prompt = "一副典雅庄重的对联悬挂于厅堂之中,房间是个安静古典的中式布置,桌子上放着一些青花瓷,对联上左书“义本生知人机同道善思新”,右书“通云赋智乾坤启数高志远”, 横批“智启通义”,字体飘逸,中间挂在一着一副中国风的画作,内容是岳阳楼。";
ImageSynthesisParam param =
ImageSynthesisParam.builder()
.apiKey(apiKey)
.model("qwen-image")
.prompt(prompt)
.n(1)
.size("1328*1328")
.build();
ImageSynthesis imageSynthesis = new ImageSynthesis();
ImageSynthesisResult result = null;
try {
System.out.println("---同步调用,请等待任务执行----");
result = imageSynthesis.call(param);
} catch (ApiException | NoApiKeyException e){
throw new RuntimeException(e.getMessage());
}
System.out.println(JsonUtils.toJson(result));
}
//获取任务列表
public static void listTask() throws ApiException, NoApiKeyException {
ImageSynthesis is = new ImageSynthesis();
AsyncTaskListParam param = AsyncTaskListParam.builder().build();
ImageSynthesisListResult result = is.list(param);
System.out.println(result);
}
//根据taskId获取任务结果
public void fetchTask() throws ApiException, NoApiKeyException {
String taskId = "your task id";
ImageSynthesis is = new ImageSynthesis();
// 如果设置了 DASHSCOPE_API_KEY 环境变量,apiKey 可以为 null
ImageSynthesisResult result = is.fetch(taskId, null);
System.out.println(result.getOutput());
System.out.println(result.getUsage());
}
public static void main(String[] args){
try{
basicCall();
//listTask();
}catch(ApiException|NoApiKeyException e){
System.out.println(e.getMessage());
}
}
}
响应示例
url 有效期24小时,请及时下载图像。
{
"request_id": "f2153409-3950-9b73-9980-xxxxxx",
"output": {
"task_id": "2fc2e1de-0245-442d-b664-xxxxxx",
"task_status": "SUCCEEDED",
"results": [
{
"orig_prompt": "一副典雅庄重的对联悬挂于厅堂之中,房间是个安静古典的中式布置,桌子上放着一些青花瓷,对联上左书“义本生知人机同道善思新”,右书“通云赋智乾坤启数高志远”, 横批“智启通义”,字体飘逸,中间挂在一着一副中国风的画作,内容是岳阳楼。",
"actual_prompt": "一副典雅庄重的对联悬挂于中式厅堂中央,对联左侧书写“义本生知人机同道善思新”,右侧书写“通云赋智乾坤启数高志远”,横批为“智启通义”,整体采用飘逸洒脱的书法字体,墨色浓淡相宜,展现出浓厚的传统韵味。对联中间悬挂一幅中国风画作,描绘的是著名的岳阳楼景观:楼阁飞檐翘角,依水而建,远处湖光潋滟,烟波浩渺,天空中有几缕轻云缭绕,营造出诗意盎然的意境。背景房间为安静古典的中式布置,木质家具线条流畅,桌上摆放着数件青花瓷器,纹饰精美,釉色莹润。整体空间光线柔和,营造出庄重、宁静的文化氛围。画面风格为传统中国水墨风,笔触细腻,层次分明,充满古典美感。",
"url": "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxxx"
}
]
},
"usage": {
"image_count": 1
}
}
curl
异步请求
HTTP 异步请求分两步:先创建任务,再获取结果。新手建议使用 Postman调用API。
步骤1:发起创建任务请求
该请求会返回一个任务ID(task_id
)。
curl -X POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis \
-H 'X-DashScope-Async: enable' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen-image",
"input": {
"prompt": "一副典雅庄重的对联悬挂于厅堂之中,房间是个安静古典的中式布置,桌子上放着一些青花瓷,对联上左书“义本生知人机同道善思新”,右书“通云赋智乾坤启数高志远”, 横批“智启通义”,字体飘逸,中间挂在一着一副中国风的画作,内容是岳阳楼。"
},
"parameters": {
"size": "1328*1328",
"n": 1,
"prompt_extend": true,
"watermark": true
}
}'
步骤2:根据任务ID查询结果
您需要将86ecf553-d340-4e21-xxxxxxxxx
替换为真实的task_id。
curl -X GET https://dashscope.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
task_id
查询有效期为24小时,过期将无法查询,接口将返回任务状态为UNKNOWN
。
关键功能
指令遵循(提示词)
参数:input.prompt 、input.negative_prompt。
正向提示词(prompt):描述希望看到的画面内容和风格。通常所说的提示词,指正向提示词。
反向提示词(negative_prompt):描述不希望看到的画面内容。
实践建议:创作的核心在于正向提示词(prompt),撰写技巧请参见文生图Prompt指南。反向提示词会影响结果,但生成过程有随机性,仅作为辅助能力。
{
"input": {
"prompt": "一只可爱的猫咪,赛博朋克风格,霓虹灯街道,电影感光照,高细节",
"negative_prompt": "多余的肢体,低分辨率,模糊"
}
}
如何生成高质量Prompt?
Prompt智能改写:设置
"prompt_extend": true
,推荐优化较短的描述。大模型生成Prompt:若需生成复杂精美的画面,推荐先用通义千问等文本大模型生成一段专业的 Prompt,再用于文生图。
提示词的内容安全审核
所有提示词(包括正向和反向)均会经过内容安全审核。若包含不当内容,请求将被拦截并报错,请确保内容合规。
内容不合规的报错信息:"code": "DataInspectionFailed", "message": "Input data may contain inappropriate content."
。
开启prompt智能改写
参数: parameters.prompt_extend (bool, 默认为 true)。
此功能可自动扩展和优化较短的Prompt,提升出图效果。例如,它将 “一只猫” 扩展为包含场景、光影和构图细节的详细描述,见下图。
开启此功能额外耗时 3-5 秒。此耗时用于大模型改写文本。如需关闭,请将参数 prompt_extend
显式设为 false
。
开启智能改写(默认开启,prompt_extend=true) | 关闭智能改写(prompt_extend=false) |
改写后的提示词:日式水彩插画,一只橘白相间的猫咪趴在窗台上晒太阳。它圆溜溜的琥珀色眼睛微微眯起,毛茸茸的爪子交叠在木质窗框上,尾巴自然垂落。窗外是盛开的樱花树和远处隐约可见的富士山轮廓。画面光线柔和温暖,水彩质感轻盈通透,构图采用经典的三分法,背景虚化突出猫咪的神态与姿态。 | 原始提示词(不改写):一只猫。 |
最佳实践:
建议开启:当输入 Prompt 简洁或宽泛时(如“未来城市”),此功能可显著提升图像效果。
建议关闭:在以下情况建议关闭此功能:
需要严格控制画面中的特定元素。
已编写详细、专业的 Prompt。
对响应速度有严格要求。
设置输出图像分辨率
参数: parameters.size (string)。size的格式为 "宽*高"
。
通义千问Qwen-Image
仅支持以下固定尺寸,可选分辨率及对应的宽高比为:
1664*928:16:9。
1472*1140:4:3。
1328*1328(默认值):1:1。
1140*1472: 3:4。
928*1664: 9:16。
通义万相V2版模型(2.0及以上版本)
支持在 [768, 1440] 像素范围内任意组合宽高,最高可达200万像素。常用分辨率及其对应的宽高比:
推荐分辨率(size) | 图像宽高比 | 说明 |
1024*1024(默认值) 或 1080*1080 或 1440*1440 | 1:1 | 正方形,社交媒体常用 |
1080*1440 或 768*1024 | 3:4 | 竖屏经典构图 |
1440*1080 或 1024*768 | 4:3 | 横屏经典构图 |
1440*810 或 1366*768 | 16:9 | 高清宽屏,视频封面 |
810*1440 或 768*1366 | 9:16 | 手机全屏/短视频竖屏 |
960*1440 | 2:3 | 类似 720p 竖版海报 |
1440*960 | 3:2 | 经典摄影比例 |
1440*1152 | 5:4 | 适用于打印/显示器 |
1152*1440 | 4:5 | 竖屏打印比例 |
计费与限流
模型名称 | 计费单价(元/张) | 限流(主账号与RAM子账号共享) | 免费额度(查看) 有效期:阿里云百炼开通后180天内 | |
任务下发接口RPS限制 | 同时处理中任务数量 | |||
qwen-image | 0.25 | 2 | 2 | 100张 |
wan2.2-t2i-flash | 0.14 | 2 | 2 | 100张 |
wan2.2-t2i-plus | 0.20 | 2 | 2 | 100张 |
wanx2.1-t2i-turbo | 0.14 | 2 | 2 | 500张 |
wanx2.1-t2i-plus | 0.20 | 2 | 2 | 500张 |
wanx2.0-t2i-turbo | 0.04 | 2 | 2 | 500张 |
wanx-v1 | 0.16 | 2 | 1 | 500张 |
计费规则
计费项:按成功生成的 图像张数 计费,采用按量后付费模式。
计费公式:费用 = 计费单价 × 图像张数。
抵扣顺序:优先消耗免费额度。额度用尽后,默认转为按量付费。
您可开启“免费额度用完即停”功能,以避免免费额度耗尽后产生额外费用。详情请参见免费额度。
失败不计费:模型调用失败或处理错误不产生任何费用,也不消耗免费额度。
免费额度
关于免费额度的领取、查询、使用方法等详情,请参见免费额度。
调用量查询
模型调用完约一小时后,请在模型观测页面,查看调用量、调用次数、成功率等指标。
限流
模型限流规则及常见问题,请参见限流。
API文档
错误码
如果模型调用失败并返回报错信息,请参见错误信息进行解决。