本文介绍Fun-ASR录音文件识别HTTP API的参数和接口细节。
DashScope异步调用(Fun-ASR)
流程说明
与DashScope同步调用(一次请求、立即返回结果)不同,异步调用专为处理长音频文件或耗时较长的任务设计,该模式采用“提交-轮询”的两步式流程,避免了因长时间等待而导致的请求超时:
-
第一步:提交任务
-
客户端发起一个异步处理请求。
-
服务器验证请求后,不会立即执行任务,而是返回一个唯一的
task_id,表示任务已成功创建。
-
-
第二步:获取结果
-
客户端使用获取到的
task_id,通过轮询方式反复调用结果查询接口。 -
当任务处理完成后,结果查询接口将返回最终的识别结果。
-
服务端点
新加坡
提交任务接口:POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/asr/transcription
查询任务接口:GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}
调用时请将{WorkspaceId}替换为真实的Workspace ID。
华北2(北京)
提交任务接口:POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/audio/asr/transcription
查询任务接口:GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}
调用时请将{WorkspaceId}替换为真实的Workspace ID。
阿里云百炼为华北2(北京)、新加坡地域推出了业务空间专属域名,能够为推理请求提供卓越的性能和更高的稳定性,建议迁移至新域名:
华北2(北京)地域:从
dashscope.aliyuncs.com迁移至{WorkspaceId}.cn-beijing.maas.aliyuncs.com新加坡地域:从
dashscope-intl.aliyuncs.com迁移至{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
{WorkspaceId}需要替换为真实的Workspace ID。现有域名仍可正常使用。
使用新版域名(https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com)提交任务时,请求体中必须包含parameters对象。即使无需设置任何参数,也必须传入空对象{},否则任务可正常提交,但识别将失败。
请求头
|
参数 |
类型 |
是否必选 |
说明 |
|
Authorization |
string |
是 |
鉴权令牌,格式为 |
|
Content-Type |
string |
是 |
请求体的媒体类型。仅提交任务接口需要传入,固定为 |
|
X-DashScope-Async |
string |
是 |
异步任务标识。仅提交任务接口需要传入,固定为 |
提交任务接口
提交语音识别任务。该接口异步返回,业务侧需结合查询任务接口轮询任务状态。
请求体 |
以下为新加坡地域的配置,调用时请将"{WorkspaceId}"替换为真实的业务空间ID,各地域的配置不同。新加坡地域和北京地域的API Key不同。
|
|
model 指定用于音视频文件转写的模型名。 取值范围:
|
|
|
input 输入参数对象。 |
|
|
parameters 请求参数对象。 重要
使用新版域名( |
返回体 |
|
|
request_id 本次调用的唯一标识符。 |
|
|
output 提交任务返回的数据。 |
查询任务接口
查询语音识别任务的执行情况和结果。建议轮询调用直至任务终态。
请求体 |
以下为新加坡地域的配置,调用时请将"{WorkspaceId}"替换为真实的业务空间ID,各地域的配置不同。新加坡地域和北京地域的API Key不同。
|
|
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同步调用(Fun-ASR-Flash)
该功能不支持SDK调用。
服务端点
新加坡
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
调用时请将{WorkspaceId}替换为真实的Workspace ID。
华北2(北京)
POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
调用时请将{WorkspaceId}替换为真实的Workspace ID。
阿里云百炼为华北2(北京)、新加坡地域推出了业务空间专属域名,能够为推理请求提供卓越的性能和更高的稳定性,建议迁移至新域名:
华北2(北京)地域:从
dashscope.aliyuncs.com迁移至{WorkspaceId}.cn-beijing.maas.aliyuncs.com新加坡地域:从
dashscope-intl.aliyuncs.com迁移至{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
{WorkspaceId}需要替换为真实的Workspace ID。现有域名仍可正常使用。
请求头
|
参数 |
类型 |
是否必选 |
说明 |
|
Authorization |
string |
是 |
鉴权令牌,格式为 |
|
Content-Type |
string |
是 |
请求体的媒体类型,固定为 |
|
X-DashScope-SSE |
string |
是 |
用于控制是否以SSE流式方式返回结果。设置为 |
请求体 |
以下为新加坡地域的配置,调用时请将"{WorkspaceId}"替换为真实的业务空间ID,各地域的配置不同。新加坡地域和北京地域的API Key不同。 非流式
流式
携带上下文-非流式
携带上下文-流式
Base64可输入Base64编码数据(Data URL),格式为:
|
|
model 模型名称,固定为 |
|
|
input 输入信息。 |
|
|
parameters 模型参数。 |
返回体 |
非流式
流式设置
返回示例:
|
|
request_id 本次请求的唯一标识。 |
|
|
output 输出结果。 |
|
|
usage 用量信息。仅在 |
SSE 流式结果处理逻辑
在流式模式下,客户端需关注以下处理要点:
-
每收到一个SSE事件,解析
data字段中的JSON。 -
通过
output.sentence.sentence_end判断当前句子是否结束:当该值为true时,该句识别完成,词级时间戳已稳定,可作为最终结果使用;当该值为false时,识别仍在进行中,文本和时间戳可能在后续事件中更新。 -
usage信息仅在句子结束事件中返回,可用于计量音频处理时长。