# 平台能力

平台针对企业账户提供各项算法能力,包括:视频合成能力、人物形象模型生成能力、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天后生成内容将无法下载。

# 视频合成时序图

Video Composite Process

# TTS个人音色模型生成

TTS个人音色模型生成服务可根据用户上传的真人采集或录制的语音素材文件通过算法训练产出发音效果与声音素材提供者一致的数字人TTS音色模型。请在采集时遵照商汤数字人音色复制采集制作规范,内容包括环境要求、设备要求、发音要求、授权要求、朗读脚本,具体参考:采集规范 (opens new window)。PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。

# 人物形象模型生成

人物形象模型生成服务可根据用户上传的真人采集或录制的视频通过算法训练产出AI驱动效果与真人几乎无异的数字人人物形象模型。为了完美克隆人物形象,请在拍摄时遵照商汤数字人采集制作规范,内容包括视频、语音,用于 2D 数字人的训练和测试,具体参考:采集规范 (opens new window)。PaaS平台支持7天在线存储,需要及时转存,7天后生成内容将无法下载。

# 人物形象模型生成时序图

Human Model Process

# 人物形象模型更新

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, languagevendor_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 报错信息

以上即为平台可以提供的全部算法能力。

最后更新: 2025/1/16 15:16:35