本文档主要描述 腾讯云智能数智人 直播aPaas平台的开放接口协议,以及阐述接口的调用流程。
调用前须知
直播数智人服务是基于交互数智人服务来实现的,所需购买产品同交互数智人服务。
接口调用环境
正式环境:
https://gw.tvs.qq.com
接口调用方式
调用每个接口时需要在接口的 query 中传入公共参数及签名。参数及签名方式说明参考以下链接:
API 概览
API 标题 | 接口 | 说明 |
POST /v2/ivh/liveroom/liveroomservice/openliveroom | 创建直播间 | |
POST /v2/ivh/liveroom/liveroomservice/getliveroom | 查询直播间信息 | |
POST /v2/ivh/liveroom/liveroomservice/listliveroomofappkey | 查询直播间列表,返回使用某 appkey 创建的未关闭的直播间 | |
POST /v2/ivh/liveroom/liveroomservice/takeover | 向直播间发送插播信息 | |
POST /v2/ivh/liveroom/liveroomservice/closeliveroom | 关闭直播间 |
接口接入流程
接入指引
通过下列步骤使用直播数智人服务:
1. 购买相关产品及服务:购买链接;
2. 创建直播间:调用创建直播间接口即可创建;
3. 等待直播间就绪:通过调用查询直播间信息接口循环查询,直到直播间状态为视频流创建完成(Status=2);
4. 开始直播:直播过程中可通过调用直播接管接口来进行插播;
5. 关闭直播:直播完成请关闭关闭直播间。
接入流程

代码示例
package mainimport ("fmt""log""time")func main() {// 第一步:初始化api调用对象var api = NewVHApi("your_appkey", //appkey"your_accesstoken", //accesstoken"https://gw.tvs.qq.com") //httpOrigin// 第二步:开启直播间openLiveroomRsp, err := api.OpenLiveroom(OpenLiveroomReq{CycleTimes: 5, //循环次数//CallbackUrl: "https://callback.example.com/callback_example_url",VideoStreamReq: &VideoStreamReq{VirtualmanProjectId: "your_virtualman_project_id", //数智人项目IDProtocol: "webrtc", //视频流协议},Scripts: []*ScriptReq{{Content: "直播文本内容:腾讯云智能数智人(Tencent Cloud AI Digital Human,TCADH)采用语音交互、虚拟形象模型生成等多项 AI 技术,实现唇形语音同步和表情动作拟人等效果,广泛应用于虚拟形象播报和实时语音交互两大场景。虚拟形象播报根据文本内容快速合成音视频文件,落地于媒体、教育、会展服务等场景,实时语音交互支持即时在线对话,可赋能智能客服、语音助理等场景。",Backgrounds: []*VideoLayer{{Url: "your_background_image_url"},},},},})if err != nil {log.Fatalf("err:%v", err)}liveRoomId := openLiveroomRsp.LiveRoomIdfmt.Println("获取开启直播间接口中返回的VideoStreamPlayUrl:", openLiveroomRsp.VideoStreamPlayUrl)// 查询直播间for openLiveroomRsp.Status != 2 {openLiveroomRsp, _ = api.GetLiveroom(liveRoomId)}// 接管直播演示,插播并可补充背景图片time.Sleep(30 * time.Second)api.TakeoverLiveroom(TakeoverReq{LiveRoomId: liveRoomId,Content: "插播测试:文本内容,最大长度500字",})time.Sleep(120 * time.Second)//第三步:关闭直播间api.CloseLiveroom(liveRoomId)}