> 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.

### ElevenAgents

- **Ámbito de herramientas MCP en workflows de agentes**: Los nodos de workflows de agentes ahora pueden restringir qué herramientas MCP puede llamar un subagente. Cuando la herencia de herramientas está desactivada en un nodo, solo se cargan para ese subagente las herramientas MCP seleccionadas explícitamente, lo que ofrece a los equipos un control preciso sobre el acceso a herramientas en cada paso del workflow.

- **Carga de archivos en conversaciones**: Las rutas [crear agente](/docs/es/api-reference/agents/create) y [actualizar agente](/docs/es/api-reference/agents/update) ahora admiten un campo `file_input` en `ConversationConfig`. Cuando está activado, usuarios finales pueden adjuntar imágenes o PDF en el chat (requiere un LLM compatible con entradas multimodales). Se puede configurar con `enabled` (booleano) y `max_files_per_conversation` (entero).

- **Volver a ejecutar el análisis de conversaciones**: La nueva ruta [ejecutar análisis de conversación](/docs/es/api-reference/conversations/analysis/run-analysis) (`POST /v1/convai/conversations/{conversation_id}/analysis/run`) vuelve a evaluar una conversación completada con los criterios de evaluación y la configuración de recopilación de datos actuales del agente, sin necesidad de realizar una nueva llamada.

- **Simulación de respuestas de herramientas para pruebas**: Las pruebas de simulación de agentes y las ejecuciones de suites de pruebas ahora admiten un campo `tool_mock_config` para controlar cómo se gestionan las llamadas a herramientas durante las pruebas. Usa `MockingStrategy` (`all`, `selected`, `none`) para elegir qué herramientas se simulan y `MockNoMatchBehavior` (`call_real_tool`, `raise_error`) para establecer el comportamiento alternativo cuando ninguna simulación coincide.

- **Orden de resultados de búsqueda de texto**: La ruta [buscar texto en conversaciones](/docs/es/api-reference/conversations/messages/text-search) ahora acepta un parámetro de consulta `sort_by` con los valores `search_score` (predeterminado) o `created_at`, lo que permite controlar si los resultados se ordenan por relevancia o por fecha reciente.

- **Conexiones de autenticación mTLS**: Las conexiones de autenticación de agentes ahora admiten TLS mutuo (`mtls`) como `auth_type`, además de las opciones existentes. Los nuevos esquemas `CreateMTLSAuthRequest` y `MTLSAuthResponse` están disponibles para crear y recuperar conexiones autenticadas con mTLS.

- **Mensaje de duración máxima**: Se ha añadido el campo `max_conversation_duration_message` a la configuración del agente. Si se establece como una cadena no vacía, el agente enviará este mensaje al usuario cuando se alcance la duración máxima de la conversación.

- **Rama y entorno al iniciar conversaciones**: Se han añadido los campos opcionales `branch_id` y `environment` a los datos de cliente de inicio de conversación (`ConversationInitiationClientDataRequest`) y al cuerpo de la solicitud [enviar llamada por lotes](/docs/es/api-reference/batch-calling/create), lo que permite dirigirlas a ramas y entornos específicos del agente.

### Música

- **Vídeo a música**: La nueva ruta `POST /v1/music/video-to-music` genera música de fondo a partir de uno o varios archivos de vídeo. Los vídeos se combinan en secuencia. Acepta `description` opcional (hasta 1000 caracteres) y `tags` opcionales (hasta 10 etiquetas de estilo como `upbeat` o `cinematic`) para influir en la pista generada.

### Voz a Texto

- **Transcribir desde una URL**: La ruta [convertir voz a texto](/docs/es/api-reference/speech-to-text/convert) ahora acepta un parámetro `source_url` (cadena, opcional) para transcribir audio o vídeo desde una URL alojada, incluidos vídeos de YouTube, vídeos de TikTok y otros servicios de alojamiento de vídeo. Puede usarse como alternativa a subir un archivo directamente.

### Voces

- **Recuento total en la lista de voces compartidas**: La respuesta de [listar voces compartidas](/docs/es/api-reference/voices/voice-library/get-shared) ahora incluye un campo `total_count`, lo que facilita implementar la paginación y mostrar el número de resultados.

### Lanzamientos de SDK

#### SDK de JavaScript

