Todos los productos
Search
Centro de documentos

Alibaba Cloud Model Studio:API HTTP de Qwen-Audio-3.x-ASR-Flash-Filetrans/Fun-ASR para reconocimiento de voz no en tiempo real

Última actualización: Oct 12, 2026

Este tema describe los parámetros y los detalles de la interfaz de la API HTTP para el reconocimiento de voz no en tiempo real con Qwen-Audio-3.x-ASR-Flash-Filetrans y Fun-ASR.

Guía del usuario:Reconocimiento de voz no en tiempo real. Para los requisitos de entrada, como formatos de audio compatibles, límites de tamaño de archivo y límites de duración, consulte Especificaciones de audio.

Funcionamiento

A diferencia de las llamadas síncronas de DashScope, que devuelven el resultado inmediatamente en una sola solicitud, las llamadas asíncronas están diseñadas para archivos de audio largos o tareas que consumen mucho tiempo. Este modo utiliza un flujo de dos pasos de envío y sondeo que evita los tiempos de espera de solicitud causados por largas esperas:

  1. Paso 1: Enviar la tarea.

    • El cliente envía una solicitud de procesamiento asíncrono.
    • Después de validar la solicitud, el servidor no ejecuta la tarea inmediatamente. En su lugar, devuelve un task_id único para indicar que la tarea se creó correctamente.
  2. Paso 2: Recuperar el resultado.

    • El cliente utiliza el task_id devuelto para sondear repetidamente la interfaz de consulta.
    • Cuando la tarea finaliza, la interfaz de consulta devuelve el resultado final del reconocimiento.

Endpoints de servicio

Singapore

Interfaz de envío de tareas: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/asr/transcription

Interfaz de consulta de tareas: GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

Reemplace {WorkspaceId} con su ID de espacio de trabajo real.

China (Beijing)

Interfaz de envío de tareas: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/audio/asr/transcription

Interfaz de consulta de tareas: GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}

Reemplace {WorkspaceId} con su ID de espacio de trabajo real.

