Presentamos Eleven v4Conoce Eleven v4, nuestro modelo más expresivo hasta la fecha.

Ir al contenido

Cómo integrar Texto a Voz en tus aplicaciones

Escrito por
Jack Limebear
Publicado

EscucharEscucha este artículo

Para integrar Texto a Voz en tus aplicaciones, crea una clave de API, instala el SDK de ElevenLabs, envía tu texto a la ruta de API de TTS con una voz y un modelo, y reproduce el audio que recibas.

Esta guía explica cada uno de estos pasos en Python y TypeScript, muestra cómo elegir la mejor vía de integración de TTS para ti y detalla soluciones para errores habituales.

How to integrate TTS into your application with ElevenLabs

¿Qué es una API de Texto a Voz?

Una API de Texto a Voz permite a desarrolladores convertir texto escrito en audio de sonido natural mediante programación, sin necesidad de alojar su propio modelo de TTS. Tras integrar una API de TTS en una aplicación, desarrolladores solo tienen que enviar una solicitud a la API y recibir el audio, añadiendo fácilmente una capa de voz a las aplicaciones.

Las mejores API de Texto a Voz, como la que ofrece ElevenAPI, ofrecen un control detallado sobre el sonido final del audio, desde la elección de la voz que pronuncia un fragmento de texto hasta la emoción que transmite. Según el caso de uso de tu aplicación, también podrás elegir entre opciones de procesamiento por lotes y en streaming para crear tus muestras de audio.

Cómo funciona una solicitud a una API de Texto a Voz

Cuando llamas a una API de TTS, se producen varios pasos en segundo plano para entregarte el audio.

Así funciona una solicitud a una API de Texto a Voz:

  1. Tu aplicación envía el texto a la ruta de API de Texto a Voz junto con la voz y el modelo que has elegido. 
  2. La API genera la voz y devuelve el audio en el formato de salida solicitado, como MP3.
  3. Tu aplicación reproduce el audio o lo guarda como archivo. 

Una nota adicional: si tu aplicación se ejecuta en un navegador, debes enviar la solicitud a través de tu propio servidor para que tu clave de API nunca aparezca en el código del lado del cliente.

TTS API flow: app sends text, receives audio, then plays or stores it; browser requests use a server.

Lista de lo que necesitas antes de empezar a integrar TTS en tus aplicaciones

Antes de integrar Texto a Voz en tus aplicaciones, asegúrate primero de contar con lo siguiente:

  • Una cuenta de ElevenLabs. Puedes registrarte en unos minutos. 
  • Un terminal y un editor de código.
  • Python 3 o Node.js instalados en el ordenador desde el que trabajas.
  • Una forma de reproducir el audio que recibas.

Con todo esto preparado, ya puedes incorporar TTS a tu app.

Before first request: ElevenLabs account, terminal/editor, Python or Node.js, and audio playback.

Cómo integrar una API de Texto a Voz en tu aplicación

Con ElevenAPI, integrar una API de TTS en tu aplicación solo debería llevarte unos minutos. Si ya tienes una cuenta, puedes ir directamente a los pasos de abajo. Si no, recuerda registrarte para empezar.

Estos son los pasos:

  1. Crear una clave de API
  2. Instalar el SDK
  3. Hacer tu primera solicitud
  4. Ejecutarlo
Four-step guide to integrating ElevenLabs text-to-speech, with a CLI setup option.

Veamos cada paso en más detalle.

Crear una clave de API

Obtén una clave de API desde el panel de API de ElevenLabs. Después de hacer clic en «Create Key», podrás configurar el tipo de API que quieres crear. Para este caso de uso, asegúrate de que TTS esté habilitado con «Access».

Copia la clave de API y pégala como variable de entorno en .env (o directamente en la configuración de tu app, según su arquitectura). Guardarla en tu archivo .env es una forma eficaz de mantenerla secreta y permitir que tu script la cargue en tiempo de ejecución.

ELEVENLABS_API_KEY=<your_api_key_here>

¿Prefieres que tu agente de programación se encargue de la configuración? Pega esto en tu agente: npx -y @elevenlabs/cli@latest onboard init. La CLI de ElevenLabs abre el navegador para que inicies sesión, guarda la clave en el archivo env de tu proyecto y guía al agente durante los pasos restantes. Necesita Node.js para npx. Consulta la guía de inicio rápido para más información.

Instalar el SDK

Hay dos paquetes principales que debes instalar al configurar una API de Texto a Voz. El primero es el SDK de ElevenLabs, que se encargará de la llamada a la API. El segundo es dotenv, que cargará tu clave de API desde el archivo .env que configuraste en el paso 1.

Si trabajas con la CLI, consulta nuestra documentación de la API de TTS, donde encontrarás instrucciones más específicas y opciones que puedes utilizar. 

Así puedes instalar el SDK y dotenv con Python y TypeScript para tu API de TTS.