- [v2.41.0](https://github.com/elevenlabs/elevenlabs-js/releases/tag/v2.41.0) - Se ha añadido compatibilidad con el tipo de evento WebSocket `multimodal_message` en las conversaciones en tiempo real de ElevenAgents. Incluye la regeneración de Fern para las últimas actualizaciones del esquema de la API.
- [v2.41.1](https://github.com/elevenlabs/elevenlabs-js/releases/tag/v2.41.1) - Regeneración de Fern para ajustarse al esquema de la API del 1 de abril de 2026.

#### SDK de Python

- [v2.41.0](https://github.com/elevenlabs/elevenlabs-python/releases/tag/v2.41.0) - Se ha corregido `audio_interface` para que sea opcional en el modo de conversación solo de texto, resolviendo un error de ejecución al iniciar una sesión sin audio. Incluye la regeneración de Fern para el último esquema de la API.

#### Paquetes

Esta versión incluye la nueva v1.0.0 de los SDK de agentes del lado del cliente. Incluye importantes cambios incompatibles en `@elevenlabs/client`, `@elevenlabs/react` y `@elevenlabs/react-native`. Revisa las indicaciones de migración siguientes antes de actualizar.

Para facilitar la actualización, hemos publicado una Skill para ayudar a tus agentes a actualizar por ti. Instálala con

```
npx skills add elevenlabs/packages
```

Puedes leer más sobre la versión v1 y sus mejoras en nuestro [blog para desarrolladores](https://elevenlabs.io/blog/elevenagents-react-sdk-v1-0).

- [@elevenlabs/client@1.0.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/client@1.0.0) — **Cambios incompatibles:**

  - Las clases `Input` y `Output` ya no se exportan. Usa en su lugar las interfaces `InputController` y `OutputController` de `@elevenlabs/client`.
  - `Conversation` ya no es una clase; ahora es un objeto de espacio de nombres y un alias de tipo para `TextConversation | VoiceConversation`. Elimina las comprobaciones `instanceof Conversation` y las subclases.
  - El valor predeterminado de `connectionType` ahora se deduce del modo de conversación: las conversaciones de voz usan `"webrtc"` de forma predeterminada y las conversaciones solo de texto usan `"websocket"`. Para mantener el comportamiento anterior para voz, pasa `connectionType: "websocket"` explícitamente.
  - `VoiceConversation.wakeLock` ahora es privado. Pasa `useWakeLock: false` en las opciones de sesión para desactivar la gestión del bloqueo de activación.
  - `changeInputDevice()` y `changeOutputDevice()` ahora devuelven `Promise<void>` en lugar de `Promise<Input>` o `Promise<Output>`.
  - Sustituye `conversation.input.analyser.getByteFrequencyData(data)` por `conversation.getInputByteFrequencyData()`.
  - Sustituye `conversation.input.setMuted(v)` por `conversation.setMicMuted(v)`.
  - Sustituye `conversation.output.gain.gain.value = v` por `conversation.setVolume({ volume: v })`.
  - `getInputVolume()`, `getOutputVolume()`, `getInputByteFrequencyData()` y `getOutputByteFrequencyData()` ahora devuelven `0` o un `Uint8Array` vacío en lugar de generar un error cuando no hay ninguna conversación activa.

- [@elevenlabs/react@1.0.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/react@1.0.0) — **Cambios incompatibles:**

  - `useConversation` ahora requiere un antecesor `ConversationProvider`. Envuelve tu árbol de componentes en `<ConversationProvider>` y mueve las opciones al proveedor o al hook.
  - Se han eliminado las exportaciones `DeviceFormatConfig` y `DeviceInputConfig`. Usa en su lugar `FormatConfig` e `InputDeviceConfig` de `@elevenlabs/client`.
  - Los nuevos hooks granulares sustituyen al monolítico `useConversation` para mejorar el rendimiento del renderizado: `useConversationControls()`, `useConversationStatus()`, `useConversationInput()`, `useConversationMode()`, `useConversationFeedback()` y `useRawConversation()`. Cada hook se suscribe solo al estado que necesita, evitando renderizados innecesarios.
  - Nuevo hook `useConversationClientTool(name, handler)` para registrar herramientas de cliente que los agentes pueden invocar, con limpieza automática al desmontar.
  - Se ha añadido compatibilidad con silenciamiento controlado mediante las props `isMuted` y `onMutedChange` en `ConversationProvider`.

- [@elevenlabs/react-native@1.0.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/react-native@1.0.0) — **Cambios incompatibles:**

  - Se han eliminado las API anteriores `ElevenLabsProvider` y `useConversation`, y se han sustituido por reexportaciones de `@elevenlabs/react`. Sustituye `ElevenLabsProvider` por `ConversationProvider` y `useConversation` por los hooks granulares (`useConversationControls`, `useConversationStatus`, etc.).
  - En React Native, el paquete ahora incorpora polyfills para las globales de WebRTC, configura la `AudioSession` nativa y registra una estrategia de sesión de voz específica para cada plataforma al importarse.

- [@elevenlabs/types@0.8.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/types@0.8.0) - Exporta el array de ejecución `CALLBACK_KEYS`, que contiene todas las claves de la interfaz `Callbacks` y que el SDK de React utiliza internamente para la composición de callbacks.

- [@elevenlabs/client@0.16.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/client@0.16.0) - Se ha añadido el evento WebSocket de servidor a cliente `guardrail_triggered` y el callback `onGuardrailTriggered`, que se activa cuando el servidor detecta una infracción de las medidas de seguridad durante una conversación. También se han añadido discriminantes de tipo a `TextConversation` y `VoiceConversation` para permitir el estrechamiento de uniones discriminadas, y sobrecargas de `startSession` que restringen el tipo de retorno según la opción `textOnly`.

- [@elevenlabs/react-native@0.6.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/react-native@0.6.0) - Se han añadido el evento WebSocket `guardrail_triggered` y el callback `onGuardrailTriggered`, de forma coherente con `@elevenlabs/client@0.16.0`.

- [@elevenlabs/client@1.1.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/client@1.1.0) - Se ha añadido compatibilidad del lado del cliente para simular respuestas de herramientas en conversaciones de agentes, permitiendo escenarios de prueba que simulan resultados de llamadas a herramientas sin invocar herramientas reales.

- [@elevenlabs/types@0.9.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/types@0.9.0) - Se han añadido definiciones de tipos para la simulación de respuestas de herramientas en conversaciones de agentes.

- [@elevenlabs/react@1.0.1](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/react@1.0.1) - Actualizado para depender de `@elevenlabs/client@1.1.0`.

- [@elevenlabs/react-native@1.0.1](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/react-native@1.0.1) - Actualizado para depender de `@elevenlabs/client@1.1.0` y `@elevenlabs/react@1.0.1`.

### API

<Accordion title="Ver cambios de la API">

## Nuevas rutas

- [Ejecutar análisis de conversación](/docs/es/api-reference/conversations/analysis/run-analysis) - `POST /v1/convai/conversations/{conversation_id}/analysis/run` - Vuelve a ejecutar el análisis de una conversación completada con los criterios de evaluación y la configuración de recopilación de datos actuales del agente.

- `POST /v1/music/video-to-music` - Genera música de fondo a partir de uno o varios archivos de vídeo proporcionados como datos de formulario multipartes.

## Rutas actualizadas

### ElevenAgents

- [Crear agente](/docs/es/api-reference/agents/create), [Actualizar agente](/docs/es/api-reference/agents/update)

  - Se ha añadido el campo `file_input` (`FileInputConfig`, opcional) a `ConversationConfig`, lo que permite subir archivos (imágenes, PDF) en conversaciones de chat cuando el LLM admite entradas multimodales
  - Se ha añadido el campo `max_conversation_duration_message` (cadena, opcional) a la configuración del agente; el agente envía este mensaje cuando se alcanza el límite de tiempo de la sesión

- [Crear prueba](/docs/es/api-reference/tests/create), [Actualizar prueba](/docs/es/api-reference/tests/update)

  - Se ha añadido el campo `tool_mock_config` (objeto, opcional): un mapa de nombres de herramientas a entradas `ToolResponseMockConfig` para controlar el comportamiento de simulación de herramientas durante la simulación

- [Buscar texto en conversaciones](/docs/es/api-reference/conversations/messages/text-search)

  - Se ha añadido el parámetro de consulta `sort_by` (cadena, opcional): acepta `search_score` (predeterminado) o `created_at`

- [Enviar llamada por lotes](/docs/es/api-reference/batch-calling/create)

  - Se ha añadido el campo `branch_id` (cadena, opcional) para dirigirse a una rama específica del agente
  - Se ha añadido el campo `environment` (cadena, opcional) para especificar el entorno de destino

- [Llamada saliente de Twilio](/docs/es/api-reference/twilio/outbound-call), [Llamada saliente de troncal SIP](/docs/es/api-reference/sip-trunk/outbound-call)

  - Los datos de cliente de inicio de conversación ahora aceptan los campos opcionales `branch_id` y `environment`

### Voz a Texto

- [Convertir voz a texto](/docs/es/api-reference/speech-to-text/convert)

  - Se ha añadido el parámetro `source_url` (cadena, opcional): acepta una URL a un archivo de audio o vídeo, vídeo de YouTube, vídeo de TikTok u otro contenido multimedia alojado como alternativa a la carga de un archivo

### Voces

- [Listar voces compartidas](/docs/es/api-reference/voices/voice-library/get-shared)

  - Se ha añadido el campo `total_count` (entero) al modelo de respuesta

### Alineación forzada

- [Crear alineación forzada](/docs/es/api-reference/forced-alignment/create)

  - Se ha eliminado el parámetro `enabled_spooled_file` del cuerpo de la solicitud de datos de formulario multipartes

</Accordion>