本文介绍Fun-ASR录音文件识别HTTP API的参数和接口细节。
用户指南:关于模型介绍和选型建议请参见语音识别。
DashScope异步调用
流程说明
与DashScope同步调用(一次请求、立即返回结果)不同,异步调用专为处理长音频文件或耗时较长的任务设计,该模式采用“提交-轮询”的两步式流程,避免了因长时间等待而导致的请求超时:
第一步:提交任务
客户端发起一个异步处理请求。
服务器验证请求后,不会立即执行任务,而是返回一个唯一的
task_id,表示任务已成功创建。
第二步:获取结果
客户端使用获取到的
task_id,通过轮询方式反复调用结果查询接口。当任务处理完成后,结果查询接口将返回最终的识别结果。
服务端点
中国内地
服务部署范围为中国内地时,模型推理计算资源仅限于中国内地;静态数据存储于您所选的地域。该部署范围支持的地域:华北2(北京)。
提交任务接口:POST https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription
查询任务接口:GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
国际
服务部署范围为国际时,模型推理计算资源在全球范围内动态调度(不含中国内地);静态数据存储于您所选的地域。该部署范围支持的地域:新加坡。
提交任务接口:POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/transcription
查询任务接口:GET https://dashscope-intl.aliyuncs.com/api/v1/tasks/{task_id}
请求头
参数 | 类型 | 是否必选 | 说明 |
Authorization | string | 是 | 鉴权令牌,格式为 |
Content-Type | string | 是 | 请求体的媒体类型。仅提交任务接口需要传入,固定为 |
X-DashScope-Async | string | 是 | 异步任务标识。仅提交任务接口需要传入,固定为 |
提交任务接口
提交语音识别任务。该接口异步返回,业务侧需结合查询任务接口轮询任务状态。
请求体 | 以下为北京地域URL,若使用新加坡地域的模型,需将URL替换为: |
model 指定用于音视频文件转写的模型名。 取值范围:
| |
input 输入参数对象。 | |
parameters 请求参数对象。 | |
返回体 | |
request_id 本次调用的唯一标识符。 | |
output 提交任务返回的数据。 |
查询任务接口
查询语音识别任务的执行情况和结果。建议轮询调用直至任务终态。
请求体 | 以下为北京地域URL,若使用新加坡地域的模型,需将URL替换为: |
task_id 重要 该参数为URL路径参数,无请求体。 查询任务需指定其ID,该ID为提交任务接口被调用后返回的 | |
返回体 | 正常示例异常示例 |
request_id 本次调用的唯一标识符。 | |
output 查询任务返回的数据。 |
其他接口:批量查询任务状态/取消任务
详情请参见管理异步任务:支持批量查询24小时内提交的录音文件识别任务,同时支持取消PENDING(排队)状态的任务。
识别结果说明
识别结果保存为JSON文件。
需要关注的参数如下:
参数 | 类型 | 说明 |
audio_format | string | 源文件中音频的格式。 |
channels | array[integer] | 源文件中音频的音轨索引信息,对单轨音频返回[0],对双轨音频返回[0, 1],以此类推。 |
original_sampling_rate | integer | 源文件中音频的采样率(Hz)。 |
original_duration_in_milliseconds | integer | 源文件中的原始音频时长(ms)。 |
channel_id | integer | 转写结果的音轨索引,以0为起始。 |
content_duration | integer | 音轨中被判定为语音内容的时长(ms)。 重要 语音识别模型服务仅对音轨中被判定为语音内容的时长进行语音转写,并据此进行计量计费,非语音内容不计量、不计费。通常情况下语音内容时长会短于原始音频时长。由于对是否存在语音内容的判定是由AI模型给出的,可能与实际情况存在一定误差。 |
transcript | string | 段落级别的语音转写结果。 |
sentences | array | 句子级别的语音转写结果。 |
words | array | 词级别的语音转写结果。 |
begin_time | integer | 开始时间戳(ms)。 |
end_time | integer | 结束时间戳(ms)。 |
text | string | 语音转写结果。 |
speaker_id | integer | 当前说话人的索引,以0为起始,用于区分不同的说话人。 仅在启用说话人分离功能时,该字段才会显示于识别结果中。 |
punctuation | string | 预测出的词之后的标点符号(如有)。 |
DashScope同步调用
该功能只支持北京地域。
服务端点
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
请求头
参数 | 类型 | 是否必选 | 说明 |
Authorization | string | 是 | 鉴权令牌,格式为 |
Content-Type | string | 是 | 请求体的媒体类型,固定为 |
X-DashScope-SSE | string | 是 | 用于控制是否以SSE流式方式返回结果。设置为 |
请求体 | 非流式流式 |
model 模型名称。默认值 取值范围:
| |
input 输入信息。与输入音频文件URL方式(通过 | |
parameters 模型参数。 | |
resources 资源列表,预留字段,当前可传空数组 |
返回体 | 非流式流式设置 中间结果(句子开始、词逐步增长): 最终结果(句子结束,包含 |
request_id 本次请求的唯一标识。 | |
output 输出结果。 | |
usage 用量信息。仅在 |
SSE 流式结果处理逻辑
在流式模式下,客户端需关注以下处理要点:
每收到一个SSE事件,解析
data字段中的JSON。通过
output.sentence.sentence_end判断当前句子是否结束:当该值为true时,该句识别完成,词级时间戳已稳定,可作为最终结果使用;当该值为false时,识别仍在进行中,文本和时间戳可能在后续事件中更新。usage信息仅在句子结束事件中返回,可用于计量音频处理时长。