IA y Agentes

Generar música con OpenClaw: Lyria, MiniMax y fal

Configura la generación de música en OpenClaw con Docker Compose y pruébala con una canción a partir de una letra (MiniMax vía fal) y una pieza a partir de una imagen (Google Lyria). Además: tarareo a canción y cambio de voz, que OpenClaw todavía no hace.

En esta página
Portada: Generar música con OpenClaw. Un prompt pasa por tres proveedores (Lyria, MiniMax y fal) y termina en una pista MP3 con su forma de onda.

En esta entrada veremos cómo generar música con OpenClaw: qué necesitas para empezar, cómo elige el agente el modelo que va a usar y qué pasa mientras el proveedor compone la pista. Antes, un repaso rápido de las formas más comunes de generar música con IA, para ubicar qué cubre OpenClaw y qué no. Al final haremos un laboratorio con una canción a partir de una letra (MiniMax a través de fal) y una pieza a partir de una imagen (Google Lyria), más dos pruebas que OpenClaw todavía no puede hacer porque parten de un audio: convertir un tarareo en canción y cambiarle la voz a una canción, como los covers de Calamardo que circulan en TikTok.

Igual que con el video, una canción no llega en segundos. OpenClaw manda el trabajo al proveedor, te deja seguir conversando y te avisa en el mismo chat cuando el audio está listo.

Qué se puede hacer con música generada por IA

No todas las herramientas de música con IA hacen lo mismo. La diferencia está en lo que le das al modelo: un texto, una letra, una imagen o un audio que ya existe.

Ocho formas de generar música con IA según lo que entra al modelo: Text-to-Music, Lyrics-to-Song e Image-to-Music funcionan con OpenClaw; Humming-to-Music y cambio de voz se prueban fuera; Style Transfer, Audio Inpainting y Video-to-Music completan la lista.

Las que parten de texto (Text-to-Music y Lyrics-to-Song) o de una imagen (Image-to-Music) se pueden hacer desde OpenClaw. Las que parten de un audio (tarareo, cambio de voz, Style Transfer o Audio Inpainting) o de un video quedan fuera, porque music_generate no tiene dónde recibirlos.

Inicio rápido

Si ya tienes OpenClaw corriendo en Docker, son tres pasos.

1. Agrega las API keys

Cada proveedor lee su propia variable de entorno. Para Google Lyria es la misma key que usas con Gemini; para MiniMax es la de fal. Van en el .env del servidor, nunca en el chat:

plaintext
GEMINI_API_KEY=tu_key_de_google
FAL_KEY=tu_key_de_fal

Después pásalas al servicio en tu archivo de Docker Compose:

yaml
services:
  openclaw:
    environment:
      GEMINI_API_KEY: ${GEMINI_API_KEY}
      FAL_KEY: ${FAL_KEY}
Dónde ejecutar estos comandos

Ejecuta todos los comandos docker compose de esta guía desde la carpeta que contiene el docker-compose.yml de tu instalación de OpenClaw. En estos ejemplos, openclaw es el nombre del servicio definido allí.

Recrea el servicio para cargar las variables (docker compose restart no las toma) y comprueba que llegaron, sin imprimir sus valores:

shell
docker compose up -d

docker compose exec openclaw sh -lc '
  test -n "$GEMINI_API_KEY" && echo GEMINI_API_KEY=present
  test -n "$FAL_KEY" && echo FAL_KEY=present
'

Si ya eras cliente de la API de música de MiniMax, también puedes usarla directo con MINIMAX_API_KEY y el modelo minimax/music-2.6.

2. Configura la cadena de modelos

Si no configuras nada, OpenClaw usa alguno de los proveedores que tengan credenciales. Yo prefiero fijarlo: Google Lyria 3 Clip como principal y MiniMax Music 2.6 a través de fal como respaldo.

shell
docker compose exec openclaw openclaw config set \
  agents.defaults.mediaModels.music.primary \
  "google/lyria-3-clip-preview"

docker compose exec openclaw openclaw config set \
  agents.defaults.mediaModels.music.fallbacks \
  '["fal/fal-ai/minimax-music/v2.6"]'

docker compose exec openclaw openclaw config set \
  agents.defaults.mediaModels.music.timeoutMs 300000