ImportanteAlibaba Cloud Model Studio ha lanzado dominios específicos del espacio de trabajo para las regiones China (Pekín) y Singapore. Los nuevos dominios dedicados ofrecen un rendimiento superior y una mayor estabilidad para las solicitudes de inferencia. Recomendamos migrar a los nuevos dominios:

  • China (Pekín): de dashscope.aliyuncs.com a {WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • Singapur: de dashscope-intl.aliyuncs.com a {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com

Reemplace {WorkspaceId} con su ID de espacio de trabajo real. Los dominios existentes permanecen totalmente funcionales.

ImportanteCuando envíe una tarea con el nuevo dominio (https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com), el cuerpo de la solicitud debe incluir el objeto parameters. Incluso si no necesita establecer ningún parámetro, pase un objeto vacío {}. De lo contrario, la tarea se envía correctamente pero el reconocimiento falla.

Encabezados de solicitud

Parámetro

Tipo

Obligatorio

Descripción

Authorization

string

Sí

Token de autenticación en el formato Bearer <your_api_key>. Reemplace "<your_api_key>" con su clave de API real. Requerido tanto para la interfaz de envío de tareas como para la interfaz de consulta de tareas.

Content-Type

string

Sí

El tipo de medio del cuerpo de la solicitud. Requerido solo para la interfaz de envío de tareas. Valor fijo: application/json.

X-DashScope-Async

string

Sí

El indicador de tarea asíncrona. Requerido solo para la interfaz de envío de tareas. Valor fijo: enable. No lo omita, de lo contrario no se podrá enviar la tarea.

Interfaz de envío de tareas

Envía una tarea de reconocimiento de voz. Esta interfaz responde de forma asíncrona, por lo que debe sondear el estado de la tarea con la Interfaz de consulta de tareas.

Cuerpo de la solicitud

modelstring(Obligatorio)

El nombre del modelo. Los valores admitidos incluyen las familias de modelos Qwen-Audio-3.x-ASR-Flash-Filetrans y Fun-ASR. Para más detalles, consulte Modelos y regiones admitidos.

inputobject(Obligatorio)

El objeto de parámetros de entrada.

Propiedades

file_urls array[string](Obligatorio)

Una lista de URL de los archivos de audio o video a transcribir. Se admiten HTTP y HTTPS. Una sola solicitud admite únicamente una URL. Para los requisitos de entrada, como formatos de audio compatibles, límites de tamaño de archivo y límites de duración, consulte Especificaciones de audio.

Si la grabación se almacena en Alibaba Cloud OSS, la API RESTful admite URLs temporales con el prefijo oss://, mientras que el SDK no admite URLs temporales con el prefijo oss://.

Importante

  • Una URL temporal es válida durante 48 horas y no se puede usar después de que expire. No la use en producción.

  • La interfaz de credenciales de carga tiene un límite de tasa de 100 QPS y no se puede escalar. No la use en escenarios de producción, alta concurrencia o pruebas de carga.

  • Para producción, utilice almacenamiento estable como Alibaba Cloud OSS para mantener los archivos disponibles a largo plazo y evitar límites de tasa.

  • Si una URL de archivo de audio configurada como una URL pública temporal de OSS no es accesible, configure X-DashScope-OssResourceResolve en enable en el encabezado de la solicitud (no recomendado).

    El SDK no admite la configuración de encabezados de solicitud.

contextarray(object)(Opcional)

Una lista de mensajes que proporcionan contexto de conversación opcional para mejorar la precisión del reconocimiento.

ImportanteEl SDK aún no admite esta función.

ImportanteLa mejora de contexto mejora la precisión del reconocimiento de términos específicos del dominio. Para su uso, consulte Mejora de contexto.

Restricciones: Los mensajes de contexto de los tipos input_text y text están limitados a 5 mensajes cada uno. Si supera este límite, solo se conservan los 5 más recientes. La longitud total del texto por turno de contexto (la longitud combinada de los campos text para user y assistant) no debe exceder los 400 caracteres (contados por carácter, cada carácter cuenta como 1). Cualquier exceso se trunca desde el final.

ImportanteCuando incluya contexto, el orden de los mensajes en messages es importante: los mensajes de contexto deben organizarse por turno de conversación. Dentro de cada turno, el mensaje user (tipo input_text) debe aparecer antes del mensaje assistant correspondiente (tipo text). Un mensaje user que contenga input_audio debe colocarse al final del arreglo messages.

Propiedades

rolestring(Obligatorio)

El rol del mensaje. Valores válidos:

  • user: resultados de reconocimiento de turnos anteriores o una lista de palabras específicas del dominio.
  • assistant: las respuestas del modelo de lenguaje grande de turnos anteriores.

contentarray(object)(Obligatorio)

La lista de elementos de contenido del mensaje.

Propiedades

typestring(Obligatorio)

El tipo de contenido. Valores válidos:

  • input_text (opcional, contexto): resultados de reconocimiento del habla del usuario de turnos anteriores, o una lista de palabras específicas del dominio (el rol es user). También debe pasar el campo text.
  • text (opcional, contexto): las respuestas del modelo de lenguaje grande de turnos anteriores (el rol es assistant). También debe pasar el campo text.

textstring(Condicionalmente obligatorio)

Cuando type es input_text, ingrese los resultados de reconocimiento del habla del usuario de turnos anteriores o una lista de palabras específica del dominio. Cuando type es text, ingrese las respuestas del modelo de lenguaje grande de turnos anteriores. El texto se cuenta por carácter, y cada carácter cuenta como 1. La longitud combinada de los campos text en todos los mensajes de un turno de contexto no debe exceder los 400 caracteres. Cualquier exceso se trunca desde el final.

parametersobject(Opcional)

El objeto de parámetros de solicitud.

ImportanteCuando llame a qwen-audio-3.1-asr-flash-filetrans o qwen-audio-3.0-asr-flash-filetrans, incluya siempre parameters, utilizando un objeto vacío {} si no se necesitan opciones. Omitir este campo provoca que la tarea de transcripción enviada falle.

Cuando utilice el nuevo dominio (https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com), parameters es obligatorio. Incluso si no necesita establecer ningún parámetro, pase un objeto vacío {}. Si omite este campo, la tarea se envía correctamente, pero la interfaz de consulta de tareas devuelve un fallo de reconocimiento.

Propiedades

keep_dialect boolean (Opcional)

Compatible solo con qwen-audio-3.1-asr-flash-filetrans. Especifica si se deben conservar las expresiones dialectales. Valor predeterminado: false. Establezca en false para transcribir el habla dialectal como texto en mandarín estándar, o en true para conservar las expresiones dialectales.

vocabulary_id string(Opcional)

El ID de una lista de palabras clave precompilada.

Genere este ID con antelación llamando a la API de creación de lista de palabras clave. Pase el ID durante el reconocimiento para usar las palabras clave de la lista.

Adecuado para escenarios donde el vocabulario es conocido y relativamente estable, y donde necesita reutilizar la misma lista de palabras en distintas solicitudes.

Para obtener detalles sobre el uso, consulte Palabras clave precompiladas.

vocabulary object(Opcional)

Palabras clave instantáneas.

Se pasan como pares clave-valor, donde la clave es el texto de la palabra clave (string) y el valor es el peso de la palabra clave (integer). No es necesario crear una lista de palabras clave con antelación. El peso oscila entre [1, 5] o se establece en 50: un valor en [1, 5] hace que el modelo tenga más probabilidades de generar la palabra a medida que aumenta el valor; un valor de 50 designa una súper palabra clave, lo que mejora enormemente la recuperación, pero el número de súper palabras clave no puede exceder 50.

Adecuado para la optimización temporal de palabras clave a nivel de sesión.

Cuando las palabras clave instantáneas y precompiladas se configuran juntas, el sistema fusiona ambos conjuntos. Si el conjunto fusionado contiene más de 2000 palabras clave, el sistema selecciona aleatoriamente 2000 para usar. Para detalles de uso, consulte Palabras clave instantáneas.

ImportanteSolo qwen-audio-3.1-asr-flash-filetrans y qwen-audio-3.0-asr-flash-filetrans admiten palabras clave en línea.

channel_id array[integer](Opcional)

El índice de las pistas de audio a reconocer en un archivo de audio multipista. El índice comienza en 0. Por ejemplo, [0] reconoce la primera pista, y [0, 1] reconoce la primera y la segunda pista simultáneamente. Si omite este parámetro, solo se procesa la primera pista.

ImportanteCada pista especificada se factura de forma independiente. Por ejemplo, solicitar [0, 1] para un solo archivo incurre en dos cargos separados.

Valor predeterminado: [0].

special_word_filter string(Opcional)

Las palabras sensibles a procesar durante el reconocimiento de voz. Puede establecer un método de manejo diferente para cada palabra sensible. Para más detalles, consulte Filtrado de palabras sensibles.

diarization_enabled boolean(Opcional)

Si se debe habilitar la diarización de hablantes. Deshabilitado de forma predeterminada.

Se aplica solo a audio monoaural. El audio multicanal no admite la diarización de hablantes.

Cuando está habilitado, el resultado del reconocimiento incluye un campo speaker_id que distingue a los diferentes hablantes.

NotaCuando la diarización de hablantes está habilitada, mantenga la duración del audio dentro de 2 horas. De lo contrario, el reconocimiento puede fallar o agotar el tiempo de espera.

Para ver un ejemplo de speaker_id, consulte Descripción del resultado de reconocimiento.

Valor predeterminado: false.

speaker_count integer(Opcional)

ImportanteSurte efecto solo cuando la diarización de hablantes está habilitada (diarization_enabled está configurado en true).

Un valor de referencia para el número de hablantes. El rango válido es un entero de 2 a 100 (inclusive).

De forma predeterminada, el número de hablantes se detecta automáticamente. Si configura este valor, solo guía al algoritmo para generar el recuento especificado cuando sea posible y no garantiza ese recuento exacto.

Sin valor predeterminado.

language_hints array[string](Opcional)

Los códigos de idioma a reconocer. Si no puede determinar el idioma con antelación, déjelo sin configurar y el modelo detectará el idioma automáticamente.

Para los modelos Qwen-Audio-3.x-ASR-Flash-Filetrans, puede configurar hasta 4 valores; cualquier valor más allá de los primeros 4 se ignora. Para los modelos Fun-ASR, solo puede configurar 1 valor; si configura varios, solo el primero surte efecto.

Haga clic para ver los códigos de idioma admitidos

  • qwen-audio-3.1-asr-flash-filetrans, qwen-audio-3.0-asr-flash-filetrans, fun-asr:

    • zh: Chino
    • en: Inglés
    • ja: Japonés
    • ko: Coreano
    • vi: Vietnamita
    • th: Tailandés
    • id: Indonesio
    • ms: Malayo
    • tl: Filipino
    • hi: Hindi
    • ar: Árabe
    • fr: Francés
    • de: Alemán
    • es: Español
    • pt: Portugués
    • ru: Ruso
    • it: Italiano
    • nl: Neerlandés
    • sv: Sueco
    • da: Danés
    • fi: Finés
    • no: Noruego
    • el: Griego
    • pl: Polaco
    • cs: Checo
    • hu: Húngaro
    • ro: Rumano
    • bg: Búlgaro
    • hr: Croata
    • sk: Eslovaco

Llamada básica

El siguiente ejemplo utiliza la región Singapore. Reemplace "{WorkspaceId}" con su ID de espacio de trabajo real. La configuración varía según la región. La región Singapore y la región de Beijing utilizan diferentes claves de API.

curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/asr/transcription' \
     --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
     --header "Content-Type: application/json" \
     --header "X-DashScope-Async: enable" \
     --data '{
    "model": "qwen-audio-3.1-asr-flash-filetrans",
    "input": {
        "file_urls": [
            "{YOUR_AUDIO_URL}"
        ]
    },
    "parameters": {
        "channel_id": [0]
    }
}'

Palabras clave en línea

Utilice palabras clave en línea en el siguiente formato:

{
    "model": "qwen-audio-3.1-asr-flash-filetrans",
    "input": {
        "file_urls": [
            "{YOUR_AUDIO_URL}"
        ]
    },
    "parameters": {
        "vocabulary": {"John Smith": 5, "Jane Doe": 5}
    }
}

Context

Utilice el contexto en el siguiente formato:

{
    "model": "qwen-audio-3.1-asr-flash-filetrans",
    "input": {
        "file_urls": [
            "{YOUR_AUDIO_URL}"
        ],
        "context": [
            {
                "role": "user",
                "content": [
                    {
                        "type": "input_text",
                        "text": "Hello there"
                    }
                ]
            },
            {
                "role": "assistant",
                "content": [
                    {
                        "type": "text",
                        "text": "Hello, I am Qwen. How can I help you?"
                    }
                ]
            }
        ]
    },
    "parameters": {
        "vocabulary": {"John Smith": 5, "Jane Doe": 5}
    }
}

Cuerpo de respuesta

request_idstring

El identificador único de esta llamada.

outputobject

Los datos devueltos por la interfaz de envío de tareas.

Propiedades

task_idstring

El ID de la tarea. Pase este ID como la cadena en la Interfaz de consulta de tareas.

task_statusstring

El estado de la tarea. Devuelve PENDING tras un envío exitoso.

{
  "output": {
    "task_status": "PENDING",
    "task_id": "c2e5d63b-96e1-4607-bb91-************"
  },
  "request_id": "77ae55ae-be17-97b8-9942--************"
}

Interfaz de consulta de tareas

Consulta el estado de ejecución y el resultado de una tarea de reconocimiento de voz. Sondee esta interfaz hasta que la tarea alcance un estado terminal.

Cuerpo de la solicitud

task_idstring(Obligatorio)

ImportanteEste parámetro es un parámetro de ruta de URL. No hay cuerpo de solicitud.

Para consultar una tarea, especifique su ID. Este ID es el task_id devuelto cuando se llama a la Interfaz de envío de tareas.

El siguiente ejemplo utiliza la región de Singapur. Reemplace "{WorkspaceId}" con su ID de espacio de trabajo real. La configuración varía según la región. La región de Singapur y la región de Beijing utilizan diferentes claves de API.

curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}' \
     --header "Authorization: Bearer $DASHSCOPE_API_KEY"

