一、调用前须知
直播数智人服务是基于交互数智人服务来实现的,所需购买产品同交互数智人服务。
调用直播数智人服务接口前请确保你进行了形象采购以及购买了交互服务,详情请查看购买指南中的购买指引。
二、接口调用环境
正式环境:https://gw.tvs.qq.com
三、接口调用方式
调用每个接口时需要在接口的 query 中传入公共参数及签名。参数及签名方式说明参考以下链接:
数智人 aPaas 接口调用方式
四、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. 关闭直播:直播完成请关闭关闭直播间。
六、代码示例
Gopackage 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", //数智人项目ID Protocol: "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.LiveRoomId fmt.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)}