通义万相-图像背景生成模型专为商品换背景而设计。您可以选择文本引导(通过输入中英文描述生成背景)、图像引导(使用现有图片作为背景参考),或同时结合这两种方式。此外,模型还支持使用边缘引导元素(即图像的增强边缘特征),可以指定前景和背景内容。借助边缘引导元素,前景和背景在生成时能更自然地与商品融合。该模型适合电商和海报场景,助您快速生成高质量的商品图像。
模型概览
模型效果示意
模型说明
模型名 | 免费额度 | 计费单价 | 限流(含主账号与RAM子账号) | |
任务下发接口QPS限制 | 同时处理中任务数量 | |||
wanx-background-generation-v2 | 免费额度:500张 有效期:180天 | 0.08元/张 | 2 | 1 |
前期准备
本文的示例代码使用HTTP调用。在调用前,您需要开通模型服务并获取API Key,再配置API Key到环境变量。
图像模型处理时间较长,为了避免请求超时,HTTP调用仅支持异步获取模型结果。您需要发起两个请求:
创建任务:首先发送一个请求创建任务,该请求会返回任务ID。下文的示例代码已提供创建任务代码。
根据任务ID查询结果:使用上一步获得的任务ID,查询模型生成的结果。查询接口如下所示,需要将
86ecf553-d340-4e21-xxxxxxxxx
替换为真实的任务ID。
curl -X GET https://dashscope.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
HTTP请求的详细示例请参见图像背景生成API参考。
关键能力
通义万相-图像背景生成模型提供多种背景生成方式。生成方式从简单到复杂依次排列如下:
文本引导:最简单的生成方式,通过输入中英文描述即可生成背景。
图像引导:基于引导图像生成相似背景。
noise_level
可用于调整生成背景与引导图像之间的相关性。文本+图像引导:当结合引导文本和引导图像时,可通过
ref_prompt_weight
设置引导文本的权重,调整引导文本和引导图像对生成背景的影响。文本、图像以及引入边缘引导元素(前景/背景):适合复杂且需要细节的商品背景生成场景。比如,设置商品摆放的展台为前景,模型会将展台和主体商品自然地融合。这里的前景或背景需要使用边缘引导算法生成。文本、图像及边缘引导元素可以自由组合成多种生成方式。下文将以 文本+图像+边缘引导元素(前景/背景)为例,展示边缘引导元素对图像背景生成的影响。
使用建议:优先体验文本引导或图像引导,再使用文本与图像结合的引导方式。若商品背景要求高且场景复杂,可以考虑选择包含边缘引导元素的生成方式。
文本引导
最简单的生成方式,推荐优先尝试。通过输入中英文描述,即可为主体图像生成背景。
字数限制:英文最多支持150个单词,中文大概是100到120个中文字符,超过部分会被自动忽略。
图像引导
基于引导图像为主体商品生成相似背景。模型能够将主体图像自然地融合至基于引导图像生成的背景中。
设置nosie_level字段
通过noise_level
调整生成的背景与引导图像之间的相关性。noise_level字段的取值范围为[0,999],默认值为300。
数值越小:表示生成背景与引导图像的相关性越高。
数值越大:表示生成背景与引导图像的相关性越低。
文本+图像引导
您还可以结合引导文本和引导图像生成主体商品的背景。
设置ref_prompt_weight字段
当同时设置引导文本和引导图像时,可通过ref_prompt_weight
设置引导文本的权重,调整引导文本和引导图像对生成背景的影响程度。ref_prompt_weight字段的取值范围为[0,1],默认值为0.5。
ref_prompt_weight < 0.5:表示引导图像对生成背景的影响更大。
ref_prompt_weight = 0.5:表示引导文本和引导图像权重各为0.5,对于生成背景的影响程度一样。
ref_prompt_weight > 0.5:表示引导文本对生成背景的影响更大。
文本+图像+边缘引导元素(前景/背景)
结合引导文本、引导图像,以及边缘引导元素图像(前景或背景),适用于复杂且需要细节的商品背景生成场景。对于边缘引导元素图像,前景图像会对主体商品产生遮挡,而背景图像的图层则位于主体商品之后。需要注意的是,前景和背景图像需通过边缘引导算法生成。
为什么前景和背景需要使用边缘引导算法生成?
图像背景任务通常采用边缘引导算法,因其能够有效保留图像中的边缘和结构信息,同时增强细节表现,提高生成结果的自然性和真实感。
怎么添加前景/背景元素?
使用边缘引导元素生成方法生成前景或背景元素图像。
可以设置每个前景或背景元素图像的prompt,也可以不设置,用空字符串占位。
前景和背景元素列表顺序对应生成背景的图层顺序均为从底至上。
下图中的“桃花”、“可爱小狗”为前景元素的prompt,“树叶”为背景元素的prompt。其中,前景元素列表顺序为桃花、可爱小狗,对应生成背景的图层顺序为:桃花图层位于主体商品之前,可爱小狗图层位于桃花图层之前。背景元素为树叶,对应生成背景的图层为:树叶图层位于主体商品之后。
使用须知
输入图像限制
主体图像限制
主体图像必须为带透明背景的RGBA四通道图像,即主体为彩色且背景为透明的图像。输出图像的分辨率与该图像保持一致。
主体图像请不要使用半透明图像,这可能导致模型混淆。
主体图像不要带有文字,如大段文字、表格文字、图片混合文字等。
正确示例 (带透明背景RGBA图像) | 错误示例 | |
半透明图像 | 主体图像有文字 | |
引导图像限制
引导图像可以是 RGB 图像或带透明背景的 RGBA 图像。对于RGBA图像,Alpha通道值为0的区域不参与引导过程的生成。
前景或背景元素图像限制
每个前景或背景图像必须为带透明背景的RGBA四通道图像,分辨率和主体图像相同,如果不同则会自动缩放到和主体图像相同的分辨率。
前景或背景元素图像的生成方式请参见边缘引导元素生成方法。
如何查看并获取RGBA图像
检查图片格式。常见的RGBA格式包括png、webp等,而jpg,jpeg格式不是RGBA图像格式。
检查图片是否为RGBA图像。常用的方法有:
鼠标右键查看图像的文件属性,检查图像的通道信息。如果图像属性没有通道信息,使用图像编辑软件(如PS)进行查看。
使用Python脚本检查图片属性,代码见步骤3的
打印图像模式
。
将RGB图像转化为RGBA图像。
// 安装依赖包
pip install Pillow
from PIL import Image
# 打开图片
image_path = 'path_to_your_rgb_image.jpg' # 替换为你的文件路径
image = Image.open(image_path)
# 打印图像模式
print(image.mode) # 输出图像模式,例如 RGBA 或 RGB
# 判断图像模式是否为RGB,然后转换为RGBA
if image.mode == 'RGB':
rgba_image = image.convert('RGBA')
else:
print("图像不是RGB模式,当前模式为:", image.mode)
rgba_image = image # 如果不是RGB,则保持原图不变
# 保存或显示RGBA图片
rgba_image.save('path_to_save_rgba_image.png') # 替换为保存路径
rgba_image.show()
如何切换模型版本
图像背景生成模型为wanx-background-generation-v2
,如果需要切换模型版本,请设置parameters.model_version
参数。
v2:旧版模型,速度快,默认值。
v3:为新版模型,效果更好但响应速度慢,推荐切换到最新版本v3。
curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/background-generation/generation/' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "wanx-background-generation-v2",
"input": {
"base_image_url": "https://vision-poster.oss-cn-shanghai.aliyuncs.com/lllcho.lc/data/test_data/images/main_images/new_main_img/a.png",
"ref_prompt": "山脉和晚霞"
},
"parameters": {
"model_version": "v2",
"n": 1
}
}'
相关文档
图像API文档常见问题:图像模型通用问题汇总,包含模型计费与限流、接口高频报错等。