图像局部重绘API详情
图像局部重绘
支持的领域 / 任务:aigc /布局重绘
通义万相-图像局部重绘是基于自研的Composer组合生成框架的AI绘画创作大模型后置处理链路,能够根据用户输入的原始图片和局部涂抹图、prompt提示词文字内容,生成符合语义描述的多样化风格的局部重绘图像。通过知识重组与可变维度扩散模型,加速收敛并提升最终生成图片的效果, 布局自然、细节丰富、画面细腻、结果逼真。
客户提供原始图片任意涂抹图中区域图,结合输入修改初始提示文字,在涂抹区域内生成与新提示文字匹配的内容,涂抹区域外没有变化。
输入内容&效果示意
输入图像(重绘前) | 布局涂抹图 | 提示词示例 | 输出图像(重绘后) |
原始图:客户自定义输入图片 | 涂抹图:涂抹区域的图片 | Prompt:"一只狗戴着红色眼镜" | 重绘图:一只狗戴着红色眼镜 |
应用场景
艺术创作与设计:艺术家和设计师可以利用图像局部重绘快速迭代作品,比如改变画作的背景、调整服装颜色或添加新的元素,而无需从头开始创作,极大地提升了创意工作的效率。
教育与培训:在艺术教育中,学生可以利用图像局部重绘学习不同的绘画技巧和风格,通过修改大师作品的局部来理解色彩、构图和光影的应用。
广告与营销:广告行业可以快速调整产品展示图,如改变产品颜色、背景环境、局部场景元素以适应不同市场和季节需求,提高广告创意的灵活性和针对性。
影视与游戏制作:在后期制作中,图像局部重绘技术能帮助快速修改场景细节,如调整角色服饰、道具样式,或是优化视觉特效,减少图像海报等物料制作时间和成本。
个性化礼物定制:图像局部重绘使得个性化定制变得简单快捷,比如在纪念品、T恤或杯子上添加个人照片时,可以轻松调整背景、融合风格或加入定制文字,确保最终产品既符合个人喜好又具有专业品质。
特色优势
知识重组&可变维扩散模型:基于自研的Composer组合生成框架的AI局部绘画创作大模型,通过知识重组与可变维度扩散模型,生成符合语义描述的多样化风格的图像。
效果业界领先:生成图像语义一致性更精准,AI绘画创作布局自然、细节丰富、画面细腻、结果逼真。
高语意精准可控:用户能够精确指定修改区域,确保生成的内容仅限于所选范围,保持图像其余部分不变,实现高度的可控性和精确度。
易于集成使用:用户无需具备高级图像编辑技能,只需简单提示词描述修改意图,即可通过万相系列生成大模型实现复杂图像处理,降低了技术门槛。
模型概览
模型名 | 模型简介 |
wanx-x-painting | 通义万相-图像局部重绘是基于自研的Composer组合生成框架的AI绘画创作大模型后置处理链路,能够根据用户输入的原始图片和意涂抹图中局部区域和prompt提示词文字内容,生成符合语义描述的多样化风格的局部重绘图像。通过知识重组与可变维度扩散模型,加速收敛并提升最终生成图片的效果, 布局自然、细节丰富、画面细腻、结果逼真。 |
使用限制:模型正在公测中,免费额度500张图片。并发任务数量限制为1。
输入限制
图像格式:JPG、JPEG、PNG、BMP。
图像大小:不超过10MB。
图像分辨率:大于256×256像素,小于4096x4096像素。
URL地址中不能包含中文字符。
HTTP调用接口
功能描述
本模型需要相对较长的算法调用时间,所以在接口层面采用了异步调用的方式进行任务提交,在通过任务接口提交作业之后,系统会返回对应的作业ID,随后客户可以通过对应的异步作业查询接口获取任务的状态并且在作业到达最终完成态后取回对应的作业结果。
前提条件
已开通服务并获得API-KEY:开通DashScope并创建API-KEY。
作业提交接口调用
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis
入参描述
传参方式 | 字段 | 类型 | 必选 | 描述 | 示例值 |
Header | Content-Type | String | 是 | 请求类型:application/json | application/json |
Authorization | String | 是 | API-Key,例如:Bearer d1**2a | Bearer d1**2a | |
X-DashScope-Async | String | 是 | 固定使用 enable,表明使用异步方式提交作业。 | enable | |
Body | model | String | 是 | 指明需要调用的模型,固定值wanx-x-painting | wanx-x-painting |
input.prompt | String | 是 | 描述画面的提示词信息。支持中英文,长度不超过75个字符,超过部分会自动截断。 | 一只奔跑的猫 | |
input.base_image_url | String | 是 | 输入待修改的图片地址,常见的图片格式,如jpg, png, tiff, webp等。 | http://xxx/xxx.png | |
input.mask_image_url | String | 是 | 用户标记涂抹区域的掩码图片地址, 和base_image_url图片分辨率保持一致, 常见的RGB三通道图片格式。 | http://xxx/xxx.png | |
parameters.style | String | 否 | 涂抹修改区域的风格,目前支持以下风格取值: "<auto>" 默认, "<3d cartoon>" 3D卡通, "<anime>" 动画, "<oil painting>" 油画, "<watercolor>"水彩, "<sketch>" 素描, "<chinese painting>" 中国画, "<flat illustration>" 扁平插画, | "style": "<sketch>" | |
parameters.size | String | 否 | 生成图像的分辨率,目前仅支持'1024*1024', '720*1280', '1280*720'三种分辨率,默认为1024*1024像素。 | "size": "1024*1024" | |
parameters.n | Integer | 否 | 本次请求生成的图片数量,目前支持1~4张,默认为1。 | "n": 4 | |
parameters.mask_color | Array | 否 | 掩码图片中表示涂改区域的可选rgb颜色数值(例如[[0, 0, 0], [134, 134, 134]]),默认值为[]。当该字段为空,默认对mask进行二值化处理(处理后白色代表涂抹区域);当该字段非空,任一向量中的rgb三通道数值(例如[0,0,0]和[134,134,134])均可代表涂抹区域,不在向量中数值均为背景色。 | "mask_color": [[0, 0, 0], [134, 134, 134]] |
出参描述
字段 | 类型 | 描述 | 示例值 |
output.task_id | String | 本次请求的异步任务的作业 id,实际作业结果需要通过异步任务查询接口获取。 | 13b1848b-5493-4c0e-8c44-68d038b492af |
output.task_status | String | 提交异步任务后的作业状态。 | PENDING |
request_id | String | 本次请求的系统唯一码 | 7574ee8f-38a3-4b1e-9280-11c33ab46e51 |
请求示例
以下示例展示通过CURL命令来调用本模型的脚本
需要使用您的API-KEY替换示例中的 your-dashscope-api-key ,代码才能正常运行。
curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis' \
--header 'X-DashScope-Async: enable' \
--header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "wanx-x-painting",
"input": {
"prompt": "a dog waering red glasses",
"base_image_url": "http://synthesis-source.oss-accelerate.aliyuncs.com/lingji/validation/mask2img/demo/source3.jpg",
"mask_image_url": "http://synthesis-source.oss-accelerate.aliyuncs.com/lingji/validation/mask2img/demo/glasses.png"
},
"parameters": {
"size": "1024*1024",
"n":4
}
}'
响应示例
{
"output": {
"task_id": "13b1848b-5493-4c0e-8c44-68d038b492af",
"task_status": "PENDING"
}
"request_id": "7574ee8f-38a3-4b1e-9280-11c33ab46e51"
}
异常响应示例
在提交作业请求出错的情况下,输出的结果中会通过 code 和 message 指明出错原因。
{
"code":"InvalidApiKey",
"message":"Invalid API-key provided.",
"request_id":"fb53c4ec-1c12-4fc4-a580-cdb7c3261fc1"
}
作业任务状态查询和结果获取接口
GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
入参描述
传参方式 | 字段 | 类型 | 必选 | 描述 | 示例值 |
Url Path | task_id | String | 是 | 需要查询作业的 task_id | 13b1848b-5493-4c0e-8c44-68d038b492af |
Header | Authorization | String | 是 | API-Key,例如:Bearer d1**2a | Bearer d1**2a |
出参描述
字段 | 类型 | 描述 | 示例值 |
output.task_id | String | 本次请求的异步任务的作业 id,实际作业结果需要通过异步任务查询接口获取。 | 13b1848b-5493-4c0e-8c44-68d038b492af |
output.task_status | String | 被查询作业的作业状态 | 任务状态: PENDING 排队中 RUNNING 处理中 SUCCEEDED 成功 FAILED 失败 UNKNOWN 作业不存在或状态未知 |
usage.task_metrics | Object | 作业中每个batch任务的状态: TOTAL:总batch数目 SUCCEEDED:已经成功的batch数目 FAILED:已经失败的batch数目 | "task_metrics":{ "TOTAL":4, "SUCCEEDED":1, "FAILED":1 } |
usage.image_count | Integer | 本次请求成功生成的图片张数 | 2 |
request_id | String | 本次请求的系统唯一码 | 7574ee8f-38a3-4b1e-9280-11c33ab46e51 |
请求示例
以下示例展示通过CURL命令来调用本模型的脚本
需要使用您的API-KEY替换示例中的 your-dashscope-api-key ,代码才能正常运行。
curl -X GET \
--header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY>' \
https://dashscope.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-af6e-a0c6a421c010
响应示例(作业执行中)
作业提交后将处于排队状态,在得到调度之后将转为运行状态,此时作业的状态为RUNNING,task_metrics将给出具体batch状态;
{
"request_id":"e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
"output":{
"task_id":"86ecf553-d340-4e21-af6e-a0c6a421c010",
"task_status":"RUNNING",
"task_metrics":{
"TOTAL":4,
"SUCCEEDED":1,
"FAILED":0
}
}
}
响应示例(作业成功执行完毕)
如果作业执行完成并成功之后,再次查询作业状态,接口将在告知作业状态的同时,一并将作业的结果返回。对于本模型,作业在结束之后的状态会持续保留24小时以备客户随时查询,24小时之后,作业将从系统中清除,相关的结果也将一并清除;对应的,作业生成的结果为图像的URL地址,出于安全考虑,该URL的下载有效期也是24小时,需要用户在获取作业结果后根据需要及时使用或者转存。
{
"request_id":"85eaba38-0185-99d7-8d16-4d9135238846",
"output":{
"task_id":"86ecf553-d340-4e21-af6e-a0c6a421c010",
"task_status":"SUCCEEDED",
"results":[
{
"url":"https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/123/a1.png
},
{
"url":"https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/123/b2.png
}
],
"task_metrics":{
"TOTAL":2,
"SUCCEEDED":2,
"FAILED":0
}
},
"usage":{
"image_count":2
}
}
响应示例(作业成功执行完毕,部分失败)
在一次提交中,本模型可以根据客户的需求生成多张图片,只要其中一张图片生成成功,作业将被设置为成功状态,并且对应的作业结果会在查询的时候返回,对于失败的batch,结果中也会返回对应的失败原因;同时在usage计量中,只会对成功的结果计数。
"request_id":"85eaba38-0185-99d7-8d16-4d9135238846",
"output":{
"task_id":"86ecf553-d340-4e21-af6e-a0c6a421c010",
"task_status":"SUCCEEDED",
"results":[
{
"url":"https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/123/a1.png
},
{
"code": "InternalError.Timeout"
"message": "An internal timeout error has occured during execution, please try again later or contact service support."
}
],
"task_metrics":{
"TOTAL":2,
"SUCCEEDED":1,
"FAILED":1
}
},
"usage":{
"image_count":1
}
}
响应示例(作业失败)
如果因为某种原因作业失败,则作业状态会设置为FAILED,并且通过code和message字段指明错误原因。
{
"request_id":"e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
"output":{
"task_id":"86ecf553-d340-4e21-af6e-a0c6a421c010",
"task_status":"FAILED",
"code":"InvalidParameter"
"message":"The size is not match the allowed size ['1024*1024', '720*1280', '1280*720']"
"task_metrics":{
"TOTAL":4,
"SUCCEEDED":0,
"FAILED":4
}
}
}
状态码说明
DashScope灵积模型服务通用状态码请查阅:返回状态码说明。
- 本页导读 (1)