> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Modo de chat

> **Info**
>
> El modo de chat permite que tus agentes actúen como agentes de chat; es decir, que mantengan conversaciones
> solo de texto sin entrada ni salida de audio. Es útil para crear interfaces de chat, probar agentes o cuando
> no se necesita audio.

## Descripción general

Hay dos formas principales de activar el modo de chat:

1. **Configuración del agente**: Configura tu agente en modo solo texto al crearlo mediante la API
2. **Anulaciones en tiempo de ejecución**: Usa anulaciones del SDK para forzar conversaciones solo de texto mediante programación

Esta guía cubre ambos enfoques y cómo implementar el modo de chat en distintos SDK.

## Crear agentes solo de texto

Configura un agente en modo solo texto para que sea el ajuste predeterminado en todas las conversaciones con ese agente.

#### Actualizar desde el panel

Abre tu agente en el panel, ve a la pestaña **Advanced** y activa el interruptor **Text only**. Guarda los cambios.

#### Actualizar mediante la CLI

#### Obtén la configuración del agente

```bash
elevenlabs agents pull --agent "<agent-name>"
```

#### Edita \`agent_configs/\<agent-name>.json\`

Establece `conversation_config.conversation.text_only`:

```json
{
  "conversation_config": {
    "conversation": {
      "text_only": true
    }
  }
}
```

#### Envía tus cambios

```bash
elevenlabs agents push --agent "<agent-name>"
```

#### Actualizar mediante la API

```python
from elevenlabs import ElevenLabs

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.agents.update(
    agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
    conversation_config={
        "conversation": {"text_only": True},
    },
)
```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.agents.update("agent_7101k5zvyjhmfg983brhmhkd98n6", {
  conversationConfig: {
    conversation: { textOnly: true },
  },
});
```

> **Info**
>
> Para consultar la referencia completa de la API y todas las opciones de configuración disponibles, consulta el [campo de solo texto en la documentación de la API Create Agent ](/docs/es/api-reference/agents/create#request.body.conversation_config.conversation.text_only).

## Anulaciones en tiempo de ejecución para el modo solo texto

Para activar el modo de chat en tiempo de ejecución mediante anulaciones (en lugar de configurarlo a nivel de agente), puedes usar la anulación `textOnly` en la configuración de tu conversación:

```python
from elevenlabs.client import ElevenLabs
from elevenlabs.conversational_ai.conversation import Conversation, ConversationInitiationData

# Configure for text-only mode with proper structure
conversation_override = {
    "conversation": {
        "text_only": True
    }
}

config = ConversationInitiationData(
    conversation_config_override=conversation_override
)

conversation = Conversation(
    elevenlabs,
    agent_id,
    requires_auth=bool(api_key),
    config=config,
    # Important: Ensure agent_response callback is set
    callback_agent_response=lambda response: print(f"Agent: {response}"),
    callback_user_transcript=lambda transcript: print(f"User: {transcript}"),
)

conversation.start_session()
```

```javascript
const conversation = await Conversation.startSession({
  agentId: "<your-agent-id>",
  overrides: {
    conversation: {
      textOnly: true,
    },
  },
});
```

Esta configuración garantiza que:

* No se usa entrada ni salida de audio
* Toda la comunicación se realiza mediante mensajes de texto
* La conversación funciona en un modo de interfaz similar a un chat

## Notas importantes

> **Warning**
>
> **Importante**: Al usar el modo de chat, debes asegurarte de que el evento o callback `agent_response` esté
> activado y bien configurado. De lo contrario, las respuestas de texto del agente no se enviarán ni
> mostrarán al usuario.

> **Info**
>
> **Anulaciones de seguridad**: Al usar anulaciones en tiempo de ejecución (no configuración a nivel de agente), debes
> activar las anulaciones de conversación en los ajustes de seguridad de tu agente. Ve a la pestaña
> **Security** de tu agente y activa las anulaciones correspondientes. Para más información, consulta la [documentación sobre anulaciones](/docs/es/eleven-agents/customization/personalization/overrides).

### Requisitos clave

1. **Evento de respuesta del agente**: Configura siempre el callback o gestor de eventos `agent_response` para recibir y mostrar los mensajes de texto del agente.

2. **Configuración del agente**: Si tu agente está configurado específicamente en modo de chat en los ajustes del agente, usará automáticamente conversaciones solo de texto sin necesidad de la anulación.

3. **Sin interfaz de audio**: Al usar el modo solo texto, no necesitas configurar interfaces de audio ni solicitar permisos de micrófono.

### Ejemplo: gestionar respuestas del agente

```python
def handle_agent_response(response):
    """Critical handler for displaying agent messages"""
    print(f"Agent: {response}")  # Update your UI with the response
    update_chat_ui(response)

