图片生成
图片生成API用于根据给定的文本提示词同步生成图像。其业务逻辑为接收包含模型名称、文本提示词以及图片生成参数(如图像尺寸、随机数种子等)的请求,调用相应模型进行图片生成,并返回生成结果的URL以及相关状态和使用信息。
前提条件
- 预置服务:已在“在线推理 > 预置服务”页签开通Qwen_Image、Qwen-Image-Edit或SDXL模型的预置服务。具体操作,请参见在ModelArts Studio(MaaS)开通预置服务。
- 自定义接入点:已在“在线推理 > 自定义接入点”页签为Qwen_Image、Qwen-Image-Edit或SDXL模型创建了自定义接入点。具体操作,请参见在预置服务中创建自定义接入点。
约束限制
- 该功能仅支持“西南-贵阳一”区域。
- 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整除,否则会向下兼容。
宽高比及宽高像素值推荐如下:
- 1:1,例如2048x2048、1536x1536、1024x1024、512x512。
- 4:3,例如2304x1728。
- 3:4,例如1728x2304。
- 16:9,例如2560x1440。
- 9:16,例如1440x2560。
- 3:2,例如2496x1664。
- 2:3,例如1664x2496。
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,系统将按照传入图片的尺寸生成图片。
- 宽高比及宽高像素值推荐如下:
- 1:1,例如2048x2048、1024x1024、512x512、1328x1328。
- 4:3,例如2304x1728。
- 3:4,例如1728x2304。
- 16:9,例如2560x1440。
- 9:16,例如1440x2560。
- 3:2,例如2496x1664。
- 2:3,例如1664x2496。
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]像素。宽高比及宽高像素值推荐如下:- 1:1,例如1024x1024、1536x1536、2048x2048、3072x3072。
- 4:3,例如2304x1728。
- 3:4,例如1728x2304。
- 16:9,例如2560x1440。
- 9:16,例如1440x2560。
- 3:2,例如2496x1664。
- 2:3,例如1664x2496。
1024x1024
seed
int
否
范围内随机数
随机种子,取值范围为[0, 2147483648],不输入则在范围内随机。
333
image
string
是
无
返回格式。
- 支持图片格式:png、jpeg、jpg、webp、bmp、tiff。当用户输入两张图片的格式不一致时,系统将按照传入image中第一张图片的格式生成图片。
- 宽度和高度范围:[512,3072]像素。
- 生成图像支持分辨率:面积=宽度x高度。如果超出面积,系统会报错。
- 图像size需要满足宽高比在1:12或12:1以内,否则会报错。
- 支持输入1~2张图的Base64数据或者是1~2张图的公网URL地址。
- Base64示例:
"Base64字符串1,Base64字符串2"
- URL示例:
"URL1, URL2"
- Base64示例:
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
否
范围内随机数
随机种子,取值范围为[0, 2147483648],不输入则在范围内随机。
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版本)
此处以使用Qwen-Image-Edit(20250913版本)模型通过Python脚本和cURL命令进行图像编辑为例,展示单张图像编辑的基础用法。
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形式或公网可访问的URL传递图片。
"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 -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(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版本)
此处以使用Qwen-Image-Edit(20251028版本)模型通过Python脚本和cURL命令进行图像编辑为例,展示多张图像编辑的基础用法。
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形式或公网可访问的URL传递图片。
"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 -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
}'
多图编辑响应示例-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
此处以使用SDXL模型通过Python脚本和cURL命令生成图像为例,展示文字生成图像的基础用法。
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 -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
}'
文生图响应示例-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
}


