Skip to content

Una Guía Completa para Usar la API de ElevenLabs en Python

Updated on

La API de ElevenLabs es una herramienta esencial para desarrolladores y creadores, que permite a los usuarios de Python incorporar voces convincentes y naturales en sus aplicaciones con tan solo unas pocas líneas de código. Esta guía detallada te guiará a través de la instalación, el uso, el soporte multilingüe, la personalización de voces, las características de transmisión en tiempo real y la configuración de la clave API de la API de ElevenLabs.

Configuración de la API de ElevenLabs

La API de ElevenLabs está diseñada para ser fácil de instalar. Todo lo que se necesita es un comando a través de pip, el instalador de paquetes incorporado de Python:

pip install elevenlabs

Con este comando, ElevenLabs está listo para su uso en tu sistema para tus scripts de Python.

Utilización de la API

Una vez instalada, la API de ElevenLabs es igual de fácil de usar. Consideremos un ejemplo:

from elevenlabs import generate, play
 
audio = generate(
  text="¡Hola! Soy Robert, encantado de conocerte!",
  voice="Robert",
  model="eleven_monolingual_v1"
)
 
play(audio)

Este ejemplo utiliza la voz 'Robert' del modelo 'eleven_monolingual_v1' para generar y reproducir el audio para el texto dado.

Aprovechando las Capacidades Multilingües

Una característica destacada de la API de ElevenLabs es su sólido soporte para múltiples idiomas. El modelo eleven_multilingual_v1 ofrece a los desarrolladores la capacidad de crear audio de texto a voz en varios idiomas, incluyendo inglés, alemán, polaco, español, italiano, francés, portugués y hindi. Veamos un ejemplo diferente:

from elevenlabs import generate, play
 
audio = generate(
    text="¡Bonjour! Je m'appelle Marcel, ravi de vous rencontrer!",
    voice="Marcel",
    model='eleven_multilingual_v1'
)
 
play(audio)

Este ejemplo genera y reproduce audio en francés utilizando la voz 'Marcel' del modelo 'eleven_multilingual_v1'.

Experimentando con Diferentes Voces

La API de ElevenLabs te permite listar todas las voces disponibles con la función voices():

from elevenlabs import voices, generate
 
available_voices = voices()
 
audio = generate(text="¡Saludos, terrícolas!", voice=available_voices[0])
 
print(available_voices)

Este ejemplo genera y reproduce audio utilizando la primera voz de la lista de voces disponibles.

Clonando Voces

Con la API de ElevenLabs, puedes clonar cualquier voz al instante. Ten en cuenta que la clonación de voces requiere una clave API. Aquí tienes una demostración de cómo clonar una voz:

from elevenlabs import clone, generate, play
 
voice = clone(
    name="Charlie",
    description="Una voz masculina británica con un tono profundo y resonante. Ideal para audiolibros",
    files=["./sample_0.mp3", "./sample_1.mp3", "./sample_2.mp3"],
)
 
audio = generate(text="¡Saludos! ¡Soy una voz clonada!", voice=voice)
 
play(audio)

Este ejemplo muestra el proceso de clonación de una voz y la generación de audio con la voz clonada.

Transmisión en Tiempo Real

La API de ElevenLabs permite la transmisión de audio en tiempo real a medida que se genera. Aquí tienes una demostración rápida:

from elevenlabs import generate, stream
 
audio_stream = generate(
  text="¡Sintoniza... para una voz en tiempo real de transmisión!",
  stream=True
)
 
stream(audio_stream)

Configurando la Clave API

La API básica tiene una capacidad de caracteres limitada. Para ampliar este límite, puedes obtener una clave API gratuita de ElevenLabs. Esta clave se puede configurar como una variable de entorno ELEVEN_API_KEY, o puedes proporcionarla como un argumento de cadena a la función generate:

from elevenlabs import set_api_key
set_api_key("<TU_CLAVE_API>")

En este ejemplo, establecemos la clave API en nuestro script, ampliando el límite de caracteres de nuestra funcionalidad de texto a voz.

Al integrar la API de ElevenLabs en tus scripts de Python, podrás hacer que tus aplicaciones hablen con las voces más naturales y atractivas. Es hora de mejorar tus proyectos con el poder del habla realista.