Cuerpo de respuesta

request_idstring

El identificador único de esta llamada.

outputobject

Los datos devueltos por la interfaz de consulta de tareas.

Propiedades

task_idstring

El ID de la tarea consultada.

task_statusstring

El estado de la tarea consultada.

NotaCuando una tarea contiene múltiples subtareas, el estado general de la tarea se marca como SUCCEEDED siempre que cualquier subtarea tenga éxito. Compruebe el campo subtask_status para determinar el resultado de una subtarea específica.

submit_timestring

La hora en que se envió la tarea.

scheduled_timestring

La hora en que se programó la ejecución de la tarea.

end_timestring

La hora en que finalizó la tarea.

resultsarray[object]

La lista de resultados de subtareas, uno por cada archivo de audio a reconocer.

Propiedades

subtask_statusstring

El estado de la subtarea.

file_urlstring

La URL del archivo procesado por la tarea de transcripción de archivos.

transcription_urlstring

El enlace al resultado del reconocimiento. Este enlace es válido por 24 horas. Una vez que caduca, no puede consultar la tarea ni descargar el resultado a través de la URL devuelta por una consulta anterior.

El resultado del reconocimiento se guarda como un archivo JSON. Puede descargar el archivo a través del enlace anterior o leer su contenido directamente con una solicitud HTTP. Para conocer el significado de cada campo en los datos JSON, consulte Descripción del resultado de reconocimiento.

