直播数智人服务 API 概述

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

我的收藏
本文档主要描述 腾讯云智能数智人 直播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. 关闭直播:直播完成请关闭关闭直播间

接入流程





代码示例

Go
package main

import (
"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)
}