1. 接口描述
接口请求域名: trtc.tencentcloudapi.com 。
这个接口调用后,后台会启动转录机器人,实时进行语音识别并下发字幕和转录消息。
转录机器人支持两种拉流方式,通过TranscriptionMode字段控制:
- 拉取全房间的流。
- 拉取特定用户的流。
服务端通过TRTC的自定义消息实时下发字幕和会议记录,CmdId固定是1。客户端只需监听自定义消息的回调即可,比如c++回调。其他客户端比如安卓、Web等同样可在该链接处找到。
服务端实时下发的消息是JSON字符串,实时字幕具体格式如下:{
"type": "subtitle",
"userid": "xxx",
"text": "xxx",
"translation_text": "xxx",
"start_time": "00:00:02",
"end_time": "00:00:05"
}
字段作用如下:
- type是subtitle,表示这是实时字幕消息。
- userid表示是哪个用户说的话。
- text是语音识别出的文本。
- translation_text是text翻译后的文本,如果不启用翻译,则是空字符串。
- start_time和end_time表示该字幕消息从任务开启后的开始和结束时间。
转录消息具体格式如下:{
"type": "transcription",
"userid": "xxx",
"text": "xxx",
"translation_text": "xx",
"start_time": "00:00:02",
"end_time": "00:00:05"
}
字段作用如下:
- type是transcription,表示这是转录消息。
- 其余字段同实时字幕消息。
转录消息和实时字幕消息的区别是,转录消息是完整的一句话,实时字幕消息则是这一句话的中间阶段。
假如有一句完整的话,“今天天气怎么样?”,那么服务的下发消息的顺序可能是这样:
- 字幕消息,“今天”
- 字幕消息,“今天天气”
- 字幕消息,“今天天气怎么样”
- 转录消息,“今天天气怎么样?”
默认接口请求频率限制:20次/秒。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:StartAITranscription。 |
Version | 是 | String | 公共参数,本接口取值:2019-07-22。 |
Region | 否 | String | 公共参数,此参数为可选参数。 |
SdkAppId | 是 | Integer | TRTC的SdkAppId,和开启转录任务的房间使用的SdkAppId相同。 |
RoomId | 是 | String | TRTC的RoomId,表示开启转录任务的房间号。 |
TranscriptionParams | 是 | TranscriptionParams | 转录机器人的参数。 |
SessionId | 否 | String | 调用方传入的唯一Id,服务端用来去重。 注意: 如果传入该参数,服务端优先使用该参数来去重。 如果不传该参数,服务端的去重策略如下: - 如果TranscriptionMode字段是0,则一个房间只能开启一个任务 - 如果TranscriptionMode字段是1,则一个TargetUserId只能开启一个任务 |
RoomIdType | 否 | Integer | TRTC房间号的类型,0代表数字房间号,1代表字符串房间号。不填默认是数字房间号。 |
RecognizeConfig | 否 | RecognizeConfig | 语音识别配置。 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
TaskId | String | 用于唯一标识转录任务。 示例值:5df46eb2-8e4b-490e-9c3c-dbd3b84faefc |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 样例
输入示例
POST / HTTP/1.1
Host: trtc.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: StartAITranscription
<公共请求参数>
{
"SdkAppId": 1234,
"RoomId": "1234",
"RoomIdType": 1,
"TranscriptionParams": {
"UserId": "abc",
"UserSig": "abc",
"IMAdminUserId": "abc",
"IMAdminUserSig": "abc",
"MaxIdleTime": 60,
"TranscriptionMode": 1,
"TargetUserId": "abc"
}
}
输出示例
{
"Response": {
"TaskId": "abc",
"RequestId": "abc"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
FailedOperation.NotAbility | 需要解锁所需能力位 |
FailedOperation.SdkAppIdNotUnderAppId | AppId下没有此SdkAppId的资源 |
FailedOperation.TaskExist | 任务已存在 |
InvalidParameter.UserSig | UserSig过期或错误。 |
InvalidParameter.UserSigNotAdmin | UserSig 不是超级管理员。 |
ResourceInsufficient.RequestRejection | 资源不足。 |