codestring

ImportanteSe devuelve solo cuando falla la subtarea.

El código de error de la subtarea fallida.

messagestring

ImportanteSe devuelve solo cuando falla la subtarea.

El mensaje de error de la subtarea fallida.

task_metricsobject

Estadísticas generales de ejecución de la tarea.

Propiedades

TOTALinteger

El número total de subtareas.

SUCCEEDEDinteger

El número de subtareas exitosas.

FAILEDinteger

El número de subtareas fallidas.

{
  "request_id": "f9e1afad-94d3-997e-a83b-************",
  "output": {
    "task_id": "f86ec806-4d73-485f-a24f-************",
    "task_status": "SUCCEEDED",
    "submit_time": "2024-09-12 15:11:40.041",
    "scheduled_time": "2024-09-12 15:11:40.071",
    "end_time": "2024-09-12 15:11:40.903",
    "results": [
      {
        "file_url": "{YOUR_AUDIO_URL}",
        "transcription_url": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/pre/filetrans-16k/20240912/15%3A11/409a4b92-445b-4dd8-8c1d-f110954d82d8-1.json?Expires=1726211500&OSSAccessKeyId=YOUR_ACCESS_KEY_ID&Signature=YOUR_SIGNATURE",
        "subtask_status": "SUCCEEDED"
      }
    ],
    "task_metrics": {
      "TOTAL": 1,
      "SUCCEEDED": 1,
      "FAILED": 0
    }
  },
  "usage": {
    "duration": 9
  }
}
{
    "task_id": "7bac899c-06ec-4a79-8875-xxxxxxxxxxxx",
    "task_status": "SUCCEEDED",
    "submit_time": "2024-12-16 16:30:59.170",
    "scheduled_time": "2024-12-16 16:30:59.204",
    "end_time": "2024-12-16 16:31:02.375",
    "results": [
        {
            "file_url": "{YOUR_AUDIO_URL}",
            "code": "FILE_DOWNLOAD_FAILED",
            "message": "FILE_DOWNLOAD_FAILED",
            "subtask_status": "FAILED"
        }
    ],
    "task_metrics": {
        "TOTAL": 1,
        "SUCCEEDED": 0,
        "FAILED": 1
    }
}

