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

### Recursos para desarrolladores

- **Canal de YouTube de ElevenLabs Devs**: Ya está disponible un nuevo [canal de YouTube](https://www.youtube.com/@elevenlabsdevs) centrado en desarrolladores, con tutoriales, guías de la API y análisis técnicos en profundidad para ayudarte a sacar el máximo partido a la plataforma ElevenLabs.

### ElevenAgents

- **Anulación del nodo inicial del workflow**: Ahora se pueden iniciar conversaciones en un nodo específico del workflow pasando `starting_workflow_node_id` en los [datos de cliente de inicio de conversación](/docs/es/api-reference/agents/create). Esta función está controlada por el campo de activación voluntaria `enable_starting_workflow_node_id_from_client` de los ajustes de anulación de plataforma del agente. Cuando está activada, los clientes pueden especificar en qué nodo comenzar una conversación, lo que resulta útil para la memoria del agente y casos de uso de WebSocket a largo plazo. Si el nodo especificado no existe, la conversación recurre al punto de entrada predeterminado.

- **Configuración del LLM para análisis posterior a la llamada**: Los ajustes de plataforma del agente ahora incluyen un campo `analysis_llm` (predeterminado: `gemini-2.5-flash`) que establece el LLM predeterminado para el análisis posterior a la llamada, incluidos los criterios de evaluación y la recopilación de datos. Las propiedades individuales de recopilación de datos pueden anular este valor predeterminado con un campo `llm` por elemento mediante el nuevo esquema `AnalysisProperty`, lo que ofrece un control detallado sobre qué modelo procesa cada elemento de análisis.

- **Nuevas opciones de LLM**: Se ha añadido `gpt-5.4` a la lista de proveedores de LLM disponibles para la configuración de agentes. Se ha añadido `xhigh` a la enumeración `LLMReasoningEffort` para razonamiento ampliado en modelos compatibles.

- **Literal nulo en expresiones de workflow**: Las expresiones condicionales de workflow ahora admiten comparaciones con valores nulos mediante el nuevo tipo `ASTNullNode`, lo que permite ramas como "si la variable es nula" en la lógica del workflow.

- **Obtener secreto por ID**: Una nueva ruta de [obtener secreto](/docs/es/api-reference/workspace/secrets/get) (`GET /v1/convai/secrets/{secret_id}`) recupera un único secreto del espacio de trabajo mediante su ID. La ruta de [listar secretos](/docs/es/api-reference/workspace/secrets/list) también acepta ahora un parámetro de consulta `search` para filtrar secretos por prefijo de nombre.

- **Números de teléfono con búsqueda en llamadas por lotes**: El formulario de llamadas por lotes del panel ahora incluye un selector de números de teléfono con búsqueda, lo que facilita encontrar el número de salida adecuado al configurar llamadas por lotes.

### Voz a Texto

- **Detección de roles de interlocutores**: La ruta de [convertir voz a texto](/docs/es/api-reference/speech-to-text/convert) ahora acepta un parámetro `detect_speaker_roles` (booleano, `false` de forma predeterminada). Cuando se activa junto con `diarize=true`, las etiquetas de interlocutores se devuelven como `agent` y `customer` en lugar de `speaker_0`, `speaker_1`. No se puede usar con `use_multi_channel=true`. Su uso implica un recargo adicional del 10 % sobre el coste base de la transcripción.

### Texto a Diálogo

- **Guía sobre el límite de caracteres de entrada**: Las rutas de [texto a diálogo](/docs/es/api-reference/text-to-dialogue/convert) ahora documentan un límite recomendado de 2000 caracteres entre todos los valores de `inputs[].text` por solicitud. Las solicitudes más largas pueden finalizar antes de tiempo en las respuestas de streaming o devolver un error de validación.

### Espacios de trabajo

- **Ruta de analíticas de uso**: Una nueva ruta de [uso por producto a lo largo del tiempo](/docs/es/api-reference/workspace/usage/get-usage-by-product-over-time) (`POST /v1/workspace/analytics/query/usage-by-product-over-time`) devuelve el uso de créditos desglosado por tipo de producto a lo largo del tiempo. Los resultados se devuelven en una estructura tabular con `interval_seconds`, dimensiones `group_by` y `filters` configurables. La ruta anterior `GET /v1/usage/character-stats` ha quedado obsoleta en favor de esta nueva ruta.

### Lanzamientos de SDK

#### Paquetes

- [@elevenlabs/client@1.2.1](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/client@1.2.1) - Se ha corregido la disponibilidad al iniciar conversaciones para que `onConnect` se ejecute después de que la sesión se marque como conectada y React haya sincronizado `conversationRef`. También se ha expuesto y reenviado `onConversationCreated` para usuarios que necesitan la instancia `Conversation` creada antes de `onConnect`.

- [@elevenlabs/react@1.1.1](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/react@1.1.1) - Se ha corregido la disponibilidad al iniciar conversaciones y se ha expuesto la devolución de llamada `onConversationCreated`, en línea con los cambios de `@elevenlabs/client@1.2.1`.

- [@elevenlabs/react-native@1.1.1](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/react-native@1.1.1), [@elevenlabs/convai-widget-core@0.11.4](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/convai-widget-core@0.11.4), [@elevenlabs/convai-widget-embed@0.11.4](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/convai-widget-embed@0.11.4) - Se ha actualizado a `@elevenlabs/client@1.2.1` con correcciones para el inicio de conversaciones.

### API

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

## Nuevas rutas

- [Obtener secreto](/docs/es/api-reference/workspace/secrets/get) - `GET /v1/convai/secrets/{secret_id}`
- `POST /v1/workspace/analytics/query/usage-by-product-over-time` - Obtener el uso de créditos del espacio de trabajo por producto a lo largo del tiempo

## Rutas obsoletas

- `GET /v1/usage/character-stats` - Obsoleta en favor de `POST /v1/workspace/analytics/query/usage-by-product-over-time`
- Todas las rutas de edición de recursos de doblaje (`POST /v1/dubbing/resource/{dubbing_id}/language`, `POST /v1/dubbing/resource/{dubbing_id}/speaker/{speaker_id}/segment`, `PATCH /v1/dubbing/resource/{dubbing_id}/segment/{segment_id}/{language}` y otras) han quedado obsoletas

## Rutas actualizadas

### ElevenAgents

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

  - Se ha añadido el campo `analysis_llm` (enumeración LLM, predeterminado: `gemini-2.5-flash`) a `AgentPlatformSettings` para configurar el modelo predeterminado de análisis posterior a la llamada
  - Las propiedades de recopilación de datos ahora usan el esquema `AnalysisProperty` con un campo opcional `llm` de anulación por elemento

- [Simular conversación](/docs/es/api-reference/agents/simulate-conversation)

  - Se ha añadido el campo `starting_workflow_node_id` (cadena, admite valores nulos) a los datos de cliente de inicio de conversación
  - Se ha añadido el campo `enable_starting_workflow_node_id_from_client` (booleano, `false` de forma predeterminada) a `ConversationInitiationClientDataConfig`

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

  - Se ha añadido el campo `external_link` (cadena, admite valores nulos) a los registros de llamadas por lotes

- [Listar secretos](/docs/es/api-reference/workspace/secrets/list)

  - Se ha añadido el parámetro de consulta opcional `search` (cadena) para filtrar secretos por prefijo de nombre

- Enumeración `LLM`

  - Se han añadido `gpt-5.4`, `gpt-5.4-2026-03-05`

- Enumeración `LLMReasoningEffort`

  - Se ha añadido `xhigh`

- Expresiones de workflow (`ASTNode`)

  - Se han añadido el valor discriminador `null_literal` y el esquema `ASTNullNode` para comparaciones con valores nulos

- Parámetros de herramientas de matriz (`ArrayJsonSchemaProperty`)

  - Se ha añadido el campo `dynamic_variable` (cadena, opcional) para rellenar matrices a partir de variables dinámicas en tiempo de ejecución
  - Se ha añadido el campo `constant_value` (matriz, admite valores nulos) para establecer valores constantes de matriz
  - El campo `items` ya no es obligatorio (tiene un esquema predeterminado)

- Anulaciones de configuración de herramientas MCP

  - La respuesta ahora usa el esquema `MCPToolConfigOverride-Output` (separación de entrada/salida)

### Voz a Texto

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

  - Se ha añadido el campo `detect_speaker_roles` (booleano, `false` de forma predeterminada) para la detección de roles de interlocutores agente/cliente

### Texto a Diálogo

- [Convertir texto a diálogo](/docs/es/api-reference/text-to-dialogue/convert), [Transmitir texto a diálogo](/docs/es/api-reference/text-to-dialogue/stream)

  - Se ha actualizado la descripción de `inputs` con la recomendación de 2000 caracteres por solicitud
  - Se ha eliminado el campo `avatar_context` del cuerpo de la solicitud

### Texto a Voz

- Los campos de preajuste de calidad en las rutas de TTS y diálogo ahora hacen referencia al esquema de enumeración `QualityPresetType`. El valor `highest` se ha eliminado de los preajustes de calidad de diálogo; usa `ultra` en su lugar.

### Otros

- `AudioNativeResponse` - Se ha eliminado el campo `transcription` de la respuesta
- `UserResponseModel` - Actualización de esquema compatible con versiones anteriores

</Accordion>