From 26631a9c31771849cfde62489888189dbe5e6dcf Mon Sep 17 00:00:00 2001 From: Mark Backman Date: Sat, 7 Mar 2026 08:17:40 -0500 Subject: [PATCH] Add Settings class attribute alias to all service classes Add a `Settings` class-level alias on every STT, LLM, TTS, image, vision, and video service class pointing to its settings dataclass. This lets developers discover the right settings class via the service class itself (e.g. `GoogleSTTService.Settings(...)`) without needing to know or import the separate settings class name. --- src/pipecat/services/anthropic/llm.py | 1 + src/pipecat/services/assemblyai/stt.py | 1 + src/pipecat/services/asyncai/tts.py | 2 ++ src/pipecat/services/aws/llm.py | 1 + src/pipecat/services/aws/nova_sonic/llm.py | 1 + src/pipecat/services/aws/stt.py | 1 + src/pipecat/services/aws/tts.py | 3 +++ src/pipecat/services/azure/image.py | 1 + src/pipecat/services/azure/llm.py | 2 ++ src/pipecat/services/azure/realtime/llm.py | 1 + src/pipecat/services/azure/stt.py | 1 + src/pipecat/services/azure/tts.py | 4 ++++ src/pipecat/services/camb/tts.py | 1 + src/pipecat/services/cartesia/stt.py | 1 + src/pipecat/services/cartesia/tts.py | 2 ++ src/pipecat/services/cerebras/llm.py | 1 + src/pipecat/services/deepgram/flux/stt.py | 1 + src/pipecat/services/deepgram/sagemaker/stt.py | 1 + src/pipecat/services/deepgram/sagemaker/tts.py | 1 + src/pipecat/services/deepgram/stt.py | 1 + src/pipecat/services/deepgram/tts.py | 2 ++ src/pipecat/services/deepseek/llm.py | 1 + src/pipecat/services/elevenlabs/stt.py | 2 ++ src/pipecat/services/elevenlabs/tts.py | 2 ++ src/pipecat/services/fal/image.py | 3 +++ src/pipecat/services/fal/stt.py | 1 + src/pipecat/services/fireworks/llm.py | 1 + src/pipecat/services/fish/tts.py | 1 + src/pipecat/services/gladia/stt.py | 1 + src/pipecat/services/google/gemini_live/llm.py | 1 + src/pipecat/services/google/gemini_live/llm_vertex.py | 1 + src/pipecat/services/google/image.py | 5 +++-- src/pipecat/services/google/llm.py | 1 + src/pipecat/services/google/llm_openai.py | 1 + src/pipecat/services/google/llm_vertex.py | 1 + src/pipecat/services/google/stt.py | 1 + src/pipecat/services/google/tts.py | 3 +++ src/pipecat/services/gradium/stt.py | 1 + src/pipecat/services/gradium/tts.py | 1 + src/pipecat/services/grok/llm.py | 1 + src/pipecat/services/grok/realtime/llm.py | 1 + src/pipecat/services/groq/llm.py | 1 + src/pipecat/services/groq/stt.py | 1 + src/pipecat/services/groq/tts.py | 1 + src/pipecat/services/heygen/video.py | 3 +++ src/pipecat/services/hume/tts.py | 1 + src/pipecat/services/inworld/tts.py | 2 ++ src/pipecat/services/kokoro/tts.py | 1 + src/pipecat/services/lmnt/tts.py | 1 + src/pipecat/services/minimax/tts.py | 1 + src/pipecat/services/mistral/llm.py | 1 + src/pipecat/services/moondream/vision.py | 3 +++ src/pipecat/services/neuphonic/tts.py | 2 ++ src/pipecat/services/nvidia/llm.py | 1 + src/pipecat/services/nvidia/stt.py | 2 ++ src/pipecat/services/nvidia/tts.py | 1 + src/pipecat/services/ollama/llm.py | 1 + src/pipecat/services/openai/base_llm.py | 1 + src/pipecat/services/openai/image.py | 1 + src/pipecat/services/openai/realtime/llm.py | 1 + src/pipecat/services/openai/stt.py | 2 ++ src/pipecat/services/openai/tts.py | 1 + src/pipecat/services/openai_realtime_beta/azure.py | 1 + src/pipecat/services/openai_realtime_beta/openai.py | 1 + src/pipecat/services/openpipe/llm.py | 1 + src/pipecat/services/openrouter/llm.py | 1 + src/pipecat/services/perplexity/llm.py | 1 + src/pipecat/services/piper/tts.py | 2 ++ src/pipecat/services/qwen/llm.py | 1 + src/pipecat/services/resembleai/tts.py | 1 + src/pipecat/services/rime/tts.py | 3 +++ src/pipecat/services/sambanova/llm.py | 1 + src/pipecat/services/sambanova/stt.py | 2 ++ src/pipecat/services/sarvam/stt.py | 1 + src/pipecat/services/sarvam/tts.py | 2 ++ src/pipecat/services/soniox/stt.py | 1 + src/pipecat/services/speechmatics/stt.py | 1 + src/pipecat/services/speechmatics/tts.py | 1 + src/pipecat/services/tavus/video.py | 3 +++ src/pipecat/services/together/llm.py | 1 + src/pipecat/services/ultravox/llm.py | 1 + src/pipecat/services/whisper/base_stt.py | 1 + src/pipecat/services/whisper/stt.py | 2 ++ src/pipecat/services/xtts/tts.py | 1 + 84 files changed, 117 insertions(+), 2 deletions(-) diff --git a/src/pipecat/services/anthropic/llm.py b/src/pipecat/services/anthropic/llm.py index f687b56c5..7abcec3e0 100644 --- a/src/pipecat/services/anthropic/llm.py +++ b/src/pipecat/services/anthropic/llm.py @@ -159,6 +159,7 @@ class AnthropicLLMService(LLMService): Can use custom clients like AsyncAnthropicBedrock and AsyncAnthropicVertex. """ + Settings = AnthropicLLMSettings _settings: AnthropicLLMSettings # Overriding the default adapter to use the Anthropic one. diff --git a/src/pipecat/services/assemblyai/stt.py b/src/pipecat/services/assemblyai/stt.py index 3d10c970f..ddfcb4a47 100644 --- a/src/pipecat/services/assemblyai/stt.py +++ b/src/pipecat/services/assemblyai/stt.py @@ -128,6 +128,7 @@ class AssemblyAISTTService(WebsocketSTTService): for audio processing and connection management. """ + Settings = AssemblyAISTTSettings _settings: AssemblyAISTTSettings def __init__( diff --git a/src/pipecat/services/asyncai/tts.py b/src/pipecat/services/asyncai/tts.py index 7bcc1fdb1..67f79dbfd 100644 --- a/src/pipecat/services/asyncai/tts.py +++ b/src/pipecat/services/asyncai/tts.py @@ -85,6 +85,7 @@ class AsyncAITTSService(WebsocketTTSService): Provides text-to-speech using Async's streaming WebSocket API. """ + Settings = AsyncAITTSSettings _settings: AsyncAITTSSettings class InputParams(BaseModel): @@ -485,6 +486,7 @@ class AsyncAIHttpTTSService(TTSService): connection is not required or desired. """ + Settings = AsyncAITTSSettings _settings: AsyncAITTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/aws/llm.py b/src/pipecat/services/aws/llm.py index bcc5028c4..168a2a98f 100644 --- a/src/pipecat/services/aws/llm.py +++ b/src/pipecat/services/aws/llm.py @@ -746,6 +746,7 @@ class AWSBedrockLLMService(LLMService): vision capabilities. """ + Settings = AWSBedrockLLMSettings _settings: AWSBedrockLLMSettings # Overriding the default adapter to use the Anthropic one. diff --git a/src/pipecat/services/aws/nova_sonic/llm.py b/src/pipecat/services/aws/nova_sonic/llm.py index fa69a9c8a..8e4633544 100644 --- a/src/pipecat/services/aws/nova_sonic/llm.py +++ b/src/pipecat/services/aws/nova_sonic/llm.py @@ -246,6 +246,7 @@ class AWSNovaSonicLLMService(LLMService): and function calling capabilities using AWS Nova Sonic model. """ + Settings = AWSNovaSonicLLMSettings _settings: AWSNovaSonicLLMSettings # Override the default adapter to use the AWSNovaSonicLLMAdapter one diff --git a/src/pipecat/services/aws/stt.py b/src/pipecat/services/aws/stt.py index 7355bb1b7..8b28c006a 100644 --- a/src/pipecat/services/aws/stt.py +++ b/src/pipecat/services/aws/stt.py @@ -60,6 +60,7 @@ class AWSTranscribeSTTService(WebsocketSTTService): final transcription results. """ + Settings = AWSTranscribeSTTSettings _settings: AWSTranscribeSTTSettings def __init__( diff --git a/src/pipecat/services/aws/tts.py b/src/pipecat/services/aws/tts.py index 12eab245c..47b12429a 100644 --- a/src/pipecat/services/aws/tts.py +++ b/src/pipecat/services/aws/tts.py @@ -148,6 +148,7 @@ class AWSPollyTTSService(TTSService): options including prosody controls. """ + Settings = AWSPollyTTSSettings _settings: AWSPollyTTSSettings class InputParams(BaseModel): @@ -382,6 +383,8 @@ class PollyTTSService(AWSPollyTTSService): """ + Settings = AWSPollyTTSSettings + def __init__(self, **kwargs): """Initialize the deprecated PollyTTSService. diff --git a/src/pipecat/services/azure/image.py b/src/pipecat/services/azure/image.py index 28ac68bf9..1b62fbfe4 100644 --- a/src/pipecat/services/azure/image.py +++ b/src/pipecat/services/azure/image.py @@ -43,6 +43,7 @@ class AzureImageGenServiceREST(ImageGenService): and automatic image download and processing. """ + Settings = AzureImageGenSettings _settings: AzureImageGenSettings def __init__( diff --git a/src/pipecat/services/azure/llm.py b/src/pipecat/services/azure/llm.py index 1c9960e8a..322ff0b3e 100644 --- a/src/pipecat/services/azure/llm.py +++ b/src/pipecat/services/azure/llm.py @@ -31,6 +31,8 @@ class AzureLLMService(OpenAILLMService): maintaining full compatibility with OpenAI's interface and functionality. """ + Settings = AzureLLMSettings + def __init__( self, *, diff --git a/src/pipecat/services/azure/realtime/llm.py b/src/pipecat/services/azure/realtime/llm.py index bf91d484e..c791af94d 100644 --- a/src/pipecat/services/azure/realtime/llm.py +++ b/src/pipecat/services/azure/realtime/llm.py @@ -35,6 +35,7 @@ class AzureRealtimeLLMService(OpenAIRealtimeLLMService): real-time audio and text communication capabilities as the base OpenAI service. """ + Settings = AzureRealtimeLLMSettings _settings: AzureRealtimeLLMSettings def __init__( diff --git a/src/pipecat/services/azure/stt.py b/src/pipecat/services/azure/stt.py index f940ea9c0..0588cc6cc 100644 --- a/src/pipecat/services/azure/stt.py +++ b/src/pipecat/services/azure/stt.py @@ -66,6 +66,7 @@ class AzureSTTService(STTService): provides real-time transcription results with timing information. """ + Settings = AzureSTTSettings _settings: AzureSTTSettings def __init__( diff --git a/src/pipecat/services/azure/tts.py b/src/pipecat/services/azure/tts.py index c2884b860..1c74c7655 100644 --- a/src/pipecat/services/azure/tts.py +++ b/src/pipecat/services/azure/tts.py @@ -246,6 +246,8 @@ class AzureTTSService(TTSService, AzureBaseTTSService): available for lower latency playback and accurate word-level synchronization. """ + Settings = AzureTTSSettings + def __init__( self, *, @@ -749,6 +751,8 @@ class AzureHttpTTSService(TTSService, AzureBaseTTSService): required and simpler integration is preferred. """ + Settings = AzureTTSSettings + def __init__( self, *, diff --git a/src/pipecat/services/camb/tts.py b/src/pipecat/services/camb/tts.py index 12b33974e..9918b2320 100644 --- a/src/pipecat/services/camb/tts.py +++ b/src/pipecat/services/camb/tts.py @@ -168,6 +168,7 @@ class CambTTSService(TTSService): ) """ + Settings = CambTTSSettings _settings: CambTTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/cartesia/stt.py b/src/pipecat/services/cartesia/stt.py index cdf46d50a..9c0924827 100644 --- a/src/pipecat/services/cartesia/stt.py +++ b/src/pipecat/services/cartesia/stt.py @@ -146,6 +146,7 @@ class CartesiaSTTService(WebsocketSTTService): See: https://docs.cartesia.ai/api-reference/stt/stt """ + Settings = CartesiaSTTSettings _settings: CartesiaSTTSettings def __init__( diff --git a/src/pipecat/services/cartesia/tts.py b/src/pipecat/services/cartesia/tts.py index c71a84f41..d41f341ca 100644 --- a/src/pipecat/services/cartesia/tts.py +++ b/src/pipecat/services/cartesia/tts.py @@ -210,6 +210,7 @@ class CartesiaTTSService(WebsocketTTSService): customization options including generation configuration. """ + Settings = CartesiaTTSSettings _settings: CartesiaTTSSettings class InputParams(BaseModel): @@ -681,6 +682,7 @@ class CartesiaHttpTTSService(TTSService): integration is preferred. """ + Settings = CartesiaTTSSettings _settings: CartesiaTTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/cerebras/llm.py b/src/pipecat/services/cerebras/llm.py index d8dcf3d08..5d4bc2d14 100644 --- a/src/pipecat/services/cerebras/llm.py +++ b/src/pipecat/services/cerebras/llm.py @@ -31,6 +31,7 @@ class CerebrasLLMService(OpenAILLMService): maintaining full compatibility with OpenAI's interface and functionality. """ + Settings = CerebrasLLMSettings _settings: CerebrasLLMSettings def __init__( diff --git a/src/pipecat/services/deepgram/flux/stt.py b/src/pipecat/services/deepgram/flux/stt.py index 1ed28a749..d31c42d9b 100644 --- a/src/pipecat/services/deepgram/flux/stt.py +++ b/src/pipecat/services/deepgram/flux/stt.py @@ -113,6 +113,7 @@ class DeepgramFluxSTTService(WebsocketSTTService): ... """ + Settings = DeepgramFluxSTTSettings _settings: DeepgramFluxSTTSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/deepgram/sagemaker/stt.py b/src/pipecat/services/deepgram/sagemaker/stt.py index 4f29b227f..812a2701e 100644 --- a/src/pipecat/services/deepgram/sagemaker/stt.py +++ b/src/pipecat/services/deepgram/sagemaker/stt.py @@ -78,6 +78,7 @@ class DeepgramSageMakerSTTService(STTService): ) """ + Settings = DeepgramSageMakerSTTSettings _settings: DeepgramSageMakerSTTSettings def __init__( diff --git a/src/pipecat/services/deepgram/sagemaker/tts.py b/src/pipecat/services/deepgram/sagemaker/tts.py index fa5b1cebd..a40f56713 100644 --- a/src/pipecat/services/deepgram/sagemaker/tts.py +++ b/src/pipecat/services/deepgram/sagemaker/tts.py @@ -67,6 +67,7 @@ class DeepgramSageMakerTTSService(TTSService): ) """ + Settings = DeepgramSageMakerTTSSettings _settings: DeepgramSageMakerTTSSettings def __init__( diff --git a/src/pipecat/services/deepgram/stt.py b/src/pipecat/services/deepgram/stt.py index 14020631b..d8f782f5d 100644 --- a/src/pipecat/services/deepgram/stt.py +++ b/src/pipecat/services/deepgram/stt.py @@ -266,6 +266,7 @@ class DeepgramSTTService(STTService): ... """ + Settings = DeepgramSTTSettings _settings: DeepgramSTTSettings def __init__( diff --git a/src/pipecat/services/deepgram/tts.py b/src/pipecat/services/deepgram/tts.py index 5d6e5ffdc..89bc9ae97 100644 --- a/src/pipecat/services/deepgram/tts.py +++ b/src/pipecat/services/deepgram/tts.py @@ -58,6 +58,7 @@ class DeepgramTTSService(WebsocketTTSService): message for conversational AI use cases. """ + Settings = DeepgramTTSSettings _settings: DeepgramTTSSettings SUPPORTED_ENCODINGS = ("linear16", "mulaw", "alaw") @@ -381,6 +382,7 @@ class DeepgramHttpTTSService(TTSService): configurable sample rates and quality settings. """ + Settings = DeepgramTTSSettings _settings: DeepgramTTSSettings def __init__( diff --git a/src/pipecat/services/deepseek/llm.py b/src/pipecat/services/deepseek/llm.py index 2286a98b2..8fc4b5db8 100644 --- a/src/pipecat/services/deepseek/llm.py +++ b/src/pipecat/services/deepseek/llm.py @@ -31,6 +31,7 @@ class DeepSeekLLMService(OpenAILLMService): maintaining full compatibility with OpenAI's interface and functionality. """ + Settings = DeepSeekLLMSettings _settings: DeepSeekLLMSettings def __init__( diff --git a/src/pipecat/services/elevenlabs/stt.py b/src/pipecat/services/elevenlabs/stt.py index dff501d22..76e854ade 100644 --- a/src/pipecat/services/elevenlabs/stt.py +++ b/src/pipecat/services/elevenlabs/stt.py @@ -216,6 +216,7 @@ class ElevenLabsSTTService(SegmentedSTTService): The service uploads audio files to ElevenLabs and receives transcription results directly. """ + Settings = ElevenLabsSTTSettings _settings: ElevenLabsSTTSettings class InputParams(BaseModel): @@ -448,6 +449,7 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService): commit transcript segments, providing consistency with other STT services. """ + Settings = ElevenLabsRealtimeSTTSettings _settings: ElevenLabsRealtimeSTTSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/elevenlabs/tts.py b/src/pipecat/services/elevenlabs/tts.py index ae413fd3b..01f3cd516 100644 --- a/src/pipecat/services/elevenlabs/tts.py +++ b/src/pipecat/services/elevenlabs/tts.py @@ -316,6 +316,7 @@ class ElevenLabsTTSService(WebsocketTTSService): customization options including stability, similarity boost, and speed controls. """ + Settings = ElevenLabsTTSSettings _settings: ElevenLabsTTSSettings class InputParams(BaseModel): @@ -904,6 +905,7 @@ class ElevenLabsHttpTTSService(TTSService): connection is not required or desired. """ + Settings = ElevenLabsHttpTTSSettings _settings: ElevenLabsHttpTTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/fal/image.py b/src/pipecat/services/fal/image.py index c6fb81003..cb4d646ba 100644 --- a/src/pipecat/services/fal/image.py +++ b/src/pipecat/services/fal/image.py @@ -70,6 +70,9 @@ class FalImageGenService(ImageGenService): parameters for image quality, safety, and format options. """ + Settings = FalImageGenSettings + _settings: FalImageGenSettings + class InputParams(BaseModel): """Input parameters for Fal.ai image generation. diff --git a/src/pipecat/services/fal/stt.py b/src/pipecat/services/fal/stt.py index 92e97d381..692878bf6 100644 --- a/src/pipecat/services/fal/stt.py +++ b/src/pipecat/services/fal/stt.py @@ -155,6 +155,7 @@ class FalSTTService(SegmentedSTTService): segments. It inherits from SegmentedSTTService to handle audio buffering and speech detection. """ + Settings = FalSTTSettings _settings: FalSTTSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/fireworks/llm.py b/src/pipecat/services/fireworks/llm.py index cd7e91504..118090be9 100644 --- a/src/pipecat/services/fireworks/llm.py +++ b/src/pipecat/services/fireworks/llm.py @@ -31,6 +31,7 @@ class FireworksLLMService(OpenAILLMService): maintaining full compatibility with OpenAI's interface and functionality. """ + Settings = FireworksLLMSettings _settings: FireworksLLMSettings def __init__( diff --git a/src/pipecat/services/fish/tts.py b/src/pipecat/services/fish/tts.py index 88e0cc8dd..4974dfa37 100644 --- a/src/pipecat/services/fish/tts.py +++ b/src/pipecat/services/fish/tts.py @@ -84,6 +84,7 @@ class FishAudioTTSService(InterruptibleTTSService): audio generation with interruption handling. """ + Settings = FishAudioTTSSettings _settings: FishAudioTTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/gladia/stt.py b/src/pipecat/services/gladia/stt.py index 144f37fb2..fc09d94fc 100644 --- a/src/pipecat/services/gladia/stt.py +++ b/src/pipecat/services/gladia/stt.py @@ -230,6 +230,7 @@ class GladiaSTTService(WebsocketSTTService): Use :class:`~pipecat.services.gladia.config.GladiaInputParams` directly instead. """ + Settings = GladiaSTTSettings _settings: GladiaSTTSettings # Maintain backward compatibility diff --git a/src/pipecat/services/google/gemini_live/llm.py b/src/pipecat/services/google/gemini_live/llm.py index 58dcd2da8..c25caafdd 100644 --- a/src/pipecat/services/google/gemini_live/llm.py +++ b/src/pipecat/services/google/gemini_live/llm.py @@ -642,6 +642,7 @@ class GeminiLiveLLMService(LLMService): responses, and tool usage. """ + Settings = GeminiLiveLLMSettings _settings: GeminiLiveLLMSettings # Overriding the default adapter to use the Gemini one. diff --git a/src/pipecat/services/google/gemini_live/llm_vertex.py b/src/pipecat/services/google/gemini_live/llm_vertex.py index 09aaeebbb..cdfde1660 100644 --- a/src/pipecat/services/google/gemini_live/llm_vertex.py +++ b/src/pipecat/services/google/gemini_live/llm_vertex.py @@ -57,6 +57,7 @@ class GeminiLiveVertexLLMService(GeminiLiveLLMService): responses, and tool usage. """ + Settings = GeminiLiveVertexLLMSettings _settings: GeminiLiveVertexLLMSettings def __init__( diff --git a/src/pipecat/services/google/image.py b/src/pipecat/services/google/image.py index 4c351cc6e..5cf37aa4e 100644 --- a/src/pipecat/services/google/image.py +++ b/src/pipecat/services/google/image.py @@ -59,6 +59,9 @@ class GoogleImageGenService(ImageGenService): prompting for enhanced control over generated content. """ + Settings = GoogleImageGenSettings + _settings: GoogleImageGenSettings + class InputParams(BaseModel): """Configuration parameters for Google image generation. @@ -75,8 +78,6 @@ class GoogleImageGenService(ImageGenService): model: str = Field(default="imagen-3.0-generate-002") negative_prompt: Optional[str] = Field(default=None) - _settings: GoogleImageGenSettings - def __init__( self, *, diff --git a/src/pipecat/services/google/llm.py b/src/pipecat/services/google/llm.py index 06f47bc2e..198e612f0 100644 --- a/src/pipecat/services/google/llm.py +++ b/src/pipecat/services/google/llm.py @@ -743,6 +743,7 @@ class GoogleLLMService(LLMService): expected by the Google AI model. """ + Settings = GoogleLLMSettings _settings: GoogleLLMSettings # Overriding the default adapter to use the Gemini one. diff --git a/src/pipecat/services/google/llm_openai.py b/src/pipecat/services/google/llm_openai.py index 75fc6c54c..cd5e0f060 100644 --- a/src/pipecat/services/google/llm_openai.py +++ b/src/pipecat/services/google/llm_openai.py @@ -58,6 +58,7 @@ class GoogleLLMOpenAIBetaService(OpenAILLMService): https://ai.google.dev/gemini-api/docs/openai """ + Settings = GoogleOpenAILLMSettings _settings: GoogleOpenAILLMSettings def __init__( diff --git a/src/pipecat/services/google/llm_vertex.py b/src/pipecat/services/google/llm_vertex.py index e40f15de6..3901b5d50 100644 --- a/src/pipecat/services/google/llm_vertex.py +++ b/src/pipecat/services/google/llm_vertex.py @@ -59,6 +59,7 @@ class GoogleVertexLLMService(GoogleLLMService): https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference """ + Settings = GoogleVertexLLMSettings _settings: GoogleVertexLLMSettings class InputParams(GoogleLLMService.InputParams): diff --git a/src/pipecat/services/google/stt.py b/src/pipecat/services/google/stt.py index 131d0e9d1..70e51ac3c 100644 --- a/src/pipecat/services/google/stt.py +++ b/src/pipecat/services/google/stt.py @@ -414,6 +414,7 @@ class GoogleSTTService(STTService): ValueError: If project ID is not found in credentials. """ + Settings = GoogleSTTSettings _settings: GoogleSTTSettings # Google Cloud's STT service has a connection time limit of 5 minutes per stream. diff --git a/src/pipecat/services/google/tts.py b/src/pipecat/services/google/tts.py index 984989fa5..d3f7879ad 100644 --- a/src/pipecat/services/google/tts.py +++ b/src/pipecat/services/google/tts.py @@ -558,6 +558,7 @@ class GoogleHttpTTSService(TTSService): Chirp and Journey voices don't support SSML and will use plain text input. """ + Settings = GoogleHttpTTSSettings _settings: GoogleHttpTTSSettings class InputParams(BaseModel): @@ -1020,6 +1021,7 @@ class GoogleTTSService(GoogleBaseTTSService): ) """ + Settings = GoogleTTSSettings _settings: GoogleTTSSettings class InputParams(BaseModel): @@ -1198,6 +1200,7 @@ class GeminiTTSService(GoogleBaseTTSService): ) """ + Settings = GeminiTTSSettings _settings: GeminiTTSSettings GOOGLE_SAMPLE_RATE = 24000 # Google TTS always outputs at 24kHz diff --git a/src/pipecat/services/gradium/stt.py b/src/pipecat/services/gradium/stt.py index 814d478e4..3fddf0470 100644 --- a/src/pipecat/services/gradium/stt.py +++ b/src/pipecat/services/gradium/stt.py @@ -88,6 +88,7 @@ class GradiumSTTService(WebsocketSTTService): for audio processing and connection management. """ + Settings = GradiumSTTSettings _settings: GradiumSTTSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/gradium/tts.py b/src/pipecat/services/gradium/tts.py index 3dd663185..03b4d7008 100644 --- a/src/pipecat/services/gradium/tts.py +++ b/src/pipecat/services/gradium/tts.py @@ -47,6 +47,7 @@ class GradiumTTSSettings(TTSSettings): class GradiumTTSService(WebsocketTTSService): """Text-to-Speech service using Gradium's websocket API.""" + Settings = GradiumTTSSettings _settings: GradiumTTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/grok/llm.py b/src/pipecat/services/grok/llm.py index 144d91a16..255ee2cf5 100644 --- a/src/pipecat/services/grok/llm.py +++ b/src/pipecat/services/grok/llm.py @@ -86,6 +86,7 @@ class GrokLLMService(OpenAILLMService): processing and reports final totals. """ + Settings = GrokLLMSettings _settings: GrokLLMSettings def __init__( diff --git a/src/pipecat/services/grok/realtime/llm.py b/src/pipecat/services/grok/realtime/llm.py index 7e252ebf5..30061af4a 100644 --- a/src/pipecat/services/grok/realtime/llm.py +++ b/src/pipecat/services/grok/realtime/llm.py @@ -202,6 +202,7 @@ class GrokRealtimeLLMService(LLMService): - Server-side VAD (Voice Activity Detection) """ + Settings = GrokRealtimeLLMSettings _settings: GrokRealtimeLLMSettings # Use the Grok-specific adapter diff --git a/src/pipecat/services/groq/llm.py b/src/pipecat/services/groq/llm.py index e86c59391..6669c385a 100644 --- a/src/pipecat/services/groq/llm.py +++ b/src/pipecat/services/groq/llm.py @@ -30,6 +30,7 @@ class GroqLLMService(OpenAILLMService): maintaining full compatibility with OpenAI's interface and functionality. """ + Settings = GroqLLMSettings _settings: GroqLLMSettings def __init__( diff --git a/src/pipecat/services/groq/stt.py b/src/pipecat/services/groq/stt.py index 1733831c8..b5d59181a 100644 --- a/src/pipecat/services/groq/stt.py +++ b/src/pipecat/services/groq/stt.py @@ -37,6 +37,7 @@ class GroqSTTService(BaseWhisperSTTService): set via the api_key parameter or GROQ_API_KEY environment variable. """ + Settings = GroqSTTSettings _settings: GroqSTTSettings def __init__( diff --git a/src/pipecat/services/groq/tts.py b/src/pipecat/services/groq/tts.py index 4e56312e5..bb39a9067 100644 --- a/src/pipecat/services/groq/tts.py +++ b/src/pipecat/services/groq/tts.py @@ -51,6 +51,7 @@ class GroqTTSService(TTSService): and output formats. """ + Settings = GroqTTSSettings _settings: GroqTTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/heygen/video.py b/src/pipecat/services/heygen/video.py index 18df8ac60..2c42dfc6b 100644 --- a/src/pipecat/services/heygen/video.py +++ b/src/pipecat/services/heygen/video.py @@ -82,6 +82,9 @@ class HeyGenVideoService(AIService): Defaults to using the "Shawn_Therapist_public" avatar with "v2" version. """ + Settings = HeyGenVideoSettings + _settings: HeyGenVideoSettings + def __init__( self, *, diff --git a/src/pipecat/services/hume/tts.py b/src/pipecat/services/hume/tts.py index 135806da7..5eb2db646 100644 --- a/src/pipecat/services/hume/tts.py +++ b/src/pipecat/services/hume/tts.py @@ -78,6 +78,7 @@ class HumeTTSService(TTSService): - Provides metrics for Time To First Byte (TTFB) and TTS usage. """ + Settings = HumeTTSSettings _settings: HumeTTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/inworld/tts.py b/src/pipecat/services/inworld/tts.py index 17a0e8040..dc09c0481 100644 --- a/src/pipecat/services/inworld/tts.py +++ b/src/pipecat/services/inworld/tts.py @@ -100,6 +100,7 @@ class InworldHttpTTSService(TTSService): Outputs LINEAR16 audio at configurable sample rates with word-level timestamps. """ + Settings = InworldTTSSettings _settings: InworldTTSSettings class InputParams(BaseModel): @@ -487,6 +488,7 @@ class InworldTTSService(WebsocketTTSService): with word-level timestamps. """ + Settings = InworldTTSSettings _settings: InworldTTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/kokoro/tts.py b/src/pipecat/services/kokoro/tts.py index bfc39daed..98f181c6f 100644 --- a/src/pipecat/services/kokoro/tts.py +++ b/src/pipecat/services/kokoro/tts.py @@ -101,6 +101,7 @@ class KokoroTTSService(TTSService): Automatically downloads model files on first use. """ + Settings = KokoroTTSSettings _settings: KokoroTTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/lmnt/tts.py b/src/pipecat/services/lmnt/tts.py index f6bf46649..46e5e4697 100644 --- a/src/pipecat/services/lmnt/tts.py +++ b/src/pipecat/services/lmnt/tts.py @@ -88,6 +88,7 @@ class LmntTTSService(InterruptibleTTSService): language settings. """ + Settings = LmntTTSSettings _settings: LmntTTSSettings def __init__( diff --git a/src/pipecat/services/minimax/tts.py b/src/pipecat/services/minimax/tts.py index 1edd8bf78..f62e8d46b 100644 --- a/src/pipecat/services/minimax/tts.py +++ b/src/pipecat/services/minimax/tts.py @@ -140,6 +140,7 @@ class MiniMaxHttpTTSService(TTSService): https://www.minimax.io/platform/document/T2A%20V2?key=66719005a427f0c8a5701643 """ + Settings = MiniMaxTTSSettings _settings: MiniMaxTTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/mistral/llm.py b/src/pipecat/services/mistral/llm.py index 8389613e0..9e01a76b5 100644 --- a/src/pipecat/services/mistral/llm.py +++ b/src/pipecat/services/mistral/llm.py @@ -33,6 +33,7 @@ class MistralLLMService(OpenAILLMService): maintaining full compatibility with OpenAI's interface and functionality. """ + Settings = MistralLLMSettings _settings: MistralLLMSettings def __init__( diff --git a/src/pipecat/services/moondream/vision.py b/src/pipecat/services/moondream/vision.py index 32b592061..abc344fc5 100644 --- a/src/pipecat/services/moondream/vision.py +++ b/src/pipecat/services/moondream/vision.py @@ -79,6 +79,9 @@ class MoondreamService(VisionService): including CUDA, MPS, and Intel XPU. """ + Settings = MoondreamSettings + _settings: MoondreamSettings + def __init__( self, *, diff --git a/src/pipecat/services/neuphonic/tts.py b/src/pipecat/services/neuphonic/tts.py index 441d222ea..abc33c37e 100644 --- a/src/pipecat/services/neuphonic/tts.py +++ b/src/pipecat/services/neuphonic/tts.py @@ -91,6 +91,7 @@ class NeuphonicTTSService(InterruptibleTTSService): parameters for high-quality speech generation. """ + Settings = NeuphonicTTSSettings _settings: NeuphonicTTSSettings class InputParams(BaseModel): @@ -430,6 +431,7 @@ class NeuphonicHttpTTSService(TTSService): HTTP-based communication over WebSocket connections. """ + Settings = NeuphonicTTSSettings _settings: NeuphonicTTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/nvidia/llm.py b/src/pipecat/services/nvidia/llm.py index 65c0880e4..17490f513 100644 --- a/src/pipecat/services/nvidia/llm.py +++ b/src/pipecat/services/nvidia/llm.py @@ -36,6 +36,7 @@ class NvidiaLLMService(OpenAILLMService): in token usage reporting between NIM (incremental) and OpenAI (final summary). """ + Settings = NvidiaLLMSettings _settings: NvidiaLLMSettings def __init__( diff --git a/src/pipecat/services/nvidia/stt.py b/src/pipecat/services/nvidia/stt.py index 3d6d2391e..5935e7846 100644 --- a/src/pipecat/services/nvidia/stt.py +++ b/src/pipecat/services/nvidia/stt.py @@ -125,6 +125,7 @@ class NvidiaSTTService(STTService): processing for low-latency applications. """ + Settings = NvidiaSTTSettings _settings: NvidiaSTTSettings class InputParams(BaseModel): @@ -439,6 +440,7 @@ class NvidiaSegmentedSTTService(SegmentedSTTService): audio buffering and speech detection. """ + Settings = NvidiaSegmentedSTTSettings _settings: NvidiaSegmentedSTTSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/nvidia/tts.py b/src/pipecat/services/nvidia/tts.py index fb701185c..ad39d505b 100644 --- a/src/pipecat/services/nvidia/tts.py +++ b/src/pipecat/services/nvidia/tts.py @@ -61,6 +61,7 @@ class NvidiaTTSService(TTSService): configurable quality settings. """ + Settings = NvidiaTTSSettings _settings: NvidiaTTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/ollama/llm.py b/src/pipecat/services/ollama/llm.py index 42b5b00b1..f4d138d78 100644 --- a/src/pipecat/services/ollama/llm.py +++ b/src/pipecat/services/ollama/llm.py @@ -30,6 +30,7 @@ class OLLamaLLMService(OpenAILLMService): providing a compatible interface for running large language models locally. """ + Settings = OllamaLLMSettings _settings: OllamaLLMSettings def __init__( diff --git a/src/pipecat/services/openai/base_llm.py b/src/pipecat/services/openai/base_llm.py index bfeae62a1..5466c75a5 100644 --- a/src/pipecat/services/openai/base_llm.py +++ b/src/pipecat/services/openai/base_llm.py @@ -68,6 +68,7 @@ class BaseOpenAILLMService(LLMService): configurations. """ + Settings = OpenAILLMSettings _settings: OpenAILLMSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/openai/image.py b/src/pipecat/services/openai/image.py index 397d8c3d2..6091863f3 100644 --- a/src/pipecat/services/openai/image.py +++ b/src/pipecat/services/openai/image.py @@ -48,6 +48,7 @@ class OpenAIImageGenService(ImageGenService): with configurable quality and style parameters. """ + Settings = OpenAIImageGenSettings _settings: OpenAIImageGenSettings def __init__( diff --git a/src/pipecat/services/openai/realtime/llm.py b/src/pipecat/services/openai/realtime/llm.py index c25181dd1..4fa3ab604 100644 --- a/src/pipecat/services/openai/realtime/llm.py +++ b/src/pipecat/services/openai/realtime/llm.py @@ -211,6 +211,7 @@ class OpenAIRealtimeLLMService(LLMService): management, and real-time transcription. """ + Settings = OpenAIRealtimeLLMSettings _settings: OpenAIRealtimeLLMSettings # Overriding the default adapter to use the OpenAIRealtimeLLMAdapter one. diff --git a/src/pipecat/services/openai/stt.py b/src/pipecat/services/openai/stt.py index a6d7beb0c..e2f9ec0ee 100644 --- a/src/pipecat/services/openai/stt.py +++ b/src/pipecat/services/openai/stt.py @@ -69,6 +69,7 @@ class OpenAISTTService(BaseWhisperSTTService): set via the api_key parameter or OPENAI_API_KEY environment variable. """ + Settings = OpenAISTTSettings _settings: OpenAISTTSettings def __init__( @@ -224,6 +225,7 @@ class OpenAIRealtimeSTTService(WebsocketSTTService): ) """ + Settings = OpenAIRealtimeSTTSettings _settings: OpenAIRealtimeSTTSettings def __init__( diff --git a/src/pipecat/services/openai/tts.py b/src/pipecat/services/openai/tts.py index 71c04c59f..264475113 100644 --- a/src/pipecat/services/openai/tts.py +++ b/src/pipecat/services/openai/tts.py @@ -81,6 +81,7 @@ class OpenAITTSService(TTSService): speech synthesis with streaming audio output. """ + Settings = OpenAITTSSettings _settings: OpenAITTSSettings OPENAI_SAMPLE_RATE = 24000 # OpenAI TTS always outputs at 24kHz diff --git a/src/pipecat/services/openai_realtime_beta/azure.py b/src/pipecat/services/openai_realtime_beta/azure.py index 55fb7744d..6497e1266 100644 --- a/src/pipecat/services/openai_realtime_beta/azure.py +++ b/src/pipecat/services/openai_realtime_beta/azure.py @@ -42,6 +42,7 @@ class AzureRealtimeBetaLLMService(OpenAIRealtimeBetaLLMService): real-time audio and text communication capabilities as the base OpenAI service. """ + Settings = AzureRealtimeBetaLLMSettings _settings: AzureRealtimeBetaLLMSettings def __init__( diff --git a/src/pipecat/services/openai_realtime_beta/openai.py b/src/pipecat/services/openai_realtime_beta/openai.py index 689ca91a5..51fcc2720 100644 --- a/src/pipecat/services/openai_realtime_beta/openai.py +++ b/src/pipecat/services/openai_realtime_beta/openai.py @@ -111,6 +111,7 @@ class OpenAIRealtimeBetaLLMService(LLMService): management, and real-time transcription. """ + Settings = OpenAIRealtimeBetaLLMSettings _settings: OpenAIRealtimeBetaLLMSettings # Overriding the default adapter to use the OpenAIRealtimeLLMAdapter one. diff --git a/src/pipecat/services/openpipe/llm.py b/src/pipecat/services/openpipe/llm.py index 58840c40d..3fef1e3af 100644 --- a/src/pipecat/services/openpipe/llm.py +++ b/src/pipecat/services/openpipe/llm.py @@ -43,6 +43,7 @@ class OpenPipeLLMService(OpenAILLMService): for model training and evaluation. """ + Settings = OpenPipeLLMSettings _settings: OpenPipeLLMSettings def __init__( diff --git a/src/pipecat/services/openrouter/llm.py b/src/pipecat/services/openrouter/llm.py index 411eca91e..d57c5cf24 100644 --- a/src/pipecat/services/openrouter/llm.py +++ b/src/pipecat/services/openrouter/llm.py @@ -34,6 +34,7 @@ class OpenRouterLLMService(OpenAILLMService): maintaining full compatibility with OpenAI's interface and functionality. """ + Settings = OpenRouterLLMSettings _settings: OpenRouterLLMSettings def __init__( diff --git a/src/pipecat/services/perplexity/llm.py b/src/pipecat/services/perplexity/llm.py index 614e6ad9b..b13fb20f0 100644 --- a/src/pipecat/services/perplexity/llm.py +++ b/src/pipecat/services/perplexity/llm.py @@ -38,6 +38,7 @@ class PerplexityLLMService(OpenAILLMService): in token usage reporting between Perplexity (incremental) and OpenAI (final summary). """ + Settings = PerplexityLLMSettings _settings: PerplexityLLMSettings def __init__( diff --git a/src/pipecat/services/piper/tts.py b/src/pipecat/services/piper/tts.py index fb7b627cd..9a44b8e21 100644 --- a/src/pipecat/services/piper/tts.py +++ b/src/pipecat/services/piper/tts.py @@ -46,6 +46,7 @@ class PiperTTSService(TTSService): match the configured sample rate. """ + Settings = PiperTTSSettings _settings: PiperTTSSettings def __init__( @@ -199,6 +200,7 @@ class PiperHttpTTSService(TTSService): rates and automatic WAV header removal. """ + Settings = PiperHttpTTSSettings _settings: PiperHttpTTSSettings def __init__( diff --git a/src/pipecat/services/qwen/llm.py b/src/pipecat/services/qwen/llm.py index ba2b734c7..d145f8339 100644 --- a/src/pipecat/services/qwen/llm.py +++ b/src/pipecat/services/qwen/llm.py @@ -30,6 +30,7 @@ class QwenLLMService(OpenAILLMService): maintaining full compatibility with OpenAI's interface and functionality. """ + Settings = QwenLLMSettings _settings: QwenLLMSettings def __init__( diff --git a/src/pipecat/services/resembleai/tts.py b/src/pipecat/services/resembleai/tts.py index 9713cea44..31977ca0b 100644 --- a/src/pipecat/services/resembleai/tts.py +++ b/src/pipecat/services/resembleai/tts.py @@ -51,6 +51,7 @@ class ResembleAITTSService(WebsocketTTSService): multiple simultaneous synthesis requests with proper interruption support. """ + Settings = ResembleAITTSSettings _settings: ResembleAITTSSettings def __init__( diff --git a/src/pipecat/services/rime/tts.py b/src/pipecat/services/rime/tts.py index 8a9186c59..15cc8b88a 100644 --- a/src/pipecat/services/rime/tts.py +++ b/src/pipecat/services/rime/tts.py @@ -131,6 +131,7 @@ class RimeTTSService(WebsocketTTSService): within a turn. """ + Settings = RimeTTSSettings _settings: RimeTTSSettings class InputParams(BaseModel): @@ -661,6 +662,7 @@ class RimeHttpTTSService(TTSService): Suitable for use cases where streaming is not required. """ + Settings = RimeTTSSettings _settings: RimeTTSSettings class InputParams(BaseModel): @@ -885,6 +887,7 @@ class RimeNonJsonTTSService(InterruptibleTTSService): accepts and returns non-JSON messages. """ + Settings = RimeNonJsonTTSSettings _settings: RimeNonJsonTTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/sambanova/llm.py b/src/pipecat/services/sambanova/llm.py index e56f2576b..629c3d4c5 100644 --- a/src/pipecat/services/sambanova/llm.py +++ b/src/pipecat/services/sambanova/llm.py @@ -42,6 +42,7 @@ class SambaNovaLLMService(OpenAILLMService): # type: ignore maintaining full compatibility with OpenAI's interface and functionality. """ + Settings = SambaNovaLLMSettings _settings: SambaNovaLLMSettings def __init__( diff --git a/src/pipecat/services/sambanova/stt.py b/src/pipecat/services/sambanova/stt.py index 822c44da9..c273b67eb 100644 --- a/src/pipecat/services/sambanova/stt.py +++ b/src/pipecat/services/sambanova/stt.py @@ -35,6 +35,8 @@ class SambaNovaSTTService(BaseWhisperSTTService): # type: ignore Requires a SambaNova API key set via the api_key parameter or SAMBANOVA_API_KEY environment variable. """ + Settings = SambaNovaSTTSettings + def __init__( self, *, diff --git a/src/pipecat/services/sarvam/stt.py b/src/pipecat/services/sarvam/stt.py index cd6d19ac0..429973838 100644 --- a/src/pipecat/services/sarvam/stt.py +++ b/src/pipecat/services/sarvam/stt.py @@ -171,6 +171,7 @@ class SarvamSTTService(STTService): ... """ + Settings = SarvamSTTSettings _settings: SarvamSTTSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/sarvam/tts.py b/src/pipecat/services/sarvam/tts.py index c0a74b198..639a860ac 100644 --- a/src/pipecat/services/sarvam/tts.py +++ b/src/pipecat/services/sarvam/tts.py @@ -351,6 +351,7 @@ class SarvamHttpTTSService(TTSService): ) """ + Settings = SarvamHttpTTSSettings _settings: SarvamHttpTTSSettings class InputParams(BaseModel): @@ -717,6 +718,7 @@ class SarvamTTSService(InterruptibleTTSService): See https://docs.sarvam.ai/api-reference-docs/text-to-speech/stream for API details. """ + Settings = SarvamTTSSettings _settings: SarvamTTSSettings class InputParams(BaseModel): diff --git a/src/pipecat/services/soniox/stt.py b/src/pipecat/services/soniox/stt.py index 613e35a28..6e5a8f62c 100644 --- a/src/pipecat/services/soniox/stt.py +++ b/src/pipecat/services/soniox/stt.py @@ -174,6 +174,7 @@ class SonioxSTTService(WebsocketSTTService): For complete API documentation, see: https://soniox.com/docs/speech-to-text/api-reference/websocket-api """ + Settings = SonioxSTTSettings _settings: SonioxSTTSettings def __init__( diff --git a/src/pipecat/services/speechmatics/stt.py b/src/pipecat/services/speechmatics/stt.py index e3100a2ad..aaff90900 100644 --- a/src/pipecat/services/speechmatics/stt.py +++ b/src/pipecat/services/speechmatics/stt.py @@ -175,6 +175,7 @@ class SpeechmaticsSTTService(STTService): ... """ + Settings = SpeechmaticsSTTSettings _settings: SpeechmaticsSTTSettings # Export related classes as class attributes diff --git a/src/pipecat/services/speechmatics/tts.py b/src/pipecat/services/speechmatics/tts.py index a93d9c78a..5f0aed7f3 100644 --- a/src/pipecat/services/speechmatics/tts.py +++ b/src/pipecat/services/speechmatics/tts.py @@ -53,6 +53,7 @@ class SpeechmaticsTTSService(TTSService): It converts text to speech and returns raw PCM audio data for real-time playback. """ + Settings = SpeechmaticsTTSSettings _settings: SpeechmaticsTTSSettings SPEECHMATICS_SAMPLE_RATE = 16000 diff --git a/src/pipecat/services/tavus/video.py b/src/pipecat/services/tavus/video.py index 4a7211033..3d5946e54 100644 --- a/src/pipecat/services/tavus/video.py +++ b/src/pipecat/services/tavus/video.py @@ -59,6 +59,9 @@ class TavusVideoService(AIService): - User room: Contains the Pipecat Bot and the user """ + Settings = TavusVideoSettings + _settings: TavusVideoSettings + def __init__( self, *, diff --git a/src/pipecat/services/together/llm.py b/src/pipecat/services/together/llm.py index 38089addc..21663206e 100644 --- a/src/pipecat/services/together/llm.py +++ b/src/pipecat/services/together/llm.py @@ -30,6 +30,7 @@ class TogetherLLMService(OpenAILLMService): maintaining full compatibility with OpenAI's interface and functionality. """ + Settings = TogetherLLMSettings _settings: TogetherLLMSettings def __init__( diff --git a/src/pipecat/services/ultravox/llm.py b/src/pipecat/services/ultravox/llm.py index eccc1a864..bfd34ceae 100644 --- a/src/pipecat/services/ultravox/llm.py +++ b/src/pipecat/services/ultravox/llm.py @@ -166,6 +166,7 @@ class UltravoxRealtimeLLMService(LLMService): by the model and may not always align with its understanding of user input. """ + Settings = UltravoxRealtimeLLMSettings _settings: UltravoxRealtimeLLMSettings def __init__( diff --git a/src/pipecat/services/whisper/base_stt.py b/src/pipecat/services/whisper/base_stt.py index a3bb98548..869f92a55 100644 --- a/src/pipecat/services/whisper/base_stt.py +++ b/src/pipecat/services/whisper/base_stt.py @@ -122,6 +122,7 @@ class BaseWhisperSTTService(SegmentedSTTService): including metrics generation and error handling. """ + Settings = BaseWhisperSTTSettings _settings: BaseWhisperSTTSettings def __init__( diff --git a/src/pipecat/services/whisper/stt.py b/src/pipecat/services/whisper/stt.py index ab5354e2c..b5971ce9a 100644 --- a/src/pipecat/services/whisper/stt.py +++ b/src/pipecat/services/whisper/stt.py @@ -207,6 +207,7 @@ class WhisperSTTService(SegmentedSTTService): segments. It supports multiple languages and various model sizes. """ + Settings = WhisperSTTSettings _settings: WhisperSTTSettings def __init__( @@ -380,6 +381,7 @@ class WhisperSTTServiceMLX(WhisperSTTService): segments. It's optimized for Apple Silicon and supports multiple languages and quantizations. """ + Settings = WhisperMLXSTTSettings _settings: WhisperMLXSTTSettings def __init__( diff --git a/src/pipecat/services/xtts/tts.py b/src/pipecat/services/xtts/tts.py index 78ac6dfb8..32c2781f2 100644 --- a/src/pipecat/services/xtts/tts.py +++ b/src/pipecat/services/xtts/tts.py @@ -83,6 +83,7 @@ class XTTSService(TTSService): studio speakers configuration. """ + Settings = XTTSTTSSettings _settings: XTTSTTSSettings def __init__(