文档首页/ 数字内容生产线 MetaStudio/ API参考/ 附录/ 直播控制HTTP Command命令说明
更新时间:2024-10-16 GMT+08:00

直播控制HTTP Command命令说明

分身数字人直播过程中,支持通过HTTP API的方式人工接管直播。人工接管以后,支持通过下述方式驱动数字人说话:

  • 文本驱动方式:对应Command命令为“INSERT_PLAY_SCRIPT”,即插入表演脚本,用于互动回复。数字人不变时,背景不变。其参数结构定义为“PlayTextInfo”。
  • 音频驱动方式:对应Command命令为“INSERT_PLAY_AUDIO”,即插入驱动音频,用于音频直接驱动。数字人不变时,背景不变。其参数结构定义为“PlayAudioInfo”。

控制数字人直播过程接口的Command命令说明,如下所示:

  • Command命令为“GET_CURRENT_PLAYING_SCRIPTS”时,即查询本轮剧本列表。其响应结构定义为“LivePlayingScriptList”。
  • Command命令为“CLEAN_UP_INSERT_COMMAND”时,即清理未播放的插入命令。其参数结构定义为“CleanUpInsertCommand”。

PlayTextInfo

表1 PlayTextInfo

参数

是否必选

参数类型

描述

text_config

表2 object

话术配置。

play_type

String

播放类型。

取值如下所示:

  • APPEND:在播放队列的尾部追加播放。
  • INSERT:在两个音频文件中间插入播放,或在当前正播放文本的句末插入播放。
  • PLAY_NOW:收到指令后,立即插入播放。无需等待当前文本播放至句末。

默认值:PLAY_NOW。

取值最小长度0,最大长度32。

play_role

String

播放角色。

取值如下所示:

  • STREAMER:主播
  • CO_STREAMER:助播

默认值:STREAMER,即主播。

取值最小长度0,最大长度32。

rule_index

String

互动回调触发插入音频回复时,携带触发的互动规则索引。

取值最小长度0,最大长度64。

表2 TextConfig

参数

是否必选

参数类型

描述

text

String

台词脚本。取值最小长度1,最大长度131072。

支持如下两种模式:

  • 纯文本模式

    使用纯文本,示例:大家好,我是人工智能小A,是位虚拟主播。

  • 标签模式

    标签模式使用SSML(Speech Synthesis Markup Language)标记语言。

    需要使用的标签,如下所示:

    • <speak>:此标签为所有文本的根节点。一切需要调用SSML标签的文本,都要包含在<speak> </speak>标记对中。
    • <emotion>:情感标签,对指定的一或多句话生效。标签开始在句子起始位置,标签结束在句子结尾。用法为:<emotion type="情感标签">,对应“type”取值为:HAPPY、SAD、CALM或ANGER。
    • <insert-action>:动作标签,可在文本的指定位置插入动作。用法为:<insert-action id="动作资产ID" name="动作名称" tag="动作标识"/>。动作资产信息是通过资产库接口查询获取的。
    • <break>:停顿标签,可在文本的指定位置插入停顿。用法为:<break time="停顿时长"/>。time的单位为毫秒,最小值为200毫秒。
    • <phoneme>:多音字标签,可指定单个汉字的读音。标签起始和结束中间只能有1个汉字。属性可取值为汉语拼音,声调用1、2、3、4来表示。用法为:<phoneme ph="拼音"/>字</phoneme>。
说明:
  • 举例:<speak> <emotion type="HAPPY"><insert-action id="2692ea5d095caaafcfed21dc4590b701" name="双手指尖交触" tag="system_female_animation_0026"/>大家好,<break time="200ms"/>我是MetaStudio制作的人工智能数字人。</emotion>我带大家<phoneme ph="liao3">了</phoneme>解MetaStudio。</speak>
  • 分身数字人视频制作仅<break>和<phoneme>标签生效。

PlayAudioInfo

表3 PlayAudioInfo

参数

是否必选

参数类型

描述

audio_url

String

音频URL。

取值最小长度0,最大长度2048

play_type

String

播放类型。

取值如下所示:

  • APPEND:在播放队列的尾部追加播放。
  • INSERT:在两个音频文件中间插入播放,或在当前正播放文本的句末插入播放。
  • PLAY_NOW:收到指令后,立即插入播放。无需等待当前文本播放至句末。

默认值:APPEND。

取值最小长度0,最大长度32。

play_role

String

播放角色。

取值如下所示:

  • STREAMER:主播
  • CO_STREAMER:助播

缺省值:STREAMER,即主播。

取值最小长度0,最大长度32。

rule_index

String

互动回调触发插入音频回复时,携带触发的互动规则索引。

取值最小长度0,最大长度64。

LivePlayingScriptList

表4 LivePlayingScriptList

参数

是否必选

参数类型

描述

scene_scripts

Array of 表5

直播剧本列表。

数组长度:[1,100]。

表5 LivePlayingScriptInfo

参数

是否必选

参数类型

描述

script_name

String

剧本名称。

最小长度1,最大长度256。

model_asset_id

String

数字人模型资产ID。

最小长度0,最大长度64。

shoot_scripts

Array of 表6

拍摄脚本列表。

数组长度:[0,100]。

表6 LivePlayingShootScriptItem

参数

是否必选

参数类型

描述

sequence_no

Integer

剧本序号。

取值范围:[0,2147483647]。

title

String

段落标题。

最小长度0,最大长度256。

CleanUpInsertCommand

表7 CleanUpInsertCommand

参数

是否必选

参数类型

描述

command_ids

Array of strings

命令ID列表。如果不填,则清理全部未播放的插入命令。

最小长度1,最大长度64。

数组长度:0~100。