接口说明
可使用客户有权限的形象资产直接创建会话,获取数智人画面的流播放地址。
调用协议
HTTPS + JSON
POST /v2/ivh/sessionmanager/sessionmanagerservice/createsessionbyasset
Header Content-Type: application/json;charset=utf-8
请求参数
参数名称 | 类型 | 必选 | 描述 |
ReqId | String | 是 | 单次请求唯一标识,长度为32的 uuid。 |
SessionId | String | 否 | 会话唯一标识。Saas 环境不允许传入由云端分配,私有化环境可传入。 |
AssetVirtualmanKey | String | 是 | 形象资产 ID。从数智人平台的资产管理中获取,如图: |
UserId | String | 是 | 用户的唯一标识,由调用方自己维护。以相同的 UserId 创建新流,会导致上一个该 UserId 流关闭。 |
Protocol | String | 是 | |
DriverType | int | 是 | 数智人驱动方式。 1:纯文本驱动; 3:音频驱动(原声),此模式下支持发送音频和文本两种驱动模式; |
ProtocolOption | 否 | 协议自定义参数。 Protocol 选择 trtc 则需要传入该参数下的trtc相关字段; 若用户需要自定义云直播推流地址,则不论哪种 Protocol,都需要传入该参数下的 CssCustomPushUrl 字段。 | |
SpeechParam | 否 | 音色相关参数。 |
ProtocolOption
名称 | 类型 | 必选 | 描述 |
TrtcUseExternalApp | boolean | 否 | 是否使用外部 trtc appid,如果不使用,将使用数智人平台统一的 trtc appid。 注意: 使用数智人平台统一的 trtc 时,仅限于调试阶段,不可用于投产阶段。 |
TrtcAppId | string | 否 | trtc appid(使用外部 trtc appid 时必填)。 |
TrtcRoomId | int | 否 | trtc 房间号(不指定则由云端分配房间号)。 |
TrtcUserSig | string | 否 | trtc 数字人用户签名(使用外部 trtc appid 时必填)。 |
TrtcPrivateMapKey | string | 否 | trtc 数字人用户权限密钥(使用外部 trtc appid 时必填)。 |
CssCustomPushUrl | string | 否 | 自定义云直播推流地址,推流协议固定使用 rtmp,使用 rtmp 推流给云直播,可以使用云直播支持的各类拉流协议进行拉流播放。
要求的推流地址格式为: rtmp://xyz.com/cssAppName/streamid?txSecret={0}&txTime={1}
txSecret 和 txTime 计算方式参考:https://cloud.tencent.com/document/product/267/32720 |
SpeechParam
名称 | 类型 | 必选 | 描述 |
Speed | float | 否 | 语速(1.0为正常语速,范围[0.5-1.5],值为0.5时播报语速最慢,值为1.5时播报语速最快,DriverType 为音频驱动类型时,语速控制不生效) |
TimbreKey | string | 否 | 音色 key,默认使用形象自有音色。 |
Volume | int | 否 | 音量大小,范围[0,10],对应音量大小。默认为0,代表正常音量,值越大音量越高。 |
返回参数
名称 | 类型 | 必选 | 描述 |
ReqId | String | 是 | 单次请求唯一标识。 |
SessionId | String | 是 | 会话的唯一标识。 |
SessionStatus | int | 是 | 会话状态: 1: 进行中(已就绪),命中缓存直接得到播流地址 |
PlayStreamAddr | String | 否 | 播放地址。 说明: 如果通过 CssCustomPushUrl 参数指定了自定义云直播推流地址,则不返回此字段。 |
请求示例
{ "Header": { }, "Payload": { "ReqId": "d7aa08da33dd4a662ad5be508c5b77cf", "AssetVirtualmanKey": "s34d23f4fd5hvdbsqfd5be5g8c5fg7h1", "DriverType": 1, "UserId": "virtualhuman", "Protocol": "rtmp" } }
返回示例
{ "Header": { "Code": 0, "Message": "", "RequestID": "123" }, "Payload": { "ReqId": "d7aa08da33dd4a662ad5be508c5b77cf", "SessionId": "m318552187863054171", "SessionStatus": 1, "PlayStreamAddr": "rtmp://live.qq.com/live/m789" } }