一句话识别

最近更新时间:2026-05-09 17:58:31

我的收藏

接口描述

本接口用于对 60 秒之内的短音频文件进行识别。
音频格式支持 wav、pcm、ogg-opus、mp3、m4a。
请求方法为 HTTP POST,Content-Type 为 "application/json; charset=utf-8"。

接口要求

集成一句话识别 API 时,需按照以下要求。
内容
说明
语言种类
支持中文普通话、英文。
支持行业
通用。
音频属性
采样率:16000Hz(pcm 格式例外,可通过 InputSampleRate 参数支持 8000Hz,详见 输入参数 说明)。
采样精度:16bits。
声道:单声道(mono)。
音频格式
wav、pcm、ogg-opus、mp3、m4a。
请求协议
https 协议。
请求地址
https://域名/v1/SentenceRecognition?\\{请求参数\\}
响应格式
JSON。
数据发送
支持本地语音文件上传和语音 URL 上传两种请求方式,音频时长不能超过 60s,音频文件大小不能超过 3MB。
并发限制
默认单账号限制并发数为 30 次每秒。

业务流程图





接口调用流程

请求格式

客户端发起 HTTP POST 请求,请求 URL 格式为:
正式环境:https://asr.cloud-rtc.com/v1/SentenceRecognition?\\{请求参数\\}
在请求 header 中填写以下字段:
key
必填
value 含义
X-TRTC-SdkAppId
TRTC 应用 ID,获取方式见 应用基本信息。示例值:1400188366。
X-TRTC-UserSig
TRTC 签名,计算及使用请参见 用户鉴权,其中的 UserID 等于 URL 参数中的 RequestId。
X-Business-Name
默认不填。内部业务与平台沟通后填写,不可随意填写。

请求参数

请求参数格式为:AppId=value1&RequestId=value2
参数说明:
参数名
必填
类型
描述
AppId
String
腾讯云注册账号的 AppId,可通过 API 密钥管理 获取。
RequestId
String
全局请求唯一 ID(uuid),该参数用来生成请求 UserSig。

输入参数

一句话识别的请求消息体,格式为 json。
参数说明:
参数名
必填
类型
描述
EngSerViceType
String
引擎模型类型,目前支持:
16k_zh_en:中英文通用。
SourceType
Integer
语音数据来源:
0:语音 URL。
1:语音数据(post body)。
VoiceFormat
String
识别音频的音频格式,支持 wav、pcm、ogg-opus、mp3、m4a。
Url
String
语音的 URL 地址,需要公网环境浏览器可下载。当 SourceType 值为 0 时须填写该字段,为 1 时不填。音频时长不能超过 60s,音频文件大小不能超过 3MB。
Data
String
语音数据,当 SourceType 值为 1(本地语音数据上传)时必须填写,当 SourceType 值为 0(语音 URL 上传)可不写。必须使用 Base64 编码(采用 Python 语言时注意读取文件应该为 string 而不是 byte,以 byte 格式读取后要 decode()。编码后的数据不可带有回车换行符)。音频时长不能超过 60s,音频文件大小不能超过 3MB(Base64 编码后)。
DataLen
Integer
数据长度,单位为字节。当 SourceType 值为 1(本地语音数据上传)时必须填写,当 SourceType 值为 0(语音 URL 上传)可不写(此数据长度为数据未进行 Base64 编码时的数据长度)
WordInfo
Integer
是否显示词级别时间戳:
0:不显示。
1:显示,不包含标点时间戳。
2:显示,包含标点时间戳。
默认值为 0。
FilterDirty
Integer
是否过滤脏词(中文普通话):
0:不过滤脏词。
1:过滤脏词。
2:将脏词替换为 \\*。
默认值为 0。
FilterModal
Integer
是否过滤语气词(中文普通话):
0:不过滤语气词。
1:部分过滤。
2:严格过滤。
默认值为 0。
FilterPunc
Integer
是否过滤标点符号(中文普通话):
0:不过滤。
1:过滤句末标点。
2:过滤所有标点。
默认值为 0。
ConvertNumMode
Integer
是否进行阿拉伯数字智能转换:
0:不转换,直接输出中文数字。
1:根据场景智能转换为阿拉伯数字。
默认值为 1。
HotwordList
String
临时热词表:该参数用于提升识别准确率。单个热词限制:“热词|权重”,单个热词不超过 30 个字符(最多 10 个汉字),权重 1-11 或者 100,例如:“热词|5” 或 “ASR|11”;临时热词表限制:多个热词用英文逗号分割,最多支持 128 个热词,例如:“热词|10,语音识别|5,ASR|11”。
注意:
热词权重设置为 11 时,当前热词将升级为超级热词,建议仅将重要且必须生效的热词设置到 11,设置过多权重为 11 的热词将影响整体字准率。
热词权重设置为 100 时,当前热词开启热词增强同音替换功能(仅支持 8k_zh, 16k_zh)。举例:热词配置“蜜制|100”时,与“蜜制”同拼音(mizhi)的“秘制”的识别结果会被强制替换成“蜜制”。
InputSampleRate
Integer
支持 pcm 格式的 8k 音频在与引擎采样率不匹配的情况下升采样到 16k 后识别,能有效提升识别准确率。仅支持:8000。如:传入 8000,则 pcm 音频采样率为 8k,当引擎选用 16k_zh,那么该 8k 采样率的 pcm 音频可以在 16k_zh 引擎下正常识别。
注意:
此参数仅适用于 pcm 格式音频,不传入值将维持默认状态,即默认调用的引擎采样率等于 pcm 音频采样率。
language
String
该字段当前版本不生效,传入后将被忽略,不影响请求结果。

