人像风格重绘API详情

人像风格重绘

说明

支持的领域 / 任务:aigc /人像风格化

通义万相-人像风格重绘可以将输入的人物图像进行多种风格化的重绘生成,使新生成的图像在兼顾原始人物相貌的同时,带来不同风格的绘画效果。当前支持预置重绘风格和客户上传风格参考图,预置重绘风格有复古漫画、3D童话、二次元、小清新、未来科技、国画古风、将军百战等。

人像风格效果示意:

  1. 预置重绘风格:仅需上传一张原图,选择预置风格序号,即可生成不同风格的精美人像。

image.png

  1. 上传风格参考图:上传风格图像进行参考生成,上传一张原图和一张风格参考图,即可生成参考指定图片风格的精美人像。

image.png

应用场景

  • 创意广告与市场营销:企业可利用人像风格重绘创造与众不同的广告素材,如将代言人形象转化为未来科技风格,用于宣传高科技产品,既保留了代言人的识别度,又贴合产品定位,吸引目标消费群体。

  • 个性化人物形象定制:电商平台可提供人物形象个性化的商品定制服务,如将客户提供的人物照片转换为国画古风或二次元风格,应用于手机壳、T恤、壁画等商品上,满足消费者对独特和定制化商品的需求。

  • 数字艺术创作与展览:艺术家和设计师可以利用人像风格重绘技术创作具有特定主题或风格的艺术作品,如结合小清新或3D童话风格创作系列人像画作,用于线上或线下的艺术展览,拓宽艺术表达的边界。

  • 影视娱乐与游戏角色设计:在电影制作、动画片或游戏开发中,通过对真实演员或概念草图进行风格重绘,可以高效地探索和确定角色设计方向,将演员照片转为符合游戏世界观的二次元或复古风格,加速角色视觉设计进程,提升项目整体的视觉吸引力。

特色优势

  • 高度逼真与风格化:先进的人像重绘算法能够精确捕捉人像的特征细节,同时赋予其特定的艺术风格,无论是复古漫画、小清新、二次元还是其他风格,都能在保持人像细节的同时赋予图像不同的艺术风格。这种能力让每幅重绘作品都成为独一无二的艺术品。

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

模型概览

模型名

模型简介

wanx-style-repaint-v1

通义万相-人像风格重绘可以将输入的人物图像进行多种风格化的重绘生成,使新生成的图像在兼顾原始人物相貌的同时,带来不同风格的绘画效果。

输入限制

人物图像输入限制:

  • 图片分辨率:可支持输入分辨率范围:不小于256*256,不超过5760*3240, 长宽比不超过1.5:1,若超出1.5:1将自适应裁剪到1.5:1。

  • 图片质量:确保生成质量,请上传脸部清晰照片,人脸比例不宜过小,并避免夸张姿势和表情。

  • 图片格式:JPEG,PNG,JPG,BMP,WEBP。

  • 图片大小:不超过10M。

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

风格参考图输入限制:

  • 图片分辨率:可支持输入分辨率范围:不小于256*256,不超过5760*3240, 长宽比不超过2:1。

  • 图片格式:JPEG,PNG,JPG,BMP,WEBP。

  • 图片大小:不超过10M。

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

HTTP调用接口

功能描述

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

前提条件

说明

接口限制:对单账户(含主账号与RAM子账号)任务下发接口限制QPS为2,并发任务数量限制为1。

作业提交接口调用

POST https://dashscope.aliyuncs.com/api/v1/services/aigc/image-generation/generation

入参描述

传参方式

字段

类型

必选

描述

示例值

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-style-repaint-v1

input.image_url

String

输入的图像 URL,

  • 分辨率:可支持输入分辨率范围:不小于256*256,不超过5760*3240, 长宽比不超过1.5:1,若超出1.5:1将自适应裁剪到1.5:1

  • 为确保生成质量,请上传脸部清晰照片,人脸比例不宜过小,并避免夸张姿势和表情

  • 类型:JPEG,PNG,JPG,BMP,WEBP

  • 大小:不超过10M

http://abc.com/a.jpg

input.style_index

Integer

想要生成的风格化类型索引:

-1 参考上传图像风格

0 复古漫画

1 3D童话

2 二次元

3 小清新

4 未来科技

5 国画古风

6 将军百战