Otras interfaces: consulta por lotes del estado de tareas / cancelar una tarea

Para más detalles, consulte Gestión de tareas asíncronas: puede consultar en lote las tareas de reconocimiento de voz no en tiempo real enviadas en las últimas 24 horas y cancelar tareas en estado PENDING (en cola).

Descripción del resultado de reconocimiento

El resultado del reconocimiento se guarda como un archivo JSON.

Haga clic para ver el ejemplo de resultado de reconocimiento

{
    "file_url":"{YOUR_AUDIO_URL}",
    "properties":{
        "audio_format":"pcm_s16le",
        "channels":[
            0
        ],
        "original_sampling_rate":16000,
        "original_duration_in_milliseconds":3834
    },
    "transcripts":[
        {
            "channel_id":0,
            "content_duration_in_milliseconds":3720,
            "text":"Hello world, this is Alibaba Speech Lab.",
            "sentences":[
                {
                    "begin_time":100,
                    "end_time":3820,
                    "text":"Hello world, this is Alibaba Speech Lab.",
                    "sentence_id":1,
                    "speaker_id":0, //This field is displayed only when automatic speaker diarization is enabled
                    "words":[
                        {
                            "begin_time":100,
                            "end_time":596,
                            "text":"Hello ",
                            "punctuation":""
                        },
                        {
                            "begin_time":596,
                            "end_time":844,
                            "text":"world",
                            "punctuation":", "
                        }
                        // Other content is omitted here
                    ]
                }
            ]
        }
    ]
}

