文字驱动数字人(播报类型)
输入一段文字信息,通过TTS转化为声音信息,并生成口型、身体动作信息,身体动作可以根据实际情形选择是否生成。
请求地址:https://motionverseapi.deepscience.cn/版本号/api/textBroadcastMotion
请求方式:POST
请求类型:application/json
请求参数:
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
draft_content | string | 是 | 文本 | 您好 |
compress | bool | 否 | 返回的 oss_url的内容是否是二进制,若为true,生成的是二进制格式数据,若为否为json格式,参数默认的是false。 | 默认为false |
tts_config ▼ | object | 否 | tts请求参数设置 | {} |
voice_name | string | 否 | 声音角色,可供选择的有maoxiaomei、aixia、sicheng、aicheng、aitong、aishuo、aida、aiqi | 默认值aixia |
speed | number | 否 | 速度 | 默认值50 |
volume | number | 否 | 音量 | 默认值50 |
fm | number | 否 | 音调 | 默认值50 |
face_config▼ | object | 否 | 表情请求参数设置 | {} |
face_type | number | 否 | 表情音素 | 1:语音驱动;2:音素驱动,默认为1 |
gender | string | 否 | 性别 男性male 女性female | 默认male |
tag | number | 否 | 面部情绪 情绪 0-综合 1-高兴 2-悲伤 3-生气 4-惊讶 5-中立 6-激动 7-沮丧 8-恐惧 9-厌恶 | 默认值为0 |
body_config▼ | object | 否 | 动作请求参数设置 | {} |
body_motion | number | 否 | 身体动作,如果不填,不生成身体动作,如果为1,客服动作;如果为2,适用于萌宠的动作,暂时还不支持;如果为3,线上自动画使用的动作;如果为4,售货员动作 | 默认为空 |
filter_window | number | 否 | 动作平滑窗口 | 默认值15 |
filter_order | number | 否 | 平滑阶数 | 默认值3 |
hermit_order | number | 否 | 非匀速动作曲线的阶数 | 默认值4 |
fusion_num | number | 否 | 动作融合过程的帧数 | 默认值17 |
speed_ratio | number | 否 | 动作播放速度控制 | 默认值0.5 |
insert_times | array | 否 | 插入动作时间(秒),(不传就没有动作融合) | [3, 10] |
insert_motions | array | 否 | 插入动作id ,字段长度与insert_times一致,(不传就没有动作融合) | ['ZZ01A00120220914T112639', 'ZZ03A00120220914T121405'] |
style_tag | string | 否 | 请求动作的tag类型,如果body_motion参数为1,style_tag参数为"kefu"等;如果body_motion参数为2,后续会支持;如果body_motion参数为3,支持2种tag的拼接,拼接用“,”分开,默认"Happy,Speech";参数列表见附件;如果body_motion参数为4,style_tag参数为“CakeGirlJQJSA”等; | 请求动作的tag类型,如果body_motion参数为1,style_tag默认参数为"kefu";如果body_motion参数为3,支持2种tag的拼接,拼接用“,”分开,默认"Happy,Speech";参数列表在文件尾部;如果body_motion参数为4,style_tag默认参数为“CakeGirlJQJSA”;如果motion参数为5,style_tag默认参数为”speech“ |
step_time | number | 否 | 单位是秒,若两个指定插入动作之间时长大于该参数,则会在中间插入回归待机动作。若大于该参数的倍数,则相应的会插入多个回归待机动作。 | 默认值10 |
limit_degree | number | 否 | 限制头部歪的角度,最小为1 | 有默认值,默认为90 |
limit_spine | bool | 否 | 头部+身体前倾左右轴是否锁定参数,如果为true,limit_degree需要在1-3之间 | 默认false |
head_x_rot | number | 否 | 用于调整仰头低头的角度。表示头沿X轴转动的角度,范围为-180度~180度;正数表示低头,负数表示抬头 | 默认值-10 |
返回参数:
名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
code | number | 响应码 | 200 |
data ▼ | object | 返回数据 | {} |
ttsSynthesizeData ▼ | object | tts语音合成数据 | |
audio_url | string | 生成的音频地址 | http://xxx.xxx.wav |
phone_duration | array | 返回分析数据 | |
word_duration | array | 返回分析数据 | |
allfaceData ▼ | object | 表情动作数据 | |
oss_url | string | 表情动作数据的url | http://xxx.xxx.json |
time_log | string | 流程中的时间戳日志 | |
motionFusionedData ▼ | object | 身体动作数据 | |
oss_url | string | 身体动作数据的url | http://xxx.xxx.json |
time_log | string | 流程中的时间戳日志 |
请求示例:
{
"draft_content": "今天天气怎么样",
"body_config":{ "body_motion": 3 }
}
返回示例:
{
code: 0,
msg: 'ok',
data: {
ttsSynthesizeData: {
audio_url: 'http://ds-model-tts.oss-cn-beijing.aliyuncs.com/temp/166150328242950728.wav',
phone_duration: [
{
begin_time: 0,
end_time: 50,
phone: 'n'
},
{
begin_time: 50,
end_time: 100,
phone: 'i3'
},
{
begin_time: 100,
end_time: 200,
phone: 'h'
},
{
begin_time: 200,
end_time: 362,
phone: 'ao3'
}
],
word_duration: [
{
begin_time: 0,
end_time: 100,
word: '你'
},
{
begin_time: 100,
end_time: 362,
word: '好,'
}
]
},
allfaceData: {
oss_url: 'http://ds-vhost-action-dev.oss-cn-beijing.aliyuncs.com/mouth/166150328242950728.json',
time_log: {
all_time: 0.06560897827148438,
download_time: 0.00014519691467285156,
featextr_time: 0.028823375701904297,
inference_time: 0.0051746368408203125,
upload_time: 0.031229257583618164
}
},
motionFusionedData: {
oss_url: 'http://ds-vhost-action-dev.oss-cn-beijing.aliyuncs.com/body_fusioned/166150328242950728.json',
time_log: {
all_time: 0.10920214653015137,
download_time: 0.0001423358917236328,
featextr_time: 0.03156781196594238,
inference_time: 0.029526710510253906,
upload_time: 0.047678232192993164
}
}
}
}