diff --git a/api/services/configuration/registry.py b/api/services/configuration/registry.py index 41a27dc..8ea8409 100644 --- a/api/services/configuration/registry.py +++ b/api/services/configuration/registry.py @@ -368,6 +368,39 @@ class OpenAISTTConfiguration(BaseSTTConfiguration): # Dograh STT Service DOGRAH_STT_MODELS = ["default"] +DOGRAH_STT_LANGUAGES = [ + "multi", + "en", + "en-US", + "en-GB", + "en-AU", + "en-IN", + "es", + "es-419", + "fr", + "fr-CA", + "de", + "it", + "pt", + "pt-BR", + "nl", + "hi", + "ja", + "ko", + "zh-CN", + "zh-TW", + "ru", + "pl", + "tr", + "uk", + "vi", + "sv", + "da", + "no", + "fi", + "id", + "th", +] @register_stt @@ -376,6 +409,9 @@ class DograhSTTService(BaseSTTConfiguration): model: str = Field( default="default", json_schema_extra={"examples": DOGRAH_STT_MODELS} ) + language: str = Field( + default="multi", json_schema_extra={"examples": DOGRAH_STT_LANGUAGES} + ) api_key: str diff --git a/api/services/pipecat/service_factory.py b/api/services/pipecat/service_factory.py index 3dd3d71..ab11f18 100644 --- a/api/services/pipecat/service_factory.py +++ b/api/services/pipecat/service_factory.py @@ -54,10 +54,12 @@ def create_stt_service(user_config): return CartesiaSTTService(api_key=user_config.stt.api_key) elif user_config.stt.provider == ServiceProviders.DOGRAH.value: base_url = MPS_API_URL.replace("http://", "ws://").replace("https://", "wss://") + language = getattr(user_config.stt, "language", None) or "multi" return DograhSTTService( base_url=base_url, api_key=user_config.stt.api_key, model=user_config.stt.model, + language=language, ) elif user_config.stt.provider == ServiceProviders.SARVAM.value: # Map Sarvam language code to pipecat Language enum