Los siguientes parámetros son dignos de mención:

Parámetro

Tipo

Descripción

audio_format

string

El formato de audio del archivo fuente.

channels

array[integer]

El índice de pista del audio en el archivo fuente. Para audio de una sola pista, se devuelve [0]; para audio de doble pista, se devuelve [0, 1]; y así sucesivamente.

original_sampling_rate

integer

La frecuencia de muestreo (Hz) del audio en el archivo fuente.

original_duration_in_milliseconds

integer

La duración original del audio (ms) en el archivo fuente.

channel_id

integer

El índice de pista del resultado de la transcripción, comenzando desde 0.

content_duration

integer

La duración (ms) del contenido en la pista que se identifica como voz.

El servicio de modelo de reconocimiento de voz transcribe únicamente el contenido de una pista identificada como voz, y realiza la medición y facturación basándose en dicha duración. El contenido que no es de voz no se mide ni se factura. Por lo general, la duración del contenido de voz es menor que la duración del audio original. Dado que la existencia de contenido de voz es determinada por un modelo de IA, el resultado puede diferir ligeramente de la situación real.

transcript

string

El resultado de la transcripción a nivel de párrafo.

sentences

array

El resultado de la transcripción a nivel de oración.

words

array

El resultado de la transcripción a nivel de palabra.

begin_time

integer

La marca de tiempo de inicio (ms).

end_time

integer

La marca de tiempo de finalización (ms).

text

string

El resultado de la transcripción.

speaker_id

integer

El índice del hablante actual, comenzando desde 0, utilizado para distinguir entre diferentes hablantes.

Este campo aparece en el resultado del reconocimiento solo cuando la diarización de hablantes está habilitada.

punctuation

string

La puntuación predicha después de la palabra, si la hay.