Skip to main content
POST

Autorizaciones

Authorization
string
header
requerido

Todos los endpoints requieren autenticación con token Bearer

Obtener una clave API:

Visita Gestión de claves API para obtener tu clave

Añade esta cabecera:

Cuerpo

application/json

Proporciona al menos un texto no vacío en prompt o input. Si se envían ambos, sus contenidos deben coincidir. Si se envían response_format y format, sus valores deben coincidir.

prompt
string
requerido

Texto que se sintetizará

Restricciones:

  • Máximo 5000 caracteres
  • Mantén la puntuación en textos largos: los pasajes continuos sin separación de frases pueden truncarse en el proveedor alrededor de 1500 tokens de salida (unos 120 segundos de audio). La tarea sigue figurando como correcta y se factura por los tokens generados; el gateway no puede detectar este truncamiento
  • También puedes usar input. Se requiere al menos un texto no vacío; se recomienda enviar solo un campo. Contenidos diferentes devuelven 400 (parameter_conflict)
  • El texto debe estar en un idioma admitido por la voz elegida; de lo contrario puede haber errores de pronunciación

Etiquetas emocionales y paralingüísticas: Se insertan directamente en el texto, sin parámetros adicionales; su texto cuenta como caracteres de facturación

  • Etiquetas de control: Definen la emoción o el estilo del texto siguiente hasta la próxima etiqueta de control. [sad] triste, [amazed] asombrado, [deep and loud shouting] grito grave y fuerte, [trembling] tembloroso, [angry] enfadado, [excited] emocionado, [sarcastic] sarcástico, [curious] curioso, [like dracula] grave e inquietante, [bored] aburrido, [tired] cansado, [scornful] desdeñoso, [shouting] gritando, [asmr] susurro suave ASMR, [panicked] en pánico, [mischievously] travieso, [empathetic] empático, [whispers] susurrando, [reluctantly] a regañadientes, [crying] llorando, [serious] serio, [very slowly] muy despacio, [very fast] muy rápido
  • Etiquetas paralingüísticas: Insertan un efecto vocal en ese punto sin cambiar la emoción del texto circundante. [gasp] jadeo, [sighing] suspiro, [clears throat] carraspeo, [giggles] risita, [laughing] risa, [cough] tos, [snorts] resoplido

Ejemplo: [excited]今天的天气真不错![laughing]我们一起出去玩吧!

Con enable_ssml: true, este campo se interpreta como SSML

Maximum string length: 5000
Pattern: \S
Ejemplo:

"我家的后面有一个很大的花园。"

model
enum<string>
predeterminado:qwen-audio-3.1-tts-flash
requerido

Nombre del modelo

Opciones disponibles:
qwen-audio-3.1-tts-flash
Ejemplo:

"qwen-audio-3.1-tts-flash"

input
string

Alias de prompt, con las mismas reglas y límites de longitud

  • Proporciona al menos un texto no vacío en prompt o input
  • Si se envían ambos, sus contenidos deben coincidir; de lo contrario, 400 (parameter_conflict)
Maximum string length: 5000
Ejemplo:

"我家的后面有一个很大的花园。"

voice
string
predeterminado:longanhuan_v3.1

Nombre de voz, distingue mayúsculas y minúsculas

  • 68 voces del sistema; nombres, género y usos en la lista de voces
  • Por defecto longanhuan_v3.1
  • También admite voces creadas con Voice Enrollment: qwen-audio-3.1-tts-flash-{prefix}-{32-character-id} para clonación, qwen-audio-3.1-tts-flash-vd-{prefix}-{32-character-id} para diseño. Solo puede usarlas la cuenta que las creó. Voces de otros modelos, como qwen-tts-vd-… de qwen-voice-design, devuelven 400 (invalid_voice). Las inexistentes o de otra cuenta devuelven 404 (voice_not_found)
  • Las voces personalizadas caducan por defecto 6 horas después de completar su creación. Después, la síntesis devuelve 404 (voice_expired); crea una nueva voz con Voice Enrollment
Ejemplo:

"longanhuan_v3.1"

response_format
enum<string>
predeterminado:mp3

Formato de salida: mp3, wav u opus, por defecto mp3

  • opus usa un contenedor Ogg Opus
  • También puedes usar format. Se recomienda enviar solo un campo; valores diferentes devuelven 400 (parameter_conflict)
Opciones disponibles:
mp3,
wav,
opus
Ejemplo:

"mp3"

format
enum<string>

Alias de response_format; admite mp3, wav y opus

  • Si faltan ambos campos, se usa mp3
  • Si se envían ambos, sus valores deben coincidir; de lo contrario, 400 (parameter_conflict)
Opciones disponibles:
mp3,
wav,
opus
Ejemplo:

"mp3"

sample_rate
enum<integer> | null
predeterminado:24000

Frecuencia de muestreo de salida (Hz)

  • 22050 y 44100 no se admiten con response_format: opus
  • Si se omite o es null, se usa el valor predeterminado; 0 o valores fuera de la lista devuelven 400
Opciones disponibles:
8000,
12000,
16000,
22050,
24000,
44100,
48000,
null
Ejemplo:

24000

volume
integer
predeterminado:50

Volumen, de 0 a 100

Rango requerido: 0 <= x <= 100
Ejemplo:

50

speech_rate
number
predeterminado:1

Multiplicador de velocidad

  • 1.0: velocidad normal (predeterminada)
  • 2.0: doble velocidad; 0.5: media velocidad

Rango: 0.5 a 2.0. Este ajuste no cambia el número de tokens de salida