Ya tengo GEMINI_API_KEY, Lyria 3 Clip es el modelo predeterminado de Google en OpenClaw y 30 segundos alcanzan para un reel o un short. MiniMax queda de respaldo porque es un proveedor independiente de Google y genera canciones completas con voz; lo uso a través de fal porque la API de música de MiniMax ya no acepta clientes nuevos. El último comando le da cinco minutos a cada intento; una canción completa tarda bastante más que una imagen.

Ojo: esta cadena usa los modelos que OpenClaw soporta hoy. En música salen modelos nuevos y otros pasan a legacy en cuestión de semanas, así que antes de copiarla revisa la lista de proveedores y modelos soportados en la documentación oficial.

Para revisar lo guardado:

shell
docker compose exec openclaw openclaw config get agents.defaults.mediaModels.music
Terminal con la configuración de música guardada en OpenClaw: Lyria 3 Clip como principal, MiniMax Music 2.6 vía fal como respaldo y un timeout de 300000 ms.

3. Pídelo en el chat

No hace falta invocar nada especial: el agente llama a la herramienta music_generate por su cuenta.

plaintext
Genera una pista instrumental de 30 segundos para el fondo de un reel sobre programación: lo-fi tranquilo, piano eléctrico suave y batería con escobillas. Sin voces.

Para ver qué proveedores y modelos detectó tu instalación:

plaintext
/tool music_generate action=list

La lista de música es independiente de la de imágenes o video: que Google genere imágenes en tu instalación no quiere decir que ya tengas Lyria listo.

Respuesta del agente en el chat con los motores de música disponibles: Google Lyria 3, fal.ai y MiniMax listos para usar; OpenRouter y Alibaba sin configurar.

Cómo funciona la generación de música

Diagrama del flujo para generar música con OpenClaw: el mensaje llega desde un canal, pasa por OpenClaw, el agente y la herramienta music_generate, el proveedor compone la pista en segundo plano y el MP3 vuelve al chat.

Una pista corta puede estar en menos de un minuto; una canción completa tarda más. Por eso OpenClaw no se queda esperando:

  1. El agente interpreta tu petición y llama a music_generate.
  2. OpenClaw decide qué modelo usar.
  3. Envía el trabajo al proveedor y registra la tarea.
  4. El proveedor compone la pista en segundo plano.
  5. Cuando termina, el agente te entrega el MP3 en el mismo chat.

Mientras se procesa, puedes seguir conversando. Si vuelves a pedir lo mismo antes de que termine, OpenClaw te devuelve el estado de la tarea activa en lugar de lanzar otra: así no pagas dos veces por la misma canción.

Cómo elige el modelo

OpenClaw recorre esta lista y se queda con el primero que aplique:

  1. El modelo que indiques en la petición (model).
  2. mediaModels.music.primary.
  3. mediaModels.music.fallbacks, en orden.
  4. Autodetección entre los proveedores que tengan credenciales.

Ojo con el primer punto: cuando nombras un modelo en la petición, OpenClaw usa ese y no pasa al siguiente si falla. Para aprovechar los fallbacks, pide la pista sin nombrar proveedor.

Diagrama de elección de modelo de música: un modelo explícito se usa solo; con configuración se prueba el principal y luego los fallbacks; sin configuración se buscan proveedores disponibles.

Seguir una tarea

Cada tarea pasa por queued (en cola), running (el proveedor la está componiendo), succeeded (la pista está lista) o failed (error del proveedor o timeout). Para saber en qué va, pregunta en el chat con /tool music_generate action=status o revisa desde el servidor con docker compose exec openclaw openclaw tasks list.

Laboratorio: letra e imagen

Dos pruebas, una con cada proveedor. En la primera nombro el modelo en la petición para que ningún fallback se meta en medio; en la segunda dejo que el agente elija. En cada una anoto cuánto tardó en llegar el archivo, cuánto dura y cuánto cuesta.

Prueba 1: Lyrics-to-Song con MiniMax

Si le pasas la letra, el modelo la canta en lugar de inventarla. En el chat basta con escribirla; el agente la manda en el campo lyrics. Para esta uso MiniMax porque genera canciones completas con voz, no solo clips de 30 segundos.

MiniMax Music 2.6MiniMax vía fal
Genera esta canción con fal/fal-ai/minimax-music/v2.6: rock en español, voz masculina con fuerza, guitarras distorsionadas, bajo marcado y batería potente. Usa exactamente esta letra:

[Verso 1]
Viernes por la tarde, ya me iba a ir,
un último commit, nada podía fallar,
merge directo a main, sin nadie que lo viera,
y el pipeline en verde me dejó pasar.