Solución de Problemas de la API de ElevenLabs

Aunque ElevenLabs aún está en fase beta y el modelo multilingüe es experimental, hay medidas que puedes tomar para optimizar su uso y experiencia. Durante la generación, es posible que notes cambios en el tono, las transiciones de voz o las intrusiones de ruido. La prominencia de estos problemas depende en gran medida del modelo y la voz utilizados. Mientras trabajamos continuamente en estos modelos para mejorarlos, tenemos algunos consejos sobre cómo mitigar estos problemas.

Recomendamos dividir el texto en secciones más cortas, preferiblemente por debajo de los 800 caracteres. Esto puede ayudar a mantener una mejor calidad de audio. Además, para las voces en inglés, el modelo monolingüe tiende a proporcionar una mayor estabilidad.

Hay algunos factores clave a considerar al solucionar problemas:

  1. Longitud de los Fragmentos de Texto: Las voces pueden degradarse con el tiempo, y la degradación es más rápida en el modelo multilingüe experimental. Nuestro equipo está trabajando activamente en abordar este problema.

  2. Monolingüe o Multilingüe: El modelo monolingüe es más estable, pero solo admite oficialmente el inglés. El modelo multilingüe es experimental y puede presentar peculiaridades en las que estamos trabajando continuamente.

  3. Tipo de Voz: Algunas voces predefinidas y voces diseñadas pueden comenzar a susurrar durante generaciones más largas. Si usas voces clonadas, la calidad de las muestras utilizadas es fundamental para la salida final.

  4. Configuraciones Utilizadas: Las configuraciones de estabilidad y similitud pueden afectar el rendimiento de la voz y la prominencia de los artefactos. El modelo multilingüe puede pronunciar mal los números y símbolos, por lo que escribirlos puede ser beneficioso.

Si bien estas soluciones son temporales, esperamos que puedan mejorar tu experiencia con la API de ElevenLabs. Nuestro equipo está desarrollando activamente nuevas tecnologías, como nuestra próxima actualización de "proyectos", para facilitar generaciones extremadamente largas.

Conclusión

La API de ElevenLabs para Python es una herramienta poderosa que proporciona las voces más realistas a creadores y desarrolladores. Su instalación es muy sencilla y su uso se simplifica mediante un código claro y conciso. A pesar de estar en fase beta, ofrece un sólido soporte multilingüe, varias opciones de voz, transmisión en tiempo real y una clave API configurable para aumentar el límite de caracteres. Con la guía proporcionada en este artículo, ahora estás preparado para explorar la API, solucionar posibles problemas y enriquecer tus aplicaciones con habla realista. Aprovecha el futuro de la conversión de texto a voz con la API de ElevenLabs.

Preguntas Frecuentes (FAQ)

P: ¿Cómo puedo instalar la API de ElevenLabs? R: Puede instalar la API de ElevenLabs usando pip con el comando pip install elevenlabs.

P: ¿Cómo puedo generar audio utilizando la API de ElevenLabs? R: Puede generar audio utilizando la función generate, especificando el texto, la voz y el modelo. Luego, use la función play para reproducir el audio generado.

P: ¿La API de ElevenLabs admite múltiples idiomas? R: Sí, el modelo eleven_multilingual_v1 admite múltiples idiomas, incluyendo inglés, alemán, polaco, español, italiano, francés, portugués e hindi.

P: ¿Qué problemas puedo enfrentar al usar la API de ElevenLabs? R: Como la API de ElevenLabs aún está en fase beta, puedes enfrentar cambios en el tono, las transiciones de voz o el ruido durante la generación de audio. Acortar la longitud del texto, usar el modelo monolingüe para el inglés y considerar el tipo de voz y las configuraciones utilizadas pueden mitigar estos problemas.

P: ¿Cómo puedo ampliar el límite de caracteres de la API de ElevenLabs? R: Puedes ampliar el límite de caracteres obteniendo una clave API gratuita de ElevenLabs y configurándola como una variable de entorno ELEVEN_API_KEY, o proporcionándola como un argumento de cadena a la función generate.