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
Uso de datos Base64: Pase los datos codificados en Base64 al parámetro
Ejemplos:
|
|
oss |
String |
No |
La ruta de OSS del archivo de entrada. Por ejemplo, |
|
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 |
|
|
oss |
String |
No |
La ruta de OSS para el archivo de salida. Obligatorio si Ejemplo: |
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 |
|
result.error |
String |
El mensaje de error. Este campo tiene valor solo cuando |
|
|
result.data |
List(AsrResult) |
Los resultados del reconocimiento de voz. Este campo se completa solo cuando el estado de la tarea asíncrona es |
|
|
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
Uso de datos Base64: Pase los datos codificados en Base64 al parámetro
Ejemplos:
|
|
oss |
String |
No |
La ruta de OSS del archivo de entrada. Por ejemplo, |
|
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 |
|
|
oss |
String |
No |
La ruta de OSS para el archivo de salida. Obligatorio cuando Ejemplo: |
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 |
|
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.