[Coro]
¡Rompí producción en viernes!
Las alertas no dejan de sonar,
rollback, rollback, que alguien me rescate,
este fin de semana no voy a descansar.

[Verso 2]
Los logs en rojo llenan la pantalla,
el jefe en el chat pregunta qué pasó,
nadie corrió pruebas, nadie leyó el diff,
y el café se enfría junto con mi valor.

[Coro]
¡Rompí producción en viernes!
Las alertas no dejan de sonar,
rollback, rollback, que alguien me rescate,
este fin de semana no voy a descansar.

La letra mezcla palabras en inglés (commit, merge, pipeline, rollback) a propósito: así se nota si el modelo las pronuncia bien o las deforma. Aquí reviso si respeta la letra completa, la pronunciación y si el ritmo de los versos encaja con la música.

Chat de WhatsApp con OpenClaw: la letra de «Rompí producción en viernes» y la respuesta con el audio de 1:55 generado con MiniMax Music 2.6 vía fal.

La canción llegó al chat unos dos minutos después de pedirla (9:26 → 9:28) y dura 1:55. MiniMax a través de fal cobra $0.15 por pista, sin importar la duración.

Prueba 2: Image-to-Music con Lyria 3 Pro

Lyria acepta imágenes como referencia. La idea no es que describa lo que aparece en la imagen, sino que tome su ánimo y su atmósfera. Para esta prueba le mandé por WhatsApp una foto de Morita, mi gato, con un mensaje casual y sin nombrar ningún modelo.

Imagen de referencia: Morita, un gatito naranja y blanco, sostenido en alto con una mano.
Lyria 3 ProGoogle
a ver una cancioncita para mi gatito
Morita, un gatito naranja y blanco, sostenido en alto con una mano.

Como no nombré modelo, el agente eligió Lyria 3 Pro, la versión que genera canciones completas, en lugar del Clip de 30 segundos que tengo como principal. MiniMax no acepta imágenes, así que esta prueba solo la podía hacer Lyria. Aquí reviso si la música combina con la foto: el ánimo, la energía y los sonidos que elige.

Chat de WhatsApp con OpenClaw: la foto de un gato naranja y blanco con el mensaje «a ver una cancioncita para mi gatito» y la canción «Mi gatito» que devolvió el agente.

Llegó en alrededor de un minuto (9:03 → 9:04): «Mi gatito», un pop acústico casero de 2:10 con ukulele, xilófono, palmas suaves, voz cálida y coros. Lyria 3 Pro cuesta $0.08 por canción en la API de Gemini.

Lo que OpenClaw todavía no hace: audio como entrada

Las dos pruebas que siguen parten de un audio que ya existe, y music_generate no tiene dónde recibirlo. Las hago fuera de OpenClaw, directo con las herramientas de cada caso.

Humming-to-Music con Suno

La idea: grabas unos segundos tarareando una melodía y el modelo la convierte en un arreglo completo. Por API, Lyria solo acepta texto e imágenes, así que esta prueba la hice en Suno con la cuenta gratis, que permite grabar o subir un audio y hacer un cover a partir de él.

Este es mi tarareo: la melodía de Dracula que más recordaba, grabada directo en la página de Suno. Lo importante era marcar bien las notas y mantener el ritmo.

Tarareo originalGrabado en Suno

Los pasos en Suno:

  1. En Create, usa Upload Audio para grabar o subir el tarareo.
  2. Sobre la grabación, elige Cover: cambia el estilo musical intentando conservar las notas y la melodía.
  3. Activa Instrumental y escribe el prompt de estilo. El mío lo redacté con ChatGPT: heavy metal melódico de los 2000, guitarras gemelas, doble bombo y solos.
  4. Genera y escucha. Suno devuelve dos versiones de más de tres minutos.
Cover de SunoSuno · cuenta gratis
2000s melodic heavy metal, high-energy alternative metal, virtuosic twin lead guitars, soaring harmonized guitar melodies, blistering neoclassical guitar solos, tight high-gain rhythm guitars, fast double-bass drumming, explosive snare fills, melodic bass, subtle orchestral strings, dramatic transitions, anthemic instrumental choruses.

Preserve the exact recognizable melodic motif and rhythmic phrasing of the uploaded humming. Feature the melody prominently on harmonized lead electric guitars, repeat it throughout the arrangement, and develop it into an epic guitar-driven chorus.

