# 平台能力
平台针对企业账户提供各项算法能力,包括:视频合成能力、人物形象模型生成能力、TTS个人音色模型生成能力、人物形象模型更新能力、视频人物换脸能力等。
# 功能介绍
# 视频合成
2D数字人视频合成服务为您提供输入选择2D数字人形象模型,添加文本或音频合成为2D虚拟数字人mp4/webm格式的视频,并且通过返回的视频链接下载视频内容。
- 形象配置
- 支持通过参数指定本次视频合成需要使用的2D数字人形象,系统提供若干个默认的2D数字人形象模型,供用户选择。具体可联系运营开通账号后查看。
- 音色配置
- 系统支持两种形式的音色配置
- 上传录音文件,支持在线录音上传或者选择对应的音频文件上传,音频将会经过降噪处理后将原声用于最终合成的视频内容。
- 上传文本+选择音色,支持通过参数指定本次视频合成需要使用的发音人音色,以及声音的语速、音调、音量调节,系统提供若干个默认的TTS个人音色模型,供用户选择,将使用指定的音色朗读对应的文本内容,最终将此音频用于视频合成。
- 系统支持两种形式的音色配置
- 数字人驱动
- 支持数字人表情、口型驱动。
- 视频编码信息
- 编码格式: H264
- 帧率: 25FPS
- 视频格式
- 目前支持MP4/WebM两种视频格式,视频时长由合成视频的时候选择的内容决定。
- 视频分辨率
- 支持创建视频合成任务的时候指定产出视频的分辨率,建议选择范围为:480p、720p、1080p
- 字幕
- 支持根据用户输入的文字或语音内容生成与之相匹配的字幕文件
- 自定义前景/背景/标题文字
- 支持通过URL指定视频背景图,图片格式支持jpg、png两种格式
- 支持通过URL指定视频前景图,图片格式支持jpg、png两种格式
- 支持通过参数指定视频中标题文字内容的字体,字号,以及出现的位置
- 自定义人物美颜效果
- 支持通过参数调节人物美颜效果,包括:美白/磨皮/脸型调整/眼形调整/发际线调整/苹果肌调整/鼻子调整/下巴调整/嘴巴调整/人中调整/缩头/对比度/饱和度/清晰度/锐化程度调整等十余项参数调整功能,具体请参考参数说明 (opens new window),了解使用规则
- 最大存储时间
- PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。
# 视频合成时序图
# TTS个人音色模型生成
TTS个人音色模型生成服务可根据用户上传的真人采集或录制的语音素材文件通过算法训练产出发音效果与声音素材提供者一致的数字人TTS音色模型。请在采集时遵照商汤数字人音色复制采集制作规范,内容包括环境要求、设备要求、发音要求、授权要求、朗读脚本,具体参考:采集规范 (opens new window)。PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。
# 人物形象模型生成
人物形象模型生成服务可根据用户上传的真人采集或录制的视频通过算法训练产出AI驱动效果与真人几乎无异的数字人人物形象模型。为了完美克隆人物形象,请在拍摄时遵照商汤数字人采集制作规范,内容包括视频、语音,用于 2D 数字人的训练和测试,具体参考:采集规范 (opens new window)。PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。
# 人物形象模型生成时序图
# 人物形象模型更新
2D数字人人物形象模型更新服务可针对已经生成完成的人物形象模型进行更新,支持修改数字人训练动作片段。PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。
# 绿幕分割效果预览
平台支持对图片、视频进行绿幕分割效果预览,用来在实际提交人物模型生成任务之前确认绿幕分割参数效果,或者正式拍摄之前确认拍摄环境是否可以满足拍摄要求。
# 视频人物换脸(暂不支持)
视频人物换脸任务可以根据用户上传的视频内容和模板图片调用算法能力进行视频人物换脸处理,最终返回处理后的视频文件和缩略图供用户下载。PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。
# API 说明
用户调用平台全部API服务,皆需要访问服务接入点:aigc.softsugar.com,并在请求头中加上token信息。
# 创建视频合成任务
# 接口描述
根据用户上传的指定内容调用算法能力进行视频合成,最终返回mp4/webm格式的视频文件供用户下载。PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。
# 请求地址
POST
/api/2dvh/v1/material/video/create
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
param | String | True | 创建视频合成任务需要传入正确的param信息,其中包括各类视频合成参数(该参数为json转义后的字符串),请参考下面的参数说明和 json 示例 (opens new window) ,示例效果 (opens new window) 。 |
videoName | String | True | 视频名称 |
thumbnailUrl | String | False | 缩略图url |
# 请求样例
{
"videoName": "xxx",
"param": "{\"version\":\"0.0.4\",\"resolution\":[1080,1920],\"bit_rate\":16,\"frame_rate\":25,\"watermark\":{\"show\":true,\"content\":\"示例视频\"},\"digital_role\":{\"id\":3964,\"face_feature_id\":\"0401_chenying_s1\",\"name\":\"0401_chenying_s1\",\"url\":\"https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/materials/77/0401_chenying_s1_20230427133135306.zip\",\"position\":{\"x\":0,\"y\":0},\"scale\":1.0},\"tts_config\":{\"id\":\"nina\",\"name\":\"Nina\",\"vendor_id\":3,\"language\":\"zh-CN\",\"pitch_offset\":0.0,\"speed_ratio\":1,\"volume\":100},\"tts_query\":{\"content\":\"丝绸之路是一条连接东西方的古老商路,在这条路上,东西方通过贸易和文化交流,促进了不同文明的不断融合。 历史上张骞出使西域,开启了最早的丝绸之路,从此丝绸之路上的商人一次次穿越沙漠和山脉进行通商往来。 中国的丝绸、瓷器、茶叶,以及印度的佛教、希腊的哲学等都在这条路上得到充分地传承和发展。\",\"ssml\":false},\"backgrounds\":[{\"type\":0,\"name\":\"背景\",\"url\":\"http://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/test/background.png\",\"rect\":[0,0,1080,1920],\"cycle\":false,\"start\":0,\"duration\":-1}],\"foregrounds\":[{\"type\":0,\"name\":\"前景\",\"url\":\"http://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/test/frontgroud.png\",\"rect\":[0,1359,1092,561],\"cycle\":false,\"start\":0,\"duration\":-1}],\"foreground-texts\":[{\"text\":\"丝绸之路介绍\",\"font_size\":20,\"font_family\":\"Noto Sans S Chinese Black\",\"position\":{\"x\":100,\"y\":200},\"rgba\":[100,200,100,100]}]}"
}
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Integer | False | 任务id |
# 响应样例
{
"code": 0,
"message": "success",
"data": 1
}
# json参数说明
名称 | 类型 | 取值示例 | 必填 | 说明 |
---|---|---|---|---|
version | String | "0.0.17" | 是 | 视频合成json配置文件最新版本号 |
video_format | String | "mp4" | 否 | 视频输出格式,取值为MP4、WEBM、MOV,如果没有该字段,默认为MP4。其中,WEBM和MOV格式支持透明通道。 |
resolution | Int Array | [1080,1920] | 是 | 视频分辨率,建议选择[480,854],[720,1280],[1080,1920]三种竖屏格式,人物模型分辨率为2K(1080 * 1920)和 4K(2160 * 3840),选择不同分辨率需要调整数字人形象比例以达到较好的效果,例如选择[1080,1920]分辨率,则建议 4K数字人形象scale 参数调整为0.5左右 |
bit_rate | Float | 8 | 否 | 视频码率(Mbps),最大值16,最小值1 |
frame_rate | Integer | 25 | 是 | 视频帧率,目前只支持25fps |
watermark | Object | 否 | 视频水印 | |
show | Boolean | True | 是 | 是否显示视频水印 |
content | String | "测试 Test " | 是 | 视频水印内容,若开启但不填写内容,则自动进行填写。 |
invisible-watermark | Object | 否 | 视频隐藏水印,仅支持 mp4 | |
show | Boolean | True | 是 | 是否开启视频隐藏水印。 |
content | String | "1234567890123456 " | 否 | 隐藏水印文字 ,不可以用中文!仅限英文+数字,一共16个字符,如果不足16字符,后面会自动补0,如果超过16,会截取前16字符。 |
digital_role | Object | 包含内容如下 | ||
id | Integer | 1 | 否 | 数字人id |
face_feature_id | String | "1" | 是 | 数字人face feature id |
name | String | "小李" | 否 | 数字人名称 |
url | String | "https://xxx/role.zip" | 是 | 数字人形象zip包。在合成视频中,为必传参数。在视频直播场景中,本项无需设置值,使用fileid |
fileId | String | "12345" | 否 | 预热素材上传后的id,在视频直播场景为必传内容 |
position | Object | 包含内容如下 | 是 | 数字人形象图片的起始像素位置,以1080*1920分辨率大小画布的左上角为原点,向右为x方向,向下为y方向 |
x | Integer | 0 | 是 | x方向坐标值 |
y | Integer | 0 | 是 | y方向坐标值 |
scale | Float | 1.0 | 是 | 数字人形象比例 |
rotation | Float | 0.0 | 是 | 旋转角度,取值[0.0,360.0],画布坐标系Y轴的反方向为0度,顺时针方向的夹角为旋转角,旋转时以图片中心点为锚点 |
volume | Integer | 0 | 否 | 数字人播报音量,大小取值范围0~100。注:最低版本要求:0.0.13。 |
z_position | Integer | 0 | 是 | 图层顺序,各个 zposition 不可重复,数字越大显示越靠前。 注:最低版本要求:0.0.6(必须字段)。 |
start_frame_index | Integer | 0 | 否 | 合成视频起始帧,取值范围为[1, N],如果输入参数范围不在范围内,直接返回错误。注:最低版本要求:0.0.14。精品数字人不建议设置该参数 |
tts_config | Object | 包含内容如下 | 是 | tts配置。tts_query和audios必须存在其一,tts_query和audios都存在时,tts_query优先 |
qid | String | 8wfZav:AEA_Z10Mqp9GCwDGMrz8xIzi3VScxNzUtLCh | 否 | 填写此字段会覆盖 voiceid , language ,vendor_id 字段。 |
id | String | "zh-CN-XiaoxuanNeural" | 是 | 发音人id , 同 voiceID |
name | String | "晓萱" | 是 | 发音人名称 |
vendor_id | Integer | 4 | 是 | 供应商id ,即 vendor_id ,需要与使用的TTS音色模型信息保持一致。随意填写会有错误。不要随意填写。使用qid的时候可以没有这个字段。 |
language | String | "zh-CN" | 是 | 语言码 |
pitch_offset | Float | 0.0 | 是 | 音调,数值越大越尖锐,越低越低沉,支持范围 [-60, 60] |
speed_ratio | Float | 1 | 是 | 语速,数值越大语速越慢,支持范围 [0.5, 2] |
volume | Integer | 100 | 是 | 音量,数值越大声音越大,支持范围 [1, 400] |
tts_query | Object | 包含内容如下 | 否 | tts语音合成。tts_query和audios必须存在其一,tts_query和audios都存在时,tts_query优先 |
content | String | "尊敬的观众朋友们,大家好!非常荣幸能够在这个美好的时刻与大家相聚,欢迎收看今天的节目。" | 是 | 待合成语音的文本内容,字数不得少于10个字,所有语言的发音人都可以合成英文query;所有语言的发音人都可以合成自己语言的query;粤语、沪语等中文方言发音人可以合成中文query |
use_action | Boolean | false | false | 是否tts文本中支持动作编辑 tts文本中动作定义如下:若想要插入某个动作,则在文本对应位置插入{action index:动作序号}。例如{action index:0}。action和index之间空格分割。其中动作序号可在数字人的结果json中获取。如果用户TTS本身需要输出{action},则使用^{action }来进行转义,不作为动作提取 |
ssml | Boolean | false | 否 | 是否使用ssml,开启后query可以使用USSML,推荐使用USSML |
audios | Object Array | 包含内容如下 | 否 | 音频驱动。tts_query和audios必须存在其一,tts_query和audios都存在时,tts_query优先 |
url | Object | {"url":"https://xxx/audio.mp3"} | 是 | 数组,支持多条mp3格式的驱动音频文件 |
subtitle | Object | 包含内容如下 | 否 | 字幕 |
url | String | "https://xxx/subtitle.srt" | 是 | 字幕文件列表。0.0.13及之前版本只解析此字段 |
urls | String Array | ["https://xxx/subtitle.srt","https://xxx/subtitle.srt"] | 否 | 0.0.14及之后版本优先解析此字段,如果此字段不存在,则解析url字段。 特殊情况说明:如果版本号大于等于0.0.14,audios中存在多个音频,此时仍然解析url字段,只显示一个字幕,这是正常case。 |
scale | Float | 1.0 | 是 | 文字缩放比例,取值范围0~+∞,默认为1,原始参考尺寸为font_size。 |
position | Object | 包含内容如下 | 否 | 字幕起始位置,以1080*1920分辨率大小画布的左上角为原点,向右为x方向,向下为y方向,默认位置为视频的下方,字幕效果呈现为居中对齐。注:最低版本要求:0.0.13。 |
x | Integer | 0 | 否 | x方向坐标值 |
y | Integer | 0 | 否 | y方向坐标值 |
rgba | Int Array | [100,100,100,100] | 是 | 字幕颜色,按照rgba形式传入,取值范围 0~255 【a通道暂不支持】 |
font_size | Integer | 20 | 是 | 字幕字体大小设置 |
font_family | String | "Noto Sans S Chinese Black" | 是 | 字体名称,支持的字体见json支持字体列表 |
stroke_width | Float | 2 | 否 | 描边宽度,取值范围0~+∞,默认为0,表示描边宽度。注:最低版本要求:0.0.10。 |
stroke_rgba | Int Array | [100,100,100,100] | 否 | 字幕描边颜色,按照rgba形式传入,取值范围 0~255 【a通道暂不支持】。注:最低版本要求:0.0.10。 |
background_rgba | Int Array | [100,100,100,100] | 是 | 字幕背景(字体底色)颜色, 取值范围0~255。a通道为0时表示全透明。注:最低版本要求:0.0.10。 |
opacity | Float | 0.5 | 否 | 字幕图层透明度, 取值范围0~1。0表示全透明,1表示不透明。注:最低版本要求:0.0.10。 |
subtitle_max_len | Integer | 10 | 否 | 字幕最大切分长度,默认为 0,即不限长度,若未设置最大切分字数,设定字幕占用最大长度为画布宽度的80%,超出则自动折行。注:最低版本要求:0.0.10。 |
subtitle_cut_by_punc | Boolean | True | 否 | 是否按标点符号切分。注:最低版本要求:0.0.10。 |
rotation | Float | 0.0 | 是 | 旋转角度,取值[0.0,360.0],画布坐标系Y轴的反方向为0度,顺时针方向的夹角为旋转角,旋转时以图片中心点为锚点。注:最低版本要求:0.0.14。 |
auto_font_size | Boolean | True | 否 | 不填写,默认为True,字幕根据公式来计算最终显示的font size,与前景文字、标题在同样的font size设置下,显示效果不同;False,字幕采用与前景文字、标题一样的font size规则。 |
sub_to_canvas_width_ratio | Float | 1.0 | 否 | 不填写,默认为1.0。此字段表示字幕所占用画布宽度的比例,取值范围为(0, 2],如果传入参数<=0或者>2,则默认将值重置为1.0。如果单行显示不了,则换行。 |
backgrounds | Object Array | 包含内容如下 | 否 | 背景 |
type | Integer | 0 | 是 | 0:图片,支持jpg、png格式;1:视频,支持mp4格式,帧率要求 25 以上,分辨率暂无要求,不同分辨率的视频按照短边撑满,视频等比例缩放形式处理 |
name | String | "背景" | 是 | 背景名称 |
url | String | "https://xxx/bg.png" | 是 | 背景文件url,如没设置背景图或视频,Webm格式展示黑色背景;Mp4格式展示灰色默认的frame的背景效果。在视频直播场景中,该字段为空,使用fileid字段 |
fileId | String | "12345" | 否 | 预热素材上传后的id,在视频直播场景为必传内容 |
rect | Int Array | [0,0,1080,1920] | 是 | 【暂不支持】 背景起始位置和大小,以1080*1920分辨率画布为参考,左上角为(0,0),当前不支持自定义,默认短边撑满,长边等比例缩放形式显示 |
cycle | Boolean | false | 是 | 针对视频有效,false:单次播放,true:循环播放 |
start | Integer | 0 | 是 | 背景开始时间,以ms为单位 |
duration | Integer | -1 | 是 | 背景持续时间,以ms为单位,-1为默认值,表示随视频一直存在 |
play_offset | Integer | 1 | 否 | 视频直播场景生效,针对视频生效,该背景视频从背景视频本身的开始播放时间,以ms为单位 |
volume | Integer | 0 | 否 | 背景视频音量,数值越大声音越大,支持范围 [0, 100],标准音量。注:最低版本要求:0.0.13。 |
background-musics | Object Array | 包含内容如下 | 否 | 背景音乐 |
url | String | "https://xxx/bgm.mp3" | 是 | 背景音乐url |
volume | Integer | 100 | 是 | 音量,数值越大声音越大,支持范围 [0, 100],标准音量100 |
duration | Integer | -1 | 否 | 持续时间,单位毫秒,-1为默认值,表示随视频一直存在。只要duration 时间到,不论是否循环均会停止/消失 |
start | Integer | 0 | 否 | 开始时间,单位毫秒。0为默认值,表示从视频第0毫秒开始播放背景音乐。 |
cycle | Boolean | True | 否 | false:单次播放,true:循环播放 |
foregrounds | Object Array | 包含内容如下 | 否 | |
type | Integer | 0 | 是 | 0:图片,支持jpg、png格式;1:视频,支持mp4格式 |
name | String | "前景" | 是 | |
url | String | "https://xxx/fg.png" | 是 | 前景文件url,图片支持png或jpg ,视频支持mp4格式。在视频直播场景,该字段为为空,使用fileid字段 |
fileId | String | "12345" | 否 | 预热素材上传后的id,在视频直播场景为必传内容 |
rect | Int Array | [0,0,1080,1920] | 是 | 起始位置和大小,以1080*1920分辨率画布为参考 |
rotation | Float | 0.0 | 是 | 旋转角度,取值[0.0,360.0],画布坐标系Y轴的反方向为0度,顺时针方向的夹角为旋转角,旋转时以图片中心点为锚点 |
cycle | Boolean | False | 否 | 针对视频有效,false:单次播放,true:循环播放,前景视频单次播放完成后,如未达到指定持续时间节点,前景视频停留在最后一帧 |
z_position | Integer | 2 | 是 | 图层顺序,各个 zposition 不可重复,数字越大显示越靠前。注:最低版本要求:0.0.6(必须字段)。 |
start | Integer | 0 | 是 | 前景开始时间,以ms为单位 |
play_offset | Integer | 1 | 否 | 视频直播场景生效,针对视频生效,该背景视频从背景视频本身的开始播放时间,以ms为单位 |
duration | Integer | -1 | 是 | 前景持续时间,以ms为单位,-1为默认值,表示随视频一直存在 |
volume | Integer | 0 | 否 | 前景视频音量,数值越大声音越大,支持范围 [0, 100],标准音量。注:最低版本要求:0.0.13。 |
foreground-texts | Object Array | 包含内容如下 | 否 | 前景文字 |
text | String | "前景文字" | 是 | 前景文字内容 |
scale | Float | 1.0 | 是 | 文字缩放比例,取值范围0~+∞,默认为1,原始参考尺寸为font_size。 |
duration | Integer | -1 | 否 | 持续时间,单位毫秒,-1为默认值,表示随视频一直存在。只要duration 时间到,不论是否循环均会停止/消失 |
start | Integer | 0 | 否 | 开始时间,单位毫秒。0为默认值,表示从视频第0毫秒开始播放前景文字。 |
position | Object | 包含内容如下 | 是 | 前景文字起始位置,以1080*1920分辨率大小画布的左上角为原点,向右为x方向,向下为y方向 |
x | Integer | 0 | 是 | x方向坐标值 |
y | Integer | 0 | 是 | y方向坐标值 |
rgba | Int Array | [100,100,100,100] | 是 | 前景文字颜色,按照rgba形式传入,取值范围 0~255 【a通道暂不支持】 |
font_size | Integer | 20 | 是 | 前景文字字体大小设置 |
font_family | String | "Noto Sans S Chinese Black" | 是 | 字体名称,支持的字体见json支持字体列表 |
stroke_width | Float | 2 | 否 | 描边宽度,取值范围0~+∞,默认为0,表示描边宽度 |
stroke_rgba | Int Array | [100,100,100,100] | 否 | 前景文字描边颜色,按照rgba形式传入,取值范围 0~255 【a通道暂不支持】 |
background_rgba | Int Array | [100,100,100,100] | 是 | 前景文字背景(字体底色)颜色, 取值范围0~255。a通道为0时表示全透明。注:最低版本要求:0.0.10。 |
opacity | Float | 0.5 | 否 | 前景文字图层透明度, 取值范围0~1。0表示全透明,1表示不透明。注:最低版本要求:0.0.10。 |
z_position | Integer | 2 | 是 | 图层顺序,各个 zposition 不可重复,数字越大显示越靠前。注:最低版本要求:0.0.8(必须字段)。 |
rotation | Float | 0.0 | 是 | 旋转角度,取值[0.0,360.0],画布坐标系Y轴的反方向为0度,顺时针方向的夹角为旋转角,旋转时以图片中心点为锚点。注:最低版本要求:0.0.14。 |
title | Object Array | 包含内容如下 | 否 | 标题文字 ,其图层在数字人,背景,前景文字的上层。注:最低版本要求:0.0.10。 |
text | String | "标题文字" | 是 | 标题文字内容 |
scale | Float | 1.0 | 是 | 文字缩放比例,取值范围0~+∞,默认为1,原始参考尺寸为font_size。 |
position | Object | 包含内容如下 | 是 | 标题文字起始位置,以1080*1920分辨率大小画布的左上角为原点,向右为x方向,向下为y方向 |
x | Integer | 0 | 是 | x方向坐标值 |
y | Integer | 0 | 是 | y方向坐标值 |
rgba | Int Array | [100,100,100,100] | 是 | 标题文字颜色,按照rgba形式传入,取值范围 0~255 【a通道暂不支持】 |
font_size | Integer | 20 | 是 | 标题文字字体大小设置。单位为px。 |
font_family | String | "Noto Sans S Chinese Black" | 是 | 字体名称,支持的字体见json支持字体列表 |
stroke_rgba | Int Array | [100,100,100,100] | 否 | 标题文字描边颜色,按照rgba形式传入,取值范围 0~255 【a通道暂不支持】 |
stroke_width | Float | 2 | 是 | 描边宽度,取值范围0~+∞,默认为0,表示描边宽度 |
background_rgba | Int Array | [100,100,100,100] | 是 | 标题文字背景(字体底色)颜色, 取值范围0~255。a通道为0时表示全透明。【a通道暂不支持】 |
opacity | Float | 0.5 | 否 | 标题文字图层透明度, 取值范围0~1。0表示全透明,1表示不透明 |
rotation | Float | 0.0 | 是 | 旋转角度,取值[0.0,360.0],画布坐标系Y轴的反方向为0度,顺时针方向的夹角为旋转角,旋转时以图片中心点为锚点。注:最低版本要求:0.0.14。 |
effects | Object | 包含内容如下 | 否 | |
version | String | "1.0" | 是 | 特效引擎版本 |
beautify | Object | 包含内容如下 | 否 | 美颜 |
whitenStrength | Float | 0.3 | 否 | [0,1.0] 美白, 默认值 0.30, 0.0 不做美白 |
whiten_mode | Integer | 0 | 否 | 美白模式:0(偏粉白), 1(自然白), 2(只有皮肤区域自然白) |
reddenStrength | Float | 0.36 | 否 | [0,1.0]红润, 默认值 0.36, 0.0 不做红润 |
smoothStrength | Float | 0.74 | 否 | [0,1.0]磨皮, 默认值 0.74, 0.0 不做磨皮 |
smooth_mode | Integer | 0 | 否 | 磨皮模式:0(脸部区域磨皮), 1(全图磨皮), 2(脸部区域精细磨皮) |
shrinkRatio | Float | 0.11 | 否 | [0,1.0]瘦脸, 默认值 0.11, 0.0 不做瘦脸效果 |
enlargeRatio | Float | 0.13 | 否 | [0,1.0]大眼, 默认值 0.13, 0.0 不做大眼效果 |
smallRatio | Float | 0.10 | 否 | [0,1.0]小脸, 默认值 0.10, 0.0 不做小脸效果 |
narrowFace | Float | 0.0 | 否 | [0,1.0] 窄脸, 默认值 0.0, 0.0 不做窄脸 |
roundEyesRatio | Float | 0.0 | 否 | [0,1.0] 圆眼, 默认值 0.0, 0.0不做圆眼 |
thinFaceShapeRatio | Float | 0.0 | 否 | [0,1.0]瘦脸型, 默认值 0.0, 0.0 不做瘦脸型效果 |
chinLength | Float | 0.0 | 否 | [-1, 1]下巴长短, 默认值为 0.0,[-1, 0]为短下巴,[0, 1]为长下巴 |
hairlineHeightRatio | Float | 0.0 | 否 | [-1, 1]发际线, 默认值为 0.0,[-1, 0] 为低发际线,[0, 1]为高发际线 |
appleMusle | Float | 0.0 | 否 | [0, 1.0]苹果肌,默认值为 0.0,0.0 不做苹果肌 |
narrowNoseRatio | Float | 0.0 | 否 | [0, 1.0]瘦鼻,瘦鼻翼,默认值为 0.0,0.0 不做瘦鼻 |
noseLengthRatio | Float | 0.0 | 否 | [-1, 1]长鼻, 默认值为 0.0, [-1, 0]为短 鼻,[0, 1]为长鼻 |
profileRhinoplasty | Float | 0.0 | 否 | [0, 1.0]侧脸隆鼻,默认值为 0.0,0.0 不做侧脸隆鼻效果 |
mouthSize | Float | 0.0 | 否 | [-1, 1]嘴巴大小,默认值为 0.0,[-1, 0]为放大嘴巴,[0, 1]为缩小嘴巴 |
philtrumLengthRatio | Float | 0.0 | 否 | [-1, 1]人中长短, 默认值为 0.0,[-1, 0]为长人中,[0, 1]为短人中 |
eyeDistanceRatio | Float | 0.0 | 否 | [-1, 1]调整眼距,默认值为 0.0,[-1, 0]为减小眼距,[0, 1]为增加眼距 |
eyeAngleRatio | Float | 0.0 | 否 | [-1, 1]眼睛角度,默认值为 0.0,[-1, 0]为左眼逆时针旋转,[0, 1]为 左眼顺时针旋转,右眼与左眼相对 |
openCanthus | Float | 0.0 | 否 | [0, 1.0]开眼角,默认值为 0.0, 0.0 不做开眼角 |
shrinkJawbone | Float | 0.0 | 否 | [0, 1.0]瘦下颔骨比例,默认值 0.0, 0.0 不做瘦颧骨 |
shrinkRoundFace | Float | 0.0 | 否 | [0, 1.0]圆脸瘦脸,默认值 0.0, 0.0 不做瘦脸 |
shrinkLongFace | Float | 0.0 | 否 | [0, 1.0]长脸瘦脸,默认值 0.0, 0.0 不做瘦脸 |
shrinkGoddessFace | Float | 0.0 | 否 | [0, 1.0]女神瘦脸,默认值 0.0, 0.0 不做瘦脸 |
shrinkNaturalFace | Float | 0.0 | 否 | [0, 1.0]自然瘦脸,默认值 0.0, 0.0 不做瘦脸 |
shrinkWholeHead | Float | 0.0 | 否 | [0, 1.0]整体缩放小头,默认值 0.0, 0.0 不做整体缩放小头效果 |
contrastStrength | Float | 0.05 | 否 | [0,1.0]对比度, 默认值 0.05, 0.0 不做对比度处理 |
saturationStrength | Float | 0.1 | 否 | [0,1.0]饱和度, 默认值 0.10, 0.0 不做饱和度处理 |
sharpen | Float | 0.0 | 否 | [0, 1.0]锐化, 默认值 0.0, 0.0 不做锐化 |
clear | Float | 0.0 | 否 | [0, 1.0]清晰强度,默认值 0.0,0.0 不做清晰 |
bokehStrength | Float | 0.0 | 否 | [0, 1.0]背景虚化强度, 默认值 0.0, 0.0 不做背景虚化 |
eyeHeight | Float | 0.0 | 否 | [-1, 1]眼睛位置比例, 默认值 0.0, [-1, 0]为向下移动眼睛,[0, 1]为向上移动眼睛 |
mouthCorner | Float | 0.0 | 否 | [0, 1.0]嘴角上移比例, 默认值 0.0, 0.0 不做嘴角调整 |
hairline | Float | 0.0 | 否 | [-1, 1]新发际线高低比例, 默认值 0.0, [-1, 0]为低发际线,[0, 1]为高发际线 |
packages | Object Array | 包含内容如下 | 否 | 美妆参数 |
url | String | "https://xxx/res.zip" | 是 | 美妆资源url,美妆资源包请联系客服 |
strength | Float | 0.3 | 是 | 美妆强度 |
filter | Object | 包含内容如下 | 否 | 滤镜参数 |
onlyFigure | Boolean | false | 是 | 滤镜效果是否只作用于数字人,true只对数字人滤镜,false为全局滤镜 |
url | String | "https://xxx/res.zip" | 是 | 滤镜资源url,美妆资源包请联系客服 |
strength | Float | 0.3 | 是 | 滤镜强度 |
# json支持字体列表
语言 | 字体名称 |
---|---|
中文 | Noto Sans S Chinese Black |
中文 | Noto Sans S Chinese Bold |
中文 | Noto Sans S Chinese DemiLight |
中文 | Noto Sans S Chinese Light |
中文 | Noto Sans S Chinese Medium |
中文 | Noto Sans S Chinese Regular |
中文 | Noto Sans S Chinese Thin |
中文 | 仓耳渔阳体 W03 |
中文 | 站酷酷黑 |
中文 | 站酷快乐体2016修订版 |
中文 | 站酷庆科黄油体 |
中文 | 站酷文艺体 |
中文 | 站酷小薇LOGO体 |
中文 | 得意黑 |
中文 | 钉钉进步体 |
中文 | 阿里妈妈东方大楷 |
中文 | 阿里妈妈数黑体 |
中文 | 字魂扁桃体 |
中文 | 包图小白体 |
中文 | 庞门正道粗书体 |
中文 | 杨任东竹石体-Bold |
中文 | 优设标题黑 |
中文 | Gen Jyuu Gothic Normal |
中文 | 字制区喜脉体 |
中文 | 文道潮黑 |
中文 | Alibaba-PuHuiTi-Bold |
中文 | Alibaba-PuHuiTi-Heavy |
中文 | Alibaba-PuHuiTi-Light |
中文 | Alibaba-PuHuiTi-Medium |
中文 | Alibaba-PuHuiTi-Regular |
阿拉伯语 | mastollehregular-2oaxk |
韩语 | HANDotumLVT |
韩语 | HANDotumLVT-bold |
日语 | SourceHanSansJP-Bold |
日语 | SourceHanSansJP-ExtraLight |
日语 | SourceHanSansJP-Heavy |
日语 | SourceHanSansJP-Light |
日语 | SourceHanSansJP-Medium |
日语 | SourceHanSansJP-Normal |
日语 | SourceHanSansJP-Regular |
# json示例
{
"version": "0.0.13",
"video_format": "MP4",
"resolution": [1080, 1920],
"bit_rate": 8,
"frame_rate": 25,
"watermark": {
"show": true,
"content": "内部测试"
},
"digital_role": {
"id": 4051,
"face_feature_id": "0325_nina_s3_beauty",
"name": "Nina",
"url": "https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/materials/77/0325_nina_s3_beauty_20230523213912566.zip",
"position": {
"x": 0,
"y": 0
},
"scale": 1.0,
"z_position": 1,
"rotation": 0.0
},
"tts_config": {
"id": "xiaoyue",
"name": "晓月",
"vendor_id": 3,
"language": "zh-CN",
"pitch_offset": 0.0,
"speed_ratio": 1,
"volume": 100
},
"tts_query": {
"content": "您好,尊贵的客户",
"ssml": false
},
"audios": [{
"url": "https://dhpoc.softsugar.com/adapter/static/9b158cc9-8e42-4d09-b928-49dd9941d922.mp3"
}, {
"url": "https://dhpoc.softsugar.com/adapter/static/9b158cc9-8e42-4d09-b928-49dd9941d922.mp3"
}],
"subtitle": {
"url": "https://aigc.blob.core.chinacloudapi.cn/audio/tts-srt/823v6j88s1k7aobpe7wmqm83q_de347214-96f2-4246-b283-17f40fe6abba.srt",
"position": {
"x": 100,
"y": 300
},
"rgba": [100, 200, 100, 100],
"font_size": 20,
"stroke_width": 5.0,
"stroke_rgba": [255, 0, 0, 0],
"opacity": 0.5,
"background_rgba": [0, 255, 0, 200],
"subtitle_max_len": 8,
"subtitle_cut_by_punc": "True",
"font_family": "Noto Sans S Chinese Black"
},
"backgrounds": [{
"type": 0,
"name": "背景",
"url": "https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/test/background.png",
"rect": [0, 0, 1080, 1920],
"cycle": false,
"start": 0,
"duration": -1
}],
"background-musics": [{
"url": "https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/mayahui/%E7%BE%A4%E6%98%9F%20-%20%E5%96%9C%E6%B4%8B%E6%B4%8B.mp3",
"volume": 100,
"cycle": false
}],
"foregrounds": [{
"type": 0,
"name": "前景",
"url": "http://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/test/frontgroud.png",
"rect": [0, 0, 1080, 1920],
"rotation": 0.0,
"z_position": 0,
"cycle": false,
"start": 0,
"duration": -1
}],
"foreground-texts": [{
"text": "前景",
"font_size": 20,
"font_family": "Noto Sans S Chinese Black",
"z_position": 10,
"stroke_width": 5.0,
"stroke_rgba": [255, 0, 0, 0],
"opacity": 0.5,
"position": {
"x": 0,
"y": 0
},
"background_rgba": [0, 255, 0, 200],
"rgba": [100, 200, 100, 100]
}],
"title": {
"text": "这是标题",
"rgba": [100, 255, 255, 255],
"position": {
"x": 540,
"y": 200
},
"font_size": 50,
"font_family": "Noto Sans S Chinese Black",
"stroke_width": 5.0,
"stroke_rgba": [255, 0, 0, 0],
"scale": 1.0,
"opacity": 0.5,
"background_rgba": [0, 255, 0, 200]
},
"effects": {
"version": "1.0",
"beautify": {
"whitenStrength": 0.30,
"whiten_mode": 0,
"reddenStrength": 0.36,
"smoothStrength": 0.74,
"smooth_mode": 0,
"shrinkRatio": 0.11,
"enlargeRatio": 0.13,
"smallRatio": 0.10,
"narrowFace": 0.0,
"roundEyesRatio": 0.0,
"thinFaceShapeRatio": 0.0,
"chinLength": 0.0,
"hairlineHeightRatio": 0.0,
"appleMusle": 0.0,
"narrowNoseRatio": 0.0,
"noseLengthRatio": 0.0,
"profileRhinoplasty": 0.0,
"mouthSize": 0.0,
"philtrumLengthRatio": 0.0,
"eyeDistanceRatio": 0.0,
"eyeAngleRatio": 0.0,
"openCanthus": 0.0,
"brightEyeStrength": 0.0,
"removeDarkCircleStrength": 0.0,
"removeNasolabialFoldsStrength": 0.0,
"whiteTeeth": 0.0,
"shrinkCheekbone": 0.0,
"thinnerHead": 0.0,
"openExternalCanthus": 0.0,
"shrinkJawbone": 0.0,
"shrinkRoundFace": 0.0,
"shrinkLongFace": 0.0,
"shrinkGoddessFace": 0.0,
"shrinkNaturalFace": 0.0,
"shrinkWholeHead": 0.0,
"contrastStrength": 0.05,
"saturationStrength": 0.10,
"sharpen": 0.0,
"clear": 0.0,
"eyeHeight": 0.0,
"mouthCorner": 0.05,
"hairline": 0.10,
"bokehStrength": 0.0
},
"packages": [{
"url": "https://xxx/xxx.zip",
"strength": 0.3
}, {
"url": "https://xxx/xxx.model",
"strength": 0.5
}],
"filter": {
"onlyFigure": false,
"url": "https://xxx/xxx.model",
"strength": 0.5
}
}
}
# 批量创建视频合成任务
# 接口描述
根据用户上传的指定内容调用算法能力进行批量视频合成,最终返回mp4格式的视频文件列表供用户下载。PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。
# 请求地址
POST
/api/2dvh/v1/material/video/batchCreate
# 请求头
Content-Type:
application/json
# 请求参数
JSON数组格式,数组中对象的字段定义如下:
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
param | String | True | 视频生成参数(该参数为json转义后的字符串) |
videoRequestId | String | True | 视频合成id,需唯一 |
videoName | String | True | 视频名称 |
thumbnailUrl | String | False | 缩略图Url |
# 请求样例
[
{
"param": "video config",
"videoName": "name",
"videoRequestId": "aaa"
},
{
"param": "video config",
"videoName": "name",
"videoRequestId": "bbb"
}
]
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | data object ,异常时通常为空 |
- videoRequestId | String | True | 视频合成id,需唯一 |
- taskId | Long | True | 任务id |
- description | String | True | 任务派发结果描述 |
# 响应样例
{
"code": 0,
"message": "success",
"data": [
{
"videoRequestId": "aaa",
"taskId": 26,
"description": "队列等待中"
},
{
"videoRequestId": "bbb",
"taskId": 27,
"description": "队列等待中"
}
]
}
# 创建接管视频合成任务
# 接口描述
根据用户上传的指定内容调用算法能力进行接管视频合成,最终返回mp4/webm格式的视频文件供用户下载。PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。
# 请求地址
POST
/api/2dvh/v1/material/video/takeover/create
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
param | String | True | 创建接管视频合成任务需要传入正确的param信息,其中包括视频合成参数(该参数为json转义后的字符串),视频合成参数定义参见视频合成任务json定义,其中人物,前景,背景只支持field id。 |
videoName | String | True | 视频名称 |
thumbnailUrl | String | False | 缩略图url |
# 请求样例
{
"videoName": "xxx",
"param": "{\"version\":\"0.0.13\",\"video_format\":\"MP4\",\"resolution\":[1080,1920],\"bit_rate\":8,\"frame_rate\":25,\"watermark\":{\"show\":true,\"content\":\"内部测试\"},\"digital_role\":{\"id\":4051,\"face_feature_id\":\"\",\"name\":\"Nina\",\"url\":\"\",\"fileId\":\"12345\",\"position\":{\"x\":0,\"y\":0},\"scale\":1.0,\"z_position\":1,\"rotation\":0.0,\"start_frame_index\":123},\"tts_config\":{\"id\":\"xiaoyue\",\"name\":\"晓月\",\"vendor_id\":3,\"language\":\"zh-CN\",\"pitch_offset\":0.0,\"speed_ratio\":1,\"volume\":100},\"tts_query\":{\"content\":\"您好,尊贵的客户\",\"ssml\":false},\"audios\":[{\"url\":\"https://dhpoc.softsugar.com/adapter/static/9b158cc9-8e42-4d09-b928-49dd9941d922.mp3\"},{\"url\":\"https://dhpoc.softsugar.com/adapter/static/9b158cc9-8e42-4d09-b928-49dd9941d922.mp3\"}],\"backgrounds\":[{\"type\":0,\"name\":\"背景\",\"url\":\"\",\"fileId\":\"12345\",\"rect\":[0,0,1080,1920],\"cycle\":false,\"start\":0,\"play_offset\":123,\"duration\":-1}],\"foregrounds\":[{\"type\":0,\"name\":\"前景\",\"url\":\"\",\"fileId\":\"12345\",\"rect\":[0,0,1080,1920],\"rotation\":0.0,\"z_position\":0,\"cycle\":false,\"play_offset\":123,\"start\":0,\"duration\":-1}],\"foreground-texts\":[{\"text\":\"前景\",\"font_size\":20,\"font_family\":\"NotoSansSChineseBlack\",\"z_position\":10,\"stroke_width\":5.0,\"stroke_rgba\":[255,0,0,0],\"opacity\":0.5,\"position\":{\"x\":0,\"y\":0},\"background_rgba\":[0,255,0,200],\"rgba\":[100,200,100,100]}],\"title\":{\"text\":\"这是标题\",\"rgba\":[100,255,255,255],\"position\":{\"x\":540,\"y\":200},\"font_size\":50,\"font_family\":\"NotoSansSChineseBlack\",\"stroke_width\":5.0,\"stroke_rgba\":[255,0,0,0],\"scale\":1.0,\"opacity\":0.5,\"background_rgba\":[0,255,0,200]},\"effects\":{\"version\":\"1.0\",\"beautify\":{\"whitenStrength\":0.30,\"whiten_mode\":0,\"reddenStrength\":0.36,\"smoothStrength\":0.74,\"smooth_mode\":0,\"shrinkRatio\":0.11,\"enlargeRatio\":0.13,\"smallRatio\":0.10,\"narrowFace\":0.0,\"roundEyesRatio\":0.0,\"thinFaceShapeRatio\":0.0,\"chinLength\":0.0,\"hairlineHeightRatio\":0.0,\"appleMusle\":0.0,\"narrowNoseRatio\":0.0,\"noseLengthRatio\":0.0,\"profileRhinoplasty\":0.0,\"mouthSize\":0.0,\"philtrumLengthRatio\":0.0,\"eyeDistanceRatio\":0.0,\"eyeAngleRatio\":0.0,\"openCanthus\":0.0,\"brightEyeStrength\":0.0,\"removeDarkCircleStrength\":0.0,\"removeNasolabialFoldsStrength\":0.0,\"whiteTeeth\":0.0,\"shrinkCheekbone\":0.0,\"thinnerHead\":0.0,\"openExternalCanthus\":0.0,\"shrinkJawbone\":0.0,\"shrinkRoundFace\":0.0,\"shrinkLongFace\":0.0,\"shrinkGoddessFace\":0.0,\"shrinkNaturalFace\":0.0,\"shrinkWholeHead\":0.0,\"contrastStrength\":0.05,\"saturationStrength\":0.10,\"sharpen\":0.0,\"clear\":0.0,\"eyeHeight\":0.0,\"mouthCorner\":0.05,\"hairline\":0.10,\"bokehStrength\":0.0}}}"
}
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Integer | False | 任务id |
# 响应样例
{
"code": 0,
"message": "success",
"data": 1
}
# json参数说明
同视频合成任务参数,请参考视频合成任务json参数说明
# json示例
{
"version": "0.0.13",
"video_format": "MP4",
"resolution": [1080, 1920],
"bit_rate": 8,
"frame_rate": 25,
"watermark": {
"show": true,
"content": "内部测试"
},
"digital_role": {
"id": 4051,
"face_feature_id": "",
"name": "Nina",
"url": "",
"fileId": "12345",
"position": {
"x": 0,
"y": 0
},
"scale": 1.0,
"z_position": 1,
"rotation": 0.0,
"start_frame_index":123
},
"tts_config": {
"id": "xiaoyue",
"name": "晓月",
"vendor_id": 3,
"language": "zh-CN",
"pitch_offset": 0.0,
"speed_ratio": 1,
"volume": 100
},
"tts_query": {
"content": "您好,尊贵的客户",
"ssml": false
},
"audios": [{
"url": "https://dhpoc.softsugar.com/adapter/static/9b158cc9-8e42-4d09-b928-49dd9941d922.mp3"
}, {
"url": "https://dhpoc.softsugar.com/adapter/static/9b158cc9-8e42-4d09-b928-49dd9941d922.mp3"
}],
"backgrounds": [{
"type": 0,
"name": "背景",
"url": "",
"fileId": "12345",
"rect": [0, 0, 1080, 1920],
"cycle": false,
"start": 0,
"play_offset": 123,
"duration": -1
}],
"foregrounds": [{
"type": 0,
"name": "前景",
"url": "",
"fileId": "12345",
"rect": [0, 0, 1080, 1920],
"rotation": 0.0,
"z_position": 0,
"cycle": false,
"play_offset": 123,
"start": 0,
"duration": -1
}],
"foreground-texts": [{
"text": "前景",
"font_size": 20,
"font_family": "Noto Sans S Chinese Black",
"z_position": 10,
"stroke_width": 5.0,
"stroke_rgba": [255, 0, 0, 0],
"opacity": 0.5,
"position": {
"x": 0,
"y": 0
},
"background_rgba": [0, 255, 0, 200],
"rgba": [100, 200, 100, 100]
}],
"title": {
"text": "这是标题",
"rgba": [100, 255, 255, 255],
"position": {
"x": 540,
"y": 200
},
"font_size": 50,
"font_family": "Noto Sans S Chinese Black",
"stroke_width": 5.0,
"stroke_rgba": [255, 0, 0, 0],
"scale": 1.0,
"opacity": 0.5,
"background_rgba": [0, 255, 0, 200]
},
"effects": {
"version": "1.0",
"beautify": {
"whitenStrength": 0.30,
"whiten_mode": 0,
"reddenStrength": 0.36,
"smoothStrength": 0.74,
"smooth_mode": 0,
"shrinkRatio": 0.11,
"enlargeRatio": 0.13,
"smallRatio": 0.10,
"narrowFace": 0.0,
"roundEyesRatio": 0.0,
"thinFaceShapeRatio": 0.0,
"chinLength": 0.0,
"hairlineHeightRatio": 0.0,
"appleMusle": 0.0,
"narrowNoseRatio": 0.0,
"noseLengthRatio": 0.0,
"profileRhinoplasty": 0.0,
"mouthSize": 0.0,
"philtrumLengthRatio": 0.0,
"eyeDistanceRatio": 0.0,
"eyeAngleRatio": 0.0,
"openCanthus": 0.0,
"brightEyeStrength": 0.0,
"removeDarkCircleStrength": 0.0,
"removeNasolabialFoldsStrength": 0.0,
"whiteTeeth": 0.0,
"shrinkCheekbone": 0.0,
"thinnerHead": 0.0,
"openExternalCanthus": 0.0,
"shrinkJawbone": 0.0,
"shrinkRoundFace": 0.0,
"shrinkLongFace": 0.0,
"shrinkGoddessFace": 0.0,
"shrinkNaturalFace": 0.0,
"shrinkWholeHead": 0.0,
"contrastStrength": 0.05,
"saturationStrength": 0.10,
"sharpen": 0.0,
"clear": 0.0,
"eyeHeight": 0.0,
"mouthCorner": 0.05,
"hairline": 0.10,
"bokehStrength": 0.0
}
}
}
# 创建TTS个人音色模型生成任务(QID)
# 接口描述
TTS个人音色模型生成( QID)服务可根据用户上传的真人采集或录制的语音素材文件,以及声音复刻同意文件,通过算法训练产出发音效果与声音素材提供者一致的数字人TTS音色模型。为保证训练效果,请在采集时遵照商汤数字人音色复制采集制作规范,内容包括环境要求、设备要求、发音要求、授权要求、朗读脚本,具体参考:采集规范 (opens new window),PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。
# 请求地址
POST
/api/2dvh/v1/material/voice/clone/qid/create
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
audioUrl | String | True | 训练音频文件 URL。素材支持格式:wav, mp3, m4a, mp4, mov, aac |
audioLanguage | String | True | 音频文件中使用的主要语言。zh-CN 中文普通话,en-US 美式英文。遵循 BCP 47 标准 |
consent | Object | True | 用户同意声明信息 |
- audioUrl | String | True | 用户同意音频文件 URL。用户同意文件应与音频文件在相同环境下录制并使用同一种语言。 中文的用户同意声明文本为:”我(发音人姓名)确认我的声音将会被(公司名称)使用于创建合成版本语音。”。 English: "I [state your first and last name] am aware that recordings of my voice will be used by [state the name of the company] to create and use a synthetic version of my voice." Japanese: "私(姓名を記入)は自身の音声を(会社名を記入)が使用し、合成音声を作り使用されることに同意します。" Korean: "나는 [본인의 이름을 말씀하세요] 내 목소리의 녹음을 이용해 합성 버전을 만들어 사용된다는 것을 [회사 이름을 말씀하세요]알고 있습니다." 素材支持格式:wav, mp3, m4a, mp4, mov, aac |
- speakerName | String | True | 用户同意音频文件中使用的发音人姓名,必须与音频文件中的发音人姓名保持一致。长度限制不大于64字符 |
- companyName | String | True | 用户同意文件中使用的公司名称,必须与音频文件中的公司名称保持一致。长度限制不大于64字符 |
taskType | String | True | 训练算法类型。TTS3,TTS6,TTS7,TTS8,TTS101。默认填写TTS3。更多需求请咨询技术支持 |
voice | Object | True | 发音人信息 |
- name | String | True | 发音人名称。长度限制不大于64字符 |
- gender | Integer | True | 发音人性别 (1: Male, 2 : Female) |
musicSep | Boolean | False | 是否进行音频背景音乐消除(声源分离) |
trainMode | String | False | 训练模式,仅对TTS3有效。common: 常规训练模式,默认为 common模式;backend_only: 极速训练模式,大幅度压缩模型训练时长,效果也会有影响 |
# 请求样例
{
"audioUrl": "http://oss.com/abc/object.mp3",
"audioLanguage": "zh-CN",
"consent": {
"audioUrl":"http://oss.com/abc/xx.mp3",
"speakerName": "xiaowang",
"companyName": "XXXX"
},
"taskType": "TTS3",
"voice": {
"name": "xiaotang0",
"gender": 2
},
"musicSep": false,
"trainMode": "common"
}
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 任务id |
# 响应样例
{
"code": 0,
"message": "success",
"data": 11890
}
# TTS音色训练传入音频时间要求
训练算法类型 | 时间要求 |
---|---|
TTS3 | 至少5分钟,20分钟以上效果比较好 |
TTS6 | 30-90秒 |
TTS7 | 30-300秒 |
TTS8 | 30-300秒 |
TTS101 | 至少5分钟,20分钟以上效果比较好 |
# TTS语言标准(BCP 47 标准)
代码 | 语言(地区) |
---|---|
en-US | 英语(美国) |
zh-CN | 中文(中国) |
af-ZA | 南非荷兰语(南非) |
am-ET | 阿姆哈拉语(埃塞俄比亚) |
ar-EG | 阿拉伯语(埃及) |
ar-SA | 阿拉伯语(沙特阿拉伯) |
az-AZ | 阿塞拜疆语(阿塞拜疆) |
bg-BG | 保加利亚语(保加利亚) |
bn-BD | 孟加拉语(孟加拉国) |
bn-IN | 孟加拉语(印度) |
bs-BA | 波斯尼亚语(波斯尼亚和黑塞哥维那) |
ca-ES | 加泰罗尼亚语(西班牙) |
cs-CZ | 捷克语(捷克) |
cy-GB | 威尔士语(英国) |
da-DK | 丹麦语(丹麦) |
de-AT | 德语(奥地利) |
de-CH | 德语(瑞士) |
de-DE | 德语(德国) |
el-GR | 希腊语(希腊) |
en-AU | 英语(澳大利亚) |
en-CA | 英语(加拿大) |
en-GB | 英语(英国) |
en-IE | 英语(爱尔兰) |
en-IN | 英语(印度) |
es-ES | 西班牙语(西班牙) |
es-MX | 西班牙语(墨西哥) |
et-EE | 爱沙尼亚语(爱沙尼亚) |
eu-ES | 巴斯克语(西班牙) |
fa-IR | 波斯语(伊朗) |
fi-FI | 芬兰语(芬兰) |
fil-PH | 菲律宾语(菲律宾) |
fr-BE | 法语(比利时) |
fr-CA | 法语(加拿大) |
fr-CH | 法语(瑞士) |
fr-FR | 法语(法国) |
ga-IE | 爱尔兰语(爱尔兰) |
gl-ES | 加利西亚语(西班牙) |
he-IL | 希伯来语(以色列) |
hi-IN | 印地语(印度) |
hr-HR | 克罗地亚语(克罗地亚) |
hu-HU | 匈牙利语(匈牙利) |
hy-AM | 亚美尼亚语(亚美尼亚) |
id-ID | 印度尼西亚语(印度尼西亚) |
is-IS | 冰岛语(冰岛) |
it-IT | 意大利语(意大利) |
ja-JP | 日语(日本) |
jv-ID | 爪哇语(印度尼西亚) |
ka-GE | 格鲁吉亚语(格鲁吉亚) |
kk-KZ | 哈萨克语(哈萨克斯坦) |
km-KH | 高棉语(柬埔寨) |
kn-IN | 卡纳达语(印度) |
ko-KR | 韩语(韩国) |
lo-LA | 老挝语(老挝) |
lt-LT | 立陶宛语(立陶宛) |
lv-LV | 拉脱维亚语(拉脱维亚) |
mk-MK | 马其顿语(马其顿) |
ml-IN | 马拉雅拉姆语(印度) |
mn-MN | 蒙古语(蒙古) |
ms-MY | 马来语(马来西亚) |
mt-MT | 马耳他语(马耳他) |
my-MM | 缅甸语(缅甸) |
nb-NO | 挪威语(博克马尔,挪威) |
ne-NP | 尼泊尔语(尼泊尔) |
nl-BE | 荷兰语(比利时) |
nl-NL | 荷兰语(荷兰) |
pl-PL | 波兰语(波兰) |
ps-AF | 普什图语(阿富汗) |
pt-BR | 葡萄牙语(巴西) |
pt-PT | 葡萄牙语(葡萄牙) |
ro-RO | 罗马尼亚语(罗马尼亚) |
ru-RU | 俄语(俄罗斯) |
si-LK | 僧伽罗语(斯里兰卡) |
sk-SK | 斯洛伐克语(斯洛伐克) |
sl-SI | 斯洛文尼亚语(斯洛文尼亚) |
so-SO | 索马里语(索马里) |
sq-AL | 阿尔巴尼亚语(阿尔巴尼亚) |
sr-RS | 塞尔维亚语(塞尔维亚) |
su-ID | 巽他语(印度尼西亚) |
sv-SE | 瑞典语(瑞典) |
sw-KE | 斯瓦希里语(肯尼亚) |
ta-IN | 泰米尔语(印度) |
te-IN | 泰卢固语(印度) |
th-TH | 泰语(泰国) |
tr-TR | 土耳其语(土耳其) |
uk-UA | 乌克兰语(乌克兰) |
ur-PK | 乌尔都语(巴基斯坦) |
uz-UZ | 乌兹别克语(乌兹别克斯坦) |
vi-VN | 越南语(越南) |
zh-HK | 中文(香港) |
zh-TW | 中文(台湾) |
zu-ZA | 祖鲁语(南非) |
# 创建TTS个人音色模型生成任务(旧接口,不推荐使用)
# 接口描述
TTS个人音色模型生成服务可根据用户上传的真人采集或录制的语音素材文件通过算法训练产出发音效果与声音素材提供者一致的数字人TTS音色模型。为保证训练效果,训练音频时长不得短于5分钟,请在采集时遵照商汤数字人音色复制采集制作规范,内容包括环境要求、设备要求、发音要求、授权要求、朗读脚本,具体参考:采集规范 (opens new window),PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。
# 请求地址
POST
/api/2dvh/v1/material/voice/clone/create
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
url | String | True | 训练音频文件URL,时长不得短于5分钟 |
voice | Object | True | 语音参数 |
- name | String | True | 发音人名称 |
- gender | Integer | True | 发音人性别(1: Male,2 :Female) |
- language | String | True | 发音人语言(当前仅支持zh-CN:中文普通话) |
musicSep | Boolean | False | 是否进行音频背景音消除 |
sampleAudioMsg | String | False | 示例音频内容文字。默认不生成示例音频。不超过500字。 |
trainMode | String | False | 训练模式,common: 常规训练模式,默认为 common模式;backend_only: 极速训练模式,大幅度压缩模型训练时长,效果也会有影响。 |
# 请求样例
{
"url": "http://oss.com/abc/object.zip",
"voice": {
"name": "xiaotang0",
"gender": 2,
"language": "zh-CN"
},
"sampleAudioMsg": "我是商汤数字人!",
"musicSep": true,
"trainMode": "common"
}
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 任务id |
# 响应样例
{
"code": 0,
"message": "success",
"data": 11890
}
# 创建人物形象模型生成任务
# 接口描述
根据用户上传的一个或多个视频及指定内容调用算法能力进行人物形象模型生成,支持一次训练产出一个或多个模型文件,算法最终返回人物形象模型的压缩包和缩略图文件供用户下载。上传视频内容请参考采集规范 (opens new window)。PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。 若人物模型生成的效果不佳,请参考文档上述的case 应对方案进行训练参数调整。
支持普通数字人训练,支持精品数字人训练。
# 请求地址
POST
/api/2dvh/v1/material/2davatar/model/multi/create
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
materialName | String | True | 人物模型素材名称,一次训练任务仅支持同一命名 |
videoUrl | String | True | 基础base视频素材下载地址 ,基础视频时长要求必须在6min以上 |
param | String | True | 创建多视频人物模型生成任务需要传入正确的param信息,其中包括各类参数(该参数为json转义后的字符串),请参考下面的参数说明和 json 示例 |
# param参数说明
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
personal | String | True | 基础视频参数,可被辅助视频覆盖。如果辅助视频未填写,将使用基础视频参数进行处理。 |
- segmentStyle | Integer | True | 背景分割方式:0:不分割,1:绿幕分割,2:普通分割,3:sdk做绿幕分割后处理(视频合成时gpu后处理) |
- removeGreenEdge | Boolean | False | 当segmentStyle=2时,设置有效,默认为false,去除人物边缘绿边功能 |
- greenParamsRefinethHBgr | Integer | False | 当segmentStyle=1或 3时,设置有效, 默认 160,范围0-255; refine alpha 高阈值 (对于背景为红绿蓝),用于调整背景保留程度,值越大背景保留程度越大 |
- greenParamsRefinethLBgr | Integer | False | 当segmentStyle=1 或 3时,设置有效, 默认 40, 范围0-255; refine alpha 低阈值 (对于背景为红绿蓝),用于调整人体/物体边缘保留宽度,值越大保留越多 |
- greenParamsBlurKs | Integer | False | 当segmentStyle=1或 3时,设置有效, 默认 3,平滑度; 去噪点的blur系数,大于等于0,平滑度越大越平滑,对边缘有影响,若边缘出现黑边异色可以将该值升高,若边缘出现内蚀可以该值适当降低 |
- greenParamsColorbalance | Integer | False | 当segmentStyle=1 或 3时, 设置有效,默认100, 去绿程度,范围0-100,取值越大,去绿程度越高 |
- greenParamsSpillByalpha | Double | False | 当segmentStyle=1和3时,设置有效, 默认 0.5,去绿色彩平衡,范围[-1.0 ~ 1.0],0 ~ 1 是减少偏色,-1 ~ 0 是增强色彩,小于0.5黄色会偏色,大于0.5青蓝色会偏色,若使用蓝幕分割,则默认值需要改为 0.0 |
- greenParamsSamplePointBgr | int[] | False | 当segmentStyle=1 或 3时,设置有效,采样颜色,由三个数值组成,各自取值范围0-255,例如[0, 255, 0] ,若使用蓝幕分割,则默认值需要改为 [255, 0, 0] |
- assetStart | Float | False | 裁剪视频素材起始时间(秒)(精品数字人该参数无效) |
- assetEnd | Float | False | 裁剪视频素材终止时间(秒)(精品数字人该参数无效) |
- assetScale | Float | False | 视频素材缩放比例(默认1.0) |
- actionChange | Object | False | 精品数字人相关参数。此组参数support=true时有效。表示训练的数字人类型为精品数字人。 actionChange部分与actionEdit部分互斥,请避免同时这两组参数均为true。 |
- - support | Boolean | True | 是否支持精品数字人,true为精品数字人。 |
- - staticRangeStart | Float | True | 静态素材开始时间(秒)(仅支持精品数字人) |
- - staticRangeEnd | Float | True | 静态素材结束时间(秒)(仅支持精品数字人) |
- - dynamicRangeStart | Float | True | 动态素材开始时间(秒)(仅支持精品数字人) |
- - dynamicRangeEnd | Float | True | 动态素材结束时间(秒)(仅支持精品数字人) |
- - gap | Integer | False | 切出点最大间隔帧数(默认75) |
- actionEdit | Object | False | 动作编辑数字人相关参数,此组参数support=true时有效,表示训练的数字人类型为动作编辑数字人。 actionChange部分与actionEdit部分互斥,请避免同时这两组参数均为true。 |
- - support | Boolean | True | 是否支持支持动作编辑,true支持。 |
- - videoPath | String | True | 动态素材文件地址 |
- - gap | Integer | False | 切出点最大间隔帧数(默认25) |
- - actionList | Array | True | 动作列表 |
- - - name | String | True | 动作名称 |
- - - clipRangeStart | Float | True | 开始时间(秒) |
- - - clipRangeEnd | Float | True | 结束时间(秒) |
- - - description | String | False | 动作的文字描述 |
persistent | Object | True | 模型全局参数,不可被辅助视频参数覆盖。 |
- avatarType | Integer | False | 数类型,默认为0.(0:数字人,1:动静数字人,2:动作编辑数字人,3:快速数字人 |
- videoCrfQuality | Integer | True | 视频编码质量的参数crf, 参数越小质量越好但文件越大,默认23,允许范围0-51,建议14-28 |
- stage1Config | Array | True | 人物模型口型训练配置,默认为0表示生成原始口型模型 ; 1 表示生成通用口型模型 ,后续用户可根据实际效果选择手动切换两种口型模型 |
- dev | Object | False | 视频素材模型训练配置 |
- - stage2 | Object | False | 视频素材模型训练配置 |
- - - config | Integer | True | 视频素材模型训练配置,模型尺寸,默认为0,表示2k精度模型;1表示4k精度模型 |
override | Array | False | 辅助视频信息。(精品数字人该组参数无效,动作编辑数字人该组参数无效) |
- videoUrl | String | True | 辅助视频地址,如果辅助视频未配置则personal中参数 |
- segmentStyle | Integer | False | 背景分割方式:0:不分割,1:绿幕分割,2:普通分割,3:sdk做绿幕分割后处理(视频合成时gpu后处理) |
- removeGreenEdge | Boolean | False | 当segmentStyle=2时,设置有效,默认为false,去除人物边缘绿边功能 |
- greenParamsRefinethHBgr | Integer | False | 当segmentStyle=1或 3时,设置有效, 默认 160,范围0-255; refine alpha 高阈值 (对于背景为红绿蓝),用于调整背景保留程度,值越大背景保留程度越大 |
- greenParamsRefinethLBgr | Integer | False | 当segmentStyle=1 或 3时,设置有效, 默认 40, 范围0-255; refine alpha 低阈值 (对于背景为红绿蓝),用于调整人体/物体边缘保留宽度,值越大保留越多 |
- greenParamsBlurKs | Integer | False | 当segmentStyle=1或 3时,设置有效, 默认 3,平滑度; 去噪点的blur系数,大于等于0,平滑度越大越平滑,对边缘有影响,若边缘出现黑边异色可以将该值升高,若边缘出现内蚀可以该值适当降低 |
- greenParamsColorbalance | Integer | False | 当segmentStyle=1 或 3时, 设置有效,默认100, 去绿程度,范围0-100,取值越大,去绿程度越高 |
- greenParamsSpillByalpha | Double | False | 当segmentStyle=1和3时,设置有效, 默认 0.5,去绿色彩平衡,范围[-1.0 ~ 1.0],0 ~ 1 是减少偏色,-1 ~ 0 是增强色彩,小于0.5黄色会偏色,大于0.5青蓝色会偏色,若使用蓝幕分割,则默认值需要改为 0.0 |
- greenParamsSamplePointBgr | int[] | False | 当segmentStyle=1 或 3时,设置有效,采样颜色,由三个数值组成,各自取值范围0-255,例如[0, 255, 0] ,若使用蓝幕分割,则默认值需要改为 [255, 0, 0] |
- assetStart | Float | False | 裁剪视频素材起始时间(秒) |
- assetEnd | Float | False | 裁剪视频素材终止时间(秒) |
- assetScale | Float | False | 视频素材缩放比例(默认1.0) |
# 请求样例
{
"materialName": "534",
"videoUrl": "https://xxx/materials/33/demo_20230228104258028_20230720185601860.mp4",
"param": "{\"personal\":{\"segmentStyle\":1,\"removeGreenEdge\":false,\"greenParamsRefinethHBgr\":180,\"greenParamsRefinethLBgr\":50,\"greenParamsBlurKs\":3,\"greenParamsColorbalance\":90,\"greenParamsSpillByalpha\":0.4,\"greenParamsSamplePointBgr\":[0,255,0],\"assetStart\":0.1,\"assetEnd\":0.6,\"assetScale\":1},\"persistent\":{\"videoCrfQuality\":23,\"stage1Config\":[0,1],\"dev\":{\"stage2\":{\"config\":1}}},\"override\":[{\"videoUrl\":\"https://aigc-video-saas.oss-cn-hangzhou.aliyuncs.com/AIGC/online/vendor/24/customization/1700120490581/package_1700120490581.mp4\",\"segmentStyle\":1,\"removeGreenEdge\":false,\"greenParamsRefinethHBgr\":180,\"greenParamsRefinethLBgr\":50,\"greenParamsBlurKs\":3,\"greenParamsColorbalance\":90,\"greenParamsSpillByalpha\":0.4,\"greenParamsSamplePointBgr\":[0,255,0],\"assetStart\":0.1,\"assetEnd\":0.6,\"assetScale\":1},{\"videoUrl\":\"https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/demo.mp4\",\"segmentStyle\":1,\"removeGreenEdge\":false,\"greenParamsRefinethHBgr\":180,\"greenParamsRefinethLBgr\":50,\"greenParamsBlurKs\":3,\"greenParamsColorbalance\":90,\"greenParamsSpillByalpha\":0.4,\"greenParamsSamplePointBgr\":[0,255,0],\"assetStart\":0.1,\"assetEnd\":0.6,\"assetScale\":1}]}"
}
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 任务id |
# 响应样例
{
"code": 0,
"message": "success",
"data": 1
}
# 创建人物形象模型生成任务(旧接口)
# 接口描述
注意:该接口仅支持普通数字人模型生成任务,该接口不进行新内容更新。建议使用创建人物形象模型生成接口。
根据用户上传的指定内容调用算法能力进行人物形象模型生成,最终返回人物形象模型的压缩包和缩略图文件供用户下载。上传内容请参考采集规范 (opens new window)。PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。
# 请求地址
POST
/api/2dvh/v1/material/2davatar/model/create
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
materialName | String | True | 人物模型素材名称 |
videoUrl | String | True | 视频素材下载地址 |
segmentStyle | Integer | True | 背景分割方式:0:不分割,1:绿幕分割,2:普通分割,3:sdk做绿幕分割后处理(视频合成时gpu后处理) |
removeGreenEdge | Boolean | False | 当segmentStyle=2时,设置有效,默认为false,去除人物边缘绿边功能 |
greenParamsRefinethHBgr | Integer | False | 当segmentStyle=1或 3时,设置有效, 默认 160,范围0-255; refine alpha 高阈值 (对于背景为红绿蓝),用于调整背景保留程度,值越大背景保留程度越大 |
greenParamsRefinethLBgr | Integer | False | 当segmentStyle=1 或 3时,设置有效, 默认 40, 范围0-255; refine alpha 低阈值 (对于背景为红绿蓝),用于调整人体/物体边缘保留宽度,值越大保留越多 |
greenParamsBlurKs | Integer | False | 当segmentStyle=1或 3时,设置有效, 默认 3,平滑度; 去噪点的blur系数,大于等于0,平滑度越大越平滑,对边缘有影响,若边缘出现黑边异色可以将该值升高,若边缘出现内蚀可以该值适当降低 |
greenParamsColorbalance | Integer | False | 当segmentStyle=1 或 3时, 设置有效,默认100, 去绿程度,范围0-100,取值越大,去绿程度越高 |
greenParamsSpillByalpha | Double | False | 当segmentStyle=1和3时,设置有效, 默认 0.5,去绿色彩平衡,范围[-1.0 ~ 1.0],0 ~ 1 是减少偏色,-1 ~ 0 是增强色彩,小于0.5黄色会偏色,大于0.5青蓝色会偏色,若使用蓝幕分割,则默认值需要改为 0.0 |
greenParamsSamplePointBgr | int[] | False | 当segmentStyle=1 或 3时,设置有效,采样颜色,由三个数值组成,各自取值范围0-255,例如[0, 255, 0] ,若使用蓝幕分割,则默认值需要改为 [255, 0, 0] |
videoCrfQuality | Integer | False | 视频编码质量的参数crf, 参数越小质量越好但文件越大,默认23,允许范围0-51,建议14-28 |
assetStart | Float | False | 裁剪视频素材起始时间(秒) |
assetEnd | Float | False | 裁剪视频素材终止时间(秒) |
assetScale | Float | False | 视频素材缩放比例(默认1.0) |
devStage2Config | Integer | False | 视频素材模型训练配置,模型尺寸,默认为0,表示2k精度模型;1表示4k精度模型 |
stage1Template | Integer | False | 人物模型口型训练配置,默认为0表示生成原始口型模型 ; 1 表示生成通用口型模型 ,后续用户可根据实际效果选择手动切换两种口型模型 |
# 请求样例
当segmentStyle=0的示例
{
"materialName": "534",
"segmentStyle": 1,
"assetScale": 1,
"videoCrfQuality": 21,
"stage1Template": 0,
"devStage2Config": 0,
"videoUrl": "https://xxx/materials/33/demo_20230228104258028_20230720185601860.mp4"
}
当segmentStyle=1的示例
{
"materialName": "534",
"segmentStyle": 1,
"assetScale": 1,
"devStage2Config": 0,
"greenParamsRefinethHBgr": 167,
"greenParamsRefinethLBgr": 17,
"greenParamsBlurKs": 7,
"greenParamsColorbalance": 97,
"greenParamsSpillByalpha": 0.3,
"greenParamsSamplePointBgr": [
7,
275,
7
],
"videoCrfQuality": 21,
"stage1Template": 0,
"videoUrl": "https://xxx/materials/33/demo_20230228104258028_20230720185601860.mp4"
}
当segmentStyle=2的示例,仅greenParamsSpillByalpha可变更取值,其他参数将按照默认值传入
{
"materialName": "534",
"segmentStyle": 2,
"devStage2Config": 0,
"stage1Template": 0,
"removeGreenEdge" : true,
"assetScale": 1,
"greenParamsSpillByalpha": 0.3,
"videoCrfQuality": 21,
"videoUrl": "https://xxx/materials/33/demo_20230228104258028_20230720185601860.mp4"
}
当segmentStyle=3的示例
{
"materialName": "534",
"segmentStyle": 3,
"assetScale": 1,
"devStage2Config": 0,
"stage1Template": 0,
"greenParamsRefinethHBgr": 167,
"greenParamsRefinethLBgr": 17,
"greenParamsBlurKs": 7,
"greenParamsColorbalance": 97,
"greenParamsSpillByalpha": 0.3,
"greenParamsSamplePointBgr": [
7,
275,
7
],
"videoCrfQuality": 21,
"videoUrl": "https://xxx/materials/33/demo_20230228104258028_20230720185601860.mp4"
}
# 参数说明
通常情况下,默认参数即可适配大部分场景,但因场景表现不同出现效果问题时,参数也需要针对调整,下面就一些典型场景提供对应的参数建议。
1)通用场景参数(默认)
此场景为适配大多数场景参数,即上述提供的默认参数取值。
2)数字人画面不清晰调整参数
方法1:将视频编码质量参数(videoCrfQuality)调小,当设置值为14时,数字人素材与原始人物素材清晰度对齐,此方法可能会轻微增大素材大小;
方法2:合成视频或创建直播的输入请求中适当添加锐化sharp值,具体可参考 json 定义说明中 beautify 对象下的 sharpen 取值调大;
方法3:选择4k版本训练数字人
3)人物边缘出现黑边且有轻微反绿调整参数(出现频率高,尤其是白衣服场景易出现)
请参考下面的参数进行人物模型更新(rebuilding),同时调低背景保留程度与人物边缘保留宽度,此方法主要适配绿幕分割场景。参考取值如下:
{
"materialName": "534",
"segmentStyle": 1,
"removeGreenEdge": false ,
"assetScale": 1,
"devStage2Config":0,
"stage1Template": 0,
"greenParamsRefinethHBgr": 90,
"greenParamsRefinethLBgr": 10,
"greenParamsBlurKs": 3,
"greenParamsColorbalance": 100,
"greenParamsSpillByalpha": -0.3,
"greenParamsSamplePointBgr": [
0,
275,
0
],
"videoCrfQuality": 21,
"videoUrl": "https://xxx/materials/33/demo_20230228104258028_20230720185601860.mp4"
}
5)人物边缘有绿边或整体泛绿调整参数
可以调小去绿平衡参数,参数越小去绿力度越高,也更容易偏色,例如将柠檬黄色抠除绿元素而变成橙色,建议最小设为-0.3。此方法可增强色彩,适合画面中没有黄色时,同时支持绿幕分割与普通分割。参考取值如下:
{
"materialName": "534",
"segmentStyle": 2,
"removeGreenEdge": true ,
"devStage2Config": 0,
"stage1Template": 0,
"greenParamsSpillByalpha": -0.3,
"videoCrfQuality": 21,
"videoUrl": "https://xxx/materials/33/demo_20230228104258028_20230720185601860.mp4"
}
6)人物说话脸颊幅度大且在脸颊或脖子位置出现灰边调整参数
此种情况发生原因为初始素材分割结果与驱动后的数字人脸颊边缘不匹配,需要选择绿幕分割后处理(segmentStyle=3)方式训练,主要适合绿幕分割处理的数字人。
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 任务id |
# 响应样例
{
"code": 0,
"message": "success",
"data": 1
}
# 创建人物形象模型更新任务
# 接口描述
2D数字人展示的动作片段是从训练视频中抽取的,默认情况下是从说话的第一秒到3分半的时长。如果对2D数字人的动作片段不满意,可以通过此接口进行动作片段修改,调整展示的动作时长和内容。需要注意的是使用人物形象模型更新功能时,建议背景分割方式与原模型文件生成时选择的背景分割方式一致,变更分割方式可能会引起效果异常问题。 PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。
# 请求地址
POST
/api/2dvh/v1/material/2davatar/model/rebuilding/video
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
materialName | String | True | 人物模型素材名称 |
videoUrl | String | True | 视频素材下载地址 |
modelUrl | String | True | 已生成的原模型文件下载地址 |
segmentStyle | Integer | True | 背景分割方式:0:不分割,1:绿幕分割,2:普通分割,3:sdk做绿幕分割后处理(视频合成时gpu后处理) |
removeGreenEdge | Boolean | False | 当segmentStyle=2时,设置有效,默认为false,去除人物边缘绿边功能 |
greenParamsRefinethHBgr | Integer | False | 当segmentStyle=1或 3时,设置有效, 默认 160,范围0-255; refine alpha 高阈值 (对于背景为红绿蓝),用于调整背景保留程度,值越大背景保留程度越大 |
greenParamsRefinethLBgr | Integer | False | 当segmentStyle=1 或 3时,设置有效, 默认 40, 范围0-255; refine alpha 低阈值 (对于背景为红绿蓝),用于调整人体/物体边缘保留宽度,值越大保留越多 |
greenParamsBlurKs | Integer | False | 当segmentStyle=1或 3时,设置有效, 默认 3,平滑度; 去噪点的blur系数,大于等于0,平滑度越大越平滑,对边缘有影响,若边缘出现黑边异色可以将该值升高,若边缘出现内蚀可以该值适当降低 |
greenParamsColorbalance | Integer | False | 当segmentStyle=1 或 3时, 设置有效,默认100, 去绿程度,范围0-100,取值越大,去绿程度越高 |
greenParamsSpillByalpha | Double | False | 当segmentStyle=1和3时,设置有效, 默认 0.5,去绿色彩平衡,范围[-1.0 ~ 1.0],0 ~ 1 是减少偏色,-1 ~ 0 是增强色彩,小于0.5黄色会偏色,大于0.5青蓝色会偏色,若使用蓝幕分割,则默认值需要改为 0.0 |
greenParamsSamplePointBgr | int[] | False | 当segmentStyle=1 或 3时,设置有效,采样颜色,由三个数值组成,各自取值范围0-255,例如[0, 255, 0] ,若使用蓝幕分割,则默认值需要改为 [255, 0, 0] |
videoCrfQuality | Integer | False | 视频编码质量的参数crf, 参数越小质量越好但文件越大,默认23,允许范围0-51,建议14-28 |
assetStart | Float | False | 裁剪视频素材起始时间(秒) |
assetEnd | Float | False | 裁剪视频素材终止时间(秒) |
assetScale | Float | False | 视频素材缩放比例(默认1.0) |
actionChange | Object | False | 动静切换参数 |
- support | Boolean | True | 是否支持素材动作切换 |
- staticRangeStart | Float | True | 静态素材开始时间(秒) |
- staticRangeEnd | Float | True | 静态素材结束时间(秒) |
- dynamicRangeStart | Float | True | 动态素材开始时间(秒) |
- dynamicRangeEnd | Float | True | 动态素材结束时间(秒) |
- gap | Integer | False | 切出点最大间隔帧数(默认75) |
actionEdit | Object | False | 动作列表相关参数,此组参数support=true时有效 |
- support | Boolean | True | 是否支持支持动作编辑,true支持。 |
- videoPath | String | True | 动态素材文件地址 |
- gap | Integer | False | 切出点最大间隔帧数(默认25) |
- actionList | Array | True | 动作列表 |
- - name | String | True | 动作名称 |
- - clipRangeStart | Float | True | 开始时间(秒) |
- - clipRangeEnd | Float | True | 结束时间(秒) |
- - description | String | False | 动作的文字描述 |
# 请求样例
{
"materialName": "2d任务A",
"videoUrl": "https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx/audio1.mp4",
"modelUrl": "https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx/model1.zip",
"assetStart": 0.0,
"assetEnd": 120.0,
"assetScale": 1.0,
"segmentStyle": 1,
"devStage2Config": 0,
"stage1Template": 0,
"greenParamsRefinethHBgr": 167,
"greenParamsRefinethLBgr": 17,
"greenParamsBlurKs": 7,
"segmentGreenUseGpu":false,
"greenParamsColorbalance": 97,
"greenParamsSpillByalpha": 0.3,
"greenParamsSamplePointBgr": [
7,
275,
7
],
"videoCrfQuality": 21
}
# 参数说明
通常情况下,默认参数即可适配大部分场景,但因场景表现不同出现效果问题时,参数也需要针对调整,下面就一些典型场景提供对应的参数建议。
1)通用场景参数(默认)
此场景为适配大多数场景参数,即上述提供的默认参数取值。
2)数字人画面不清晰调整参数
方法1:将视频编码质量参数(videoCrfQuality)调小,当设置值为14时,数字人素材与原始人物素材清晰度对齐,此方法可能会轻微增大素材大小;
方法2:合成视频或创建直播的输入请求中适当添加锐化sharp值,具体可参考 json 定义说明中 beautify 对象下的 sharpen 取值调大;
方法3:选择4k版本训练数字人,但更新时不支持修改分辨率
3)人物边缘出现黑边且有轻微反绿调整参数(出现频率高,尤其是白衣服场景易出现)
请参考下面的参数进行人物模型更新(rebuilding),同时调低背景保留程度与人物边缘保留宽度,此方法主要适配绿幕分割场景。参考取值如下:
{
"materialName": "534",
"segmentStyle": 1,
"removeGreenEdge": false ,
"assetScale": 1,
"greenParamsRefinethHBgr": 90,
"greenParamsRefinethLBgr": 10,
"greenParamsBlurKs": 3,
"greenParamsColorbalance": 100,
"greenParamsSpillByalpha": -0.3,
"greenParamsSamplePointBgr": [
0,
275,
0
],
"videoCrfQuality": 21,
"videoUrl": "https://xxx/materials/33/demo_20230228104258028_20230720185601860.mp4"
}
5)人物边缘有绿边或整体泛绿调整参数
可以调小去绿平衡参数,参数越小去绿力度越高,也更容易偏色,例如将柠檬黄色抠除绿元素而变成橙色,建议最小设为-0.3。此方法可增强色彩,适合画面中没有黄色时,同时支持绿幕分割与普通分割。参考取值如下:
{
"materialName": "534",
"segmentStyle": 2,
"removeGreenEdge": true ,
"greenParamsSpillByalpha": -0.3,
"videoCrfQuality": 21,
"videoUrl": "https://xxx/materials/33/demo_20230228104258028_20230720185601860.mp4"
}
6)人物说话脸颊幅度大且在脸颊或脖子位置出现灰边调整参数
此种情况发生原因为初始素材分割结果与驱动后的数字人脸颊边缘不匹配,需要选择绿幕分割后处理(segmentStyle=3)方式训练,主要适合绿幕分割处理的数字人。
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 任务id |
# 响应样例
{
"code": 0,
"message": "success",
"data": 1
}
# 创建图片绿幕分割效果预览任务
# 接口描述
图片绿幕分割效果预览
# 请求地址
POST
/api/2dvh/v1/material/2davatar/model/green/segment/image/create
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
materialName | String | True | 图片绿幕分割效果预览任务名称 |
url | String | True | 图片素材下载地址 |
param | String | True | 图片绿幕分割效果预览任务需要传入正确的param信息,其中包括各类参数(该参数为json转义后的字符串),请参考下面的参数说明和 json 示例 |
# param参数说明
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
greenParamsRefinethHBgr | Integer | False | 默认 160,范围70-220。refine alpha 高阈值 (对于背景为红绿蓝),用于调整背景保留程度,值越大背景保留程度越大 |
greenParamsRefinethLBgr | Integer | False | 默认 40, 范围10-80。refine alpha 低阈值 (对于背景为红绿蓝),用于调整人体/物体边缘保留宽度,值越大保留越多 |
greenParamsBlurKs | Integer | False | 默认 3,范围:1-24。平滑度; 去噪点的blur系数,大于等于0,平滑度越大越平滑,对边缘有影响,若边缘出现黑边异色可以将该值升高,若边缘出现内蚀可以该值适当降低。 |
greenParamsColorbalance | Integer | False | 默认100, 去绿程度,范围0-100,取值越大,去绿程度越高 |
greenParamsSpillByalpha | Double | False | 默认 0.5,去绿色彩平衡,范围[-1.0 ~ 1.0],0 ~ 1 是减少偏色,-1 ~ 0 是增强色彩,小于0.5黄色会偏色,大于0.5青蓝色会偏色,若使用蓝幕分割,则默认值需要改为 0.0 |
greenParamsSamplePointBgr | int[] | False | 设置有效,采样颜色,由三个数值组成,各自取值范围0-255,例如[0, 255, 0] ,若使用蓝幕分割,则默认值需要改为 [255, 0, 0] |
greenParamsSampleBackground | object | False | 背景参数,请参考下面的参数说明和 json 示例 |
# greenParamsSampleBackground参数说明
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
color | int[] | False | 默认 [0,255,0], rgb颜色值,范围0-255 |
# 请求样例
{
"materialName": "534",
"url": "https://xxx/materials/33/demo_20230228104258028_20230720185601860.mp4",
"param": "{\"green_params_refineth_h_bgr\":230,\"green_params_refineth_l_bgr\":70,\"green_params_blur_ks\":3,\"green_params_colorbalance\":100,\"green_params_spill_byalpha\":0,\"green_params_sample_point_bgr\":[0,255,0],\"green_params_sample_background\":{\"color\":[0,100,255]}}"
}
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 任务信息 |
- id | Long | True | 任务id |
- url | String | True | 图片地址 |
# 响应样例
{
"code": 0,
"message": "success",
"data": 1
}
# 视频绿幕分割效果预览
# 接口描述
视频绿幕分割效果预览
# 请求地址
POST
/api/2dvh/v1/material/2davatar/model/green/segment/video/create
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
materialName | String | True | 视频绿幕分割效果预览任名称 |
url | String | True | 基础base视频素材下载地址 ,基础视频时长要求必须在6min以上 |
param | String | True | 视频绿幕分割效果预览任务需要传入正确的param信息,其中包括各类参数(该参数为json转义后的字符串),请参考下面的参数说明和 json 示例 |
# param参数说明
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
greenParamsRefinethHBgr | Integer | False | 默认 160,范围70-220。refine alpha 高阈值 (对于背景为红绿蓝),用于调整背景保留程度,值越大背景保留程度越大 |
greenParamsRefinethLBgr | Integer | False | 默认 40, 范围10-80。refine alpha 低阈值 (对于背景为红绿蓝),用于调整人体/物体边缘保留宽度,值越大保留越多 |
greenParamsBlurKs | Integer | False | 默认 3,范围:1-24。平滑度; 去噪点的blur系数,大于等于0,平滑度越大越平滑,对边缘有影响,若边缘出现黑边异色可以将该值升高,若边缘出现内蚀可以该值适当降低 |
greenParamsColorbalance | Integer | False | 默认100, 去绿程度,范围0-100,取值越大,去绿程度越高 |
greenParamsSpillByalpha | Double | False | 默认 0.5,去绿色彩平衡,范围[-1.0 ~ 1.0],0 ~ 1 是减少偏色,-1 ~ 0 是增强色彩,小于0.5黄色会偏色,大于0.5青蓝色会偏色,若使用蓝幕分割,则默认值需要改为 0.0 |
greenParamsSamplePointBgr | int[] | False | 设置有效,采样颜色,由三个数值组成,各自取值范围0-255,例如[0, 255, 0] ,若使用蓝幕分割,则默认值需要改为 [255, 0, 0] |
greenParamsSampleBackground | object | False | 背景参数,请参考下面的参数说明和 json 示例 |
# greenParamsSampleBackground参数说明
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
color | int[] | False | 默认 [0,255,0], rgb颜色值,范围0-255 |
# 请求样例
{
"materialName": "534",
"url": "https://xxx/materials/33/demo_20230228104258028_20230720185601860.mp4",
"param": "{\"green_params_refineth_h_bgr\":230,\"green_params_refineth_l_bgr\":70,\"green_params_blur_ks\":3,\"green_params_colorbalance\":100,\"green_params_spill_byalpha\":0,\"green_params_sample_point_bgr\":[0,255,0],\"green_params_sample_background\":{\"color\":[0,100,255]}}"
}
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 任务id |
# 响应样例
{
"code": 0,
"message": "success",
"data": 1
}
# 创建视频人物换脸任务(内部测试)
# 接口描述
根据用户上传的视频内容和模板图片调用算法能力进行视频人物换脸处理,最终返回处理后的视频文件和缩略图供用户下载。
# 请求地址
POST
/api/2dvh/v1/material/face/swap/create
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
facePhotoUrl | String | True | 换脸使用的模板面部图片 |
videoUrl | String | True | 换脸使用的原始视频文件 |
materialName | String | True | 换脸任务名称 |
# 请求样例
{
"facePhotoUrl": "facePhotoUrl",
"videoUrl": "videoUrl",
"materialName": "materialName"
}
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 任务id |
# 响应样例
{
"code": 0,
"message": "success",
"data": 1
}
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 任务id |
# 响应样例
{
"code": 0,
"message": "success",
"data": 1
}
# 内容预热(口水话/开播脚本适用)(直播场景适用)
# 接口描述
针对口水话场景,开播脚本场景,提前进行文本请求/语音请求,得到一个id,在直播开播时直接使用,可在直播场景下提升开播/回复速度。
# 请求地址
POST
/api/2dvh/v1/material/voice/content/repository/create
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
materialName | String | True | 快速问答库名称 |
param | String | True | 快速问答库json,请参考下面的参数说明和 json 示例 |
thumbnailUrl | String | False | 缩略图Url |
# param参数说明
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
type | String | True | 需填值"quick_response"或"startup_script"。 "quick_response"表示在互动数字人场景中的口水话功能中使用。 "startup_script"表示在直播场景中的开播脚本中使用。 |
desc | String | False | 描述 |
digital_role | Object | False | 数字人 |
- face_feature_id | String | True | 数字人face feature id |
- name | String | True | 数字人名称 |
tts_config | Object | True | tts配置 |
- qid | String | False | 有text必填 |
- name | String | False | 发音人名称 |
- pitch_offset | Float | False | 音调,数值越大越尖锐,越低越低沉,支持范围 [-60, 60] |
- speed_ratio | Float | False | 语速,数值越大语速越慢,支持范围 [0.5, 2] |
- volume | Integer | False | 音量,数值越大声音越大,支持范围 [1, 400] |
voice_content | Array | True | 适用于数字人脚本和口水词的文本及音频预热。 |
- tts_query | Object | False | 预热内容的请求文本。TTS文本和音频文件只支持一个,同时存在时TTS优先。预热内容要么全部是TTS请求,要么全部是音频请求,不能混用。 |
- - content | String | False | 预热内容的文本内容 |
- - ssml | Boolean | False | 是否使用ssml请求 |
- audio | String | False | 预热内容的音频接管文件地址。TTS文本和音频文件只支持一个,同时存在时TTS优先。预热内容要么全部是TTS请求,要么全部是音频请求,不能混用。 |
# 请求样例
{
"materialName": "534",
"url": "https://xxx/materials/33/demo_20230228104258028_20230720185601860.jpg",
"param": "{\"type\":\"quick_response\",\"desc\":\"123\",\"digital_role\":{\"face_feature_id\":\"1510a3ae060e4d7ea523684eb72b3447_s1test\",\"name\":\"小李\"},\"tts_config\":{\"qid\":\"EAdUVf:AEA_Z10Mqp9GYwDGPMTSiszE7NKMqrCg\",\"name\":\"xiaoxuan\",\"pitch_offset\":0,\"speed_ratio\":1,\"volume\":400},\"voice_content\":[{\"tts_query\":{\"content\":\"感谢你的提问,这个问题我想一下回答你。\",\"ssml\":false},\"audio\":\"\"},{\"tts_query\":{\"content\":\"这是一个好问题,我需要仔细思考一下,才能给出一个准确的答案。\",\"ssml\":false},\"audio\":\"\"},{\"tts_query\":{\"content\":\"好的,这位同学,请稍等。\",\"ssml\":false}}]}"
}
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 任务id |
# 响应样例
{
"code": 0,
"message": "success",
"data": 1
}
# 素材预热(前景,背景,数字人资源适用)(直播场景&视频直播场景适用)
# 接口描述
用户可通过此接口提前将视频合成的素材上传到paas平台,平台做素材预热,可提升视频合成速度。
注:目前不支持取消及重新生成。
# 请求地址
POST
/api/2dvh/v1/material/file/warming
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
materialName | String | True | 素材预热任务名称 |
param | String | True | 素材预热任务json为预热内容数组,请参考下面的参数说明和 json 示例 |
# param参数说明
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
fileId | String | True | 素材文件ID |
fileUrl | String | True | 素材文件URL |
# 请求样例
{
"materialName": "XX场景预热",
"param": "[{\"fileId\":\"9b158cc9-8e42-4d09-b928-49dd9941d921\",\"fileUrl\":\"https://xxx/xxx.png\"},{\"fileId\":\"9b158cc9-8e42-4d09-b928-49dd9941d922\",\"fileUrl\":\"https://xxx/xxx.jpg\"}]"
}
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 任务id |
# 响应样例
{
"code": 0,
"message": "success",
"data": 134
}
# 获取指定任务信息
# 接口描述
根据用户传入的任务ID查询任务的对应信息,以及当前的任务所处状态。
# 请求地址
POST
/api/2dvh/v1/task/info
# 请求头
Content-Type:
application/json
# 请求参数
JSON数组格式,数组中对象的字段定义如下:
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
ids | Long[] | True | 任务id列表 |
# 请求样例
{
"ids": [7,27]
}
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 任务信息 |
- id | Long | True | 任务id |
- materialId | Integer | True | 素材 id |
- materialName | String | True | 素材名称 |
- algoType | Integer | True | 任务类型(11:TTS音色模型生成,12:人物形象模型生成,14:视频合成,20:视频人物换脸,18:人物形象模型更新,25:音色转换, 32:图片绿幕分割预览,33:视频绿幕分割预览,41:TTS V3音色模型生成 ,42:口水话(快速答复库),43:文件预热 ) |
- algoSubType1 | String | True | 人物模型:模型规格:2K/4K,视频合成:使用人物模型规格:2K/4K |
- algoSubType2 | String | False | 视频合成:结果物格式:webm/mp4 |
- algoSubType3 | String | False | 视频合成:结果物帧率 |
- status | Integer | True | 任务状态,0:未开始,1:Dispatcher队列等待中,2:算法正在处理,3:已取消,5:已完成,9:异常 |
- extendParam | String | False | 扩展参数 |
- productParam | String | True | 任务结果json串,不同任务格式不同。 |
- startTime | String | True | 算法开始时间(yyyy-MM-dd HH:mm:ss) |
- endTime | String | True | 算法截止时间(yyyy-MM-dd HH:mm:ss) |
# case1: 视频合成
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
duration | Integer | True | 合成视频时长(单位:毫秒) |
lastFrameIndex | Integer | True | 视频结尾帧 |
algoSubType1 | String | True | 视频合成:使用人物模型规格:2K/4K |
algoSubType2 | String | True | 视频合成:结果物格式:webm/mp4 |
algoSubType3 | String | True | 视频合成:结果物帧率 |
thumbPath | String | True | 缩略图下载地址(7天有效) |
videoPath | String | True | 视频下载地址(7天有效) |
# case1 返回样例:
{
"code": 0,
"message": "success",
"data": [
{
"id": 913318,
"materialId": 854513,
"materialName": "913288",
"productParam": "{\"duration\": 880, \"thumbPath\": \"https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/download/116/xxxx/thumb.png\", \"videoPath\": \"https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/download/116/xxxx/video.mp4\"}",
"extendParam": null,
"startTime": "2024-05-27 16:38:54",
"endTime": "2024-05-27 16:39:03",
"status": 5,
"message": "{\"time_info\": {\"parse_json\": {\"avg\": 15, \"end\": \"2024-05-27 16:38:52.913\", \"sum\": 15, \"start\": \"2024-05-27 16:38:52.897\"}, \"preprocess\": {\"avg\": 342, \"end\": \"2024-05-27 16:38:56.134\", \"sum\": 342, \"start\": \"2024-05-27 16:38:55.792\"}, \"postprocess\": {\"avg\": 380, \"end\": \"2024-05-27 16:39:02.351\", \"sum\": 380, \"start\": \"2024-05-27 16:39:01.971\"}, \"main_process\": {\"avg\": 5837, \"end\": \"2024-05-27 16:39:01.971\", \"sum\": 5837, \"start\": \"2024-05-27 16:38:56.134\"}, \"audio_process\": {\"avg\": 123.91666412353516, \"sum\": 2974}, \"video_process\": {\"avg\": 9.47826099395752, \"sum\": 218}, \"wait_srt_stream\": {\"avg\": 0, \"sum\": 0}, \"send_task_response\": {\"start\": \"2024-05-27 16:39:02.775\"}, \"receive_task_from_agent\": {\"start\": \"2024-05-27 16:38:52.897\"}, \"st_mobile_change_package\": {\"avg\": 1832, \"end\": \"2024-05-27 16:38:54.745\", \"sum\": 1832, \"start\": \"2024-05-27 16:38:52.913\"}}, \"video_info\": {\"fps\": 25, \"format\": \"mp4\", \"digital_type\": \"2K\", \"last_frame_index\": 22}}",
"algoType": 14,
"algoId": "8216eaea6xxxxxx2e0798d21",
"algoSubType1": "2K",
"algoSubType2": "mp4",
"algoSubType3": "25",
"isDelete": 0
}
]
}
# case2: 人物形象模型生成
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
thumbPath | String | True | 基础视频生成人物模型缩略图下载地址(7天有效) |
multi | Array | True | 模型结果 |
- width | String | True | 宽度 |
- width | String | True | 高度 |
- pkgPath | String | True | 人物形象下载地址 (7天有效),多视频人物模型生成时无此字段返回 |
- thumbPath | String | True | 视频生成人物模型缩略图下载地址(7天有效) |
- faceFeatureId | String | True | ff id |
- userJson | String | True | 训练参数 |
- avatarResultJson | String | True | 训练结果 |
# case2 返回样例:
{
"code": 0,
"message": "success",
"data": [
{
"id": 908438,
"materialId": 850297,
"materialName": "蘇xxx",
"productParam": "{\"multi\": [{\"common\": {\"pkgPath\": \"https://dwg-aigc-paas.oss-cn-hangzhou.x.com/x/116/xxxx/input_source/2/xx.zip\", \"userJson\": \"https://dwg-aigc-paas.oss-cnxxxx/input_source/2/xxx.json\", \"thumbPath\": \"https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/download/116/xxx/input_source/2/xxx.png\", \"faceFeatureId\": \"xxxxx\"}, \"origin\": {\"pkgPath\": \"https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/download/116/2bd5e869e94d4995967428fa7ad7cf49_s1/input_source/0/xxx.zip\", \"userJson\": \"https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/download/116/xxx/input_source/0/xxx.json\", \"thumbPath\": \"https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/download/116/xxx/input_source/0/xxx.png\", \"faceFeatureId\": \"2bd5e869e94dxxxxxa7ad7cf49_s1_0\"}, \"videoUrl\": \"https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/xxxxB.mp4\"}], \"thumbPath\": \"https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/download/116/xxx/input_source/0/xxx.png\"}",
"extendParam": null,
"startTime": "2024-05-22 18:14:21",
"endTime": "2024-05-22 21:57:19",
"status": 5,
"message": "{}",
"algoType": 12,
"algoId": "2bd5exxxxxa7ad7cf49_s1",
"algoSubType1": "4K",
"algoSubType2": "multi",
"algoSubType3": "normal",
"isDelete": 0
}
]
}
# case3: (多视频)人物形象模型生成(/model/multi/create接口结果)
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
thumbPath | String | True | 基础视频生成人物模型缩略图下载地址(7天有效) |
multi | Array | False | 多视频人物模型生结果,内容为数组 |
- videoUrl | String | True | 原始视频文件URL |
- orgin | Object | True | 原始口型人物模型对象 (stage1Template参数为0) |
- - thumbPath | String | True | 人物模型缩略图下载地址(7天有效) |
- - pkgPath | String | True | 人物模型下载地址 (7天有效) |
- - faceFeatureId | String | True | Face Feature Id |
- - userJson | String | True | User Json 信息 |
- - avatarResultJson | String | True | Avatar Result Json 信息 |
- common | Object | True | 通用口型人物模型对象 (stage1Template参数为1 ) |
- - thumbPath | String | True | 人物模型缩略图下载地址(7天有效) |
- - pkgPath | String | True | 人物模型下载地址 (7天有效) |
- - faceFeatureId | String | True | Face Feature Id |
- - userJson | String | True | User Json 信息 |
- - avatarResultJson | String | True | Avatar Result Json 信息 |
# case3 productParam 返回样例:
{
"multi": [{
"common": {
"pkgPath": "https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/download/xxx47_s1_input_source_2_result.zip",
"userJson": "https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/download/ss_user.json",
"thumbPath": "https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/xxlt.png",
"faceFeatureId": "8c19c600a75addd9e666eca06413f47_s1_1",
"avatarResultJson": "https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/xxlt.Json"
},
"origin": {
"pkgPath": "https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/download/aa_0_result.zip",
"userJson": "https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/bbuser.json",
"thumbPath": "https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/download/xx0_result.png",
"faceFeatureId": "8c19c600a75a4f323e666eca06413f47_s1_0",
"avatarResultJson": "https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/xxlt.Json"
},
"videoUrl": "https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/xx.mp4"
}],
"thumbPath": "https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/xx.png"
}
# case4: 人物形象模型更新
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
thumbPath | String | True | 人物模型缩略图下载地址(7天有效) |
pkgPath | String | True | 人物模型下载地址 (7天有效) |
modelInfo | String | True | 人物模型:模型规格:2K/4K |
# case4 返回样例:
{
"code": 0,
"message": "success",
"data": [
{
"id": 890212,
"materialId": 833961,
"materialName": "KURUMI",
"productParam": "{\"pkgPath\": \"https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/download/116/xxxx/xxx.zip\", \"userJson\": \"https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/download/116/xxxx/xxxx.json\", \"modelInfo\": \"2K\", \"thumbPath\": \"https://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/download/116/xxx/xxxx.png\"}",
"extendParam": null,
"startTime": "2024-05-10 10:51:35",
"endTime": "2024-05-10 11:50:24",
"status": 5,
"message": "{}",
"algoType": 18,
"algoId": "cut_bf9c19046exxxxxb9af791587_s1",
"algoSubType1": "2K",
"algoSubType2": null,
"algoSubType3": "normal",
"isDelete": 0
}
]
}
# case5: TTS音色模型生成(旧)(不建议使用)
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
taskId | String | True | 对应任务的ID |
voice | Object | True | 声音信息 |
- id | String | True | 声音ID |
- name | String | True | 发音人名称 |
- gender | Integer | True | 发音人性别。0 = Not known。1 = Male。2 = Female。9 = Not applicable |
- language | String | True | 发音人语言。zh-CN中文普通话,en-US美式英文 |
- vendor_id | Integer | True | 声音供应商ID |
taskStatus | Integer | True | 任务状态。1 = 排队中。2 = 任务进行中。3 = 已取消。5 = 已完成。 9 = 异常。 |
msg | String | True | 任务状态描述信息。 |
stage | String | True | 任务子步骤。preprocess:数据预处理。label:数据标注。training:模型训练。deployment:部署阶段。 |
stageStatus | Integer | True | 阶段状态。1 = 排队中。2 = 任务进行中。5 = 已完成。 9 = 异常。 |
sampleAudioUrl | String | False | 示例音频的地址 (7天有效) |
tenant | String | True | 任务所属租户 |
updatedTime | String | True | 任务信息更新时间RFC3339格式。 |
modelUrl | String | False | 任务成功时返回模型下载地址,仅内网可用。暂不对外提供 |
# case6: 视频人物换脸
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
thumbPath | String | True | 缩略图下载地址 (7天有效) |
pkgPath | String | True | 人物形象下载地址 (7天有效) |
# case7: TTS -Qid音色模型生成
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
taskId | String | True | 对应任务的ID |
voice | Object | True | 声音信息 |
- qid | String | True | 声音QID |
- name | String | True | 发音人名称 |
- gender | Integer | True | 发音人性别。0 = Not known。1 = Male。2 = Female。9 = Not applicable |
- languages | String | True | 发音人支持的语言列表。zh-CN中文普通话,en-US美式英文,仅当任务完成时返回 |
taskType | String | True | 声音训练算法类型 |
taskStatus | Integer | True | 任务状态。1 = 排队中。2 = 任务进行中。3 = 已取消。5 = 已完成。 9 = 异常。 |
msg | String | True | 任务状态描述信息。 |
stage | String | True | 任务子步骤。preprocess:数据预处理。label:数据标注。training:模型训练。deployment:部署阶段。 |
stageStatus | Integer | True | 阶段状态。1 = 排队中。2 = 任务进行中。5 = 已完成。 9 = 异常。 |
sampleAudioUrl | String | False | 示例音频的地址 (7天有效) |
tenant | String | True | 任务所属租户 |
updatedTime | String | True | 任务信息更新时间RFC3339格式。 |
extendParam中人物形象模型参数信息
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
faceFeatureId | String | True | Face Feature Id |
# case7 返回样例:
{
"code": 0,
"message": "success",
"data": [
{
"id": 206216,
"materialId": 1990411,
"materialName": "TTS_yunynsent",
"productParam": "{\"msg\":\"task is finished\",\"stage\":\"deployment\",\"voice\":{\"qid\":\"VQ1fQv:AEAygt1ixxxxxxdRPNLE11kg1TLXWSzMxNExLTksK\",\"name\":\"TTS6_yunyxxxxxen_consent\",\"gender\":1,\"languages\":[\"en-US\",\"zh-CN\",\"af-ZA\",\"am-ET\",\"ar-EG\",\"ar-SA\",\"az-AZ\",\"bg-BG\",\"bn-BD\",\"bn-IN\",\"bs-BA\",\"ca-ES\",\"cs-CZ\",\"cy-GB\",\"da-DK\",\"de-AT\",\"de-CH\",\"de-DE\",\"el-GR\",\"en-AU\",\"en-CA\",\"en-GB\",\"en-IE\",\"en-IN\",\"es-ES\",\"es-MX\",\"et-EE\",\"eu-ES\",\"fa-IR\",\"fi-FI\",\"fil-PH\",\"fr-BE\",\"fr-CA\",\"fr-CH\",\"fr-FR\",\"ga-IE\",\"gl-ES\",\"he-IL\",\"hi-IN\",\"hr-HR\",\"hu-HU\",\"hy-AM\",\"id-ID\",\"is-IS\",\"it-IT\",\"ja-JP\",\"jv-ID\",\"ka-GE\",\"kk-KZ\",\"km-KH\",\"kn-IN\",\"ko-KR\",\"lo-LA\",\"lt-LT\",\"lv-LV\",\"mk-MK\",\"ml-IN\",\"mn-MN\",\"ms-MY\",\"mt-MT\",\"my-MM\",\"nb-NO\",\"ne-NP\",\"nl-BE\",\"nl-NL\",\"pl-PL\",\"ps-AF\",\"pt-BR\",\"pt-PT\",\"ro-RO\",\"ru-RU\",\"si-LK\",\"sk-SK\",\"sl-SI\",\"so-SO\",\"sq-AL\",\"sr-RS\",\"su-ID\",\"sv-SE\",\"sw-KE\",\"ta-IN\",\"te-IN\",\"th-TH\",\"tr-TR\",\"uk-UA\",\"ur-PK\",\"uz-UZ\",\"vi-VN\",\"zh-HK\",\"zh-TW\",\"zu-ZA\"]},\"taskId\":\"tts6-xxx-xxxx-xxx-xx-789308\",\"tenant\":\"0\",\"taskType\":\"TTS6\",\"taskStatus\":5,\"stageStatus\":5,\"updatedTime\":\"2024-05-29T09:41:51.373802578Z\",\"sampleAudioUrl\":\"\"}",
"extendParam": null,
"startTime": "2024-05-29 17:38:31",
"endTime": "2024-05-29 17:41:51",
"status": 5,
"message": "{\"tts resp msg\": \"task is finished\"}",
"algoType": 41,
"algoId": "f627-a980-78aba9c20308",
"algoSubType1": null,
"algoSubType2": null,
"algoSubType3": null,
"isDelete": 0
}
]
}
# case8: 文件预热(失败信息,预热成功文件不展示)
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
fileWarmingDetails | Array | False | 失败文件信息 |
- fileId | String | True | 文件ID |
- warmingResult | String | True | 文件预热失败原因 |
# case8 返回样例:
{
"code": 0,
"message": "success",
"data": {
"fileWarmingDetails": [
{
"fileId": "f627-a980-78aba9c20308",
"warmingResult": "download error"
},
{
"fileId": "xde37-a980-78aba9c20308",
"warmingResult": "download error"
}
]
}
}
# 获取账户任务信息
# 接口描述
根据用户的账户ID查询其账户下某算法类型下全部任务的对应信息,以及当前的任务所处状态,任务列表支持分页。
# 请求地址
POST
/api/2dvh/v1/task/listByAccount
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
algoType | Integer | True | 任务类型(11:TTS音色模型生成,12:人物形象模型生成,14:视频合成,20:视频人物换脸,18:人物形象模型更新,25:音色转换, 32:图片绿幕分割预览,33:视频绿幕分割预览,41:TTS V3音色模型生成,42:口水话(快速答复库),43:文件预热 ) |
pageNo | int | False | 当前页码 (默认 1) |
pageSize | int | False | 每页条数 (默认 10) |
sortName | String | False | 排序字段名 |
sortValue | String | False | 排序顺序: asc, desc |
# 请求样例
{
"algoType": 12,
"pageSize": 10,
"pageNo": 1
}
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Number | True | 0 - 成功, 其他- 异常 |
message | String | True | 异常详细信息 |
data | Object | False | data object ,异常时通常为空 |
- pagination | Pagination | True | 分页信息(参照通用数据结构说明) |
- result | Object | True | 任务列表(参照下面说明) |
任务列表
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
id | Long | True | 任务id |
algoType | Integer | True | 任务类型(11:TTS音色模型生成,12:人物形象模型生成,14:视频合成,20: 视频人物换脸,18:人物形象模型更新,25:音色转换, 32:图片绿幕分割预览,33:视频绿幕分割预览,41:TTS V3音色模型生成,42:口水话(快速答复库),43:文件预热 ) |
algoSubType1 | String | True | 人物模型:模型规格:2K/4K,视频合成:使用人物模型规格:2K/4K |
algoSubType2 | String | False | 视频合成:结果物格式:webm/mp4 |
algoSubType3 | String | False | 视频合成:结果物帧率 |
status | Integer | True | 任务状态 0:未开始,1:Dispatcher队列等待中,2:算法正在处理,3:已取消,5:已完成,9:异常 |
productParam | String | True | 任务结果json串,包含视频地址videoPath,视频时长duration,截图地址thumbPath |
startTime | String | True | 算法开始时间(yyyy-MM-dd HH:mm:ss) |
endTime | String | True | 算法截止时间(yyyy-MM-dd HH:mm:ss) |
# 响应样例
{
"code": 0,
"message": "success",
"data": {
"pagination": {
"pageNo": 1,
"numberPages": 1,
"numberRecords": 2,
"pageSize": 2,
"startIndex": 0
},
"result": [
{
"id": 27,
"algoType": 12,
"algoSubType1": "4K",
"algoSubType2": null,
"algoSubType3": null,
"productParam": "\"{\\\"duration\\\":1234,\\\"thumbPath\\\":\\\"https://oss-cn-hangzhou.aliyuncs.com/dwg-aigc-paas/materials/a8610d001aaa412ab2e0433fc848b48f/thumb.jpg\\\",\\\"videoPath\\\":\\\"https://oss-cn-hangzhou.aliyuncs.com/dwg-aigc-paas/materials/a8610d001aaa412ab2e0433fc848b48f/output.mp4\\\"}\"",
"startTime": "2023-02-17 16:53:26",
"endTime": "2023-02-18 10:03:21",
"status": 5
},
{
"id": 7,
"algoType": 12,
"algoSubType1": "4K",
"algoSubType2": null,
"algoSubType3": null,
"productParam": "{}",
"startTime": "2023-02-17 16:56:26",
"endTime": "2023-02-17 17:43:19",
"status": 9
}
]
}
}
# 获取账户任务信息详情
# 接口描述
查询账户下某算法类型下全部任务的对应信息,以及当前的任务所处状态,原始输入内容,返回结果物等信息详情,任务列表支持分页。
# 请求地址
POST
/api/2dvh/v1/task/listWithQueue
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
userId | Long | False | 用户id,默认为当前登录账户id |
algoType | Integer | True | 任务类型(11:TTS音色模型生成(旧),12:人物形象模型生成,14:视频合成,20: 视频人物换脸,18:人物形象模型更新,25:音色转换, 32:图片绿幕分割预览,33:视频绿幕分割预览,41:TTS Qid音色模型生成 ) |
status | Integer | True | 任务状态 (0:未开始,1:Dispatcher队列等待中,2:算法正在处理,3:已取消,5:已完成,9:异常, -1: 全部 ) |
key | String | False | 任务ID/角色名称查询(精确匹配) |
pageNo | int | False | 当前页码 (默认 1) |
pageSize | int | False | 每页条数 (默认 10) |
sortName | String | False | 排序字段名 |
sortValue | String | False | 排序顺序: asc, desc |
# 请求样例
{
"algoType": 12,
"pageSize": 10,
"pageNo": 1
}
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Number | True | 0 - 成功, 其他- 异常 |
message | String | True | 异常详细信息 |
data | Object | False | data object ,异常时通常为空 |
- pagination | Pagination | True | 分页信息(参照通用数据结构说明) |
- result | Object | True | 任务列表(参照下面说明) |
任务列表
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
id | Long | True | 任务id |
algoType | Integer | True | 任务类型(11:TTS音色模型生成,12:人物形象模型生成,14:视频合成,20: 视频人物换脸,18:人物形象模型更新,25:音色转换, 32:图片绿幕分割预览,33:视频绿幕分割预览,41:TTS V3音色模型生成,42:口水话(快速答复库),43:文件预热 |
materialId | Long | True | 模型id |
materialName | String | True | 素材名称 |
queueInfo | String | False | 排队信息 |
status | Integer | True | 任务状态 0:未开始,1:Dispatcher队列等待中,2:算法正在处理,3:已取消,5:已完成,9:异常 |
productParam | String | True | 任务结果json串,包含视频地址videoPath,视频时长duration,截图地址thumbPath |
extendParam | String | False | 扩展参数,人物形象模型生成时包含faceFeatureId |
algoSubType1 | String | True | 人物模型:模型规格:2K/4K,视频合成: 使用人物模型规格:2K/4K |
algoSubType2 | String | False | 视频合成:结果物格式:webm/mp4 |
algoSubType3 | String | False | 视频合成:结果物帧率 |
taskInfo | String | True | 任务初始参数及原始文件 |
algoId | String | True | 算法任务id |
message | String | False | 错误信息 |
submitTime | String | True | 算法提交时间(yyyy-MM-dd HH:mm:ss) |
startTime | String | False | 算法开始时间(yyyy-MM-dd HH:mm:ss) |
endTime | String | False | 算法截止时间(yyyy-MM-dd HH:mm:ss) |
owner | Long | True | 任务所属账户 |
ownerPhone | String | True | 账户手机号码 |
# 响应样例
{
"code": 0,
"message": "success",
"data": {
"pagination": {
"pageNo": 1,
"numberPages": 1,
"numberRecords": 2,
"pageSize": 2,
"startIndex": 0
},
"result": [
{
"id": 8833,
"materialId": 8122,
"materialName": "Mario_4_talk.mp4_sensetime-segment_type_绿幕分割",
"productParam": "{\"pkgPath\": \"https://dwg-aigc-paas-test.oss-cn-hangzhou.aliyuncs.com/download/8/b6ecebc8233b47809dedd6731c052d15_s1/b6ecebc8233b47809dedd6731c052d15_s1_result.zip\", \"thumbPath\": \"https://dwg-aigc-paas-test.oss-cn-hangzhou.aliyuncs.com/download/8/b6ecebc8233b47809dedd6731c052d15_s1/b6ecebc8233b47809dedd6731c052d15_s1_result.png\", \"faceFeaturePath\": \"https://dwg-aigc-paas-test.oss-cn-hangzhou.aliyuncs.com/download/8/b6ecebc8233b47809dedd6731c052d15_s1/b6ecebc8233b47809dedd6731c052d15_s1_face_feature.zip\"}",
"extendParam": "{\"faceFeatureId\": \"b6ecebc8233b47809dedd6731c052d15_s1\"}",
"startTime": "2023-06-07 23:31:50",
"endTime": "2023-06-08 05:19:29",
"status": 5,
"message": "{}",
"algoType": 12,
"algoId": "b6ecebc8233b47809dedd6731c052d15_s1",
"algoSubType1": "4K",
"algoSubType2": null,
"algoSubType3": null,
"submitTime": "2023-06-07 17:34:40",
"ownerPhone": "18311096857",
"owner": 8,
"queueInfo": null,
"taskInfo": "{\"create2DAvatarModel\": {\"videoUrl\": \"https://ailab-storage-eus.oss-us-west-1.aliyuncs.com/31_trim_result/Mario_4_talk.mp4?OSSAccessKeyId=LTAI5tE2Hq2BAqr8EBzxmSrR&Expires=37686060051&Signature=C1L%2FxpHD%2FW155s%2BuhTocyVvsUfo%3D\", \"accountId\": 8, \"assetScale\": 1.0, \"existTaskId\": 0, \"firstCreate\": true, \"materialName\": \"Mario_4_talk.mp4_sensetime-segment_type_绿幕分割\", \"segmentStyle\": 1}}"
},
{
"id": 9093,
"materialId": 8258,
"materialName": "wu0609_sensetime-segment_type_绿幕分割",
"productParam": null,
"extendParam": null,
"startTime": "2023-06-09 10:56:38",
"endTime": null,
"status": 2,
"message": "{}",
"algoType": 12,
"algoId": "5f6006acb891496f93bfeeff601201fe_s1",
"algoSubType1": "4K",
"algoSubType2": null,
"algoSubType3": null,
"submitTime": "2023-06-09 10:56:36",
"ownerPhone": "18311096857",
"owner": 8,
"queueInfo": null,
"taskInfo": "{\"create2DAvatarModel\": {\"videoUrl\": \"http://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/wanxing_0606/zhuzong.mp4\", \"accountId\": 8, \"assetScale\": 1.0, \"existTaskId\": 0, \"firstCreate\": true, \"materialName\": \"wu0609_sensetime-segment_type_绿幕分割\", \"segmentStyle\": 1}}"
},
{
"id": 8528,
"materialId": 7908,
"materialName": "Claire_3_talk.mp4_sensetime-segment_type_绿幕分割",
"productParam": "{\"pkgPath\": \"https://dwg-aigc-paas-test.oss-cn-hangzhou.aliyuncs.com/download/8/1907b913f78845168529bad59f36a43f_s1/1907b913f78845168529bad59f36a43f_s1_result.zip\", \"thumbPath\": \"https://dwg-aigc-paas-test.oss-cn-hangzhou.aliyuncs.com/download/8/1907b913f78845168529bad59f36a43f_s1/1907b913f78845168529bad59f36a43f_s1_result.png\", \"faceFeaturePath\": \"https://dwg-aigc-paas-test.oss-cn-hangzhou.aliyuncs.com/download/8/1907b913f78845168529bad59f36a43f_s1/1907b913f78845168529bad59f36a43f_s1_face_feature.zip\"}",
"extendParam": "{\"faceFeatureId\": \"1907b913f78845168529bad59f36a43f_s1\"}",
"startTime": "2023-06-06 02:32:13",
"endTime": "2023-06-06 20:17:19",
"status": 9,
"message": "{\"errorMsg\": \"Algorithm heart beat is overtime!!!\"}",
"algoType": 12,
"algoId": "1907b913f78845168529bad59f36a43f_s1",
"algoSubType1": "4K",
"algoSubType2": null,
"algoSubType3": null,
"submitTime": "2023-06-05 20:41:43",
"ownerPhone": "18311096857",
"owner": 8,
"queueInfo": null,
"taskInfo": "{\"create2DAvatarModel\": {\"videoUrl\": \"https://ailab-storage-eus.oss-us-west-1.aliyuncs.com/online_videos/Claire_3_talk.mp4?OSSAccessKeyId=LTAI5tE2Hq2BAqr8EBzxmSrR&Expires=1689391554&Signature=pMSBmAlawZ7h2sxjUO8Dk%2B1dHRg%3D\", \"accountId\": 8, \"assetScale\": 1.0, \"existTaskId\": 0, \"firstCreate\": true, \"materialName\": \"Claire_3_talk.mp4_sensetime-segment_type_绿幕分割\", \"segmentStyle\": 2}}"
},
{
"id": 9161,
"materialId": 8317,
"materialName": "Eddie_3_talk_trim_sensetime_0_绿幕分割",
"productParam": null,
"extendParam": null,
"startTime": null,
"endTime": null,
"status": 1,
"message": "{}",
"algoType": 18,
"algoId": "1667070933254279169",
"algoSubType1": "4K",
"algoSubType2": null,
"algoSubType3": null,
"submitTime": "2023-06-09 15:28:48",
"ownerPhone": "18311096857",
"owner": 8,
"queueInfo": "8/9",
"taskInfo": "{\"rebuild2DAvatarModelVideo\": {\"assetEnd\": 120.0, \"modelUrl\": \"https://dwg-aigc-paas-test.oss-cn-hangzhou.aliyuncs.com/download/8/ba80636d8a77423083af66174375a130_s1/ba80636d8a77423083af66174375a130_s1_result.zip\", \"videoUrl\": \"http://dwg-aigc-paas.oss-cn-hangzhou.aliyuncs.com/wanxing_0606/Eddie_3_talk_trim.mp4.mp4\", \"accountId\": 8, \"assetScale\": 1.0, \"assetStart\": 60.0, \"existTaskId\": 0, \"firstCreate\": true, \"materialName\": \"Eddie_3_talk_trim_sensetime_0_绿幕分割\", \"segmentStyle\": 1}}"
}
]
}
}
# 取消任务
# 接口描述
支持用户对于进行中的任务进行取消任务的操作,取消成功后任务状态将置为已取消。
# 请求地址
GET
/api/2dvh/v1/task/cancel
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
id | Long | True | 任务id |
# 请求样例
http://xxx/api/2dvh/v1/task/cancel?id=1
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 值为空 |
# 响应样例
{
"code": 0,
"message": "success",
"data": null
}
# 删除任务
# 接口描述
支持用户对于非进行中的任务进行删除任务的操作,删除后任务信息将不再保存。
# 请求地址
DELETE
/api/2dvh/v1/task/del
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
id | Long | True | 任务id |
# 请求样例
http://xxx/api/2dvh/v1/task/del/id
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 值为空 |
# 响应样例
{
"code": 0,
"message": "success",
"data": null
}
# 重启任务
# 接口描述
支持用户对于异常的的任务进行重启任务的操作,重启后任务ID保持不变。
# 请求地址
GET
/api/2dvh/v1/task/restart
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
id | Long | True | task id |
# 请求样例
http://xxx/api/2dvh/v1/task/restart?id=1
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | False | 任务id |
# 响应样例
{
"code": 0,
"message": "success",
"data": 2
}
# 查询任务各阶段耗时信息
# 接口描述
查询任务各阶段耗时信息,当前仅支持视频合成。
# 请求地址
GET
/api/2dvh/v1/task/phase/cost
# 请求头
Content-Type:
application/json
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
id | Long | True | 任务id |
# 请求样例
https://xxx/api/2dvh/v1/task/phase/cost?id=1
# 响应元素
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Array | False | 值为空 |
- phase | String | True | 算法阶段:asset_download:素材下载 parse_json:json解析时间 st_mobile_change_package:加载数字人资源 preprocess:前处理时间,准备各类资源 main_process:音视频处理 postprocess:ffmpeg视频后处理 result_upload:结果上传 |
- startTime | String | True | 阶段开始时间(yyyy-MM-dd HH:mm:ss) |
- endTime | String | True | 阶段完成时间(yyyy-MM-dd HH:mm:ss) |
- costTime | String | True | 耗时(毫秒) |
- callCount | Integer | False | 阶段重复次数,该值为空表示阶段无重复 |
# 响应样例
{
"code": 0,
"message": "success",
"data": [
{
"id": 291340,
"phase": "asset_download",
"startTime": "2023-11-01 16:41:17",
"endTime": "2023-11-01 16:41:17",
"costTime": 0
},
{
"id": 291340,
"phase": "parse_json",
"startTime": "2023-11-01 16:41:17",
"endTime": "2023-11-01 16:41:18",
"costTime": 124
},
{
"id": 291340,
"phase": "st_mobile_change_package",
"startTime": "2023-11-01 16:41:18",
"endTime": "2023-11-01 16:41:20",
"costTime": 2242
},
{
"id": 291340,
"phase": "preprocess",
"startTime": "2023-11-01 16:41:20",
"endTime": "2023-11-01 16:41:21",
"costTime": 1238
},
{
"id": 291340,
"phase": "main_process",
"startTime": "2023-11-01 16:41:21",
"endTime": "2023-11-01 16:41:25",
"costTime": 3692
},
{
"id": 291340,
"phase": "result_upload",
"startTime": "2023-11-01 16:41:25",
"endTime": "2023-11-01 16:41:25",
"costTime": 189
},
{
"id": 291340,
"phase": "postprocess",
"startTime": "2023-11-01 16:41:25",
"endTime": "2023-11-01 16:41:25",
"costTime": 457
}
]
}
# 账单查询服务(非语音类)
# 接口描述
账单查询服务。单次范围最大1000条,超过1000条将不予查询,请缩小查询范围再次尝试。
# 请求地址
POST /api/assist/bill/list
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
owner | Long | True | 任务所属账户 |
algoGroup | Integer | True | 任务组(11:TTS音色模型生成,12:人物形象模型生成,14:视频合成,17:互动直播, 44:视频直播) |
algoType | Integer | True | 任务类型(11:TTS音色模型生成,12:人物形象模型生成,14:视频合成,17:互动直播, 44:视频直播) |
billStartTime | String | True | 账单开始时间(格式为"YYYY-MM-DD HH:MM:SS") |
billEndTime | String | True | 账单结束时间 (格式为"YYYY-MM-DD HH:MM:SS") |
pageNo | int | False | 当前页码 (默认 1) |
pageSize | int | False | 每页条数 (默认 10) |
sortName | String | False | 排序字段名 |
sortValue | String | False | 排序顺序: asc, desc |
# 请求样例
{
"owner": 41 ,
"algoType": "14",
"algoGroup": "14",
"billStartTime": "2024-12-04 00:00:00",
"billEndTime": "2025-01-02 23:59:59",
"pageSize": 10,
"pageNo": 1,
"sortName": "",
"sortValue": ""
}
# 响应元素
字段 | 类型 | 必填 | 说明 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | True | 成功与否,成功是1 ,错误返回null |
- pagination | Pagination | True | 分页信息(参照通用数据结构说明) |
- result | Object | True | 账单列表(参照下面说明) |
- usedSum | String | True | 当前页总用量 |
账单列表
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
id | Long | True | 任务id |
owner | Long | True | 任务所属账户 |
algoType | Integer | True | 任务类型(11:TTS音色模型生成,12:人物形象模型生成,14:视频合成,17:互动直播, 44:视频直播) |
billingValue | Integer | True | 计费值 |
billingUnit | Integer | True | 计费单位 (1:时长 单位:毫秒,2:时长 单位:秒,3:单位:数量) |
billingTime | String | True | 计费时间,格式为"YYYY-MM-DD HH:MM:SS" |
taskId | Long | True | 任务id |
taskName | String | True | 任务名称 |
algoId | String | True | 算法任务id |
status | Integer | True | 3:已取消,5:已完成,9:异常 |
taskIsDelete | String | True | 任务是否被删除(0:未删除, 1:已删除) |
startTime | String | True | 算法开始时间(yyyy-MM-dd HH:mm:ss) |
endTime | String | True | 算法截止时间(yyyy-MM-dd HH:mm:ss) |
resultFile | String | False | 结果文件路径 |
resultThumb | String | False | 结果缩略图路径 |
algoSubType1 | String | True | 人物模型:模型规格:2K/4K,视频合成: 使用人物模型规格:2K/4K |
algoSubType2 | String | False | 视频合成:结果物格式:webm/mp4 |
algoSubType3 | String | False | 视频合成:结果物帧率 |
algoSubType4 | String | False | 子类型4 |
message | String | False | 任务信息 |
# 响应样例
{
"code": 0,
"message": "success",
"data": {
"pagination": {
"pageNo": 1,
"numberPages": 1,
"numberRecords": 3,
"pageSize": 10,
"startIndex": 0
},
"result": [
{
"id": 601057,
"owner": 41,
"billingValue": 30,
"billingUnit": 2,
"billingTime": "2024-12-27 15:03:09",
"taskId": 20989677953,
"taskName": null,
"algoId": "db1fb10d0007485b8f7f41e6ebd41be7",
"algoType": 17,
"status": 5,
"taskIsDelete": 0,
"startTime": "2024-12-27 15:02:39",
"endTime": "2024-12-27 15:03:09",
"resultFile": null,
"resultThumb": null,
"message": "客户主动关闭",
"algoSubType1": null,
"algoSubType2": null,
"algoSubType3": null,
"algoSubType4": null
},
{
"id": 601056,
"owner": 41,
"billingValue": 1,
"billingUnit": 2,
"billingTime": "2024-12-27 14:58:33",
"taskId": 20989677950,
"taskName": null,
"algoId": "980f8051b5a9499592cd34530fd90cbf",
"algoType": 17,
"status": 5,
"taskIsDelete": 0,
"startTime": "2024-12-27 14:58:32",
"endTime": "2024-12-27 14:58:33",
"resultFile": null,
"resultThumb": null,
"message": "客户主动关闭",
"algoSubType1": null,
"algoSubType2": null,
"algoSubType3": null,
"algoSubType4": null
},
{
"id": 601055,
"owner": 41,
"billingValue": 2,
"billingUnit": 2,
"billingTime": "2024-12-27 14:58:27",
"taskId": 20989677949,
"taskName": null,
"algoId": "787c8923f67c447fbed38df345551789",
"algoType": 17,
"status": 5,
"taskIsDelete": 0,
"startTime": "2024-12-27 14:58:26",
"endTime": "2024-12-27 14:58:28",
"resultFile": null,
"resultThumb": null,
"message": "客户主动关闭",
"algoSubType1": null,
"algoSubType2": null,
"algoSubType3": null,
"algoSubType4": null
}
],
"usedSum": "0.55",
"usedModel2kSum": null,
"usedModel4kSum": null
}
}
# 账单查询服务(语音类)
# 接口描述
语音账单查询服务。
# 请求地址
POST /api/assist/bill/voice/list
# 请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
owner | Long | True | 任务所属账户 |
algoType | Integer | True | 任务组(30: "ASR", 31: "TTS") |
billStartTime | String | True | 账单开始时间(格式为"YYYY-MM-DD HH:MM:SS") |
billEndTime | String | True | 账单结束时间 (格式为"YYYY-MM-DD HH:MM:SS") |
algoSubType1 | String | True | PAAS_HTTP,PAAS_WS,PAAS_VIDEO_2D,PAAS_VIDEO_MIX,PAAS_LIVE |
algoSubType2 | String | True | ASR5, TTS3, TTS4, TTS5, TTS7, TTS8 |
statRange | String | True | 统计范围 1:日账单 ,2: 月账单 |
pageNo | int | False | 当前页码 (默认 1) |
pageSize | int | False | 每页条数 (默认 10) |
sortName | String | False | 排序字段名 |
sortValue | String | False | 排序顺序: asc, desc |
# 请求样例
{
"owner": 41,
"algoType": "30",
"billStartTime": "2024-12-04 00:00:00",
"billEndTime": "2025-01-03 23:59:59",
"statRange": 1,
"algoSubType1": "",
"algoSubType2": "",
"pageSize": 10,
"pageNo": 1,
"sortName": "",
"sortValue": ""
}
# 响应元素
字段 | 类型 | 必填 | 说明 |
---|---|---|---|
code | Integer | True | 0 - 成功, 其他 - 异常 |
message | String | True | 异常详细信息 |
data | Object | True | 成功与否,成功是1 ,错误返回null |
- pagination | Pagination | True | 分页信息(参照通用数据结构说明) |
- result | Object | True | 账单列表(参照下面说明) |
账单列表
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
id | Long | True | 任务id |
owner | Long | True | 任务所属账户 |
algoType | Integer | True | 任务类型(11:TTS音色模型生成,12:人物形象模型生成,14:视频合成,17:互动直播, 44:视频直播) |
billingValue | Integer | True | 计费值 |
billingUnit | Integer | True | 计费单位 (1:时长 单位:毫秒,2:时长 单位:秒,3:单位:数量) |
billingDate | String | True | 计费日期,格式为"YYYY-MM-DD" |
billingMonth | String | False | 计费月份 |
algoSubType1 | String | True | PAAS_HTTP,PAAS_WS,PAAS_VIDEO_2D,PAAS_VIDEO_MIX,PAAS_LIVE |
algoSubType2 | String | True | ASR5, TTS3, TTS4, TTS5, TTS7, TTS8 |
# 响应样例
{
"code": 0,
"message": "success",
"data": {
"pagination": {
"pageNo": 1,
"numberPages": 1,
"numberRecords": 4,
"pageSize": 10,
"startIndex": 0
},
"result": [
{
"id": 13635,
"owner": 260,
"billingValue": 0.0045,
"billingUnit": 3,
"billingDate": "2024-12-27",
"billingMonth": null,
"algoSubType1": "PAAS_VIDEO_MIX",
"algoSubType2": "TTS5",
"algoType": 31
},
{
"id": 13631,
"owner": 260,
"billingValue": 0.0347,
"billingUnit": 3,
"billingDate": "2024-12-27",
"billingMonth": null,
"algoSubType1": "PAAS_VIDEO_2D",
"algoSubType2": "TTS5",
"algoType": 31
},
{
"id": 12441,
"owner": 260,
"billingValue": 0.0347,
"billingUnit": 3,
"billingDate": "2024-12-06",
"billingMonth": null,
"algoSubType1": "PAAS_VIDEO_2D",
"algoSubType2": "TTS5",
"algoType": 31
},
{
"id": 12433,
"owner": 260,
"billingValue": 0.0347,
"billingUnit": 3,
"billingDate": "2024-12-06",
"billingMonth": null,
"algoSubType1": "PAAS_VIDEO_2D",
"algoSubType2": "TTS3",
"algoType": 31
}
]
}
}
# 任务完成回调参数
使用API时,系统将通过填写的接口回调地址,返回任务状态等信息,若需要任务回调功能,则需联系管理员在创建账户时提供接口回调地址。 如果用户配置了AuthKey将返回鉴权信息timestamp和signature,具体参考<HTTP回调事件通知>。
提供的接口实现中HTTP Method为POST,Content-Type应为application/json
。
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
taskId | Integer | True | 任务 id |
materialId | Integer | True | 素材 id |
materialName | String | True | 素材名称 |
algoType | Integer | True | 任务类型(11:TTS音色模型生成,12:人物形象模型生成,14:视频合成,20: 视频人物换脸,18:人物形象模型更新,25:音色转换, 32:图片绿幕分割预览,33:视频绿幕分割预览,41:TTS V3音色模型生成,42:口水话(快速答复库),43:文件预热 |
algoSubType1 | String | True | 人物模型:模型规格:2K/4K,视频合成:使用人物模型规格:2K/4K |
algoSubType2 | String | False | 视频合成:结果物格式:webm/mp4 |
algoSubType3 | String | False | 视频合成:结果帧率 |
status | Integer | True | 状态 3:已取消,5:已完成,9:异常 |
taskResult | String | False | 报错信息 |
以上即为平台可以提供的全部算法能力。