语音识别

AI搜索开放平台支持通过API的方式调用语音识别服务,可将视频或音频中的语音内容快速转化为结构化文本,可用于会议记录、视频检索、在线客服等场景。

服务列表

服务名称

服务ID(service_id)

服务描述

API调用QPS限制(含主账号与RAM子账号)

语音识别服务

ops-audio-asr-001

提取音频信息生成字幕文件。

5

说明

如需扩充QPS,请通过工单联系技术支持协助。

  • 获取身份鉴权信息

    通过API调用AI搜索开放平台服务时,需要对调用者身份进行鉴权,如何获取鉴权信息请参见获取API-KEY

  • 获取服务调用地址

    支持通过公网和VPC两种方式调用服务,详情请参见获取服务接入地址

创建语音识别异步任务

请求方式:POST

URL

POST {host}/v3/openapi/workspaces/{workspace_name}/audio-asr/{service_id}/async 
  • host:调用服务的地址,支持通过公网和VPC两种方式调用API服务,可参见获取服务接入地址

    AI apikey截图.png

  • workspace_name:工作空间名称,例如default。

  • service_id: 系统内置服务ID,例如ops-audio-asr-001。

请求参数

Header参数

API-KEY认证

参数

类型

必填

描述

示例值

Content-Type

String

请求类型:application/json

application/json

Authorization

String

API-Key

Bearer OS-d1**2a

Body参数

参数

类型

必填

描述

input

Object(input)

指定待处理的多媒体文件。

parameters

Object

指定服务的参数。

output

Object(output)

控制输出。

input

参数

类型

必填

描述

content

String

视频/音频内容的base64编码数据。

音频格式支持mp3、wav、aac、flac、ogg、m4a、alac、wma。

视频格式数据支持mp4、avi、mkv、mov、flv、webm。

说明

input.content 和 input.oss 参数互斥,只能二选一。

使用BASE64数据:将编码后的BASE64数据传递给content参数,格式为data:<TYPE>/<FORMAT>;base64,<BASE64_DATA>,其中:

  • <TYPE>/<FORMAT>

    • 若为音频(如MP3),则填写audio/mp3。

    • 若为视频(如MOV),则填写video/mov。

  • <BASE64_DATA>:音频或视频的BASE64编码数据。

示例:

  • 音频:data:audio/mp3;base64,AAAAIGZ0eXBtcDQyAAABAGlzbWZj...

  • 视频:data:video/mov;base64,AAAAIGZ0eXBtcDQyAAABAGlzbWZj...

oss

String

输入文件的OSS路径,例如 oss://<BUCKET_NAME>/xxx/xxx.mp3。

file_name

String

视频/音频文件的名称,如果没有设置,则从内容的文件名中解析。

output

参数

类型

必填

描述

type

String

text:将语音识别结果以文本形式返回,仅同步任务调用下支持。

oss: 音频文件放在OSS中(默认)。

oss

String

输出文件的OSS路径,在typeoss的情况下必须填写。

示例:oss://<BUCKET_NAME>/result

返回参数

参数

类型

描述

示例值

result.task_id

String

语音识别任务的唯一标识ID。

asr-xxxx-abc-123

Curl请求示例

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <您的API-KEY>" \
  "http://***-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/audio-asr/ops-audio-asr-001/async"
  --data '{
  "input":{
      "oss":"oss://<BUCKET_NAME>/xxx/xxx.mp3",
      "file_name":"xxx"
    },
    "output" :{
      "type":"oss",
      "oss":"oss://<BUCKET_NAME>/result"
    }
  }' \ 

响应示例

{
  "request_id":"3eb8de02091b59431601f3bff******",
   "latency":37,
   "usage":{},
   "result":{
         "task_id":"asr-20250610164552-1108418170738252-******",
         "status":"PENDING"
             }
}

获取异步语音识别任务状态

请求方式:GET

URL

{host}/v3/openapi/workspaces/{workspace_name}/audio-asr/{service_id}/async/task-status?task_id={task_id}
  • host:调用服务的地址,支持通过公网和VPC两种方式调用API服务,可参见获取服务接入地址

  • workspace_name:工作空间名称,例如default。

  • service_id: 系统内置服务ID,例如ops-audio-asr-001。

  • task_id:创建异步语音识别任务返回参数中的任务标识。

请求参数

参数

类型

必填

描述

示例

Content-Type

String

请求类型:application/json

application/json

Authorization

String

API-Key

Bearer OS-d1**2a

返回参数

参数

类型

描述

示例

request_id

String

系统对一次API调用赋予的唯一标识。

3C09570D-12DB-46B4-BF0F-A100D79B****

latency

Float/Int

请求耗时,单位ms。

3.0

result.task_id

String

异步任务ID。

a7e4c0f6-874c-47e3-b05b-02278a96e****

result.status

String

任务状态:

  • PENDING:待处理。

  • SUCCESS:任务成功完成。

  • FAIL:任务失败终止。

PENDING

result.error

String

status=FAIL时的错误信息内容,正常情况为空。

result.data

List(AsrResult)

语音识别的结果。当异步任务状态未成功完成(SUCCESS)时,该字段为空。

usage.duration

Float.duration

