涂鸦作画
支持的领域 / 任务:aigc /涂鸦作画
通义万相-涂鸦作画通过手绘任意内容加文字描述,即可生成精美的涂鸦绘画作品,作品中的内容在参考手绘线条的同时,兼顾创意性和趣味性。涂鸦作画支持扁平插画、油画、二次元、3D卡通和水彩5种风格,可用于创意娱乐、辅助设计、儿童教学等场景。
如想了解功能效果或使用流程,可以在通义万相-涂鸦作画功能中进行体验。
输入内容&效果示意
模型概览
模型名 | 模型简介 |
wanx-sketch-to-image-lite | 通义万相-涂鸦作画通过手绘任意内容加文字描述,即可生成精美的涂鸦绘画作品,作品中的内容在参考手绘线条的同时,兼顾创意性和趣味性。 |
HTTP调用接口
功能描述
本模型需要相对较长的算法调用时间,所以在接口层面采用了异步调用的方式进行任务提交,在通过任务接口提交作业之后,系统会返回对应的作业ID,随后可以通过对应的异步作业查询接口获取任务的状态并且在作业到达最终完成态后取回对应的作业结果。
前提条件
已开通服务并获得API-KEY:API-KEY的获取与配置。
接口限制:对单账户(含主账号与RAM子账号)任务下发接口限制QPS为2,并发任务数量限制为1。
作业提交接口调用
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-sketch-to-image-lite |
input.sketch_image_url | String | 是 | 输入图像草图的url 图片限制:格式为JPG, PNG, TIFF, WBEP等常见位图格式,文件大小小于10MB,分辨率长边不大于2048像素 输入草图的比例需要与输出分辨率的比例一致,否则会导致图片拉伸变形 具体例子见右侧,建议使用白色背景+黑色线条 | http://aaa/bbb.jpg | |
input.prompt | String | 是 | 描述图片中的内容,支持中英文,中文不超过75个字,英文不超过75个单词,超过部分会自动截断。 | 一棵参天大树 | |
parameters.n | Integer | 否 | 图片生成的数量,目前支持 1~4 张,默认值1。 | "parameters": { "size": "768*768", "n": 2, "style": "<watercolor>", "sketch_extraction": False, "sketch_color": [ [0, 0, 0], [123, 123, 123] ] } | |
parameters.size | String | 否 | 生成图像的分辨率,默认为768*768像素,可选值为"768*768" | ||
parameters.style | String | 否 | 输出图像的风格,目前支持以下风格: "<3d cartoon>" 3D 卡通 "<anime>" 二次元 "<oil painting>" 油画 "<watercolor>" 水彩 "<flat illustration>" 扁平插画 | ||
parameters.sketch_extraction | Bool | 否 | 如果上传图片非sketch线稿,而是复杂RGB图片,可以对输入图片进行sketch边缘提取。默认值为False,设置为True时则进行提取 (设置为True时,sketch_color字段失效) | ||
parameters.sketch_color | Array | 否 | 如果sketch线稿中的线条非黑色,而是其他一种或多种颜色,则将其rgb数值进行输入,默认值为[]。仅当sketch_extraction为False时本字段生效。 当该字段为空,默认对sketch进行二值化处理;当该字段非空,所包含数值为画笔色(均为精准匹配,例如[134, 134, 134]不会被近似为[135, 135, 135]),其余数值均会视为背景色。 |
出参描述
字段 | 类型 | 描述 | 示例值 |
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-sketch-to-image-lite",
"input": {
"sketch_image_url": "http://xxx/1.jpg",
"prompt": "一棵参天大树"
},
"parameters":
{
"size": "768*768",
"n": 2,
"sketch_weight": 3,
"style": "<watercolor>",
"sketch_extraction": false,
"sketch_color": [
[0, 0, 0],
[123, 123, 123]
]
}
}'
响应示例
{
"output": {
"task_id": "xxxxxxxx",
"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 | 查询作业的 task_id | a8532587-fa8c-4ef8-82be-0c46b17950d1 |
output.task_status | String | 被查询作业的作业状态 | 任务状态: PENDING 排队中 RUNNING 处理中 SUCCEEDED 成功 FAILED 失败 UNKNOWN 作业不存在或状态未知 |
output.results | Array | 如果作业成功,包含模型生成的结果 object,然后每个 object 中包含按照要求生成的结果地址 | [ {"url":"https://xxx/1.jpg"}, {"url":"https://xxx/1.jpg"} ] |
usage.image_count | Int | 本次请求生成图像计量 | "image_count": 1 |
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":1,
"SUCCEEDED":1,
"FAILED":0
}
}
}
响应示例(作业成功执行完毕)
如果作业执行完成并成功之后,再次查询作业状态,接口将在告知作业状态的同时,一并将作业的结果返回。对于本模型,作业在结束之后的状态会持续保留24小时以备客户随时查询,24小时之后,作业将从系统中清除,相关的结果也将一并清除;对应的,作业生成的结果为图像的URL地址,出于安全考虑,该URL的下载有效期也是24小时,需要用户在获取作业结果后根据需要及时使用或者转存。
{
"output":{
"task_id":"a8532587-fa8c-4ef8-82be-0c46b17950d1",
"task_status":"SUCCEEDED",
"results":[
{
"url":"https://xxx/1.jpg"
},
{
"url":"https://xxx/2.jpg"
},
{
"url":"https://xxx/3.jpg"
},
{
"url":"https://xxx/4.jpg"
}
]
},
"usage":{
"image_count":4
},
"request_id":"7574ee8f-38a3-4b1e-9280-11c33ab46e51"
}
响应示例(作业失败)
如果因为某种原因作业失败,则作业状态会设置为FAILED,并且通过code和message字段指明错误原因。
{
"request_id": "7574ee8f-38a3-4b1e-9280-11c33ab46e51"
"output": {
"task_id": "a8532587-fa8c-4ef8-82be-0c46b17950d1",
"task_status": "FAILED",
"code": "xxx",
"message": "xxxxxx",
}
}
状态码说明
DashScope灵积模型服务通用状态码请查阅:返回状态码说明
同时本模型还有如下特定错误码:
http 返回码* | 错误码(code) | 错误信息(message) | 含义说明 |
400 | InvalidURL | The request URL is invalid, please check the request URL is available and the request image format is one of the following types: JPEG, JPG, PNG, BMP, and WEBP. | 输入图片下载失败,请检查网络或者输入格式 |
400 | InvalidFile.Resolution | The image resolution is invalid, please make sure that the aspect ratio is smaller than 2.0, and largest length of image is smaller than 4096 | 上传图片大小不符合要求 |