Skip to content

elevenlabs_tts

elevenlabs_tts

ElevenLabs TTS backend — cloud voice synthesis with on-disk WAV/MP3 cache.

Classes

ElevenLabsTTSBackend

ElevenLabsTTSBackend(
    *,
    api_key: str = "",
    model_id: str = "",
    cache_enabled: bool = True,
    cache_dir: Path | None = None,
)

Bases: TTSBackend

ElevenLabs TTS with optional disk cache (phrase|voice|model|format).

Source code in src/diapason/speech/elevenlabs_tts.py
def __init__(
    self,
    *,
    api_key: str = "",
    model_id: str = "",
    cache_enabled: bool = True,
    cache_dir: Path | None = None,
) -> None:
    self._api_key = api_key or (_env_get("ELEVENLABS_API_KEY") or "")
    self._model = model_id or (
        _env_get("ELEVENLABS_MODEL_ID", "eleven_multilingual_v2")
        or "eleven_multilingual_v2"
    )
    self._default_voice = _env_get("ELEVENLABS_VOICE_ID") or ""
    self._cache_enabled = cache_enabled
    self._cache_dir = cache_dir or _default_cache_dir()

Functions: