> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ouraicalling.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Idiomas

> Configuración de un solo idioma, asistentes multilingües y cambio automático de idioma

## Configurar el idioma principal

Cada asistente tiene un **idioma STT** que le indica al modelo de transcripción qué esperar. Configúralo con el idioma que realmente hablan quienes llaman: mejora notablemente el reconocimiento de nombres, números y direcciones.

Para el idioma de *salida* del asistente, sé explícito en el prompt del sistema:

```text theme={null}
Always answer in German, regardless of the language the caller uses.
```

La detección de turnos admite un **modelo semántico multilingüe** (predeterminado) que reconoce los límites de las oraciones en distintos idiomas, además de una variante optimizada para inglés y un VAD simple.

## Asistentes multilingües

Para mercados donde quienes llaman cambian de idioma (algo habitual en la región DACH: alemán, turco, inglés), configura el **cambio automático de idioma**:

1. Elige un **modelo STT multilingüe** (por ejemplo, Deepgram nova-3 multilingual) para que la transcripción siga a quien llama.
2. Agrega al menos un **idioma secundario**. El cambio automático se activa en cuanto hay un idioma secundario configurado y se desactiva cuando se elimina el último.
3. Opcionalmente, asigna una **voz por idioma**: por ejemplo, una voz en alemán para `de` y una voz en inglés para `en`. Cuando quien llama cambia de idioma, el asistente responde en el nuevo idioma *con la voz correspondiente*.

El asistente también recibe una pista en el prompt para responder en el idioma detectado, de modo que el LLM lo siga sin necesidad de ingeniería de prompts adicional.

Las anulaciones de voz por idioma están disponibles en los motores **Pipeline** y **Half-cascade**, porque esos modos cuentan con un componente TTS independiente. Se ocultan en un motor **Realtime** puro de voz a voz. Las integraciones actuales de TTS de Cartesia, ElevenLabs, OpenAI, Google y Azure admiten actualizaciones de voz en vivo; el worker traduce cada anulación a la opción nativa del proveedor.

Half-cascade usa el modelo realtime para la comprensión del habla, pero las transcripciones del proveedor pueden llegar tarde y sin idioma detectado. Por eso, cuando hay idiomas secundarios configurados, la plataforma agrega automáticamente un flujo de transcripción multilingüe independiente. Esto aporta metadatos de idioma confiables sin alterar el manejo de turnos del modelo realtime.

<Note>
  Cambiar la vista del editor a **Voz por idioma** no guarda ninguna configuración por sí solo. Se crea una entrada en `language_voices` solo después de elegir una voz para un idioma. Los idiomas sin entrada conservan la voz principal del asistente.
</Note>

<Tip>
  Mantén el prompt del sistema en un solo idioma (idealmente en inglés, ya que los LLM siguen las instrucciones en inglés de forma más confiable) e indica explícitamente la regla de respuesta: "Responde en el idioma que hable quien llama".
</Tip>

## API

La configuración de idiomas es totalmente programable: `primary_language`, `secondary_languages[]`, `auto_language_switch` y el mapa de voces por idioma `language_voices` son campos habituales del asistente que puedes definir con `PATCH /api/v1/assistants/{id}` o con la herramienta MCP `update_assistant`. En el panel, `auto_language_switch` se calcula según si `secondary_languages` tiene elementos. Los códigos de idioma admitidos (ISO 639-1) están disponibles en `GET /api/v1/languages`.

## Pronunciación en todos los idiomas

El [diccionario de pronunciación](/assistants/models-and-voices#speaking-style) se aplica en todos los idiomas: es útil para nombres de marca que las voces TTS pronuncian mal de forma distinta según el idioma. Los administradores del tenant pueden definir un mapa predeterminado para todo el tenant, que se combina con las entradas de cada asistente.

## Idioma del resumen posterior a la llamada

El **Conversation Summary** en el detalle de una llamada siempre se redacta en el **idioma principal** del asistente, no en el idioma en el que se mantuvo la llamada. Un asistente en alemán que atendió una llamada en inglés sigue recibiendo un resumen en alemán, de modo que el listado del historial se mantiene legible en un solo idioma. Al reevaluar una llamada (Historial → Re-evaluate) se aplica la misma regla.

Todo lo demás permanece en el idioma original: la transcripción, las grabaciones y los campos de análisis extraídos nunca se traducen.

<Note>
  Si cambias `primary_language`, solo los resúmenes **nuevos** siguen el nuevo idioma: los resúmenes ya guardados en llamadas anteriores no se reescriben. Usa **Re-evaluate** en una llamada para volver a generar su resumen en el nuevo idioma.
</Note>

## Documentación frente al idioma de la llamada

Ten en cuenta que el idioma de la interfaz de la plataforma y el idioma de llamada del asistente son independientes: tu equipo puede usar un panel en inglés mientras los asistentes hablan en alemán con los clientes, y viceversa.
