图片生成
图片生成API用于根据给定的文本提示词同步生成图像。其业务逻辑为接收包含模型名称、文本提示词以及图片生成参数(如图像尺寸、随机数种子等)的请求,调用相应模型进行图片生成,并返回生成结果的URL以及相关状态和使用信息。
前提条件
- 预置服务:已在“在线推理 > 预置服务”页签开通Qwen_Image、Qwen-Image-Edit或SDXL模型的商用服务。具体操作,请参见在ModelArts Studio(MaaS)预置服务中开通商用服务。
- 自定义接入点:已在“在线推理 > 自定义接入点”页签为Qwen_Image、Qwen-Image-Edit或SDXL模型创建了自定义接入点。具体操作,请参见在ModelArts Studio(MaaS)中创建自定义接入点。
约束限制
- 该功能仅支持“西南-贵阳一”区域。
- Qwen-Image-Edit模型的图片限制如下:
- 20251028版本:上传的图片文件总大小≤20MB。
- 20250913版本:上传的单个图片文件大小≤15MB。
接口信息
|
名称 |
说明 |
取值 |
|---|---|---|
|
API地址 |
调用图片生成的API地址。 |
https://api.modelarts-maas.com/v1/images/generations |
|
model参数 |
model参数调用名称。 |
您可以任选以下方式获取model参数值。
|
支持模型列表
|
模型 |
支持地域 |
应用场景 |
|---|---|---|
|
Qwen_Image |
西南-贵阳一 |
文字生成图像 |
|
Qwen-Image-Edit |
西南-贵阳一 |
文生图、图像编辑 |
|
SDXL |
西南-贵阳一 |
文字生成图像 |
请求参数说明
- Qwen-Image模型
表3 请求body参数(body体需要≤8MB) 参数名称
参数类型
是否必填
默认值
说明
示例值
model
string
是
无
模型名称。如何获取model值,请参见接口信息。
qwen-image
prompt
string
是
无
文本提示词,用于引导模型生成图像,支持中英文。长度支持800 tokens以下(每个单词和标点都算一个token)。
如果长度超过800,会自动截断为800 tokens,超过2000 tokens则会报错。
A running cat
size
string
是
无
生成图像尺寸,宽度和高度范围为[512x512, 2048x2048]像素,宽度和高度需要被8整除,否则会向下兼容。
推荐值:2048x2048、1536x1536、1024x1024、512x512。
1024x1024
response_format
string
否
b64_json
返回格式,可取值为[url, b64_json],目前仅支持b64_json。
b64_json
seed
int
否
范围内随机数
随机种子,取值范围为[0, 2147483648],您可以按需配置,不配置则在范围内随机。
333
watermark
bool
否
false
是否对图片进行水印处理。
- true:对图片进行水印处理。
- false:对图片不进行水印处理。
true
- Qwen-Image-Edit模型(20250913版本)
表4 请求body参数(body体需要≤20MB) 参数名称
参数类型
是否必填
默认值
说明
示例值
model
string
是
无
模型名称。如何获取model值,请参见接口信息。
qwen_image_edit
prompt
string
是
无
文本提示词,用于引导模型生成图像,支持中英文。长度支持800 tokens以下(每个单词和标点都算一个token)。如果长度超过800,会自动截断为800 tokens,超过2000 tokens则会报错。
A running cat
size
string
否
无
生成图像的尺寸,宽度和高度范围为[512,2048]像素。
- 如果用户填写size,系统将按照size生成图片;如果用户不填写size,系统将按照传入图片的尺寸生成图片。
- 推荐尺寸:2048x2048、1024x1024、512x512、1328x1328、1472x1104、1584x1056、1664x936、2016x864。
1024x1024
seed
int
否
范围内随机数
随机种子,取值范围为[0, 2147483648],不输入则在范围内随机。
333
image
string
是
无
返回格式。
base64
watermark
bool
否
false
是否对图片进行水印处理。
- true:对图片进行水印处理。
- false:对图片不进行水印处理。
true
- Qwen-Image-Edit模型(20251028版本)
表5 请求body参数(body体需要≤30MB) 参数名称
参数类型
是否必填
默认值
说明
示例值
model
string
是
无
模型名称。如何获取model值,请参见接口信息。
qwen-image-edit-2509
prompt
string
是
无
文本提示词,用于引导模型修改图像。长度支持800 tokens以内(每个单词和标点都算一个token)。如果长度超过800,会自动截断为800 tokens,超过2000 tokens则会报错。
将图1中背景颜色修改为图2湖面颜色
size
string
否
无
生成图像的尺寸,宽度和高度范围为[512,3072]像素。推荐尺寸:1024x1024、1536x1536、2048x2048、3072x3072。
1024x1024
seed
int
否
范围内随机数
随机种子,取值范围为[0, 2147483648],不输入则在范围内随机。
333
image
string
是
无
返回格式。
base64
watermark
bool
否
false
是否对图片进行水印处理。
- true:对图片进行水印处理。
- false:对图片不进行水印处理。
true
- SDXL模型
表6 请求body参数(body体需要小于8M) 参数名称
参数类型
是否必填
默认值
说明
示例值
model
string
是
无
模型名称,具体请参见支持模型列表的“model参数值”列。
stable-diffusion-xl
prompt
string
是
无
文本提示词,用于引导模型生成图像,长度支持75 tokens以下(每个单词和标点都算一个token)。SDXL模型当前仅支持英文。
A cartoon-style cat that is skiing.
size
string
是
无
生成图像尺寸。用户可以自定义图像的尺寸,但是MaaS平台会对图像输出的尺寸进行调整,即用户输入的任意尺寸(如宽/高)会被除以8后向下取整,再乘以8得到最终输出的尺寸。
SDXL模型需要介于[512x512, 1024x1024]之间。推荐值如下:- 1024x1024
- 768x1024
- 1024x768
- 768x768
- 768x512
- 512x768
- 512x512
1024x1024
guidance_scale
float
否
2.5
生成自由度控制(数值越高越严格),取值范围为[1, 10],保留一位小数。
2.5
response_format
string
否
b64_json
返回格式,可取值为[url, b64_json],目前仅支持b64_json。
b64_json
seed
int
否
1
随机种子,取值范围为[0, 2147483648],默认值为1。
333
watermark
bool
否
无
是否对图片进行水印处理。
- true:对图片进行水印处理。
- false:对图片不进行水印处理。
true
响应参数说明
状态码:200
|
参数 |
参数类型 |
说明 |
|---|---|---|
|
model |
string |
本次请求使用的模型。 |
|
created |
int |
任务创建时间的Unix时间戳(毫秒)。 |
|
data |
list[dict] |
图片数据列表,图片格式与输入图片保持一致,数据格式: [{"url": null, "b64_json": "Base64字符串"}] |
|
error |
error结构 |
文生图为同步接口,当前error结构体暂时弃用。 |
|
usage |
usage结构 |
结构内容为json结构体,KV值可自定义,例如: {
"model_latency ":6000,
"prompt_tokens": 0,
"completion_tokens": 0,
"total_tokens": 0,
"width": 1024,
"height": 1024
} |
Qwen-Image-Edit(20250913版本)请求示例
- Python示例:
import requests import json import base64 # Base64 编码格式 def encode_image(image_path): with open(image_path, "rb") as image_file: return base64.b64encode(image_file.read()).decode("utf-8") base64_image = encode_image("test.jpg") if __name__ == '__main__': url = "https://api.modelarts-maas.com/v1/images/generations" # API地址 api_key = "MAAS_API_KEY" # 把MAAS_API_KEY替换成已获取的API Key # Send request. headers = { 'Content-Type': 'application/json', 'Authorization': f'Bearer {api_key}' } data = { "model": "qwen_image_edit", # model参数 "prompt": "将湖面颜色修改为蓝色", # 支持中英文 "size": "1024x1024", # 生成图像尺寸qwen_image_edit要求介于[512x512,2048x2048]。 # 推荐:2048x2048,1536x1536,1024x1024, 512x512,其中height和width需要被16整除,否则会向下兼容。 "image": f"data:image/jpg;base64,{base64_image}", # 支持图片格式 ["png", "jpeg", "jpg", "webp", "bmp", "tiff"],支持base64形式传递图片。 "seed": 44 # 取值范围在[0, 2147483648], 随机种子 } response = requests.post(url, headers=headers, data=json.dumps(data), verify=False) # Print result. print(response.status_code) print(response.text) - cURL示例:
curl -X POST https://api.modelarts-maas.com/v1/images/generations \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $MAAS_API_KEY" \ -d '{ "model": "qwen_image_edit", "prompt": "将湖面颜色修改为蓝色", "size": "1024x1024", "image": "data:image/jpg;base64,$BASE64_IMAGE", "seed": 44 }'
Qwen-Image-Edit(20251028版本)请求示例
- Python示例:
import requests import json import base64 # Base64 编码格式 def encode_image(image_path): with open(image_path, "rb") as image_file: return base64.b64encode(image_file.read()).decode("utf-8") base64_image1 = encode_image("test1.jpg") base64_image2 = encode_image("test2.jpg") if __name__ == '__main__': url = "https://api.modelarts-maas.com/v1/images/generations" # API地址 api_key = "MAAS_API_KEY" # 把MAAS_API_KEY替换成已获取的API Key # Send request. headers = { 'Content-Type': 'application/json', 'Authorization': f'Bearer {api_key}' } data = { "model": "qwen-image-edit-2509", # model参数 "prompt": "将图1中背景颜色修改为图2湖面颜色", # 支持中英文 "size": "1024x1024", # [非必填]生成图像的宽度和高度范围为[512, 3072]像素,不填会根据传入的image尺寸生成。 # 推荐尺寸[1024x1024,1536x1536,2048x2048,3072x3072] "image": f"data:image/jpg;base64,{base64_image1},data:image/jpg;base64,{base64_image2}", # 支持图片格式["png", "jpeg", "jpg", "webp", "bmp", "tiff"],支持base64形式传递图片。 "seed": 44 # 取值范围在[0, 2147483648], 随机种子 } response = requests.post(url, headers=headers, data=json.dumps(data), verify=False) # Print result. print(response.status_code) print(response.text) - cURL示例:
curl -X POST https://api.modelarts-maas.com/v1/images/generations \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $MAAS_API_KEY" \ -d '{ "model": "qwen-image-edit-2509", "prompt": "将图1中背景颜色修改为图2湖面颜色", "size": "1024x1024", "image": "data:image/jpg;base64,$BASE64_IMAGE1,data:image/jpg;base64,$BASE64_IMAGE2", "seed": 44 }'
SDXL请求示例
- Python示例:
import requests import json if __name__ == '__main__': url = "https://api.modelarts-maas.com/v1/images/generations" # API地址 api_key = "MAAS_API_KEY" # 把MAAS_API_KEY替换成已获取的API Key # Send request. headers = { 'Content-Type': 'application/json', 'Authorization': f'Bearer {api_key}' } data = { "model": "stable-diffusion-xl", # model参数 "prompt": "A running cat.", # SDXL模型当前仅支持英文 "size": "1024x1024", "response_format": "b64_json", # 返回格式,可取值为[url, b64_json], 暂仅支持 b64_json "seed": 1 # 取值范围在[0, 2147483648], 随机种子,默认1 } response = requests.post(url, headers=headers, data=json.dumps(data), verify=False) # Print result. print(response.status_code) print(response.text) - cURL示例:
curl -X POST "https://api.modelarts-maas.com/v1/images/generations" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $MAAS_API_KEY" \ -d '{ "model": "stable-diffusion-xl", "prompt": "A running cat.", "size": "1024x1024", "response_format": "b64_json", "seed": 1 }'
Qwen-Image-Edit(20250913版本)响应示例
{
"model": "qwen_image_edit",
"created": 1757948064800,
"data":
[
{
"url": null,
"b64_json": "data:image/jpg;base64,/9j/4AAQSkZJ....JtSWh//2Q=="
}
],
"usage":
{
"model_latency": 17509,
"prompt_tokens": 0,
"completion_tokens": 0,
"total_tokens": 0
},
"error": null
}
Qwen-Image-Edit(20251028版本)响应示例
{
"model": "qwen-image-edit-2509",
"created": 1762134592684,
"data": [
{
"url": null,
"b64_json": "data:image/jpg;base64,/9j/4AAQSkZ....lFxdpI//2Q=="
}
],
"usage": {
"model_latency": 39800,
"prompt_tokens": 0,
"completion_tokens": 0,
"total_tokens": 0,
"width": 3072,
"height": 3072
},
"error": null
}
SDXL响应示例
{
"model": "stable-diffusion-xl",
"created": 1753704897984,
"data": [
{
"url": null,
"b64_json": "data:image/png;base64,xxxx"
}
],
"usage": {
"model_latency": 2324,
"prompt_tokens": 0,
"completion_tokens": 0,
"total_tokens": 0
},
"error": null
}