Dark yet uplifting, theatrical, emotionally powerful, technically impressive. Organic live-band energy, polished 2000s metal production. Instrumental only, no vocals.

Esta es una de las dos versiones y dura 3:33. No pagué nada: usa los créditos diarios del plan gratis.

Lo que importa aquí es si conserva la melodía que tarareé o si solo la toma como inspiración.

Cambio de voz: los covers de Calamardo

En TikTok circulan covers de Calamardo, Quico y otros personajes cantando canciones reales. No son canciones generadas: son la grabación original con la voz cambiada. La técnica se llama Singing Voice Conversion (SVC) y el flujo casi siempre es este:

Flujo de un cover con cambio de voz: la canción original se separa en voz e instrumental, la voz pasa por RVC con un modelo de voz y se mezcla de nuevo con el instrumental original.
  1. Se separa la voz del instrumental con una herramienta como Demucs o Ultimate Vocal Remover (UVR).
  2. La voz aislada pasa por un modelo de conversión entrenado con la voz del personaje; lo más común es RVC.
  3. Se mezcla la voz convertida con el instrumental original.

El modelo no compone nada: la melodía, la letra y los tiempos salen de la grabación original, y solo cambia quién parece cantar.

No hace falta armar todo eso a mano. Para esta prueba uso Jammable (antes Voicify), que hace los tres pasos por ti: subes la canción, eliges una voz de su biblioteca de la comunidad y te devuelve el cover. El plan Basic cuesta USD $1.99 el primer mes y después USD $8.99 al mes, así que si solo lo quieres para probar, cancélalo antes de que se renueve.

Prueba pendiente

Esta prueba todavía no la hago. Cuando la termine, actualizo esta sección con la canción y la voz que elegí, el fragmento original, el cover y mi opinión.

Fragmento originalCanción original
Audio pendiente
Cover con JammableJammable
Audio pendiente

Cuando la haga, voy a revisar la afinación, si la voz suena natural o robótica y si se sigue entendiendo la letra.

Qué me pareció cada prueba

Lyrics-to-Song con MiniMax Music 2.6 (fal)

Muy bien. Respetó la letra y pronunció bien las palabras en inglés (commit, merge, pipeline, rollback). Tardó unos dos minutos y costó $0.15. Para una canción con letra propia es el que usaría.

Image-to-Music con Google Lyria 3 Pro

También muy bien. Con una foto y una frase casual captó el tono tierno de la imagen, y la calidad es buena. Llegó en alrededor de un minuto y costó $0.08. Para algo rápido a partir de una imagen, sin escribir un prompt largo, funciona.

Humming-to-Music con Suno

Conservó la melodía: el tarareo se reconoce en la canción. El arreglo quedó bien, aunque menos agresivo de lo que buscaba; quería acercarlo más al metal de Avenged Sevenfold. Con la cuenta gratis no costó nada.

Cambio de voz

Pendiente: lo agrego en cuanto termine la prueba con Jammable.

Música generada y derechos de uso

Una pista generada no queda automáticamente libre de restricciones. Antes de publicarla o monetizarla revisa los términos del proveedor que usaste, sobre todo si lleva letra, voces o material de referencia. Google, por ejemplo, marca todo el audio de Lyria con SynthID, una marca de agua que no se escucha pero que permite identificarlo como generado por IA.

Con Suno pasa algo parecido: las canciones hechas con la cuenta gratis son solo para uso personal, no comercial, y suscribirte después no les da licencia comercial de forma retroactiva.

Para contenido propio conviene describir lo que quieres oír (tempo, instrumentos, energía y estructura) en lugar de pedir «hazlo como» un artista.

Con el cambio de voz hay que ir con más cuidado: la canción original tiene dueño y la voz del personaje (o de la persona) también. Este tipo de covers lo tomo como un experimento personal; no lo usaría en contenido que vaya a monetizar.

De la pista a la publicación

Con esto ya puedes pedir música desde el chat, saber qué modelo la va a generar y darle seguimiento mientras se compone.

Una pista es una pieza más del contenido: junto con la imagen y el video que ya generamos, el siguiente paso es revisar una vista previa y publicarlo todo con la integración de Upload-Post.

Fuentes

Jose Tejero

Comentarios

Deja un comentario

Los comentarios se publican tras moderación. Tu email no se publica.

Sé la primera persona en comentar.