diff --git a/src/assistant/.env.example b/src/assistant/.env.example index 030bda3..469f268 100644 --- a/src/assistant/.env.example +++ b/src/assistant/.env.example @@ -34,6 +34,8 @@ OPENAI_STT_MODEL=whisper-1 TTS_YANDEX_API_KEY= TTS_YANDEX_AUDIO_FORMAT=oggopus TTS_YANDEX_SAMPLE_RATE_HERTZ=48000 +TTS_YANDEX_TIMEOUT_SECONDS=30 TTS_ELEVEN_LABS_API_KEY= TTS_ELEVEN_LABS_DEFAULT_VOICE_ID=EXAVITQu4vr4xnSDxMaL +TTS_ELEVEN_LABS_TIMEOUT_SECONDS=30 diff --git a/src/assistant/lib/app/app.py b/src/assistant/lib/app/app.py index d77f0c2..78258a3 100644 --- a/src/assistant/lib/app/app.py +++ b/src/assistant/lib/app/app.py @@ -64,10 +64,12 @@ class Application: proxy_settings=settings.proxy, base_url=settings.tts_yandex.base_url, headers=settings.tts_yandex.base_headers, + timeout=settings.tts_yandex.timeout_seconds, ) http_eleven_labs_tts_client = clients.AsyncHttpClient( base_url=settings.tts_eleven_labs.base_url, headers=settings.tts_eleven_labs.base_headers, + timeout=settings.tts_eleven_labs.timeout_seconds, ) disposable_resources.append( diff --git a/src/assistant/lib/app/split_settings/tts/eleven_labs.py b/src/assistant/lib/app/split_settings/tts/eleven_labs.py index d5b099a..f664176 100644 --- a/src/assistant/lib/app/split_settings/tts/eleven_labs.py +++ b/src/assistant/lib/app/split_settings/tts/eleven_labs.py @@ -15,6 +15,7 @@ class TTSElevenLabsSettings(pydantic_settings.BaseSettings): api_key: pydantic.SecretStr = pydantic.Field(default=...) default_voice_id: str = "EXAVITQu4vr4xnSDxMaL" base_url: str = "https://api.elevenlabs.io/v1/" + timeout_seconds: int = 30 @property def base_headers(self) -> dict[str, str]: diff --git a/src/assistant/lib/app/split_settings/tts/yandex.py b/src/assistant/lib/app/split_settings/tts/yandex.py index e0dbc44..76d0829 100644 --- a/src/assistant/lib/app/split_settings/tts/yandex.py +++ b/src/assistant/lib/app/split_settings/tts/yandex.py @@ -18,6 +18,7 @@ class TTSYandexSettings(pydantic_settings.BaseSettings): sample_rate_hertz: int = 48000 api_key: pydantic.SecretStr = pydantic.Field(default=...) base_url: str = "https://tts.api.cloud.yandex.net/speech/v1/" + timeout_seconds: int = 30 @property def base_headers(self) -> dict[str, str]: