ElevenLabs + AudioFX
ElevenLabs crea la materia prima (un efecto de sonido a partir de un prompt, una voz a partir de texto, una canción); AudioFX la adapta a la escena (teléfono, radio, subacuático, reverberación, un golpe en el corte). sfx es node {{AUDIOFX_DIR}}/bin/sfx.mjs (consulta la habilidad de diseño de sonido para el catálogo completo de efectos).
1. Verificar la conexión
sfx doctor
La última línea indica si se encontró una clave de ElevenLabs y dónde (nunca imprime la clave). La CLI y el estudio buscan ELEVENLABS_API_KEY en el entorno, luego en .env en la carpeta actual, el repositorio de AudioFX y ~/.audiofx/.env.
Si no hay clave, indícale al usuario cómo conectarse. Nunca le pidas que pegue la clave en el chat, y nunca la escribas tú mismo en un archivo:
- Crea una clave API en https://elevenlabs.io/app/settings/api-keys (cualquier plan; el nivel gratuito funciona para efectos de sonido y voces predefinidas).
- Ejecuta
npx -y @elevenlabs/cli@latest onboard initen el proyecto (escribe un.env), o añadeELEVENLABS_API_KEY=...a~/.audiofx/.envellos mismos. - Vuelve a ejecutar
sfx doctor. No es necesario reiniciar.
Otras formas de conexión (opcional)
- MCP alojado, para que Claude pueda llamar a las herramientas de ElevenLabs directamente. En Claude (web o escritorio): Settings → Connectors → añadir un conector personalizado con
https://api.elevenlabs.io/v1/mcpe iniciar sesión. En Claude Code:claude mcp add --transport http elevenlabs https://api.elevenlabs.io/v1/mcp, luego/mcppara autenticarse. La versión de directorio del conector está restringida y puede que no ofrezca música. - Habilidades oficiales con conocimiento de la API de ElevenLabs (TTS, efectos de sonido, música, agentes):
npx skills add elevenlabs/skills.
sfx generate es la ruta más directa para trabajar con video: genera, guarda una copia para reutilizar y aplica efectos en un solo comando, sin necesidad de MCP.
2. Generar y procesar en un solo paso
sfx generate <sfx|voice|music> "<prompt>" <salida> [paso...]
| Tipo | Qué llama | Opciones |
|---|---|---|
sfx | Efectos de sonido (eleven_text_to_sound_v3) | --duration 0.5–30 (por defecto: el modelo decide), --loop, --influence 0–1 (por defecto 0.3) |
voice | Texto a voz (eleven_v4) | --voice <id> (por defecto George, una voz predefinida), --model <id> |
music | Música | --duration 3–600, --instrumental |
- La cadena se valida antes de gastar créditos, por lo que un error tipográfico en un paso falla sin costo.
- Cada generación también se guarda como
~/.audiofx/generated/<tipo>-<prompt>-<hora>.mp3con un.jsondel prompt. Aparece primero en la biblioteca del estudio ("Generated"), para que el usuario pueda probar otros efectos sin pagar dos veces. Reutilízala consfx applyen lugar de generar de nuevo. - Sin pasos, la generación en bruto se escribe en la salida (mp3 copiado; otros formatos convertidos a 48 kHz).
402 paid_plan_requireden una voz significa que es una voz de la biblioteca de voces: usa un id de voz predefinida o pídele al usuario que actualice el plan.429significa límite de velocidad: espera y reintenta una vez.
3. Recetas
Una voz TTS a través de un teléfono, radio o dispositivo
sfx generate voice "Oye, soy yo. Estoy afuera, abre la puerta." llamada.wav voice-clean "telephone:noise=0.1"
sfx generate voice "Habla el capitán." capitan.wav "speaker:model=pa" "reverb:space=hall,mix=0.2"
sfx generate voice "Unidad cuatro, respondan." radio.wav "walkie-talkie:drive=12"
Las voces TTS son limpias y cercanas: un tratamiento las hace pertenecer a la escena. Para una voz en off que debe mantenerse al frente, usa solo voice-clean y loudness, o trailer-voice para una lectura épica.
Una canción generada que se sumerge bajo el agua en un momento
La cámara se sumerge a los 12 s y emerge a los 18 s:
sfx generate music "Indie pop alegre, guitarras brillantes, 120 bpm" cancion.wav "underwater:depth=0.8@12-18" --duration 30 --instrumental --fade 0.35
Otros tratamientos basados en momentos para una canción: "am-radio@0-8" --fade 1.2 (suena desde una radio, luego se abre), "filter-sweep:fromFreq=300,toFreq=18000,start=10,duration=2" (aumento hacia un drop a los 12 s), "tape-stop:at=20,length=0.9" (parada cómica).
Un efecto de sonido superpuesto en un corte
Genera el efecto, luego mézclalo en el audio del video en el corte (aquí 6.0 s) con el efecto layer:
sfx generate sfx "Portazo de madera pesada en un pasillo de piedra" portazo.wav "reverb:space=hall,mix=0.25" --duration 2
sfx apply mix.wav mix-portazo.wav "layer:file=portazo.wav,at=6,align=onset,level=-3"
align=onset mide dónde está el ataque del sonido generado y lo coloca en el corte, para que el silencio inicial en la generación no lo retrase. Los efectos de sonido generados también aparecen en la pestaña Samples del estudio, donde el usuario puede probarlos en un momento escuchando. Para un golpe, riser o whoosh sintetizado, los efectos de cine en la habilidad de diseño de sonido son más rápidos y gratuitos; para muestras grabadas de una librería de sonidos, consulta "Muestras reales como capas" allí.
Un fondo ambiental
sfx generate sfx "Lluvia ligera en una ventana, tráfico de ciudad lejano, sin truenos" lluvia.wav "muffled:thickness=0.4" --duration 20 --loop
--loop hace que el final coincida con el inicio, para que el fondo pueda repetirse bajo una escena larga (-stream_loop en ffmpeg, o <Loop> en Remotion).
Reutilizar lo que el usuario ya generó
El audio que el usuario creó en la app de ElevenLabs, o con el MCP, es solo un archivo: sfx apply <archivo> <salida> <pasos...>. Los enlaces que devuelve el MCP alojado (en elevenlabsusercontent.com) caducan después de unas dos horas, así que descarga el archivo primero, luego procesa la copia local.
Generación de efectos de sonido
- Describe la fuente, la acción, el material y el espacio: "botella de vidrio se rompe en un piso de concreto, habitación pequeña" supera a "vidrio rompiéndose".
- Un evento por generación. Superpone varias generaciones en lugar de pedir toda una escena.
- Pide lo que vas a procesar de todos modos en una versión neutra: genera un "teléfono sonando" limpio y añade
speaker:model=phoneodistancecon AudioFX, para que el mismo archivo sirva para varias escenas. - Los efectos cortos (golpes, clics, whooshes) funcionan mejor con
--duration 1–3; los ambientes y fondos con--loopy 10–30 s. --influencecercano a 1 sigue el prompt al pie de la letra; valores más bajos dejan que el modelo rellene.
Costo y cuidado
- Cada llamada a
sfx generategasta los créditos de ElevenLabs del usuario. Genera una vez, reutiliza el archivo guardado y cambia los efectos consfx applyo en el estudio. - No generes en bucle para "elegir el mejor" sin preguntar: ofrece dos o tres variaciones y deja que el usuario elija escuchando en
sfx studio. - Las voces generadas no deben imitar a una persona real sin su consentimiento.