视频风格重绘
支持的领域 / 任务:aigc /视频风格重绘
视频风格重绘可以将输入的视频帧序列进行多种风格化的重绘/生成,使新视频画面在兼顾原始人物和物体相貌的同时,带来不同风格的绘画效果。当前支持预置重绘风格包括日式漫画、美式漫画、清新漫画、3D卡通、国风卡通。
输入内容&效果示意
原始视频(输入) | 日式漫画(输出) | 美式漫画(输出) | 清新漫画(输出) | 3D卡通(输出) | 国风卡通(输出,古装输入最佳) |
应用场景
趣味视频创作:上传人像、风景等短视频,即可生成专属视频动漫化、卡通画系列形象,塑造可爱氛围,可用于互动推广、趣味相册等应用场景。
IP隐私保护:为保护图像中的人物隐私,将人物卡通化,可避免识别出原人物是谁。与马赛克等处理方法相比,更具趣味性,更易于用户接受,提升用户体验。
视频后期制作:通过风格转换可以实现特殊的视觉效果,如将现实场景转换成、3D卡通或国风卡通系列画面,增加艺术感,以较低成本创造出高质量的艺术视觉效果。
广告营销创作:品牌可以通过风格转换技术来制作具有独特视觉风格的广告片,吸引目标受众的注意。能够快速适应不同的市场趋势和消费者偏好,提高广告的吸引力和记忆点。
媒体内容创作:社交媒体上的内容创作者可以使用风格转换技术来制作个性化的短视频,提升内容的独特性和观赏性。帮助创作者在众多内容中脱颖而出,增强粉丝互动和分享意愿。
特色优势
多种风格选择:提供多种不同特效的风格选择,实现差异化的制作效果,满足不同场景和数据要求,全视频精细化多样性风格转换。
多人像精致重绘:可处理情侣照、家庭照、团体类照片进行人像风格重绘,使新视频画面在兼顾原始人物和物体相貌的同时,带来不同风格的精致绘画效果。
稳定、易用平台服务:提供高并发、大流量下的稳定服务,支持简单训练和调用的API接口,易于集成,兼容性强。
模型概览
模型名 | 模型简介 |
video-style-transform | 视频风格重绘可以将输入的视频帧序列进行多种风格化的重绘/生成,使新视频画面在兼顾原始人物和物体相貌的同时,带来不同风格的绘画效果。当前支持预置重绘风格包括日式漫画、美式漫画、清新漫画、3D卡通、国风卡通。 |
HTTP调用接口
功能描述
本模型需要相对较长的算法调用时间,所以在接口层面采用了异步调用的方式进行任务提交,在通过任务接口提交作业之后,系统会返回对应的作业ID,随后可以通过对应的异步作业查询接口获取任务的状态并且在作业到达最终完成态后取回对应的作业结果。
输入限制
视频输入限制:
视频分辨率:可支持输入分辨率范围:单边不小于256且不超过4096,且长边比短边不超过1.8。
视频格式:MP4,AVI,MKV,MOV, FLV,TS,MPG,MXF。
视频时长:不超过30秒。
视频大小:不超过100M。
URL地址中不能包含中文字符。
前提条件
已开通服务并获得API-KEY:获取API Key、配置API Key到环境变量。
接口限制:对单账户(含主账号与RAM子账号)任务下发接口限制QPS为1,并发任务数量限制为1。
作业提交接口调用
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-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 | 是 | 指明需要调用的模型。 | video-style-transform |
input.video_url | String | 是 | 输入视频URL地址,视频格式MP4,AVI,MKV,MOV, FLV,TS,MPG,MXF, 输入视频分辨率宽或高不小于64且不超过4096,长边比短边不超过1.8。 | 例如:http://xxx/input.mp4 | |
parameters.style | Int | 否 | 风格类型,默认为0, 表示日式漫画,预置类型包括日式漫画、美式漫画、清新漫画、3D卡通、国风卡通,对应参数为0/1/2/3/4。 | 0 | |
parameters.video_fps | Int | 否 | 生成视频的帧率,默认为15,范围区间为[15, 25]。 | 15 |
出参描述
字段 | 类型 | 描述 | 示例值 |
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替换示例中的 你的API-KEY ,代码才能正常运行。
curl --location --request POST 'https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header 'Authorization: Bearer 你的API-KEY' \
--header 'X-DashScope-Async: enable' \
--header 'Content-Type: application/json' \
--header 'X-DashScope-DataInspection: enable' \
--data-raw '{
"model": "video-style-transform",
"input": {
"video_url": "http://xxx/input.mp4"
},
"parameters":{
"style":0,
"video_fps":25
}
}'
响应示例
JSON
{
"output": {
"task_id": "xxxxxxxx",
"task_status": "PENDING"
}
"request_id": "7574ee8f-38a3-4b1e-9280-11c33ab46e51"
}
异常响应示例
在提交作业请求出错的情况下,输出的结果中会通过 code 和 message 指明出错原因。
JSON
{
"code":"InvalidApiKey",
"message":"Invalid API-key provided.",
"request_id":"fb53c4ec-1c12-4fc4-a580-cdb7c3261fc1"
}
作业任务状态查询和结果获取接口
GET https://dashscope.aliyuncs.com/api/v1/tasks
入参描述
传参方式 | 字段 | 类型 | 必选 | 描述 | 示例值 |
Url Path | task_id | String | 是 | 需要查询作业的 task_id | 13b1848b-5493-4c0e-8c44-68d038b492af |
Header | Authorization | String | 是 | API-Key,例如:Bearer d1**2a | Bearer d1**2a |
出参描述
字段 | 类型 | 描述 | 示例值 |
status_code | Int | 200(HTTPStatus.OK)表示请求成功,否则表示请求失败,可以通过code获取错误码,通过message字段获取错误详细信息。 | 200 |
request_id | string | 系统对一次API调用赋予的唯一标识。当排查问题的时候,开发者可以将 request_id 进行反馈以定位某次调用。 | e5d70b02-ebd3-98ce-9fe8-759d7d7b107d |
code | string | 如果失败表示错误码,参考错误码表。 | InvalidImageUrl |
message | string | 如果失败,内容为失败详细信息。 | image download error |
usage.duration | Int | 生成视频时长(秒) | 1 |
output.output_video_url | String | 结果视频URL地址。 | http://xxx/result.mp4 |
output.task_status | String | 任务执行是否成功,SUCCEEDED或者FAILED | SUCCEEDED |
请求示例
以下示例展示通过CURL命令来调用本模型的脚本。
需要使用您的API-KEY替换示例中的 你的API-KEY ,代码才能正常运行。
curl -X GET \
--header 'Authorization: Bearer 你的API-KEY' \
https://dashscope.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-af6e-a0c6a421c010
响应示例(作业执行中)
作业提交后将处于排队状态,在得到调度之后将转为运行状态,此时作业的状态为RUNNING,task_metrics将给出具体batch状态;
JSON
{
"request_id":"7574ee8f-38a3-4b1e-9280-11c33ab46e51",
"output":{
"task_id":"86ecf553-d340-4e21-af6e-a0c6a421c010",
"task_status":"RUNNING",
"task_metrics":{
"TOTAL":1,
"SUCCEEDED":1,
"FAILED":0
}
}
}
响应示例(作业成功执行完毕)
如果作业执行完成并成功之后,再次查询作业状态,接口将在告知作业状态的同时,一并将作业的结果返回。对于本模型,作业在结束之后的状态会持续保留24小时以备客户随时查询,24小时之后,作业将从系统中清除,相关的结果也将一并清除;对应的,作业生成的结果为图像的URL地址,出于安全考虑,该URL的下载有效期也是24小时,需要用户在获取作业结果后根据需要及时使用或者转存。 JSON
{
"request_id": "b67df059-ca6a-9d51-afcd-9b3c4456b1e2",
"output": {
"task_id": "d76ec1e8-ea27-4038-8913-235c88ef0f70",
"task_status": "SUCCEEDED",
"submit_time": "2024-05-16 13:50:01.247",
"scheduled_time": "2024-05-16 13:50:01.354",
"end_time": "2024-05-16 13:50:27.795",
"output_video_url": "http://xxx/result.mp4"
},
"usage": {
"duration": 10
}
}
响应示例(作业成功执行失败)
JSON
{
"request_id": "dccfdf23-b38e-97a6-a07b-f35118c1ada6",
"output": {
"task_id": "4cbabbdf-2c1f-43f4-b983-c2cc47f4c115",
"task_status": "FAILED",
"submit_time": "2024-05-16 14:15:14.103",
"scheduled_time": "2024-05-16 14:15:14.154",
"end_time": "2024-05-16 14:15:14.694",
"code": "InvalidParameter.FileDownload",
"message": "download for input video error"
}
}
{
"request_id":"4246a1de-2aab-9b49-ba87-e0d12e221a06",
"output":{
"task_id":"14a016cb-baee-4cd6-b4b5-281f77c13ef4",
"task_status":"FAILED",
"submit_time":"2024-03-22 12:07:07.183",
"scheduled_time":"2024-03-22 12:07:07.253",
"end_time":"2024-03-22 12:07:07.604",
"code":"InternalError.Algo",
"message":"model inference error"
}
}
响应示例(作业失败)
如果因为某种原因作业失败,则作业状态会设置为FAILED,并且通过code和message字段指明错误原因。
JSON
{
"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 | InvalidParameter.JsonPhrase | input json error | 输入JSON错误 |
400 | InvalidParameter.FileDownload | oss download error | 输入图像下载失败 |
400 | InvalidParameter.VideoFormat | read video error | 读取视频失败 |
400 | InvalidParameter | the xxx parm is not invalid! | 输入参数超出范围 |
500 | InternalError.Algo | algorithm process error | 算法错误 |
500 | InternalError.FileUpload | oss upload error | 文件上传失败 |