API HTTP de síntesis de voz no en tiempo real de Qwen-Audio-TTS, con llamadas sin streaming y SSE, parámetros de solicitud y campos de respuesta.
Puntos de conexión
Sustituya YOUR_WORKSPACE_ID por el ID del espacio de trabajo de la región y utilice una clave de API de la misma región.
Singapur
POST https://YOUR_WORKSPACE_ID.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer
China (Pekín)
POST https://YOUR_WORKSPACE_ID.cn-beijing.maas.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer
Encabezados de solicitud
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
|
| Obligatorio | Token de autenticación con el formato |
|
| Obligatorio | Establezca el valor en |
|
| Opcional | Establezca el valor en |
Ejemplos
Sin streaming
curl -X POST "https://YOUR_WORKSPACE_ID.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-audio-3.1-tts-flash",
"input": {
"text": "你好,今天的天气真不错。",
"voice": "longanhuan_v3.1",
"format": "wav",
"sample_rate": 24000
}
}'
Streaming
curl --no-buffer -X POST "https://YOUR_WORKSPACE_ID.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-H "X-DashScope-SSE: enable" \
-d '{
"model": "qwen-audio-3.1-tts-flash",
"input": {
"text": "你好,今天的天气真不错。",
"voice": "longanhuan_v3.1",
"format": "wav",
"sample_rate": 24000
}
}'
NotaUn evento SSE puede contener varias líneas data:. Combine todas las líneas data: del evento antes de analizar el JSON. Decodifique el Base64 y concatene los bloques de audio en el orden de los eventos. La trama final tiene output.finish_reason=stop y devuelve la URL del audio completo.
Cuerpo de la solicitud
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|---|
|
| Obligatorio | — | ID del modelo de síntesis de voz. Consulte los modelos y regiones en Síntesis de voz no en tiempo real. |
|
| Obligatorio | — | Objeto de parámetros de entrada. |
|
| Obligatorio | — | Texto para sintetizar. Para SSML, establezca |
|
| Obligatorio | — | ID de voz. Para las voces del sistema, consulte la lista de voces. Cree una voz personalizada con la clonación de voz o el diseño de voz y utilice el modelo de destino vinculado. |
|
| Opcional |
| Codificación de audio. Valores: |
|
| Opcional | 22050 | Frecuencia de muestreo en Hz. Valores: 8000, 12000, 16000, 22050, 24000, 44100, 48000. Con |
|
| Opcional | 50 | Volumen. Intervalo: [0, 100]. |
|
| Opcional | 1.0 | Velocidad de voz. Intervalo: [0.5, 2.0]. |
|
| Opcional | 32 | Tasa de bits de audio en kbps. Intervalo: [6, 510]. Solo se aplica con |
|
| Opcional | 1.0 | Tono. Intervalo: [0.5, 2.0]. |
|
| Opcional | — | Indica si se habilita SSML. Consulte Límites de uso para conocer las restricciones de modelos, voces e interfaces. |
|
| Opcional |
| Indica si se devuelven marcas de tiempo por palabra. Solo streaming. Admite voces clonadas. Consulte la lista de voces para las voces del sistema compatibles. |
|
| Opcional | 0 | Semilla aleatoria. Intervalo: [0, 65535]. Con la misma versión del modelo, texto, voz y demás parámetros, la misma semilla reproduce el mismo resultado. |
|
| Opcional | — | Idioma de destino de la síntesis. Solo se procesa el primer elemento del arreglo. Es independiente del idioma de origen de la muestra de clonación. Úselo si la pronunciación de números, abreviaturas, símbolos o idiomas menos comunes no es la esperada. Los códigos aparecen abajo. Para el idioma de origen de la clonación, consulte la API de clonación de voz. |
|
| Opcional | — | Instrucción que controla el dialecto, la emoción o el rol. Consulte Control mediante instrucciones para modelos, voces y uso. |
|
| Opcional |
| Indica si se incorpora un identificador AIGC invisible en audio WAV, MP3 u Opus. |
|
| Opcional | UID de Alibaba Cloud | Campo |
|
| Opcional | Request ID de esta solicitud | Campo |
|
| Opcional | — | Configuración de corrección de texto. |
Códigos de idioma
zh: Chinoen: Inglésfr: Francésde: Alemánja: Japonésko: Coreanoru: Rusopt: Portuguésth: Tailandésid: Indonesiovi: Vietnamitaes: Españolit: Italianoms: Malayofil: Filipinoar: Árabe
Ejemplo de configuración de corrección de texto:
{
"hot_fix": {
"pronunciation": [
{
"天气": "tian1 qi4"
}
],
"replace": [
{
"今天": "金天"
}
]
}
}
Cuerpo de la respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
|
| Identificador único de la solicitud. |
|
| Salida del modelo. |
|
| Motivo de finalización. |
|
| Solo se devuelve en streaming. |
|
| Oración obtenida al dividir el texto de entrada. Puede faltar en la última oración. |
|
| Información de la oración. |
|
| Índice de la oración, a partir de 0. |
|
| Palabras de la oración y sus marcas de tiempo. |
|
| Una palabra o un carácter. |
|
| Posición inicial en la oración, a partir de 0. |
|
| Posición final en la oración, a partir de 1. |
|
| Marca de tiempo de inicio del audio de la palabra, en milisegundos. |
|
| Marca de tiempo de fin del audio de la palabra, en milisegundos. |
|
| Audio sintetizado. |
|
| Bloque de audio Base64 para streaming. Vacío sin streaming. |
|
| URL del archivo de audio completo, válida durante 24 horas. |
|
| Identificador del audio sintetizado. |
|
| Marca de tiempo de vencimiento de |
|
| Información de uso. Nota |
|
| Tokens de entrada. Solo se aplica a qwen-audio-3.1-tts-plus, qwen-audio-3.1-tts-flash. |
|
| Tokens de salida. Solo se aplica a qwen-audio-3.1-tts-plus, qwen-audio-3.1-tts-flash. |
|
| Suma de tokens de entrada y salida. Solo se aplica a qwen-audio-3.1-tts-plus, qwen-audio-3.1-tts-flash. |
|
| Caracteres facturables acumulados. |
Sin streaming
{
"output": {
"audio": {
"data": "",
"id": "audio_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"expires_at": 1792079569,
"url": "https://example.com/output.wav"
},
"finish_reason": "stop"
},
"usage": {
"input_tokens": 12,
"output_tokens": 30,
"total_tokens": 42,
"characters": 22
},
"request_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
Streaming
Resultado intermedio:
{
"request_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"output": {
"finish_reason": null,
"type": "sentence-begin",
"original_text": "你好,今天的天气真不错。",
"sentence": {
"index": 0,
"words": []
},
"audio": {
"data": "",
"id": "audio_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"expires_at": 1792079569
}
}
}
Resultado final:
{
"output": {
"audio": {
"data": "",
"id": "audio_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"expires_at": 1792079569,
"url": "https://example.com/output.wav"
},
"finish_reason": "stop"
},
"usage": {
"input_tokens": 12,
"output_tokens": 30,
"total_tokens": 42,
"characters": 22
},
"request_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}