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__(