涂鸦作画API详情

涂鸦作画

说明

支持的领域 / 任务:aigc /涂鸦作画

通义万相-涂鸦作画通过手绘任意内容加文字描述,即可生成精美的涂鸦绘画作品,作品中的内容在参考手绘线条的同时,兼顾创意性和趣味性。涂鸦作画支持扁平插画、油画、二次元、3D卡通和水彩5种风格,可用于创意娱乐、辅助设计、儿童教学等场景。

如想了解功能效果或使用流程,可以在通义万相-涂鸦作画功能中进行体验。

输入内容&效果示意

20231204140809.jpg

模型概览

模型名

模型简介

wanx-sketch-to-image-lite

通义万相-涂鸦作画通过手绘任意内容加文字描述,即可生成精美的涂鸦绘画作品,作品中的内容在参考手绘线条的同时,兼顾创意性和趣味性。

HTTP调用接口

功能描述

本模型需要相对较长的算法调用时间,所以在接口层面采用了异步调用的方式进行任务提交,在通过任务接口提交作业之后,系统会返回对应的作业ID,随后可以通过对应的异步作业查询接口获取任务的状态并且在作业到达最终完成态后取回对应的作业结果。

前提条件

说明

接口限制:对单账户(含主账号与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

20231204140932.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

上传图片大小不符合要求