Todos los productos
Search
Centro de documentos

OpenSearch:Reconocimiento de voz

Última actualización: Sep 04, 2026

AI Search Open Platform ofrece una API de reconocimiento de voz que convierte rápidamente el audio y video en texto estructurado. Esta funcionalidad es útil para la transcripción de reuniones, la indexación de búsquedas en video y la atención al cliente en línea.

Lista de servicios

Nombre del servicio

ID del servicio

Descripción

Límite de QPS de la API

speech recognition service

ops-audio-asr-001

Genera subtítulos a partir de contenido de audio.

5

Nota

Para solicitar un límite mayor de QPS de la API, envíe un ticket al soporte técnico.

  • Obtención de credenciales de autenticación

    La plataforma abierta AI Search requiere una clave de API para la autenticación. Para obtener instrucciones, consulte Get an API key.

  • Obtención del endpoint del servicio

    Puede invocar el servicio a través de la red pública o de una VPC. Para más detalles, consulte Get the service endpoint.

Tarea asíncrona de reconocimiento de voz

Método de solicitud: POST

URL

POST {host}/v3/openapi/workspaces/{workspace_name}/audio-asr/{service_id}/async
  • host: El endpoint del servicio. Puede invocar el servicio de API a través de la red pública o desde una VPC. Para más información, consulte Get a service endpoint.

    Inicie sesión en la consola de AI Search Open Platform. En la esquina superior izquierda, seleccione el workspace objetivo, por ejemplo, default (default space). En el panel de navegación izquierdo, haga clic en API Keys. En la sección access domain, encontrará el public API domain y el private API domain.

  • workspace_name: El nombre del workspace, por ejemplo, default.

  • service_id: El ID del servicio integrado, por ejemplo, ops-audio-asr-001.

Parámetros de la solicitud

Parámetros de encabezado

Autenticación mediante clave de API

Parámetro

Tipo

Obligatorio

Descripción

Ejemplo

Content-Type

String

Sí

El tipo de medio del cuerpo de la solicitud.

application/json

Authorization

String

Sí

Clave de API

Bearer OS-d1**2a

Parámetros del cuerpo

Parámetro

Tipo

Obligatorio

Descripción

input

Object(input)

Sí

El archivo multimedia que se procesará.

parameters

Object

No

Parámetros del servicio.

output

Object(output)

Sí

La configuración de salida.

input

Parámetro

Tipo

Obligatorio

Descripción

content

String

No

El contenido de audio o video codificado en base64.

Formatos de audio compatibles: mp3, wav, aac, flac, ogg, m4a, alac y wma.

Formatos de video compatibles: mp4, avi, mkv, mov, flv y webm.

Nota

Los parámetros input.content e input.oss son mutuamente excluyentes. Especifique solo uno.

Uso de datos Base64: Pase los datos codificados en Base64 al parámetro content con el formato data:<TYPE>/<FORMAT>;base64,<BASE64_DATA> , donde:

  • <TYPE>/<FORMAT>

    • Para audio, como mp3, use audio/mp3.

    • Para video, como mov, use video/mov.

  • <BASE64_DATA>: Los datos de audio o video codificados en BASE64.

Ejemplos:

  • Audio: data:audio/mp3;base64,AAAAIGZ0eXBtcDQyAAABAGlzbWZj...

  • Video: data:video/mov;base64,AAAAIGZ0eXBtcDQyAAABAGlzbWZj...

oss

String

No

La ruta de OSS del archivo de entrada. Por ejemplo, oss://<bucket_name>/path/to/file.mp3.

file_name

String

No

El nombre del archivo de audio o video. Si no se establece este parámetro, el nombre del archivo se analiza a partir del contenido.

Output

Parámetro

Tipo

Obligatorio

Descripción

type

String

No

text: Devuelve el resultado del reconocimiento de voz como texto sin formato. Esta opción solo es compatible con tareas síncronas.

oss: Almacena el archivo de salida en un bucket de OSS. Este es el valor predeterminado.

oss

String

No

La ruta de OSS para el archivo de salida. Obligatorio si type se establece en oss.

Ejemplo: oss://<BUCKET_NAME>/result

Parámetros de respuesta

Parámetro

Tipo

Descripción

Valor de ejemplo

result.task_id

String

Un identificador único para la tarea de reconocimiento de voz.

asr-xxxx-abc-123

Ejemplo de 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"
    }
  }' \ 

Ejemplo de respuesta

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

Estado de la tarea asíncrona de reconocimiento de voz

Método de solicitud: GET

URL

  • host: El endpoint del servicio. Puede invocar el servicio de API a través de la red pública o desde una VPC. Para más información, consulte Get a service endpoint.

  • workspace_name: El nombre del workspace, por ejemplo, default.

  • service_id: El ID del servicio integrado, por ejemplo, ops-audio-asr-001.

  • task_id: El ID único de la tarea asíncrona de reconocimiento de voz, devuelto en la respuesta al crear la tarea.

Parámetros de la solicitud

Parámetro

Tipo

Obligatorio

Descripción

Ejemplo

Content-Type

String

Sí

El tipo de medio de la solicitud.

application/json

Authorization

String

Sí

La clave de API para la autenticación.

Bearer OS-d1**2a

Parámetros de respuesta

Parámetro

Tipo

Descripción

Ejemplo

request_id

String

El ID de la solicitud.

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

latency

Float/Int

La latencia de la solicitud en milisegundos.

3.0

result.task_id

String

El ID de la tarea asíncrona.

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

result.status

String

El estado de la tarea. Los valores válidos son:

  • PENDING: La tarea está en espera de procesamiento.

  • SUCCESS: La tarea se completó correctamente.

  • FAIL: La tarea falló debido a un error.