Python

pip install elevenlabs
pip install python-dotenv

TypeScript

npm install @elevenlabs/elevenlabs-js
npm install dotenv
Comparison of Python and TypeScript SDK setup, with an HTTP endpoint for other languages.

Haz tu primera solicitud

A continuación, crea el cliente. El cliente es un objeto que encapsula ElevenAPI. Crea un archivo .py o .mts, según el lenguaje de programación que estés usando.

Hay cuatro valores principales que influirán en el resultado:

  • ID de voz: ElevenLabs cuenta con más de 17.500 voces en nuestra Biblioteca de voces entre las que elegir. Selecciona una voz que represente bien a tu aplicación o que se ajuste al caso de uso. En los bloques de código de la guía de inicio rápido de abajo usamos «George», cuyo ID de voz es «JBFqnCBsd6RMkjVDRZzb»
  • Texto: La cadena de texto que quieres que el modelo de TTS de ElevenAPI convierta en un archivo de audio. 
  • ID de modelo: El modelo específico que eliges para generar audio. En el ejemplo de abajo hemos usado eleven_v4, pero también puedes seleccionar cualquiera de nuestros modelos de Texto a Voz si alguno se adapta mejor a tu caso de uso. Por ejemplo, puedes optar por Eleven Flash v2.5 (eleven_flash_v2_5 en el campo de ID de modelo) por su baja latencia.
  • Formato de salida: Define la codificación de audio que quieres recibir de la API de TTS. De forma predeterminada, recibirás un mp3, pero puedes cambiar a formatos como ulaw o pcm.

Así son estos archivos de la API de TTS en Python y TypeScript. Ambos ejemplos de abajo usan el modelo eleven_v4.

Text-to-speech request requires a voice ID, text, model ID, and output format.

Python

from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
from elevenlabs.play import play
import os

load_dotenv()

elevenlabs = ElevenLabs(
  api_key=os.getenv("ELEVENLABS_API_KEY"),
)

audio = elevenlabs.text_to_speech.convert(
    text="The first move is what sets everything in motion.",
    voice_id="JBFqnCBsd6RMkjVDRZzb",  # "George" - browse voices at elevenlabs.io/app/voice-library
    model_id="eleven_v4",
    output_format="mp3_44100_128",
)

play(audio)

TypeScript

import { ElevenLabsClient, play } from "@elevenlabs/elevenlabs-js";
import "dotenv/config";

const elevenlabs = new ElevenLabsClient();
const audio = await elevenlabs.textToSpeech.convert(
	"JBFqnCBsd6RMkjVDRZzb", // "George" - browse voices at elevenlabs.io/app/voice-library
	{
		text: "The first move is what sets everything in motion.",
		modelId: "eleven_v4",
		outputFormat: "mp3_44100_128",
	},
);

await play(audio);

cURL

También puedes llamar a la ruta de API desde cualquier lenguaje que haga solicitudes HTTP. Este ejemplo de cURL envía el mismo texto y guarda el audio en un archivo:

curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/JBFqnCBsd6RMkjVDRZzb?output_format=mp3_44100_128" --output speech.mp3 \
     -H "xi-api-key: $ELEVENLABS_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{
  "text": "The first move is what sets everything in motion.",
  "model_id": "eleven_v4"
}'
Comparison of Python and TypeScript SDK setup, with an HTTP endpoint for other languages.

Ejecutarlo

Ya puedes ejecutar el archivo de la API de TTS. Ejecuta uno de los siguientes comandos, según escribas en Python o TypeScript.

Python

python example.py

TypeScript

npx tsx example.mts

Deberías oír el audio por los altavoces. En el ejemplo de cURL, abre speech.mp3 en su lugar.

Solución de errores habituales de integración de TTS

Si falla tu primera solicitud, compara el código de estado que recibas con esta lista de posibles errores.

Estado

Significado

Qué hacer

400 o 404

validation_error, invalid_request o not_found: la solicitud no es válida o la voz u otro recurso no existe

Corrige la solicitud antes de volver a intentarlo. El campo param del error indica el valor no válido. Las causas habituales son un ID de voz no válido (invalid_voice_id, o voice_not_found si el ID no existe), un modelo o formato de salida no compatible, o texto demasiado largo (text_too_long).

401, 402 o 403

authentication_error, payment_required o authorization_error: hay un problema con tu clave de API, tus créditos o tu acceso

Para un 401, revisa tu clave de API y la cabecera xi-api-key. Para un 402, añade créditos (insufficient_credits). Para un 403, comprueba que tu plan incluya la función o el modelo (feature_not_available o model_access_denied).

429

rate_limit_error: has superado el límite de solicitudes (rate_limit_exceeded) o el límite de concurrencia (concurrent_limit_exceeded)

