Cuerpo de la solicitud modelstring(Obligatorio) El nombre del modelo. inputobject(Obligatorio) La información de entrada. Propiedades messagesarray(object)(Obligatorio) La lista de mensajes. Contiene el audio a reconocer y, opcionalmente, el contexto de conversación que mejora la precisión del reconocimiento. ImportanteLa función de contexto mejora la precisión del reconocimiento de términos específicos del dominio. Para su uso, consulte Mejora de contexto. Una solicitud puede incluir como máximo 5 mensajes de contexto de cada tipo (input_text y text). Si excede este límite, solo se conservan los 5 mensajes más recientes. El texto de contexto total por turno (la longitud combinada de los campos text en los mensajes user y assistant) no puede exceder 400 caracteres, donde cada carácter cuenta como 1. Cualquier exceso se trunca desde el final. ImportanteCuando incluye 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 (de tipo input_text) debe aparecer antes del mensaje assistant correspondiente (de tipo text). El mensaje user que contiene input_audio debe ser el último elemento en el arreglo messages. Propiedades rolestring(Obligatorio) El rol del mensaje. Valores válidos:
user (Obligatorio): Un mensaje de usuario. Cuando el tipo es input_audio, contiene el audio a reconocer. Cuando el tipo es input_text, contiene resultados de reconocimiento de turnos anteriores o una lista de palabras específicas del dominio (opcional, utilizada como contexto).
assistant (Opcional, contexto): Respuestas del modelo de lenguaje grande en turnos anteriores.
contentarray(object)(Obligatorio) La lista de contenido del mensaje. Propiedades typestring(Obligatorio) El tipo de contenido. Cada solicitud necesita al menos un mensaje de tipo input_audio. Valores válidos:
input_audio (Obligatorio): La entrada de audio a reconocer (el rol es usuario). También debe pasar el objeto input_audio.
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 usuario). También debe pasar el campo text.
text (Opcional, contexto): Respuestas del modelo de lenguaje grande en turnos anteriores (el rol es asistente). También debe pasar el campo text.
input_audioobject(Condicionalmente obligatorio) Requerido cuando type es input_audio. Propiedades datastring(Obligatorio) Los datos de audio a reconocer. 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. Se admiten dos métodos:
- URL del archivo de audio: Pase una URL de acceso público al archivo de audio.
- URI de datos Base64: Pase los datos de audio codificados en Base64 como un URI de datos. El valor es el prefijo
data:{MIME_TYPE};base64, concatenado con los datos de audio codificados en Base64. Los tipos MIME admitidos incluyen audio/wav y audio/mp3.
Ejemplo (URL): https://example.com/audio/sample.wav Ejemplo (Base64): data:audio/wav;base64,{BASE64_ENCODED_DATA} 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íficas del dominio. Cuando type es text, ingrese las respuestas del modelo de lenguaje grande de turnos anteriores. La longitud del texto se mide en caracteres, donde cada carácter cuenta como 1. La longitud combinada de los campos text en todos los mensajes de un solo turno de contexto no puede exceder 400 caracteres. Cualquier exceso se trunca desde el final. parametersobject(Obligatorio) Los parámetros del modelo. NotaEl pulido de texto está deshabilitado de forma predeterminada y aún no está disponible para qwen-audio-3.0-asr-flash. qwen-audio-3.1-asr-flash admite el pulido de texto nativo. Pulido de texto: Mientras transcribe, el modelo elimina muletillas sin significado y repeticiones por tartamudeo, procesa las autocorrecciones, mejora las expresiones coloquiales y normaliza la puntuación y el formato. El resultado es más conciso, fluido y legible, y conserva en la medida de lo posible la intención final y la información clave del hablante. Propiedades speaker_diarization_enabled boolean (Opcional) NotaSe aplica únicamente a qwen-audio-3.1-asr-flash. Especifica si se habilita la diarización de hablantes. Valor predeterminado: false. Si es true, la respuesta usa speaker_id para distinguir a los hablantes e incluye output.sentences. Cuando está habilitada, se ignoran keep_dialect y language_hints. keep_dialect boolean (Opcional) NotaSe aplica únicamente a qwen-audio-3.1-asr-flash. Especifica si se conservan las expresiones dialectales. Valor predeterminado: false. Establezca false para transcribir el dialecto en texto en mandarín estándar o true para conservar las expresiones dialectales. formatstring(Obligatorio) El formato de audio. Configure esto para que coincida con su formato de audio real. Los valores admitidos incluyen wav, mp3 y opus. Para más detalles, consulte Especificaciones de audio. sample_ratestring(Opcional) La tasa de muestreo del audio, en Hz. Por ejemplo, 16000 significa una tasa de muestreo de 16 kHz. Para más detalles, consulte Especificaciones de audio. vocabulary_idstring(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. vocabularyobject(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. language_hints array[string](Opcional) Los códigos de idioma que se reconocerán. Si desconoce el idioma, omita este parámetro para que el modelo lo detecte automáticamente. Puede especificar hasta 4 valores. Si especifica más, solo los primeros 4 tendrán efecto. Especificar los códigos de idioma puede mejorar la precisión del reconocimiento. Códigos de idioma admitidos
- 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
qwen-audio-3.1-asr-flash también admite los siguientes códigos de idioma:
- tr: turco
- fa: persa
- mr: maratí
- ml: malabar
- ne: nepalí
- ky: kirguís
- az: azerbaiyano
- ka: georgiano
- hy: armenio
- sl: esloveno
- sq: albanés
- et: estonio
- lv: letón
- lt: lituano
- ca: catalán
- eu: euskera
- gl: gallego
- or: oriya
- dv: divehi
- as: asamés
- ku: kurdo
- tig: tigré
- fy: frisón occidental
- ba: baskir
- be: bielorruso
- tt: tártaro
- ia: interlingua
- mhr: marí oriental
- tok: toki pona
| Los siguientes ejemplos utilizan la configuración para la región de Singapore. Reemplace "{WorkspaceId}" con su ID de espacio de trabajo real. La configuración difiere entre regiones, y la clave API para la región de Singapore es diferente a la de la región de Pekín. Sin streamingcurl --location --request POST 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--header "X-DashScope-SSE: disable" \
--data '{
"model": "qwen-audio-3.1-asr-flash",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"type": "input_audio",
"input_audio": {
"data": "{YOUR_AUDIO_URL}"
}
}
]
}
]
},
"parameters": {
"format": "wav",
"sample_rate": "16000"
}
}'
Transmisióncurl --location --request POST 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--header "X-DashScope-SSE: enable" \
--data '{
"model": "qwen-audio-3.1-asr-flash",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"type": "input_audio",
"input_audio": {
"data": "{YOUR_AUDIO_URL}"
}
}
]
}
]
},
"parameters": {
"format": "wav",
"sample_rate": "16000"
}
}'
Con contexto - sin transmisióncurl --location --request POST 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--header "X-DashScope-SSE: disable" \
--data @- <<'JSON'
{
"model": "qwen-audio-3.1-asr-flash",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "Hello"
}
]
},
{
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello, I'm Qwen. How can I help you?"
}
]
},
{
"role": "user",
"content": [
{
"type": "input_audio",
"input_audio": {
"data": "{YOUR_AUDIO_URL}"
}
}
]
}
]
},
"parameters": {
"format": "wav",
"sample_rate": "16000"
}
}
JSON
Con contexto - transmisióncurl --location --request POST 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--header "X-DashScope-SSE: enable" \
--data @- <<'JSON'
{
"model": "qwen-audio-3.1-asr-flash",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "Hello"
}
]
},
{
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello, I'm Qwen. How can I help you?"
}
]
},
{
"role": "user",
"content": [
{
"type": "input_audio",
"input_audio": {
"data": "{YOUR_AUDIO_URL}"
}
}
]
}
]
},
"parameters": {
"format": "wav",
"sample_rate": "16000"
}
}
JSON
Base64Puede pasar datos codificados en Base64 (URL de datos) en el formato data:<mediatype>;base64,<data>.
-
<mediatype>: El tipo MIME.
El valor depende del formato de audio. Por ejemplo:
- WAV:
audio/wav
- MP3:
audio/mpeg
-
<data>: La cadena codificada en Base64 del audio.
La codificación Base64 aumenta el tamaño de los datos. Para conocer los límites de tamaño y duración de los archivos de audio, consulte Especificaciones de audio.
-
Ejemplo: data:audio/wav;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjI5LjEwMAAAAAAAAAAAAAAA//PAxABQ/BXRbMPe4IQAhl9
import base64, pathlib
import os
import requests
# Replace with the path to your own audio file and make sure it meets the audio requirements
file_path = pathlib.Path("{YOUR_AUDIO_FILE}")
base64_str = base64.b64encode(file_path.read_bytes()).decode()
data_uri = f"data:audio/wav;base64,{base64_str}"
# Replace "{WorkspaceId}" with your actual workspace ID
url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation"
headers = {
"Authorization": f"Bearer {os.environ['DASHSCOPE_API_KEY']}",
"Content-Type": "application/json",
"X-DashScope-SSE": "disable",
}
payload = {
"model": "qwen-audio-3.1-asr-flash",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"type": "input_audio",
"input_audio": {
"data": data_uri,
},
}
],
}
]
},
"parameters": {
"format": "wav",
"sample_rate": "16000",
},
}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
Palabras clave en líneacurl --location --request POST 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--header "X-DashScope-SSE: disable" \
--data '{
"model": "qwen-audio-3.1-asr-flash",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"type": "input_audio",
"input_audio": {
"data": "{YOUR_AUDIO_URL}"
}
}
]
}
]
},
"parameters": {
"format": "wav",
"sample_rate": "16000",
"vocabulary": {"John Smith": 5, "Jane Doe": 5}
}
}'
|