使用数智人平台项目创建会话

最近更新时间:2025-07-17 16:39:12

我的收藏

接口说明

使用数智人平台项目创建会话,获取数智人画面的流播放地址。

调用协议

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
视频流协议,当前支持参数(要求小写):rtmp、trtc、webrtc,不同之处请参见 交互数智人 API 接入常见问题
DriverType
int
数智人驱动方式。
1:纯文本驱动。
3:音频驱动(原声),此模式下支持发送音频和文本两种驱动模式。
ProtocolOption
协议自定义参数。
Protocol 选择 TRTC 则需要传入该参数下的 TRTC 相关字段。
若用户需要自定义云直播推流地址,则不论使用哪种 Protocol,都需要传入该参数下的 CssCustomPushUrl 字段。
ExtraInfo
ExtraInfo
建流扩展参数。
StreamMaxInterval
int
流式文本非子句模式或音频驱动时数据上送最大间隔时长,范围为2000 - 6000,默认为2000,单位为 ms。

ProtocolOption

名称
类型
必选
描述
TrtcUseExternalApp
boolean
是否使用外部 TRTC AppId,如果不使用,将使用数智人平台统一的 TRTC AppId。
注意:
数智人平台统一的 TRTC AppId,仅用于调试阶段,投产时,由用户自行在腾讯云申请 TRTC AppId。
TrtcAppId
String
TRTC AppId(使用外部 TRTC AppId 时必填),获取方式请参见 实时音视频-应用概览
TrtcRoomId
int
TRTC 数字房间号(使用外部 TRTC AppId 时 TrtcRoomId 和 StrTrtcRoomId 必填一个,如果两个都填写,优先使用数字房间号)。
TrtcStrRoomId
String
TRTC 字符串房间号(使用外部 TRTC AppId 时 TrtcRoomId 和 StrTrtcRoomId 必填一个,如果两个都填写,优先使用数字房间号)。
TrtcAutoGenRoomIdType
int
当 TrtcRoomId 和 TrtcStrRoomId 都不填,系统自动生成的房间号类型(前提是使用数智人平台统一的 TRTC AppId),0:数字类型 1:字符串类型,默认数字类型。
TrtcUserSig
String
TRTC 数智人用户签名(使用外部 TRTC AppId 时必填,参数 UserId 为 TRTC 数智人用户,数智人需要使用该签名才能加入房间),计算方式请参见 实时音视频-用户鉴权
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:进行中(已就绪):命中缓存直接得到播流地址。
3:准备中(未就绪):未命中缓存需等待模型加载,需要使用 查询会话状态 接口轮询流状态,直到流状态变为1为止。一般不超过2分钟。
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"
}
}