文档

涂鸦作画API详情

更新时间:
一键部署

涂鸦作画

说明

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

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

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

输入内容&效果示意

20231204140809.jpg

应用场景

  • 创意贺卡设计:用户可以利用涂鸦作画功能,结合节日主题和个人创意,手稿创作一幅圣诞老人与驯鹿在雪地中的温馨场景,增加贺卡的个性化与情感表达,使收卡人感受到更加真挚与特别的祝福。

  • 儿童绘本制作:教育工作者或家长可以根据孩子的兴趣和故事内容,涂鸦作画制作富有教育意义和趣味性的插图绘本,提升儿童阅读兴趣,促进想象力和创造力的发展。

  • 个性化商品设计:电商平台或设计师可以利用该功能快速生成具有独特艺术风格的产品设计,如T恤、手机壳、马克杯上的涂鸦创作图案,满足消费者对个性化和定制化商品的需求。

  • 社交媒体内容创作:博主和内容创作者可利用涂鸦作画创作与主题内容相符的原创涂鸦插图,提高内容的视觉吸引力,帮助建立独特的个人品牌形象,吸引并保持粉丝的关注。

  • 室内装饰设计:室内设计师可以为客户定制个性化的墙面艺术画或装饰图案,如根据房间风格创作相应的油画或水彩风格涂鸦画作,实现空间的个性化定制,提升居住或办公环境的艺术氛围。

特色优势

  • 知识重组&可变维扩散模型:基于自研的Composer组合生成框架的AI局部绘画创作大模型,通过知识重组与可变维度扩散模型,生成符合语义描述的多样化风格的图像。

  • 效果业界领先:生成图像语义一致性更精准,AI绘画创作布局自然、细节丰富、画面细腻、结果逼真。作品中的内容在参考手绘线条的同时,兼顾创意性和趣味性。

  • 涂鸦风格多样化:支持扁平插画、油画、二次元、3D卡通和水彩5种风格。

  • 稳定、易用平台服务:提供在高并发、大流量下的稳定写真图片生成响应和99.99%的可靠性保障,可直接调用的简单训练和推理API 接口,服务简单易用,易被集成,兼容性强。

模型概览

模型名

模型简介

wanx-sketch-to-image-lite

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

输入限制

  • 图像格式:格式为JPG, PNG, TIFF, WBEP等常见位图格式。

  • 图像大小:不超过10MB。

  • 图像分辨率:分辨率长边不大于2048像素。

  • URL地址中不能包含中文字符

  • 输入草图的比例需要与输出分辨率的比例一致,否则会导致图片拉伸变形。建议使用白色背景+黑色线条。

  • 如果上传图片非sketch线稿,而是复杂RGB图片,可以对输入图片进行sketch边缘提取。默认值为False,设置为True时则进行提取。

  • 如果sketch线稿中的线条非黑色,而是其他一种或多种颜色,则将其rgb数值进行输入,默认值为[]。仅当sketch_extraction为False时本字段生效。当该字段为空,默认对sketch进行二值化处理;当该字段非空,例如[[134, 134, 134], [0, 0, 0]], 字段所包含数值均被视为画笔色,其余数值均会视为背景色。

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-WorkSpace

String

指明本次调用需要使用的workspace;需要注意的是,对于子账号Apikey调用,此参数为必选项,子账号必须归属于某个workspace才能调用;对于主账号Apikey此项为可选项,添加则使用对应的workspace身份,不添加则使用主账号身份。

ws_QTggmeAxxxxx

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], [0, 0, 0]], 字段所包含数值均被视为画笔色,其余数值均会视为背景色。

出参描述

字段

类型

描述

示例值

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,
        "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", 
    }  
}

状态码说明

大模型服务平台通用状态码请查阅:状态码说明

同时本模型还有如下特定错误码:

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

上传图片大小不符合要求