Source: https://ailoot.ai/docs/es-mx/api/audio/
Canonical: https://ailoot.ai/docs/es-mx/api/audio/
Language: es-mx

[API](https://ailoot.ai/docs/es-mx/) 

# Audio

[Markdown](https://ailoot.ai/docs/es-mx/api/audio/index.md)

Conversión de texto a voz (TTS) y reconocimiento de voz (STT) en formato OpenAI Audio.

POST`https://api.ailoot.ai/v1/audio/speech`

Audio

```bash
# Síntesis de voz
curl https://api.ailoot.ai/v1/audio/speech \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "qwen-audio-3.0-tts-plus", "input": "¡Buen día! Este es un ejemplo de síntesis de voz.", "voice": "longanlingxin"}' \
  --output speech.mp3

# Transcripción
curl https://api.ailoot.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -F model=qwen-asr \
  -F file=@meeting.wav
```

```python
# Reconocimiento de voz
with open("meeting.wav", "rb") as f:
    tr = client.audio.transcriptions.create(model="qwen-asr", file=f)
print(tr.text)
```

200 OK · transcripción

```json
{
  "text": "Buen día, colegas. Empecemos con los resultados de la semana…"
}
```

## Autenticación

| Parámetro | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `Authorization` | header | obligatorio | Clave en formato `Bearer sk-…`. También se admiten los encabezados `x-api-key` o `x-goog-api-key`. |

## Texto a voz: cuerpo de la solicitud

| Parámetro | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `model` | string | obligatorio | Modelo de texto a voz: `gemini-3.8-flash-tts`, `qwen-audio-3.0-tts-plus`, `speech-2.8-turbo`, `gemini-3.8-flash-lite-tts`, `speech-2.8-hd`, `gemini-3.1-flash-tts-preview`, `speech-2.6-turbo`, `speech-2.6-hd`, `speech-02-turbo`, `speech-02-hd`. |
| `input` | string | obligatorio | Texto que se va a convertir en voz. Los modelos de MiniMax admiten menos de 10 000 caracteres; `qwen-audio-3.0-tts-plus` admite hasta 600. |
| `voice` | string |  | Voz.  **Obligatoria para los modelos de MiniMax** (`speech-2.8-hd` y otros modelos `speech-…`): identificador de voz de MiniMax (letras latinas, números, `_` y `-`, hasta 128 caracteres). En `qwen-audio-3.0-tts-plus` el valor predeterminado es `longanlingxin`; en los modelos Gemini TTS, `Kore`. |
| `response_format` | string | opcional | MiniMax: solo `mp3`; `qwen-audio-3.0-tts-plus` — `mp3`, `wav` o `pcm`; Gemini TTS: `wav` o `json` (enlace al archivo). |

La respuesta es un archivo de audio (en MiniMax, `audio/mpeg`). Se factura por caracteres de texto o por tokens, según lo indicado en el catálogo.

## Reconocimiento de voz

POST`https://api.ailoot.ai/v1/audio/transcriptions`

| Parámetro | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `file` | file | obligatorio | Archivo de audio WAV en `multipart/form-data`. `qwen-asr`, `qwen-asr-latest` y `qwen-audio-3.0-asr-flash`: PCM WAV completo sin comprimir de hasta 5 minutos, con un tamaño aproximado máximo de 7.5 MB (hasta 10 MB en base64). `asr-1.0`: PCM WAV de hasta 500 segundos y 50 MB. `gemini-3.5-transcribe`: WAV de hasta 64 MB. |
| `model` | string | obligatorio | Modelo de reconocimiento de voz: `gemini-3.5-transcribe`, `qwen-audio-3.0-asr-flash`, `asr-1.0`. |
| `response_format` | string | opcional | Solo `json` (o se puede omitir). |

El campo `language` no se utiliza en estos modelos. Respuesta: `{"text": "…"}`. Se factura por la duración de la grabación (segundos, minutos u horas, según la unidad de cada modelo).

## Voz en tiempo real

Para `qwen-audio-3.0-realtime-plus` , abre un WebSocket en `wss://api.ailoot.ai/v1/realtime?model=qwen-audio-3.0-realtime-plus` con el encabezado `Authorization: Bearer <API_KEY>`. Envía la clave desde el servidor: no se admiten claves en la cadena de consulta. Espera a recibir `session.created` con el modelo seleccionado y, después, envía la configuración, el mensaje y `response.create`. A continuación se muestran tres tramas de texto JSON consecutivas para obtener una respuesta de texto en una sesión de audio:

```json
{"type":"session.update","session":{"modalities":["text"],"turn_detection":null,"max_history_turns":20,"instructions":"Sé breve."}}
```

```json
{"type":"conversation.item.create","item":{"type":"message","role":"user","content":[{"type":"input_text","text":"Di sí."}]}}
```

```json
{"type":"response.create"}
```

Lee los eventos de respuesta hasta `response.done` y su usage final; los errores llegan en un evento `error`. Se factura por los tokens de texto y audio de cada respuesta confirmada. Entrada de audio: evento `input_audio_buffer.append` con `audio` en base64 PCM16 mono de 16 kHz; después, `input_audio_buffer.commit` y `response.create`. Salida de audio: PCM16 mono de 24 kHz. Esta sesión no admite tramas binarias.

Eventos de cliente admitidos: `session.update`, `input_audio_buffer.append/commit/clear`, `response.create/cancel`, `conversation.item.create/retrieve/delete`. Los elementos de conversación solo admiten mensajes y texto; no se admiten herramientas de tipo función, búsqueda web ni huellas de voz. Límites de sesión: 600 segundos, 20 respuestas, 20 turnos de historial, 2000 bytes para instructions y 8000 bytes de texto del cliente. El tiempo de espera por inactividad depende de la configuración (60 segundos de forma predeterminada).

Aquí se describe el modo de voz de `qwen-audio-3.0-realtime-plus`; otros modelos en tiempo real tienen sus propias reglas. No se admiten la ruta `/v1/realtime/sessions` ni los tokens temporales (ephemeral tokens).

¿Tienes alguna pregunta? Envíanos el Request ID y una descripción; te ayudaremos a resolverla.[Contactar a soporte](mailto:support@ailoot.ai)

## Ailoot · La empresa y su cartera de proyectos





Ailoot se apoya en la experiencia operativa acumulada, una amplia base de clientes, un servicio estable y el seguimiento continuo de KPI.





La empresa y su cartera de proyectos: millones de clientes; ventas por miles de millones al mes.





Ailoot aplica esa experiencia operativa al acceso por API a funciones de IA en productos de clientes, agentes, aplicaciones y automatizaciones.
