25 lines
679 B
Python
25 lines
679 B
Python
|
|
"""TTS adapter factory for VoiceManager integration."""
|
||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
import os
|
||
|
|
|
||
|
|
from fusionagi.adapters.tts_adapter import ElevenLabsTTSAdapter, StubTTSAdapter, TTSAdapter
|
||
|
|
|
||
|
|
|
||
|
|
def get_tts_adapter(provider: str = "stub") -> TTSAdapter:
|
||
|
|
"""Get a TTS adapter for the given provider name.
|
||
|
|
|
||
|
|
Args:
|
||
|
|
provider: Provider identifier (stub, elevenlabs, system).
|
||
|
|
|
||
|
|
Returns:
|
||
|
|
Configured TTSAdapter instance.
|
||
|
|
"""
|
||
|
|
if provider == "elevenlabs":
|
||
|
|
api_key = os.environ.get("ELEVENLABS_API_KEY", "")
|
||
|
|
if api_key:
|
||
|
|
return ElevenLabsTTSAdapter(api_key=api_key)
|
||
|
|
return StubTTSAdapter()
|
||
|
|
return StubTTSAdapter()
|