> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fanifyai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ElevenLabs

> Configurez ElevenLabs dans Fanify pour activer le changement de voix (VoiceChanger) et la transcription audio

## Introduction

Cette page couvre la configuration globale (clé d'API, voix et modèle par défaut). Pour personnaliser la voix d'un personnage spécifique, voir [Configuration vocale par personnage](#configuration-vocale-par-personnage).

ElevenLabs est le moteur vocal utilisé par Fanify pour :

* Le **TTS** (text-to-speech) et le **STS** (speech-to-speech / voice changer) via [`/text-to-speech`](https://elevenlabs.io/docs/api-reference/text-to-speech) et [`/speech-to-speech`](https://elevenlabs.io/docs/api-reference/speech-to-speech)
* La **transcription** des messages vocaux entrants via [`/speech-to-text`](https://elevenlabs.io/docs/api-reference/speech-to-text) (modèle `scribe_v1`)

## Prérequis

* **Un compte [elevenlabs](https://elevenlabs.io)** (avec abonnement, fortement recommendé)
* **Un abonnement ElevenLabs adapté** au volume vocal prévu (le plan gratuit est limité)
* **Accès administrateur** à votre instance Fanify

<Warning>
  Sans clé ElevenLabs valide, le VoiceChanger et la transcription audio ElevenLabs ne fonctionneront pas.
</Warning>

<Note>
  Fanify nécessite **un abonnement Elevenlabs** pour disposer de toutes les fonctionnalitées (minimum Creative Starter, \$6/mois).
  ElevenLabs fonctionne par **abonnement mensuel** avec un quota de crédits mensuel, pas à la consommation.
  Le plan gratuit inclut 10 000 crédits mensuels et l'accès API de base au TTS, au STS et à la transcription Scribe de manière limitée (voix utilisable et traffic limité).
  Pour un usage en production, un abonnement payant est recommandé afin de bénéficier d'une licence commerciale, d'un quota suffisant et d'un accès API sans restriction de rate limit.
  Fanify permet également d'utiliser FishAudio comme fournisseur alternatif pour le TTS.
</Note>

## Étapes

### 1) Créer une clé d'API ElevenLabs

1. Connectez-vous sur [elevenlabs.io](https://elevenlabs.io)
2. Ouvrez la page [API Keys](https://elevenlabs.io/app/settings/api-keys)
3. Cliquez sur **Create API Key**, donnez-lui un nom (ex : `Fanify`)
4. Laissez l'option **Restricted Keys** **décochée** (clé non restreinte)
5. Copiez la clé générée

<Note>
  Par défaut, créez une **clé non restreinte** (option **Restricted Keys** décochée) : c'est l'option **recommandée** pour la quasi-totalité des utilisateurs. Fanify dispose ainsi de toutes les permissions dont il a besoin. Les utilisateurs avancés et soucieux de sécurité peuvent créer une [clé restreinte](#cr%C3%A9er-une-cl%C3%A9-restreinte-utilisateurs-avanc%C3%A9s) avec les permissions exactes.
</Note>

<Warning>
  La clé n'est affichée **qu'une seule fois**. Conservez-la en lieu sûr le temps de la coller dans Fanify.
</Warning>

### 2) Saisir la clé dans Fanify

1. Onglet **Admin** <img src="https://mintcdn.com/saufrasoft/aFq2Mb0yAiM80Ukz/assets/ui-elements/sidebar/tab_admin_hover.png?fit=max&auto=format&n=aFq2Mb0yAiM80Ukz&q=85&s=56afaefa40d91e63ee894ed87eb0209d" alt="Onglet Admin" style={{ display: "inline", height: "1.8em", verticalAlign: "middle", margin: "0 0.25em" }} width="240" height="50" data-path="assets/ui-elements/sidebar/tab_admin_hover.png" />
2. Section **Services** <img src="https://mintcdn.com/saufrasoft/aFq2Mb0yAiM80Ukz/assets/ui-elements/pages/admin-settings/setting-item/services_fr.png?fit=max&auto=format&n=aFq2Mb0yAiM80Ukz&q=85&s=c7e656a007400c325b89bd00bd49a769" alt="Section Services" style={{ display: "inline", height: "1.8em", verticalAlign: "middle", margin: "0 0.25em" }} width="554" height="68" data-path="assets/ui-elements/pages/admin-settings/setting-item/services_fr.png" />
3. Cliquez sur **ElevenLabs** <img src="https://mintcdn.com/saufrasoft/aFq2Mb0yAiM80Ukz/assets/ui-elements/pages/admin-settings/services/elevenlabs.png?fit=max&auto=format&n=aFq2Mb0yAiM80Ukz&q=85&s=278a8bea15ce8c5263ef198decbba0d4" alt="Service ElevenLabs" style={{ display: "inline", height: "1.8em", verticalAlign: "middle", margin: "0 0.25em" }} width="180" height="56" data-path="assets/ui-elements/pages/admin-settings/services/elevenlabs.png" />
4. Collez la clé dans **Clé d'API**, puis **Enregistrer**

<Tip>
  Le guide de [mise en route](/fr/basics/configuration/onboarding) vous redirige directement vers cet écran via l'étape « Fournisseur d'inférence vocale ».
</Tip>

Une fois la clé enregistrée, Fanify peut interroger ElevenLabs pour lister les voix et modèles disponibles. Ces deux paramètres restent à choisir manuellement à l'étape suivante.

<Note>
  La page affiche aussi votre **quota de caractères** restant, **actualisé automatiquement** (environ toutes les 4 heures). Lorsque le quota est **épuisé**, Fanify le signale par un badge **Plus de crédits** : montez de plan ou attendez le renouvellement mensuel de votre abonnement.
</Note>

### 3) Choisir le modèle Speech-to-Speech

Dans **Admin > Services > ElevenLabs**, section **Modèle & Voix** :

1. Cliquez sur **Actualiser les données** si la liste est vide (Fanify récupère alors voix et modèles depuis ElevenLabs)
2. Dans **Modèle**, sélectionnez **`eleven_multilingual_sts_v2`** pour activer le VoiceChanger en français (et autres langues)
3. Cliquez sur **Enregistrer**

<Warning>
  Le VoiceChanger en chatting requiert un modèle **Speech-to-Speech** (`sts`). Les modèles Text-to-Speech (TTS) ne fonctionneront pas pour cette fonctionnalité. `eleven_multilingual_sts_v2` est le choix recommandé pour le multilingue.
</Warning>

### 4) Choisir une voix par défaut

Toujours dans **Modèle & Voix** :

1. Dans **Voix**, sélectionnez la voix à utiliser par défaut pour le VoiceChanger
2. Cliquez sur **Enregistrer**

Si la liste est vide ou ne contient pas la voix souhaitée, vous pouvez créer ou cloner une voix directement depuis votre dashboard ElevenLabs :

* [Voice Library](https://elevenlabs.io/app/voice-library) : voix publiques à ajouter à votre compte
* [Voice Lab](https://elevenlabs.io/app/voice-lab) : clonage de voix à partir d'échantillons audio

Après création/clonage côté ElevenLabs, revenez dans Fanify et cliquez sur **Actualiser les données** pour faire apparaître la nouvelle voix dans la liste.

<Tip>
  Cette voix sert de **fallback global** pour tous les personnages qui n'ont pas leur propre voix configurée.
</Tip>

### 5) (optionnel) Ajuster les paramètres vocaux

Section **Paramètres de voix** : ajustez `Stability`, `Similarity Boost`, `Style` et `Speed` pour calibrer le rendu sonore. Cliquez sur **Enregistrer**.

Les valeurs par défaut conviennent à la plupart des cas. Modifiez-les si la voix sort trop monotone (baisser Stability), trop éloignée de l'original (monter Similarity Boost), etc.

### 6) Tester le VoiceChanger

1. Ouvrez l'onglet **Chatting** <img src="https://mintcdn.com/saufrasoft/JhinR4RYKnJEfCOW/assets/ui-elements/sidebar/tab_chatting_hover.png?fit=max&auto=format&n=JhinR4RYKnJEfCOW&q=85&s=c72356b8d651e7cea4a99076adfe8e3f" alt="Onglet Chatting" style={{ display: "inline", height: "1.8em", verticalAlign: "middle", margin: "0 0.25em" }} width="240" height="50" data-path="assets/ui-elements/sidebar/tab_chatting_hover.png" />
2. Sélectionnez une conversation
3. Enregistrez un message vocal et activez le **VoiceChanger** avant envoi
4. Le message est converti dans la voix configurée puis envoyé

## Configuration vocale par personnage

La voix configurée dans **Admin > Services > ElevenLabs** est utilisée par défaut pour tous les personnages. Pour donner une voix spécifique à un personnage :

1. Onglet **Content Factory** <img src="https://mintcdn.com/saufrasoft/JhinR4RYKnJEfCOW/assets/ui-elements/sidebar/tab_content-factory_hover.png?fit=max&auto=format&n=JhinR4RYKnJEfCOW&q=85&s=dee3a42650e7187b665a87be63d75d8a" alt="Onglet Content Factory" style={{ display: "inline", height: "1.8em", verticalAlign: "middle", margin: "0 0.25em" }} width="240" height="50" data-path="assets/ui-elements/sidebar/tab_content-factory_hover.png" />
2. Ouvrez le personnage principal
3. Section **Configuration vocale** : choisissez le fournisseur (ElevenLabs / FishAudio), la voix et le modèle pour chaque modalité (STS, TTS)

<Note>
  Une documentation avancée dédiée à la configuration vocale par personnage sera publiée ultérieurement.
</Note>

## Hiérarchie des paramètres vocaux

Lors d'un changement de voix, Fanify résout la configuration dans cet ordre (du plus prioritaire au moins prioritaire) :

| Priorité | Source                                                               | Portée                                                                                               |
| -------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| 1        | **Paramètres opérateur** (Settings personnels de l'opérateur)        | Surcharge uniquement les *paramètres de voix* (Stability, Similarity Boost, etc.) pour cet opérateur |
| 2        | **Configuration du personnage** (Content Factory > Personnage)       | Voix, modèle et paramètres spécifiques au personnage utilisé dans la conversation                    |
| 3        | **Configuration globale ElevenLabs** (Admin > Services > ElevenLabs) | Voix, modèle et paramètres par défaut de l'instance                                                  |

Concrètement : si un opérateur a personnalisé ses curseurs, ils sont utilisés ; sinon ceux du personnage ; sinon ceux définis globalement par l'admin. La **voix** et le **modèle** ne sont jamais surchargés au niveau opérateur, uniquement les paramètres de rendu.

<Note>
  Chaque opérateur ayant une voix différente, les curseurs se doivent d'être configurés pour chaque opérateur afin d'avoir une qualité de génération optimale.
</Note>

## Dépannage rapide

* **Clé invalide / 401** : vérifiez la clé sur [elevenlabs.io](https://elevenlabs.io/app/settings/api-keys), cliquez sur **Actualiser les données**
* **Permission manquante** : un message du type `missing the permission user_read` (ou `models_read`, `voices_read`) signifie que votre **clé restreinte** ne dispose pas d'un droit requis par Fanify. La solution la plus simple est de créer une **clé non restreinte** (option **Restricted Keys** décochée). Sinon, ajoutez la permission manquante en suivant le tableau de la section [Créer une clé restreinte](#cr%C3%A9er-une-cl%C3%A9-restreinte-utilisateurs-avanc%C3%A9s), puis ressaisissez la clé dans Fanify
* **Aucune voix listée** : enregistrez la clé d'API, puis cliquez sur **Actualiser les données**
* **Quota dépassé** : vérifiez votre crédit caractères sur ElevenLabs, montez de plan si nécessaire
* **Voix trop différente de l'audio source** : augmentez `Similarity Boost` dans les paramètres de voix
* **VoiceChanger indisponible en chatting** : vérifiez qu'une voix est sélectionnée par défaut, ou configurée sur le personnage, et qu'une clé ElevenLabs valide est configurée (le VoiceChanger / STS n'est supporté que par ElevenLabs)

## Créer une clé restreinte (utilisateurs avancés)

Cette option s'adresse aux utilisateurs **soucieux de sécurité** qui préfèrent limiter les permissions de la clé fournie à Fanify. Elle est facultative : une [clé non restreinte](#1-cr%C3%A9er-une-cl%C3%A9-d-api-elevenlabs) couvre tous les besoins.

Une clé restreinte doit disposer des permissions **exactes** suivantes pour que Fanify fonctionne :

| Ressource            | Permission           | Usage dans Fanify                                |
| -------------------- | -------------------- | ------------------------------------------------ |
| **User**             | Read (`user_read`)   | Lecture de l'abonnement et du quota de crédits   |
| **Models**           | Read (`models_read`) | Liste des modèles TTS / STS disponibles          |
| **Voices**           | Read (`voices_read`) | Liste des voix disponibles                       |
| **Text to Speech**   | Access               | Génération vocale (TTS)                          |
| **Speech to Speech** | Access               | Changement de voix / VoiceChanger (STS)          |
| **Speech to Text**   | Access               | Transcription des messages vocaux entrants (STT) |

<Steps>
  <Step title="Ouvrir la création de clé">
    Sur la page [API Keys](https://elevenlabs.io/app/settings/api-keys), cliquez sur **Create API Key** et donnez-lui un nom explicite (ex : `Fanify`).
  </Step>

  <Step title="Activer le mode restreint">
    Cochez l'option **Restricted Keys**.
  </Step>

  <Step title="Attribuer les permissions">
    Accordez les accès du tableau ci-dessus : **User** (Read), **Models** (Read), **Voices** (Read), puis **Access** pour **Text to Speech**, **Speech to Speech** et **Speech to Text**. Laissez le reste sur **No access**.
  </Step>

  <Step title="Créer et copier la clé">
    Validez la création, puis copiez la clé et collez-la dans Fanify comme une clé standard ([étape 2](#2-saisir-la-cl%C3%A9-dans-fanify)).
  </Step>
</Steps>

<Warning>
  Si une permission manque, Fanify **rejette la configuration** avec le message d'erreur brut renvoyé par ElevenLabs (par exemple `missing the permission models_read`). Ajoutez la permission indiquée, puis ressaisissez la clé.
</Warning>

## Liens utiles

* Site ElevenLabs : [elevenlabs.io](https://elevenlabs.io)
* Gestion des clés : [elevenlabs.io/app/settings/api-keys](https://elevenlabs.io/app/settings/api-keys)
* Bibliothèque de voix : [elevenlabs.io/app/voice-library](https://elevenlabs.io/app/voice-library)