PENDING

result.error

String

El mensaje de error. Este campo tiene valor solo cuando result.status es FAIL.

result.data

List(AsrResult)

Los resultados del reconocimiento de voz. Este campo se completa solo cuando el estado de la tarea asíncrona es SUCCESS.

usage.duration

Float

La duración del archivo de audio, en segundos.

AsrResult

Parámetro

Tipo

Descripción

text

String

El texto transcrito del reconocimiento de voz.

start

Float

La marca de tiempo inicial del texto en el video, en segundos.

end

Float

La marca de tiempo final del texto en el video, en segundos.

Ejemplo: Solicitud cURL

curl -X GET \
-H"Content-Type: application/json" \
-H "Authorization: Bearer <your_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-******" 
 

Ejemplo de respuesta

{
  "request_id": "1a1a4ca4b7a91dd630a40c54af******",
  "latency": 9,
  "usage": {
    "duration": 9
  },
  "result": {
    "task_id": "asr-20250618112151-1108418170738252-******",
    "status": "SUCCESS",
    "data": [
      {
        "text": "Rong Jielvdou began to speak, his voice as warm as the spring sun,",
        "start": 0.0,
        "end": 3.9
      },
      {
        "text": "full of life and warming the hearts of everyone who listened.",
        "start": 4.24,
        "end": 9.06
      }
    ]
  }
}

Creación de una tarea síncrona de reconocimiento de voz

Método de solicitud: POST

URL

{host}/v3/openapi/workspaces/{workspace_name}/audio-asr/{service_id}/sync
  • host: El endpoint del servicio. Puede invocar el servicio de API a través de la red pública o de una VPC. Para más información, consulte Get a service endpoint.

  • workspace_name: El nombre del workspace, como default.

  • service_id: El ID del servicio integrado, como ops-audio-asr-001.

Parámetros de la solicitud

Parámetro de encabezado

Autenticación mediante clave de API

Parámetro

Tipo

Obligatorio

Descripción

Ejemplo

Content-Type

String

Sí

Especifica el tipo de medio del cuerpo de la solicitud.

application/json

Authorization

String

Sí

La clave de API para la autenticación, con el prefijo "Bearer ".

Bearer OS-d1**2a

Parámetros del cuerpo

Parámetro

Tipo

Obligatorio

Descripción

input

Object(input)

Sí

El archivo multimedia que se procesará.

parameters

Object

No

Parámetros del servicio.

output

Object(output)

Sí

La configuración de salida.

input

Parámetro

Tipo

Obligatorio

Descripción

content

String

No

El contenido de audio o video codificado en base64.

Formatos de audio compatibles: mp3, wav, aac, flac, ogg, m4a, alac y wma.

Formatos de video compatibles: mp4, avi, mkv, mov, flv y webm.

Nota

Los parámetros input.content e input.oss son mutuamente excluyentes. Especifique solo uno.

Uso de datos Base64: Pase los datos codificados en Base64 al parámetro content con el formato data:<TYPE>/<FORMAT>;base64,<BASE64_DATA> , donde:

  • <TYPE>/<FORMAT>

    • Para audio, como mp3, use audio/mp3.

    • Para video, como mov, use video/mov.

  • <BASE64_DATA>: Los datos de audio o video codificados en BASE64.

Ejemplos:

  • Audio: data:audio/mp3;base64,AAAAIGZ0eXBtcDQyAAABAGlzbWZj...

  • Video: data:video/mov;base64,AAAAIGZ0eXBtcDQyAAABAGlzbWZj...

oss

String

No

La ruta de OSS del archivo de entrada. Por ejemplo, oss://<bucket_name>/path/to/file.mp3.

file_name

String

No

El nombre del archivo de audio o video. Si no se establece este parámetro, el nombre del archivo se analiza a partir del contenido.

Output

Parámetro

Tipo

Obligatorio

Descripción

type

String

No

text: Devuelve el resultado del reconocimiento de voz como texto sin formato. Esta opción solo está disponible para llamadas síncronas.

oss: Almacena el archivo de video o audio en OSS (predeterminado).

oss

String

No

La ruta de OSS para el archivo de salida. Obligatorio cuando type es oss.

Ejemplo: oss://<BUCKET_NAME>/result

Parámetros de respuesta

Parámetro

Tipo

Descripción

Valor de ejemplo

result.task_id

String

Un identificador único para la tarea de reconocimiento de voz.

asr-xxxx-abc-123

Solicitud 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.mp3"
    },
    "output":{
      "type":"oss",
      "oss":"oss://<BUCKET_NAME>/result"
    }
  }' \ 

Ejemplo de respuesta

{
  "request_id": "df96b5c444281e0e79561fe9f8******",
  "latency": 570,
  "usage": {
    "duration": 9
  },
  "result": {
    "task_id": "asr-20250618132401-1108418170738252-******",
    "status": "SUCCESS",
    "data": [
      {
        "text": "Rong Jielvdou began to speak, his voice as warm as the spring sun,",
        "start": 0.0,
        "end": 3.9
      },
      {
        "text": "full of life and warming the hearts of everyone who listened.",
        "start": 4.24,
        "end": 9.06
      }
    ]
  }
}

Códigos de estado

Si una solicitud de acceso falla, la salida incluye un code y un message que explican el error.

{
    "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\\"
}

Código de estado HTTP

Código de error

Descripción

200

-

La solicitud es correcta incluso si la tarea falla. Compruebe result.status para ver el estado real de la tarea.

404

BadRequest.TaskNotExist

La tarea especificada no existe.

400

InvalidParameter

La solicitud no es válida.

500

InternalServerError

Ocurrió un error interno.

Para más información sobre los códigos de estado, consulte Status Code Description.