config = ConversationInitiationData(
    conversation_config_override={"conversation": {"text_only": True}}
)

conversation = Conversation(
  elevenlabs,
  agent_id,
  config=config,
  callback_agent_response=handle_agent_response,
)

conversation.start_session()
```

```javascript
const conversation = await Conversation.startSession({
  agentId: "<your-agent-id>",
  overrides: {
    conversation: {
      textOnly: true,
    },
  },
  // Critical: Handle agent responses
  onMessage: (message) => {
    if (message.type === "agent_response") {
      console.log("Agent:", message.text);
      // Display in your UI
      displayAgentMessage(message.text);
    }
  },
});
```

## Enviar mensajes de texto

En el modo de chat, tendrás que enviar los mensajes del usuario mediante programación en lugar de mediante audio:

```python
# Send a text message to the agent
conversation.send_user_message("Hello, how can you help me today?")
```

```javascript
// Send a text message to the agent
conversation.sendUserMessage({
  text: "Hello, how can you help me today?",
});
```

## Ventajas de concurrencia

El modo de chat ofrece importantes ventajas de concurrencia frente a las conversaciones de voz:

* **Límites más altos**: Las conversaciones solo de chat tienen límites de concurrencia 25 veces superiores a las conversaciones de voz
* **Grupo independiente**: Las conversaciones de texto usan un grupo de concurrencia dedicado, independiente de los límites de conversaciones de voz
* **Escalabilidad**: Ideal para aplicaciones de alto rendimiento como atención al cliente, chatbots o pruebas automatizadas

| Plan       | Concurrencia de voz | Concurrencia solo de chat |
| ---------- | ------------------- | ------------------------- |
| Free       | 4                   | 100                       |
| Starter    | 6                   | 150                       |
| Creator    | 10                  | 250                       |
| Pro        | 20                  | 500                       |
| Scale      | 30                  | 750                       |
| Business   | 30                  | 750                       |
| Enterprise | Ampliada            | Ampliada (25x)            |

> **Note**
>
> Durante el inicio de la conexión, las conversaciones solo de chat se comprueban inicialmente con respecto a tu límite
> total de concurrencia durante el proceso de handshake y, después, se transfieren al grupo independiente de concurrencia
> solo de chat cuando se establece la conexión.

## Casos de uso

El modo de chat es ideal para:

* **Interfaces de chat**: Crear interfaces de chat tradicionales sin voz
* **Pruebas**: Probar la lógica del agente sin dependencias de audio
* **Accesibilidad**: Ofrecer alternativas basadas en texto a usuarios
* **Entornos silenciosos**: Cuando la entrada o salida de audio no es adecuada
* **Pruebas de integración**: Pruebas automatizadas de conversaciones de agentes

## Resolución de problemas

### El agente no responde

Si no aparecen las respuestas del agente:

1. Comprueba que el callback `agent_response` esté bien configurado
2. Comprueba que el agente esté configurado para el modo de chat o que se haya establecido la anulación `textOnly`
3. Asegúrate de que la conexión WebSocket se haya establecido correctamente

## Siguientes pasos

* Aprende a [personalizar el comportamiento del agente](/docs/es/eleven-agents/customization/llm)
* Explora los [eventos de cliente](/docs/es/eleven-agents/customization/events/client-events) para interacciones avanzadas
* Consulta la [configuración de autenticación](/docs/es/eleven-agents/customization/authentication) para conversaciones seguras