Para un límite de solicitudes, vuelve a intentarlo con una espera exponencial. Para un límite de concurrencia, espera a que terminen tus solicitudes actuales antes de enviar otras, o cambia a un plan con un límite de concurrencia mayor.

500 o 503

internal_error o service_unavailable: hay un problema por parte de ElevenLabs, algo que debería ser poco frecuente

Espera un momento y vuelve a intentarlo. Contacta con soporte si persiste un error 500.

Para ver la lista completa de errores, consulta la página de referencia de errores para más detalles. 

TTS API error guide maps status codes to causes and fixes.

Ventajas de integrar una API de Texto a Voz

Añadir una interfaz de voz a tu aplicación ofrece una nueva forma de interactuar con ella. Para algunas personas, como aquellas con discapacidad visual, puede ser la única forma práctica de usar tu aplicación.

Estas son las ventajas de integrar una API de TTS en tu aplicación:

  • Accesibilidad: El audio hablado ofrece una nueva forma de interactuar con tu aplicación, haciéndola accesible para quienes no pueden leerla fácilmente en una pantalla.
  • Interacción: Las funciones de lectura en voz alta y escucha permiten a usuarios consumir contenido mientras hacen otra cosa, una forma cada vez más habitual de navegar.
  • Experiencias centradas en la voz: Las respuestas habladas ofrecen a chatbots y guías integradas en la app una forma natural de responder a usuarios.
  • Alcance multilingüe: Eleven v4 abarca más de 90 idiomas, lo que permite que tu integración llegue a audiencias de todo el mundo.

Sobre todo teniendo en cuenta lo fácil que es de configurar, integrar una API de TTS en tu aplicación es una forma eficaz de hacerla más interactiva y expresiva.

Elegir la vía de integración y el modelo adecuados

Aunque ElevenAPI es una de las formas más rápidas y sencillas de añadir voz a una aplicación, puedes elegir otras vías según tus necesidades.

Estos son algunos métodos de integración de TTS entre los que puedes elegir:

Vía

Ideal para

Qué necesitas

Síntesis de voz del navegador (Web Speech API)

Prototipos sencillos en navegador que usan voces locales

Solo código de navegador

Apps en las que quieres voces consistentes y de alta calidad, y control sobre el resultado

Una clave de API y un SDK o una solicitud HTTP

Integrar voz en artículos o páginas web, como hace TIME.

Un embed o un plugin de CMS

Conversaciones de voz bidireccionales

Un agente configurado en la plataforma

Si optas por ElevenAPI, también tendrás que elegir qué modelo incluir en tu solicitud. Esta es una guía rápida de los modelos de TTS de ElevenLabs disponibles:

Modelo

Ideal para

Idiomas

eleven_v4

La voz más expresiva

90+

eleven_flash_v2_5

Uso en tiempo real, agentes y trabajos de gran volumen

32

eleven_multilingual_v2

Narración estable y de alta fidelidad

29

También puedes elegir entre más de 17.500 voces de nuestra Biblioteca de voces. Solo tienes que sustituir el ID de ejemplo en un fragmento de código por el que prefieras.

Integration routes matched to use cases: Web Speech, TTS API, Audio Native, and ElevenAgents.

Casos de uso habituales de una API de Texto a Voz en una aplicación

Cuando tu primera solicitud funcione, la misma llamada puede impulsar numerosas funciones. 

Estos son algunos ejemplos de uso de una API de TTS en una aplicación:

Si quieres crear agentes de voz que mantengan conversaciones bidireccionales, ElevenAgents está diseñado para ello. Configuras y despliegas un agente en la plataforma en lugar de crear por tu cuenta todo el flujo de voz. Explora ElevenAgents para más información.

Incorpora la API de TTS a tus aplicaciones con ElevenAPI

Integrar Texto a Voz se reduce a cuatro pasos principales: crear una clave de API, instalar el SDK, hacer tu primera solicitud y ejecutarla. La misma llamada funciona en TypeScript, Python o cualquier otro lenguaje capaz de hacer una solicitud HTTP. También puedes elegir el modelo y la voz que se ajusten a tu aplicación.

Si estás listo para incorporar TTS a tus aplicaciones, regístrate para hacer hoy tu primera solicitud con ElevenAPI u obtener más información sobre la API de Texto a Voz.

Preguntas frecuentes

Escrito por

Man smiling, wearing a checkered shirt against a plain background.

Jack Limebear

Growth Marketing

Jack Limebear forma parte del equipo de Growth, donde escribe y desarrolla estrategias de contenido para el blog y la sección de insights. Antes de unirse a ElevenLabs, pasó más de diez años liderando la estrategia de contenido en organizaciones que van desde startups SaaS en rápido crecimiento hasta empresas Fortune 500. Tiene un máster en Literatura Inglesa por la Universidad de Cambridge.

Artículos relacionados

Crea con el audio IA de la más alta calidad