Lección 9 · 5 min · Gratis

Creación de efectos de sonido con ElevenLabs (Next.js)

En esta lección, aprenderás a integrar la API de ElevenLabs para generar efectos de sonido a partir de descripciones de texto. Construiremos un backend seguro para procesar las solicitudes y una interfaz de usuario minimalista para interactuar con él. Esto te permitirá añadir capacidades de audio dinámicas a tus aplicaciones, creando experiencias más inmersivas para los usuarios.

Antes de escribir cualquier código, invoca la habilidad /sound-effects para aprender los patrones correctos del SDK de ElevenLabs.

1. app/api/generate-sound/route.ts

Este es un endpoint POST seguro que genera un efecto de sonido a partir de un prompt de texto. Es crucial que nunca expongas ELEVENLABS_API_KEY al cliente para mantener la seguridad de tu aplicación.

  • Lee { prompt } del cuerpo de la solicitud.
  • Valida que el prompt sea una cadena de texto no vacía.
  • Usa ElevenLabsClient y llama a client.textToSoundEffects.convert. Esta función es la que interactúa directamente con la API de ElevenLabs para generar el audio.
  • Devuelve el stream MP3 generado en la respuesta del servidor.
  • Devuelve errores JSON legibles para fallos de validación y de la API. Esto facilita la depuración y mejora la experiencia del desarrollador.

Nota de seguridad: Asegúrate de que tu clave de API de ElevenLabs esté almacenada de forma segura en el servidor y no sea accesible desde el lado del cliente. Considera usar variables de entorno para gestionarla.

2. app/page.tsx

Esta sección describe la página de interfaz de usuario, un simple "playground" para probar los efectos de sonido.

  • Muestra un textarea para el prompt y un botón de enviar. El usuario introducirá aquí la descripción del sonido deseado.
  • Llama a la ruta de la API desde el cliente y maneja los estados de carga, éxito y error. Es importante proporcionar retroalimentación visual al usuario durante estos estados.
  • Convierte el blob de audio devuelto en una URL de objeto y renderiza un reproductor de audio HTML. Esto permite al usuario escuchar el efecto de sonido generado directamente en la página.
  • Borra automáticamente el audio anterior al iniciar una nueva solicitud. Esto asegura que solo se reproduzca el efecto de sonido más reciente.
  • Mantén la interfaz de usuario minimalista y fácil de escanear. Una UI limpia mejora la usabilidad y la experiencia del usuario.

Resumen

  • Aprendiste a integrar la API de ElevenLabs para generar efectos de sonido.
  • Implementaste un endpoint POST seguro para procesar prompts de texto.
  • Manejaste la validación de entradas y la gestión de errores en el backend.
  • Desarrollaste una interfaz de usuario sencilla para interactuar con la API.
  • Aseguraste que la clave de API no se exponga al cliente.
Lección del curso «ElevenLabs Examples» de ElevenLabs, publicado con licencia MIT. Traducción y adaptación al español de IA con Clase. IA con Clase no está afiliado a ElevenLabs. Ver el original · Licencia
Esta lección es gratuita. El resto del curso se abre con la Membresía de IA con Clase, que incluye todos los cursos del catálogo. Ver precios