7 炫彩卡通

8 清雅国风

9 喜迎新年

"style_index": 3

input.style_ref_url

String

当input.style_index=-1时,必须传入;

其他风格,无需传入

输入的图像 URL,

  • 分辨率:可支持输入分辨率范围:不小于256*256,不超过5760*3240, 长宽比不超过2:1

  • 类型:JPEG,PNG,JPG,BMP,WEBP

  • 大小:不超过10M

http://abc.com/a.jpg

出参描述

字段

类型

描述

示例值

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 ,代码才能正常运行。

1.使用预置风格模板:

curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/image-generation/generation' \
--header 'X-DashScope-Async: enable' \
--header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY>' \
--header 'Content-Type: application/json' \
--data '{
    "model": "wanx-style-repaint-v1",
    "input": {
        "image_url": "https://public-vigen-video.oss-cn-shanghai.aliyuncs.com/public/dashscope/test.png",
        "style_index": 3
    }
}'

2.上传参考风格图像:

curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/image-generation/generation' \
--header 'X-DashScope-Async: enable' \
--header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY>' \
--header 'Content-Type: application/json' \
--data '{
    "model": "wanx-style-repaint-v1",
    "input": {
        "image_url": "https://public-vigen-video.oss-cn-shanghai.aliyuncs.com/public/dashscope/test.png",
        "style_index": -1,
        "style_ref_url": "https://vigen-video.oss-cn-shanghai.aliyuncs.com/VideoGeneration/Data/cosplay%E8%A7%92%E8%89%B2%E5%BA%93/%E6%96%B0%E7%89%88%E9%9D%A2%E5%BD%A2%E8%B1%A1%E5%BA%93/ACG%E9%A3%8E%E6%A0%BC%EF%BC%88%E7%94%B7%EF%BC%89/65ba3ee96b1b868dfad0cf96c52c86112e035bb893329b8dda2a90b8a38485e0.png"
    }
}'

响应示例

{
    "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

本次请求的异步任务的作业 id,实际作业结果需要通过异步任务查询接口获取。

13b1848b-5493-4c0e-8c44-68d038b492af

output.task_status

String

被查询作业的作业状态

任务状态:

PENDING 排队中

RUNNING 处理中

SUCCEEDED 成功

FAILED 失败

UNKNOWN 作业不存在或状态未知

output.result_url

String

  • 如果作业成功,包含模型生成的结果图像的 URL,可以在 24 小时之内随时下载。

  • 输出分辨率说明:输入长宽比不超过1.5 : 1的图像,返回短边长为1536、保持原图长宽比的图像;对于超过该长宽比阈值的图像,按照1.5 : 1长边长为2304、短边长为1536的图像。

"result_url": "http://oss.aliyuncs.com/xxx/abc.jpg"

usage.image_count

Integer

本次请求生成图像计量

"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小时,需要用户在获取作业结果后根据需要及时使用或者转存。

{
    "request_id":"<your request id>",
    "output":{
        "task_id":"<your task id>",
        "task_status":"SUCCEEDED",
        "submit_time":"xxx",
        "scheduled_time":"xxx",
        "end_time":"xxx",
        "error_message":"Success",
        "start_time":"xxx",
        "style_index":0,
        "error_code":0,
        "results":[
            {
                "url":"http://oss.aliyuncs.com/xxx/abc.jpg"
            }
        ]
    },
    "usage":{
        "image_count":1
    }
}

响应示例(作业失败)

如果因为某种原因作业失败,则作业状态会设置为FAILED,并且通过code和message字段指明错误原因。

{
  "request_id": "<your request id>",
  "output": {
    "task_id": "<your task id>",
    "task_status": "FAILED",
    "submit_time": "xxx",
    "scheduled_time": "xxx",
    "end_time": "xxx",
    "code": "InvalidImageResolution",
    "message": "The input image resolution is too large or small"
  },
  "usage": {
    "image_num": 0
  }
}

状态码说明

DashScope通用状态码请查阅:返回状态码说明

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

http 返回码*

错误码(code)

错误信息(message)

含义说明

400

InvalidURL

The request URL is invalid, make sure the url is correct and is an image

输入url错误,请确保url链接的正确性

400

InvalidImageResolution

The input image resolution is too large or small

输入图像分辨率过大或过小