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

最近更新时间:2024-11-13 14:51:52

我的收藏

接口说明

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

调用协议

HTTPS + JSON
POST /v2/ivh/sessionmanager/sessionmanagerservice/createsession
Header Content-Type: application/json;charset=utf-8

请求参数

参数名称
类型
必选
描述
ReqId
String
单次请求唯一标识,长度为32的 uuid。
SessionId
String
会话唯一标识,Saas 环境不允许传入由云端分配,私有化环境可传入。
VirtualmanProjectId
String
数智人项目 ID。



UserId
String
用户的唯一标识,由调用方自己维护。以相同的 UserId 创建新流,会导致上一个该 UserId 流关闭。
Protocol
String
视频流协议,当前支持参数:rtmp、trtc、webrtc,不同之处参考交互数智人 API 接入常见问题
DriverType
int
数智人驱动方式。
1:纯文本驱动;
3:音频驱动(原声),此模式下支持发送音频和文本两种驱动模式。
ProtocolOption
协议自定义参数。
Protocol选择 trtc 则需要传入该参数下的trtc相关字段;
若用户需要自定义云直播推流地址,则不论哪种Protocol,都需要传入该参数下的CssCustomPushUrl字段。

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

返回参数

名称
类型
必选
描述
ReqId
String
单次请求唯一标识。
SessionId
String
会话的唯一标识。
SessionStatus
int
会话状态:
1: 进行中(已就绪),命中缓存直接得到播流地址
3: 准备中(未就绪),未命中缓存需等待模型加载,需要使用查询会话状态接口轮询流状态,直到流状态变为1为止。一般不超过2分钟
PlayStreamAddr
String
播放地址。
说明:
如果通过 CssCustomPushUrl 参数指定了自定义云直播推流地址,则不返回此字段。

请求示例

{ "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"
}
}