Skip to Content
ModèlesElevenLabs

Famille ElevenLabs

Les modèles vocaux d’ElevenLabs, au nombre de deux : Eleven v4 pour la synthèse vocale et Scribe v2 pour la transcription. Tous deux s’appellent via les endpoints audio compatibles OpenAI.

ID de modèle (à copier tel quel)
Eleven v4 (synthèse vocale)elevenlabs/eleven_v4POST /v1/audio/speech
Scribe v2 (transcription)elevenlabs/scribe_v2POST /v1/audio/transcriptions

Les paramètres communs des endpoints sont décrits dans Audio Speech API et Audio Transcriptions API. Les prix en vigueur figurent sur la page du modèle  : la synthèse vocale est facturée au caractère, la transcription à la durée audio.

Synthèse vocale Eleven v4

L'essentielvoice attend un ID de voix, pas un nom de voix ; les voix d’OpenAI comme alloy ne sont pas prises en charge.
eleven_tts.py
import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"]) with client.audio.speech.with_streaming_response.create( model="elevenlabs/eleven_v4", voice="21m00Tcm4TlvDq8ikWAM", input="Bonjour et bienvenue dans la synthèse vocale OfoxAI.", response_format="mp3", ) as resp: resp.stream_to_file("speech.mp3")
ParamètreDescription
voiceObligatoire, ID de voix ElevenLabs (20 caractères), par exemple 21m00Tcm4TlvDq8ikWAM. Les ID de voix se trouvent dans la bibliothèque de voix ElevenLabs . Passer un nom de voix (par exemple Rachel) renvoie 404
response_formatmp3 (par défaut, 44,1 kHz), opus (48 kHz, conteneur Ogg), wav (16 kHz), pcm (16 kHz, 16 bits mono). aac et flac ne sont pas pris en charge
language_codeCode de langue, par exemple zh ou en ; détecté automatiquement s’il est omis
provider_optionsTransmet les paramètres propres à ElevenLabs, par exemple {"elevenlabs": {"voice_settings": {"stability": 0.3}}} ; la définition des paramètres figure dans la documentation officielle d’ElevenLabs 

Lors de nos tests, une phrase d’environ 20 caractères chinois est renvoyée en 2 secondes environ, pour un audio généré d’environ 4 secondes.

Transcription Scribe v2

En plus du texte transcrit, Scribe v2 renvoie les horodatages de début et de fin de chaque mot et peut distinguer les différents locuteurs.

scribe.py
import json import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"]) with open("meeting.mp3", "rb") as f: result = client.audio.transcriptions.create( model="elevenlabs/scribe_v2", file=f, extra_body={"provider_options": json.dumps({"elevenlabs": {"diarize": True}})}, ) print(result.text) for w in (result.model_extra or {}).get("words", [])[:10]: print(w.get("speaker"), w["start"], w["end"], w["word"])

Structure de la réponse :

ChampDescription
textTexte transcrit complet
words[]Résultats mot par mot, avec word, start et end (en secondes) ; avec la séparation des locuteurs activée, s’y ajoute speaker (par exemple speaker_0, speaker_1)
languageLangue détectée, par exemple zho ou eng
durationDurée de l’audio (en secondes)
usage{"type": "duration", "seconds": ...}, facturation à la durée
  • La séparation des locuteurs s’active via provider_options : {"elevenlabs": {"diarize": true}}, passé comme chaîne JSON dans un champ de formulaire.
  • response_format accepte json et verbose_json, qui renvoient le même contenu. Pour obtenir un fichier de sous-titres, générez-le vous-même à partir des horodatages de words.

Erreurs courantes

HTTPMessage d’erreurCauseSolution
404A voice with voice_id 'Rachel' was not found.voice contient un nom de voix ou un ID inexistantUtilisez un ID de voix
400unsupported ElevenLabs response_format: aacFormat non pris en chargeUtilisez mp3, opus, wav ou pcm
400Unsupported response_format 'srt'. Only 'json' and 'verbose_json' are supported on this gatewayLa transcription a utilisé text, srt ou vttUtilisez json

D’autres erreurs sont décrites dans Audio Speech API et Audio Transcriptions API.

Documentation officielle

FAQ

Que mettre dans voice pour ElevenLabs ?

Un ID de voix (20 caractères), par exemple 21m00Tcm4TlvDq8ikWAM, à trouver dans la bibliothèque de voix ElevenLabs. Un nom de voix (par exemple Rachel) ou la voix alloy d'OpenAI renvoie 404 voice_id not found.

Quels formats audio Eleven v4 prend-il en charge ?

mp3 (par défaut), opus, wav et pcm. aac et flac ne sont pas pris en charge.

Scribe v2 sait-il distinguer les locuteurs ?

Oui. Passez {"elevenlabs": {"diarize": true}} via provider_options ; dans la réponse, chaque mot de words porte un champ speaker, par exemple speaker_0 ou speaker_1.

Scribe v2 peut-il produire directement des sous-titres srt ?

Non, response_format accepte uniquement json et verbose_json. Vous pouvez générer les sous-titres vous-même à partir des horodatages start et end de words dans la réponse.

Comment la voix ElevenLabs est-elle facturée ?

Eleven v4 est facturé au nombre de caractères en entrée, Scribe v2 à la durée audio ; les prix figurent sur la page du modèle.

Dernière mise à jour le