使用形象资产创建会话

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

我的收藏

接口说明

可使用客户有权限的形象资产直接创建会话,获取数智人画面的流播放地址。

调用协议

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
视频流协议,当前支持参数:rtmp、trtc、webrtc,不同之处参考交互数智人 API 接入常见问题
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: 进行中(已就绪),命中缓存直接得到播流地址
3: 准备中(未就绪),未命中缓存需等待模型加载,需要使用查询会话状态接口轮询流状态,直到流状态变为1为止。一般不超过2分钟
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" } }