接口说明
使用数智人平台项目创建会话,获取数智人画面的流播放地址。
调用协议
HTTPS + JSON
POST /v2/ivh/sessionmanager/sessionmanagerservice/createsession
Header Content-Type: application/json;charset=utf-8
请求参数
参数名称 | 类型 | 必选 | 描述 |
ReqId | String | 是 | 单次请求唯一标识,长度为32的 UUID。 |
SessionId | String | 否 | 会话唯一标识,公有云环境不允许传入由云端分配,私有化环境可传入。 |
VirtualmanProjectId | String | 是 | 数智人项目 ID。 ![]() |
UserId | String | 是 | 用户的唯一标识,由调用方自己维护,以相同的 UserId 创建新流,会导致上一个该 UserId 流关闭。 注意: 当使用 TRTC 协议时,该参数为数智人进房用户,调用方自身进房用户不能与该用户相同,如果相同会将数智人踢出房间,导致断流。 |
Protocol | String | 是 | |
DriverType | int | 是 | 数智人驱动方式。 1:纯文本驱动。 3:音频驱动(原声),此模式下支持发送音频和文本两种驱动模式。 |
ProtocolOption | 否 | 协议自定义参数。 Protocol 选择 TRTC 则需要传入该参数下的 TRTC 相关字段。 若用户需要自定义云直播推流地址,则不论使用哪种 Protocol,都需要传入该参数下的 CssCustomPushUrl 字段。 | |
ExtraInfo | 否 | 建流扩展参数。 | |
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。 |
ExtraInfo
名称 | 类型 | 必选 | 描述 |
AlphaChannelEnable | bool | 否 | 是否开启原始视频拼接 alpha 输出拼接视频流。 说明: 假设原始输出宽度为 iW,则实际视频流宽度为:iW + pW + iW pW 为中间间隔(pad)宽度:(16 - iW%16) % 16 alpha 视频宽度起始点:iW + pW alpha 视频宽度:iW 注意: 2D 小样本(高精)形象暂不支持该特性。 |
返回参数
名称 | 类型 | 必选 | 描述 |
ReqId | String | 是 | 单次请求唯一标识。 |
SessionId | String | 是 | 会话的唯一标识。 |
SessionStatus | int | 是 | 会话状态: 1:进行中(已就绪):命中缓存直接得到播流地址。 |
PlayStreamAddr | String | 否 | 播放地址。 说明: 如果通过 CssCustomPushUrl 参数指定了自定义云直播推流地址,则不返回此字段。 |
请求示例(RTMP 协议)
{ "Header": { }, "Payload": { "ReqId": "f2612aa810014e8997f95bda97917268", "VirtualmanProjectId": "1b2c9f1c268a4edfbf6c6274da31b890", "UserId": "virtualhuman", "Protocol": "rtmp", "DriverType": 1 } }
返回示例
{"Header": {"Code": 0,"Message": "","RequestID": "3c5a8d999d8e1fbc6c574595a1b31d5d"},"Payload": {"ReqId": "f2612aa810014e8997f95bda97917268","SessionId": "m318552187863054171","SessionStatus": 1,"PlayStreamAddr": "rtmp://live.qq.com/live/m789"}}
请求示例(TRTC 协议,使用数智人平台统一的 TRTC AppId)
{"Header": {},"Payload": {"ReqId": "f2612aa810014e8997f95bda97917268","VirtualmanProjectId": "1b2c9f1c268a4edfbf6c6274da31b890","UserId": "virtualhuman","Protocol": "trtc","DriverType": 1,"ProtocolOption": {"TrtcUseExternalApp": false,"TrtcRoomId": 12345}}}
返回示例
{"Header": {"RequestID": "6cf04886b38e5855a86b64e945068ca6","SessionID": "gz6240ef0317504134763113857","DialogID": "","Code": 0,"Message": ""},"Payload": {"SessionId": "m587049736339457633","PlayStreamAddr": "trtc://12345?userId=virtualhuman&appId=1400695865&userSig=eJwszcsOgjAQheF3mbUhA5SiTVwYWXmLWN2wwzDgeCG1bQxqfHcTYPt-yTlfOG50QJ1hS6DSCHHSF66o9VwzWVDgyXnEGAZy1a00hitQoUCUs2Qqk1G4AQVPfc7Wju52a*vF6toKXXhZ7N*dzj*nC2K2LEVeHAztmvk46flBoMI0QRHGIpVDffXnUYDw*wcAAP--sGoxjA__&privateMapKey=eJxEjl9LwzAUR7-LfZZxs6XNFvAhpNbinD5Yuudo7kYYzpg-tlb87kJb8Pd4Dhx*P9A*vqxo8C4QSLFGvJmIs3RN7uQogIREMSFuYFbRXoz3zoJkHLHcFduyWIw7gwTdVqHdXfuHZkSdjxTu3rz55HFMWH-U*3PWHm02*vk73i7J5N4JJBMFcrbhopxpjhRe8wkkKKUae9*NtlL9gT1tRXVpjmLfmbo7DOp-S*5rer1eIfz*BQAA---uwULB&virtualManUserId=123450005_ivh_anchor","SessionStatus": 3,"ReqId": "ac8ffc41970a0da06bb87ce3471282be"}}
请求示例(TRTC 协议,使用外部 TRTC AppId)
{"Header": {},"Payload": {"ReqId": "f2612aa810014e8997f95bda97917268","VirtualmanProjectId": "1b2c9f1c268a4edfbf6c6274da31b890","UserId": "virtualhuman","Protocol": "trtc","DriverType": 1,"ProtocolOption": {"TrtcUseExternalApp": true,"TrtcAppId": "123322865","TrtcRoomId": 12345,"TrtcUserSig": "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwiWpxSBsZQqeKU7MSCgswUJStDEwMDM0tTCzNTiExqRUFmUSpQ3NTU1MjAwAAiWpKZCxIzN7EAQnMLE6gpmelAk11989Iik4r8s-xMHQtyAzOcC51LKwPyS3LcAhyznd2jHMNCDSLDC7XDwz1tlWoBf4UyHg__","TrtcPrivateMapKey": "dummy"}}}
返回示例
{"Header": {"RequestID": "2d46357a566aa584b75f92f295aa5d50","SessionID": "gza802cc9317504133607701099","DialogID": "","Code": 0,"Message": ""},"Payload": {"SessionId": "m586856211152897989","SessionStatus": 3,"ReqId": "ad262ea663c84768591a086d6c2e96fd"}}