响应格式

响应消息为 json 格式,所有返回字段都位于顶层 Response 对象之内。
参数说明:
参数名
类型
描述
Response
Object
顶层响应对象,包含以下字段。
Response.Result
String
识别结果。
Response.AudioDuration
Integer
请求的音频时长,单位为 ms。
Response.WordSize
Integer
词时间戳列表的长度。
注意:
此字段可能返回 null,表示取不到有效值。
Response.WordList
Array of SentenceWord
词时间戳列表。
注意:
此字段可能返回 null,表示取不到有效值。
Response.StartTimestamps
Array of Integer
每个词的起始时间戳列表(单位 ms)。
Response.EndTimestamps
Array of Integer
每个词的结束时间戳列表(单位 ms)。
Response.RequestId
String
请求的 RequestId,定位问题时需要提供该次请求的 RequestId。
SentenceWord 定义为:
名称
类型
描述
Word
String
词结果。
StartTime
Integer
词在音频中的开始时间。
EndTime
Integer
词在音频中的结束时间。

示例

用户通过 SourceType=1 请求一句话识别,请求如下
请求网址:
https://asr.cloud-rtc.com/v1/SentenceRecognition?AppId=12345&RequestId=2f5e8263-a23b-4e65-be22-6b7c19bd4064
输入参数:
{
"EngSerViceType": "16k_zh_en",
"SourceType": 1,
"VoiceFormat": "wav",
"Data": "xxxxxxxx",
"DataLen": 8
}
响应结果:
{
"Response": {
"Result": "我们能接受的范围内。",
"RequestId": "2f5e8263-a23b-4e65-be22-6b7c19bd4064",
"AudioDuration": 1840
}
}

错误码

数值
说明
400
音频发送失败。
413
音频超限。
400
音频为空。
400
请求消息体格式错误。
4002
鉴权失败。
4003
AppID 服务未开通,请在控制台开通服务。
4004
资源包耗尽,请开通后付费或者购买资源包。
4005
账户欠费停止服务,请及时充值。
4006
账号当前调用并发超限。
4007
音频解码失败,请检查上传音频数据格式是否与调用参数一致。
5000
因机器负载过高、网络抖动等导致失败,请重新发起新识别。
注意:
该问题通常为偶发,少量出现可忽略,发起新识别即可。
5001
因机器负载过高、网络抖动等导致失败,请重新发起新识别。
注意:
该问题通常为偶发,少量出现可忽略,发起新识别即可。
5002
因机器负载过高、网络抖动等导致失败,请重新发起新识别。
注意:
该问题通常为偶发,少量出现可忽略,发起新识别即可。