ElevenLabs + AudioFX
ElevenLabs crée la matière première (un effet sonore à partir d'un prompt, une voix à partir d'un texte, une chanson) ; AudioFX l'adapte à la scène (téléphone, radio, sous-marin, réverbération, un impact sur la coupe). sfx est node {{AUDIOFX_DIR}}/bin/sfx.mjs (voir la compétence sound-design pour le catalogue complet des effets).
1. Vérifier la connexion
sfx doctor
La dernière ligne indique si une clé ElevenLabs a été trouvée et où (elle n'affiche jamais la clé). Le CLI et le studio cherchent ELEVENLABS_API_KEY dans les variables d'environnement, puis dans .env du dossier courant, du dépôt AudioFX, et de ~/.audiofx/.env.
S'il n'y a pas de clé, indiquez à l'utilisateur comment se connecter. Ne lui demandez jamais de coller sa clé dans le chat, et ne l'écrivez jamais vous-même dans un fichier :
- Créez une clé API sur https://elevenlabs.io/app/settings/api-keys (n'importe quel abonnement ; le niveau gratuit fonctionne pour les effets sonores et les voix prédéfinies).
- Soit exécutez
npx -y @elevenlabs/cli@latest onboard initdans le projet (il écrit un.env), soit ajoutezELEVENLABS_API_KEY=...dans~/.audiofx/.envvous-même. - Relancez
sfx doctor. Aucun redémarrage nécessaire.
Autres moyens de connexion (optionnels)
- MCP hébergé pour que Claude puisse appeler directement les outils ElevenLabs. Dans Claude (web ou bureau) : Paramètres → Connecteurs → ajouter un connecteur personnalisé avec
https://api.elevenlabs.io/v1/mcpet se connecter. Dans Claude Code :claude mcp add --transport http elevenlabs https://api.elevenlabs.io/v1/mcp, puis/mcppour s'authentifier. La version de répertoire du connecteur est restreinte et peut ne pas proposer la musique. - Compétences officielles avec l'API ElevenLabs (TTS, effets sonores, musique, agents) :
npx skills add elevenlabs/skills.
sfx generate est le chemin le plus direct pour le travail vidéo : il génère, sauvegarde une copie pour réutilisation et applique les effets en une seule commande, sans MCP nécessaire.
2. Générer et traiter en une seule étape
sfx generate <sfx|voice|music> "<prompt>" <sortie> [étape...]
| Type | Appel | Options |
|---|---|---|
sfx | Effets sonores (eleven_text_to_sound_v3) | --duration 0.5–30 (défaut : le modèle décide), --loop, --influence 0–1 (défaut 0.3) |
voice | Synthèse vocale (eleven_v4) | --voice <id> (défaut George, une voix prédéfinie), --model <id> |
music | Musique | --duration 3–600, --instrumental |
- La chaîne est validée avant de dépenser des crédits : une faute de frappe dans une étape échoue gratuitement.
- Chaque génération est également sauvegardée dans
~/.audiofx/generated/<type>-<prompt>-<time>.mp3avec un.jsondu prompt. Elle apparaît en premier dans la bibliothèque du studio ("Generated"), ce qui permet à l'utilisateur d'essayer d'autres effets sans payer deux fois. Réutilisez-la avecsfx applyau lieu de générer à nouveau. - Sans étapes, la génération brute est écrite dans la sortie (mp3 copié ; autres formats convertis en 48 kHz).
402 paid_plan_requiredsur une voix signifie une voix de la bibliothèque vocale : utilisez un ID de voix prédéfinie ou demandez à l'utilisateur de passer à un abonnement payant.429signifie limite de débit : attendez et réessayez une fois.
3. Recettes
Une voix TTS via un téléphone, une radio ou un appareil
sfx generate voice "Hé, c'est moi. Je suis dehors, ouvre la porte." appel.wav voice-clean "telephone:noise=0.1"
sfx generate voice "Ici votre commandant de bord." capitaine.wav "speaker:model=pa" "reverb:space=hall,mix=0.2"
sfx generate voice "Unité quatre, répondez." radio.wav "walkie-talkie:drive=12"
Les voix TTS sont nettes et rapprochées : un traitement les fait appartenir à la scène. Pour une voix-off qui doit rester au premier plan, utilisez voice-clean et loudness uniquement, ou trailer-voice pour un rendu épique.
Une chanson générée qui passe sous l'eau à un moment donné
La caméra plonge à 12 s et refait surface à 18 s :
sfx generate music "Indie pop entraînante, guitares brillantes, 120 bpm" chanson.wav "underwater:depth=0.8@12-18" --duration 30 --instrumental --fade 0.35
Autres traitements ponctuels sur une chanson : "am-radio@0-8" --fade 1.2 (joue depuis une radio, puis s'ouvre), "filter-sweep:fromFreq=300,toFreq=18000,start=10,duration=2" (montée en puissance vers un drop à 12 s), "tape-stop:at=20,length=0.9" (arrêt comique).
Un effet sonore superposé à une coupe
Générez l'effet, puis mélangez-le à l'audio de la vidéo au moment de la coupe (ici 6,0 s) avec l'effet layer :
sfx generate sfx "Porte en bois lourde qui claque dans un couloir en pierre" porte.wav "reverb:space=hall,mix=0.25" --duration 2
sfx apply mix.wav mix-porte.wav "layer:file=porte.wav,at=6,align=onset,level=-3"
align=onset mesure où se trouve l'attaque du son généré et la place sur la coupe, de sorte que le silence initial dans la génération ne le retarde pas. Les effets sonores générés apparaissent également dans l'onglet Samples du studio, où l'utilisateur peut les essayer sur un moment à l'oreille. Pour un impact, un riser ou un whoosh synthétisé, les effets cinéma de la compétence sound-design sont plus rapides et gratuits ; pour des échantillons réels d'une bibliothèque sonore, voir "Échantillons réels comme couches" dans cette même compétence.
Un fond sonore ambiant
sfx generate sfx "Pluie légère sur une fenêtre, trafic urbain lointain, pas de tonnerre" pluie.wav "muffled:thickness=0.4" --duration 20 --loop
--loop fait se rejoindre la fin et le début, de sorte que le fond puisse se répéter sous une longue scène (-stream_loop dans ffmpeg, ou <Loop> dans Remotion).
Réutiliser ce que l'utilisateur a déjà généré
L'audio que l'utilisateur a créé dans l'application ElevenLabs, ou avec le MCP, n'est qu'un fichier : sfx apply <fichier> <sortie> <étapes...>. Les liens renvoyés par le MCP hébergé (sur elevenlabsusercontent.com) expirent après environ deux heures, téléchargez donc le fichier d'abord, puis traitez la copie locale.
Prompter des effets sonores
- Décrivez la source, l'action, le matériau et l'espace : "bouteille en verre qui se brise sur un sol en béton, petite pièce" est plus efficace que "verre qui se casse".
- Un événement par génération. Superposez plusieurs générations plutôt que de demander une scène entière.
- Demandez ce que vous allez de toute façon traiter dans une version neutre : générez une "sonnerie de téléphone" propre et ajoutez
speaker:model=phoneoudistanceavec AudioFX, de sorte que le même fichier serve plusieurs scènes. - Les effets courts (impacts, clics, whooshes) fonctionnent mieux avec
--duration 1–3; les ambiances et fonds sonores avec--loopet 10–30 s. --influenceproche de 1 suit le prompt littéralement ; des valeurs plus basses laissent le modèle compléter.
Coût et précautions
- Chaque appel
sfx generateconsomme les crédits ElevenLabs de l'utilisateur. Générez une fois, réutilisez le fichier sauvegardé et modifiez les effets avecsfx applyou dans le studio. - Ne bouclez pas les générations pour "choisir la meilleure" sans demander : proposez deux ou trois variations et laissez l'utilisateur choisir à l'oreille dans
sfx studio. - Les voix générées ne doivent pas imiter une personne réelle sans son consentement.