接口说明
可使用客户有权限的形象资产直接创建会话,获取数智人画面的流播放地址。
调用协议
HTTPS + JSON
POST /v2/ivh/sessionmanager/sessionmanagerservice/createsessionbyasset
Header Content-Type: application/json;charset=utf-8
请求参数
参数名称 | 类型 | 必选 | 描述 |
ReqId | String | 是 | 单次请求唯一标识,长度为32位的 UUID。 |
SessionId | String | 否 | 会话唯一标识。 公有云环境不允许传入由云端分配,私有化环境可传入。 |
AssetVirtualmanKey | String | 是 | ![]() |
UserId | String | 是 | 用户的唯一标识,由调用方自己维护,以相同的 UserId 创建新流,会导致上一个该 UserId 流关闭。 注意: 当使用 TRTC 协议时,该参数为数智人进房用户,调用方自身进房用户不能与该用户相同,如果相同会将数智人踢出房间,导致断流。 |
Protocol | String | 是 | |
DriverType | int | 是 | 数智人驱动方式。 1:纯文本驱动。 3:音频驱动(原声),此模式下支持发送音频和文本两种驱动模式。 |
ProtocolOption | 否 | Protocol 选择 TRTC 则需要传入该参数下的 TRTC 相关字段。 若用户需要自定义云直播推流地址,则不论使用哪种 Protocol,都需要传入该参数下的 CssCustomPushUrl 字段。 | |
SpeechParam | 否 | 音色相关参数。 | |
ExtraInfo | 否 | ||
Backgrounds | 否 | 背景,背景和前景总数不能超过5。 说明: 1. 对于未抠除拍摄背景的主播,此参数无法生效。 2. 对于抠除拍摄背景的主播,背景生效优先顺序为: 2.1 此参数设置的背景。 2.2 绿幕。 | |
Foregrounds | 否 | 前景,背景和前景总数不能超过5。 | |
StreamMaxInterval | int | 否 | 流式文本非子句模式或音频驱动时数据上送最大间隔时长,范围为2000 - 6000,默认为2000,单位为 ms。 |
ProtocolOption
名称 | 类型 | 必选 | 描述 |
TrtcUseExternalApp | boolean | 否 | 是否使用外部 TRTC AppId,如果不使用,将使用数智人平台统一的 TRTC AppId。 注意: 数智人平台统一的 TRTC AppId,仅用于调试阶段,投产时,由用户自行在腾讯云申请 TRTC AppId。 |
TrtcAppId | String | 否 | |
TrtcRoomId | int | 否 | TRTC 数字房间号(使用外部 TRTC AppId 时 TrtcRoomId 和 StrTrtcRoomId 必填一个,如果两个都填写,优先使用数字房间号)。 |
TrtcStrRoomId | String | 否 | TRTC 字符串房间号(使用外部 TRTC AppId 时 TrtcRoomId 和 StrTrtcRoomId 必填一个,如果两个都填写,优先使用数字房间号)。 |
TrtcAutoGenRoomIdType | int | 否 | 当 TrtcRoomId 和 TrtcStrRoomId 都不填,系统自动生成的房间号类型(前提是使用数智人平台统一的 TRTC AppId),0:数字类型 1:字符串类型,默认数字类型。 |
TrtcUserSig | String | 否 | |
TrtcPrivateMapKey | String | 否 | TRTC 数智人用户权限票据(使用外部 TRTC AppId 时必填)。 如果开启了TRTC 高级权限控制 功能,则需要正确的权限票据,否则数智人将无法加入房间。 如果没有开启高级权限控制功能,则该字段可以固定填 dummy。 |
CssCustomPushUrl | String | 否 | 自定义云直播推流地址,推流协议固定使用 RTMP,使用 RTMP 推流给云直播,用户端可以使用云直播支持的各类拉流协议进行拉流播放。 推流地址格式要求: rtmp://domain/appName/streamName?txSecret={0}&txTime={1} txSecret 和 txTime 字段用于鉴权,计算方式可请参见 自主拼装直播 URL。 |
SpeechParam
名称 | 类型 | 必选 | 描述 |
Speed | float | 否 | 语速(1.0为正常语速,范围[0.5-1.5],值为0.5时播报语速最慢,值为1.5时播报语速最快,DriverType 为音频驱动类型时,语速控制不生效) |
TimbreKey | String | 否 | 音色 key,默认使用形象自有音色。 |
Volume | int | 否 | 音量大小,范围[0,10],对应音量大小。默认为0,代表正常音量,值越大音量越高。 |
TimbreLanguage | String | 否 |
VideoLayer
参数名称 | 类型 | 必选 | 描述 |
URL | String | 是 | 图层资源地址。 图片格式:支持 jpg、jpeg、png、mjpeg、gif。 图片大小:建议不超过2M。 |
X | int | 是 | 资源放置的左上 X 坐标。 |
Y | int | 是 | 资源放置的左上 Y 坐标。 |
Width | int | 是 | 资源输出的宽度。 |
Height | int | 是 | 资源输出的高度。 |
返回参数
名称 | 类型 | 必选 | 描述 |
ReqId | String | 是 | 单次请求唯一标识。 |
SessionId | String | 是 | 会话的唯一标识。 |
SessionStatus | int | 是 | 会话状态: 1:进行中(已就绪),命中缓存直接得到播流地址。 |
PlayStreamAddr | String | 否 | 播放地址。 说明: 如果通过 CssCustomPushUrl 参数指定了自定义云直播推流地址,则不返回此字段。 |
请求示例(RTMP 协议)
{ "Header": { }, "Payload": { "ReqId": "d7aa08da33dd4a662ad5be508c5b77cf", "AssetVirtualmanKey": "s34d23f4fd5hvdbsqfd5be5g8c5fg7h1", "DriverType": 1, "UserId": "virtualhuman", "Protocol": "rtmp" } }
返回示例
{"Header": {"RequestID": "f87643e2e0bb5af25127bc4c474caf2a","SessionID": "gz6240ef0317515200540972438","DialogID": "","Code": 0,"Message": ""},"Payload": {"ReqId": "d7aa08da33dd4a662ad5be508c5b77cf","SessionId": "m318552187863054171","SessionStatus": 1,"PlayStreamAddr": "rtmp://liveplay.ivh.qq.com/live/m318552187863054171"}}
请求示例(TRTC 协议,使用数智人平台统一的 TRTC AppId)
{"Header": {},"Payload": {"ReqId": "d7aa08da33dd4a662ad5be508c5b77cf","AssetVirtualmanKey": "s34d23f4fd5hvdbsqfd5be5g8c5fg7h1","DriverType": 1,"UserId": "virtualhuman","Protocol": "trtc""ProtocolOption": {"TrtcUseExternalApp": false,"TrtcRoomId": 12345}}}
返回示例
{"Header": {"RequestID": "5c586477ffaf5d53d0ecdb2bc022c446","SessionID": "gz6240ef0317504138822405697","DialogID": "","Code": 0,"Message": ""},"Payload": {"SessionId": "m5877303041064972016","PlayStreamAddr": "trtc://12345?userId=virtualhuman&appId=1400695865&userSig=eJwszk8LgjAYx-H38pxD5nJuDrp4icAKW0F1G7jsyT*pbVpE7z1Qr98P-Ph94Zg7wb7AxITglZjAUzU1u8oelAQo*ddbq8u0rXMPkrK3TTYAbSDwgJIyZCNgvmIMGpS7EfqoQPKneHbfFkml7j9lMKFae83a2jM08f4YmVm9U8abEyIH3OSOAvhaBT7ccH1CPw*wcAAP--P9Mz0Q__&privateMapKey=eJxEj1FrwjAURv-LfR5ym1pbA3sIiDpmmc6qz8kS06up69JEN8f**0A79j2eAwe*b6gW64H5bMkb4DlDfR0uYUaE-GA4cz*RClq2MjT3D3nT7KtiUNPBkijsZZMcp6QxY45CFVYSnZ4W2*ujxV7vV6Ocrnta7K2c6inR7Y0i4m44*iwsc*GagxwJM8w2GSFgW709gZr*IeOAghSt24Lz3f1mpWJ2o3jZv02r2shCgn7n27yaT431-2fLvABgg-vwEAAP--Q*VH*g__&virtualManUserId=12345_ivh_anchor","SessionStatus": 3,"ReqId": "c81f28f73ddeec64b0738e0a316e65d6"}}
请求示例(TRTC 协议,使用外部 TRTC AppId)
{"Header": {},"Payload": {"ReqId": "f2612aa810014e8997f95bda97917268","AssetVirtualmanKey": "0fee10a003ea4c80a36c5b11ea8082f8","UserId": "virtualhuman","Protocol": "trtc","DriverType": 1,"ProtocolOption": {"TrtcUseExternalApp": true,"TrtcAppId": "123322865","TrtcRoomId": 12345,"TrtcUserSig": "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwiWpxSUGBsZQqeKU7MSCgswUJStDEwMDM0tTNTiExqRUFmUSpQ3NTU1MjAwAAiWpKZCxIzN7EAQnMLE6gpmelAk11989Iik4r8s-xMHQtyAzOcC51LKwPyS3LcAhyznd2jHMNCDSLDC7XDwz1tlWoBf4UyHg__","TrtcPrivateMapKey": "dummy"}}}
返回示例
{"Header": {"RequestID": "2d46357a566aa584b75f92f295aa5d50","SessionID": "gza802cc9317504133607701099","DialogID": "","Code": 0,"Message": ""},"Payload": {"SessionId": "m586856211152897989","SessionStatus": 3,"ReqId": "ad262ea663c84768591a086d6c2e96fd"}}