语音文件的时长。

AsrResult

参数

类型

描述

text

String

语音识别得到的文本数据。

start

Float

当前文本在视频中起始时间戳,单位s。

end

Float

当前文本在视频中结束时间戳,单位s。

Curl请求示例

curl -X GET \
-H"Content-Type: application/json" \
-H "Authorization: Bearer <您的API-KEY>" \
"http://***-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/audio-asr/ops-audio-asr-001/async/task-status?task_id=asr-20250618112151-1108418170738252-******" 
 

响应示例

{
  "request_id": "1a1a4ca4b7a91dd630a40c54af******",
  "latency": 9,
  "usage": {
    "duration": 9
  },
  "result": {
    "task_id": "asr-20250618112151-1108418170738252-******",
    "status": "SUCCESS",
    "data": [
      {
        "text": "容杰律斗以和煦如春阳的头声娓娓道来,",
        "start": 0.0,
        "end": 3.9
      },
      {
        "text": "透出了欣欣向荣的生命力,温暖每一个倾听的耳朵。",
        "start": 4.24,
        "end": 9.06
      }
    ]
  }
}

创建语音识别同步任务

请求方式:POST

URL

{host}/v3/openapi/workspaces/{workspace_name}/audio-asr/{service_id}/sync
  • host:调用服务的地址,支持通过公网和VPC两种方式调用API服务,可参见获取服务接入地址

  • workspace_name:工作空间名称,例如default。

  • service_id: 系统内置服务ID,例如ops-audio-asr-001。

请求参数

Header参数

API-KEY认证

参数

类型

必填

描述

示例值

Content-Type

String

请求类型:application/json

application/json

Authorization

String

API-Key

Bearer OS-d1**2a

Body参数

参数

类型

必填

描述

input

Object(input)

指定待处理的多媒体文件。

parameters

Object

指定服务的参数。

output

Object(output)

控制输出。

input

参数

类型

必填

描述

content

String

视频/音频内容的base64编码数据。

音频格式支持mp3、wav、aac、flac、ogg、m4a、alac、wma。

视频格式数据支持mp4、avi、mkv、mov、flv、webm。

说明

input.content 和 input.oss 参数互斥,只能二选一。

使用BASE64数据:将编码后的BASE64数据传递给content参数,格式为data:<TYPE>/<FORMAT>;base64,<BASE64_DATA>,其中:

  • <TYPE>/<FORMAT>

    • 若为音频(如MP3),则填写audio/mp3。

    • 若为视频(如MOV),则填写video/mov。

  • <BASE64_DATA>:音频或视频的BASE64编码数据。

示例:

  • 音频:data:audio/mp3;base64,AAAAIGZ0eXBtcDQyAAABAGlzbWZj...

  • 视频:data:video/mov;base64,AAAAIGZ0eXBtcDQyAAABAGlzbWZj...

oss

String

输入文件的OSS路径,例如 oss://<BUCKET_NAME>/xxx/xxx.mp3。

file_name

String

视频/音频文件的名称,如果没有设置,则从内容的文件名中解析。

Output

参数

类型

必填

描述

type

String

text:将语音识别结果以文本形式返回,仅同步调用下支持。

oss:视频/音频文件放在OSS中(默认)。

oss

String

输出文件的OSS路径,在typeoss的情况下必须填写。

示例:oss://<BUCKET_NAME>/result

返回参数

参数

类型

描述

示例值

result.task_id

String

语音识别任务的唯一标识ID。

asr-xxxx-abc-123

Curl请求示例

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <您的API-KEY>" \
  "http://***-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/audio-asr/ops-audio-asr-001/sync"
  --data '{
  "input":{
      "oss":"oss://<BUCKET_NAME>/xxx/xxx.mp3",
      "file_name":"xxx"
    },
    "output" :{
      "type":"oss",
      "oss":"oss://<BUCKET_NAME>/result"
    }
  }' \ 

响应示例

{
  "request_id": "df96b5c444281e0e79561fe9f8******",
  "latency": 570,
  "usage": {
    "duration": 9
  },
  "result": {
    "task_id": "asr-20250618132401-1108418170738252-******",
    "status": "SUCCESS",
    "data": [
      {
        "text": "容杰律斗以和煦如春阳的头声娓娓道来,",
        "start": 0.0,
        "end": 3.9
      },
      {
        "text": "透出了欣欣向荣的生命力,温暖每一个倾听的耳朵。",
        "start": 4.24,
        "end": 9.06
      }
    ]
  }
}

状态码说明

在访问请求出错的情况下,输出的结果中会通过codemessage指明出错原因。

{
    "request_id": "6F33AFB6-A35C-4DA7-AFD2-9EA16CCF****",
    "latency": 2.0,
    "code": "InvalidParameter",
    "http_code": 400,
    "message": "JSON parse error: Cannot deserialize value of type `ImageStorage` from String \\"xxx\\"
}

HTTP 状态码

错误码

描述

200

-

请求成功,包括任务失败场景,实际任务状态需从result.status中判断。

404

BadRequest.TaskNotExist

任务不存在。

400

InvalidParameter

不合法请求。

500

InternalServerError

内部错误。

更多状态码说明,请参见状态码说明