Rango requerido: 0.5 <= x <= 2
Ejemplo:

1

pitch
number
predeterminado:1

Multiplicador de tono

  • 1.0: tono predeterminado
  • Mayor que 1.0, voz más aguda; menor, más grave

Rango: 0.5 a 2.0

Cambiar el tono también cambia la velocidad y la duración del audio

  • Un tono más alto acelera y acorta el audio; uno más bajo lo ralentiza y alarga. La duración varía aproximadamente de forma inversa al cuadrado del valor
  • Para una frase de unos 2.8 segundos con 1.0: 0.8 da unos 4.3 segundos, 1.2 2.1 segundos, 0.5 10.9 segundos y 2.0 0.7 segundos
  • Se recomiendan ajustes pequeños entre 0.8 y 1.2; cerca de 0.5 o 2.0, la voz resulta demasiado lenta o rápida
  • Si también se envía speech_rate distinto de 1.0, pitch no tiene efecto; no pueden combinarse
  • Ajustar el tono no cambia el número de tokens de salida
Rango requerido: 0.5 <= x <= 2
Ejemplo:

1

instruction
string

Instrucciones en lenguaje natural para controlar emoción, tono, personaje, dialecto y expresión

Restricciones:

  • Máximo 100 caracteres de facturación: cada carácter Han (incluidos los kanji japoneses y los hanja coreanos) cuenta como 2; los demás, incluidos kana y hangul, como 1 (unos 50 caracteres Han o 100 ingleses). Superar el límite devuelve 400

Ejemplos:

  • 用欢快、热情的语气说 (hablar de forma alegre y entusiasta)
  • 请用上海话表达 (usar shanghainés; voces multilingües y dialectales)
  • Speak slowly in a calm and gentle tone

Las instrucciones no cuentan como tokens de entrada, pero pueden cambiar la duración del audio y los tokens de salida

El parámetro es instruction (singular); instructions devuelve 400

Ejemplo:

"用欢快、热情的语气说"

language
enum<string>

Indicación del idioma de destino para mejorar la lectura de números, abreviaturas y símbolos y la síntesis en idiomas menos comunes

Por ejemplo, con zh, 110 en hello, this is 110 se lee en chino como «yao yao ling»

Si se omite, el modelo detecta el idioma; este parámetro no traduce el texto

Opciones disponibles:
zh,
en,
fr,
de,
ja,
ko,
ru,
pt,
th,
id,
vi,
es,
it,
ms,
fil,
ar
Ejemplo:

"zh"

enable_ssml
boolean
predeterminado:false

Interpretar prompt como SSML

Si se activa, puedes usar etiquetas SSML, como <break time="1s"/> para insertar una pausa: <speak>欢迎收听今天的节目。<break time="1s"/>我们马上开始。</speak>

Las pausas SSML no cuentan como tokens de salida

Ejemplo:

false

hot_fix
object

Pronunciación personalizada y sustitución de texto para corregir caracteres con varias lecturas, nombres propios y otras pronunciaciones

  • pronunciation: anota palabras con pinyin, separando sílabas con espacios y marcando tonos con cifras, como tian1 qi4
  • replace: sustituye palabras antes de sintetizar. La síntesis y la facturación usan el texto resultante, que también debe respetar 5000 caracteres; superar el límite devuelve 400 (prompt_too_long)

Ambas listas admiten como máximo 200 entradas en total, contadas como pares clave-valor de los objetos. Superar el límite devuelve 400 (invalid_parameter)

Proporciona al menos una lista. Cada lista enviada debe ser un array no vacío de objetos de forma {"palabra": "valor"}

Ejemplo:

enable_aigc_tag
boolean
predeterminado:false

Insertar una marca AIGC invisible en el audio generado (para wav / mp3 / opus)

Ejemplo:

false

callback_url
string<uri>

URL HTTPS de callback para el resultado de la tarea

Momento:

  • Cuando la tarea termina (completed) o falla (failed); este modelo no permite cancelación
  • Después de confirmar la facturación

Seguridad:

  • Solo HTTPS
  • Se prohíben IP privadas (127.0.0.1, 10.x.x.x, 172.16–31.x.x, 192.168.x.x, etc.)
  • URL de máximo 2048 caracteres

Entrega:

  • Tiempo de espera: 10 segundos
  • Máximo 3 reintentos tras un fallo, con demoras de 1 / 2 / 4 segundos
  • Cuerpo del callback con el mismo formato que la respuesta de consulta de tarea
  • Un estado 2xx indica éxito; los demás provocan reintentos
Ejemplo:

"https://your-domain.com/webhooks/tts-completed"

Respuesta

Tarea de síntesis de voz creada correctamente

created
integer

Marca de tiempo de creación de la tarea

Ejemplo:

1790000000

id
string

ID de tarea

Ejemplo:

"task-unified-1790000000-abcd1234"

model
string

Modelo utilizado realmente

Ejemplo:

"qwen-audio-3.1-tts-flash"

object
enum<string>

Tipo específico de objeto de tarea

Opciones disponibles:
audio.generation.task
progress
integer

Progreso de la tarea en porcentaje (0–100)

Rango requerido: 0 <= x <= 100
Ejemplo:

0

status
enum<string>

Estado de la tarea

Opciones disponibles:
pending,
processing,
completed,
failed
Ejemplo:

"pending"

task_info
object

Detalles de la tarea de audio

type
enum<string>

Tipo de salida de la tarea

Opciones disponibles:
audio
Ejemplo:

"audio"

usage
object

Información de uso y facturación