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.
This commit is contained in:
Mark Backman
2026-03-07 08:17:40 -05:00
parent fdf9fb6f02
commit 26631a9c31
84 changed files with 117 additions and 2 deletions

View File

@@ -159,6 +159,7 @@ class AnthropicLLMService(LLMService):
Can use custom clients like AsyncAnthropicBedrock and AsyncAnthropicVertex. Can use custom clients like AsyncAnthropicBedrock and AsyncAnthropicVertex.
""" """
Settings = AnthropicLLMSettings
_settings: AnthropicLLMSettings _settings: AnthropicLLMSettings
# Overriding the default adapter to use the Anthropic one. # Overriding the default adapter to use the Anthropic one.

View File

@@ -128,6 +128,7 @@ class AssemblyAISTTService(WebsocketSTTService):
for audio processing and connection management. for audio processing and connection management.
""" """
Settings = AssemblyAISTTSettings
_settings: AssemblyAISTTSettings _settings: AssemblyAISTTSettings
def __init__( def __init__(

View File

@@ -85,6 +85,7 @@ class AsyncAITTSService(WebsocketTTSService):
Provides text-to-speech using Async's streaming WebSocket API. Provides text-to-speech using Async's streaming WebSocket API.
""" """
Settings = AsyncAITTSSettings
_settings: AsyncAITTSSettings _settings: AsyncAITTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):
@@ -485,6 +486,7 @@ class AsyncAIHttpTTSService(TTSService):
connection is not required or desired. connection is not required or desired.
""" """
Settings = AsyncAITTSSettings
_settings: AsyncAITTSSettings _settings: AsyncAITTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -746,6 +746,7 @@ class AWSBedrockLLMService(LLMService):
vision capabilities. vision capabilities.
""" """
Settings = AWSBedrockLLMSettings
_settings: AWSBedrockLLMSettings _settings: AWSBedrockLLMSettings
# Overriding the default adapter to use the Anthropic one. # Overriding the default adapter to use the Anthropic one.

View File

@@ -246,6 +246,7 @@ class AWSNovaSonicLLMService(LLMService):
and function calling capabilities using AWS Nova Sonic model. and function calling capabilities using AWS Nova Sonic model.
""" """
Settings = AWSNovaSonicLLMSettings
_settings: AWSNovaSonicLLMSettings _settings: AWSNovaSonicLLMSettings
# Override the default adapter to use the AWSNovaSonicLLMAdapter one # Override the default adapter to use the AWSNovaSonicLLMAdapter one

View File

@@ -60,6 +60,7 @@ class AWSTranscribeSTTService(WebsocketSTTService):
final transcription results. final transcription results.
""" """
Settings = AWSTranscribeSTTSettings
_settings: AWSTranscribeSTTSettings _settings: AWSTranscribeSTTSettings
def __init__( def __init__(

View File

@@ -148,6 +148,7 @@ class AWSPollyTTSService(TTSService):
options including prosody controls. options including prosody controls.
""" """
Settings = AWSPollyTTSSettings
_settings: AWSPollyTTSSettings _settings: AWSPollyTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):
@@ -382,6 +383,8 @@ class PollyTTSService(AWSPollyTTSService):
""" """
Settings = AWSPollyTTSSettings
def __init__(self, **kwargs): def __init__(self, **kwargs):
"""Initialize the deprecated PollyTTSService. """Initialize the deprecated PollyTTSService.

View File

@@ -43,6 +43,7 @@ class AzureImageGenServiceREST(ImageGenService):
and automatic image download and processing. and automatic image download and processing.
""" """
Settings = AzureImageGenSettings
_settings: AzureImageGenSettings _settings: AzureImageGenSettings
def __init__( def __init__(

View File

@@ -31,6 +31,8 @@ class AzureLLMService(OpenAILLMService):
maintaining full compatibility with OpenAI's interface and functionality. maintaining full compatibility with OpenAI's interface and functionality.
""" """
Settings = AzureLLMSettings
def __init__( def __init__(
self, self,
*, *,

View File

@@ -35,6 +35,7 @@ class AzureRealtimeLLMService(OpenAIRealtimeLLMService):
real-time audio and text communication capabilities as the base OpenAI service. real-time audio and text communication capabilities as the base OpenAI service.
""" """
Settings = AzureRealtimeLLMSettings
_settings: AzureRealtimeLLMSettings _settings: AzureRealtimeLLMSettings
def __init__( def __init__(

View File

@@ -66,6 +66,7 @@ class AzureSTTService(STTService):
provides real-time transcription results with timing information. provides real-time transcription results with timing information.
""" """
Settings = AzureSTTSettings
_settings: AzureSTTSettings _settings: AzureSTTSettings
def __init__( def __init__(

View File

@@ -246,6 +246,8 @@ class AzureTTSService(TTSService, AzureBaseTTSService):
available for lower latency playback and accurate word-level synchronization. available for lower latency playback and accurate word-level synchronization.
""" """
Settings = AzureTTSSettings
def __init__( def __init__(
self, self,
*, *,
@@ -749,6 +751,8 @@ class AzureHttpTTSService(TTSService, AzureBaseTTSService):
required and simpler integration is preferred. required and simpler integration is preferred.
""" """
Settings = AzureTTSSettings
def __init__( def __init__(
self, self,
*, *,

View File

@@ -168,6 +168,7 @@ class CambTTSService(TTSService):
) )
""" """
Settings = CambTTSSettings
_settings: CambTTSSettings _settings: CambTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -146,6 +146,7 @@ class CartesiaSTTService(WebsocketSTTService):
See: https://docs.cartesia.ai/api-reference/stt/stt See: https://docs.cartesia.ai/api-reference/stt/stt
""" """
Settings = CartesiaSTTSettings
_settings: CartesiaSTTSettings _settings: CartesiaSTTSettings
def __init__( def __init__(

View File

@@ -210,6 +210,7 @@ class CartesiaTTSService(WebsocketTTSService):
customization options including generation configuration. customization options including generation configuration.
""" """
Settings = CartesiaTTSSettings
_settings: CartesiaTTSSettings _settings: CartesiaTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):
@@ -681,6 +682,7 @@ class CartesiaHttpTTSService(TTSService):
integration is preferred. integration is preferred.
""" """
Settings = CartesiaTTSSettings
_settings: CartesiaTTSSettings _settings: CartesiaTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -31,6 +31,7 @@ class CerebrasLLMService(OpenAILLMService):
maintaining full compatibility with OpenAI's interface and functionality. maintaining full compatibility with OpenAI's interface and functionality.
""" """
Settings = CerebrasLLMSettings
_settings: CerebrasLLMSettings _settings: CerebrasLLMSettings
def __init__( def __init__(

View File

@@ -113,6 +113,7 @@ class DeepgramFluxSTTService(WebsocketSTTService):
... ...
""" """
Settings = DeepgramFluxSTTSettings
_settings: DeepgramFluxSTTSettings _settings: DeepgramFluxSTTSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -78,6 +78,7 @@ class DeepgramSageMakerSTTService(STTService):
) )
""" """
Settings = DeepgramSageMakerSTTSettings
_settings: DeepgramSageMakerSTTSettings _settings: DeepgramSageMakerSTTSettings
def __init__( def __init__(

View File

@@ -67,6 +67,7 @@ class DeepgramSageMakerTTSService(TTSService):
) )
""" """
Settings = DeepgramSageMakerTTSSettings
_settings: DeepgramSageMakerTTSSettings _settings: DeepgramSageMakerTTSSettings
def __init__( def __init__(

View File

@@ -266,6 +266,7 @@ class DeepgramSTTService(STTService):
... ...
""" """
Settings = DeepgramSTTSettings
_settings: DeepgramSTTSettings _settings: DeepgramSTTSettings
def __init__( def __init__(

View File

@@ -58,6 +58,7 @@ class DeepgramTTSService(WebsocketTTSService):
message for conversational AI use cases. message for conversational AI use cases.
""" """
Settings = DeepgramTTSSettings
_settings: DeepgramTTSSettings _settings: DeepgramTTSSettings
SUPPORTED_ENCODINGS = ("linear16", "mulaw", "alaw") SUPPORTED_ENCODINGS = ("linear16", "mulaw", "alaw")
@@ -381,6 +382,7 @@ class DeepgramHttpTTSService(TTSService):
configurable sample rates and quality settings. configurable sample rates and quality settings.
""" """
Settings = DeepgramTTSSettings
_settings: DeepgramTTSSettings _settings: DeepgramTTSSettings
def __init__( def __init__(

View File

@@ -31,6 +31,7 @@ class DeepSeekLLMService(OpenAILLMService):
maintaining full compatibility with OpenAI's interface and functionality. maintaining full compatibility with OpenAI's interface and functionality.
""" """
Settings = DeepSeekLLMSettings
_settings: DeepSeekLLMSettings _settings: DeepSeekLLMSettings
def __init__( def __init__(

View File

@@ -216,6 +216,7 @@ class ElevenLabsSTTService(SegmentedSTTService):
The service uploads audio files to ElevenLabs and receives transcription results directly. The service uploads audio files to ElevenLabs and receives transcription results directly.
""" """
Settings = ElevenLabsSTTSettings
_settings: ElevenLabsSTTSettings _settings: ElevenLabsSTTSettings
class InputParams(BaseModel): class InputParams(BaseModel):
@@ -448,6 +449,7 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService):
commit transcript segments, providing consistency with other STT services. commit transcript segments, providing consistency with other STT services.
""" """
Settings = ElevenLabsRealtimeSTTSettings
_settings: ElevenLabsRealtimeSTTSettings _settings: ElevenLabsRealtimeSTTSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -316,6 +316,7 @@ class ElevenLabsTTSService(WebsocketTTSService):
customization options including stability, similarity boost, and speed controls. customization options including stability, similarity boost, and speed controls.
""" """
Settings = ElevenLabsTTSSettings
_settings: ElevenLabsTTSSettings _settings: ElevenLabsTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):
@@ -904,6 +905,7 @@ class ElevenLabsHttpTTSService(TTSService):
connection is not required or desired. connection is not required or desired.
""" """
Settings = ElevenLabsHttpTTSSettings
_settings: ElevenLabsHttpTTSSettings _settings: ElevenLabsHttpTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -70,6 +70,9 @@ class FalImageGenService(ImageGenService):
parameters for image quality, safety, and format options. parameters for image quality, safety, and format options.
""" """
Settings = FalImageGenSettings
_settings: FalImageGenSettings
class InputParams(BaseModel): class InputParams(BaseModel):
"""Input parameters for Fal.ai image generation. """Input parameters for Fal.ai image generation.

View File

@@ -155,6 +155,7 @@ class FalSTTService(SegmentedSTTService):
segments. It inherits from SegmentedSTTService to handle audio buffering and speech detection. segments. It inherits from SegmentedSTTService to handle audio buffering and speech detection.
""" """
Settings = FalSTTSettings
_settings: FalSTTSettings _settings: FalSTTSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -31,6 +31,7 @@ class FireworksLLMService(OpenAILLMService):
maintaining full compatibility with OpenAI's interface and functionality. maintaining full compatibility with OpenAI's interface and functionality.
""" """
Settings = FireworksLLMSettings
_settings: FireworksLLMSettings _settings: FireworksLLMSettings
def __init__( def __init__(

View File

@@ -84,6 +84,7 @@ class FishAudioTTSService(InterruptibleTTSService):
audio generation with interruption handling. audio generation with interruption handling.
""" """
Settings = FishAudioTTSSettings
_settings: FishAudioTTSSettings _settings: FishAudioTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -230,6 +230,7 @@ class GladiaSTTService(WebsocketSTTService):
Use :class:`~pipecat.services.gladia.config.GladiaInputParams` directly instead. Use :class:`~pipecat.services.gladia.config.GladiaInputParams` directly instead.
""" """
Settings = GladiaSTTSettings
_settings: GladiaSTTSettings _settings: GladiaSTTSettings
# Maintain backward compatibility # Maintain backward compatibility

View File

@@ -642,6 +642,7 @@ class GeminiLiveLLMService(LLMService):
responses, and tool usage. responses, and tool usage.
""" """
Settings = GeminiLiveLLMSettings
_settings: GeminiLiveLLMSettings _settings: GeminiLiveLLMSettings
# Overriding the default adapter to use the Gemini one. # Overriding the default adapter to use the Gemini one.

View File

@@ -57,6 +57,7 @@ class GeminiLiveVertexLLMService(GeminiLiveLLMService):
responses, and tool usage. responses, and tool usage.
""" """
Settings = GeminiLiveVertexLLMSettings
_settings: GeminiLiveVertexLLMSettings _settings: GeminiLiveVertexLLMSettings
def __init__( def __init__(

View File

@@ -59,6 +59,9 @@ class GoogleImageGenService(ImageGenService):
prompting for enhanced control over generated content. prompting for enhanced control over generated content.
""" """
Settings = GoogleImageGenSettings
_settings: GoogleImageGenSettings
class InputParams(BaseModel): class InputParams(BaseModel):
"""Configuration parameters for Google image generation. """Configuration parameters for Google image generation.
@@ -75,8 +78,6 @@ class GoogleImageGenService(ImageGenService):
model: str = Field(default="imagen-3.0-generate-002") model: str = Field(default="imagen-3.0-generate-002")
negative_prompt: Optional[str] = Field(default=None) negative_prompt: Optional[str] = Field(default=None)
_settings: GoogleImageGenSettings
def __init__( def __init__(
self, self,
*, *,

View File

@@ -743,6 +743,7 @@ class GoogleLLMService(LLMService):
expected by the Google AI model. expected by the Google AI model.
""" """
Settings = GoogleLLMSettings
_settings: GoogleLLMSettings _settings: GoogleLLMSettings
# Overriding the default adapter to use the Gemini one. # Overriding the default adapter to use the Gemini one.

View File

@@ -58,6 +58,7 @@ class GoogleLLMOpenAIBetaService(OpenAILLMService):
https://ai.google.dev/gemini-api/docs/openai https://ai.google.dev/gemini-api/docs/openai
""" """
Settings = GoogleOpenAILLMSettings
_settings: GoogleOpenAILLMSettings _settings: GoogleOpenAILLMSettings
def __init__( def __init__(

View File

@@ -59,6 +59,7 @@ class GoogleVertexLLMService(GoogleLLMService):
https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference
""" """
Settings = GoogleVertexLLMSettings
_settings: GoogleVertexLLMSettings _settings: GoogleVertexLLMSettings
class InputParams(GoogleLLMService.InputParams): class InputParams(GoogleLLMService.InputParams):

View File

@@ -414,6 +414,7 @@ class GoogleSTTService(STTService):
ValueError: If project ID is not found in credentials. ValueError: If project ID is not found in credentials.
""" """
Settings = GoogleSTTSettings
_settings: GoogleSTTSettings _settings: GoogleSTTSettings
# Google Cloud's STT service has a connection time limit of 5 minutes per stream. # Google Cloud's STT service has a connection time limit of 5 minutes per stream.

View File

@@ -558,6 +558,7 @@ class GoogleHttpTTSService(TTSService):
Chirp and Journey voices don't support SSML and will use plain text input. Chirp and Journey voices don't support SSML and will use plain text input.
""" """
Settings = GoogleHttpTTSSettings
_settings: GoogleHttpTTSSettings _settings: GoogleHttpTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):
@@ -1020,6 +1021,7 @@ class GoogleTTSService(GoogleBaseTTSService):
) )
""" """
Settings = GoogleTTSSettings
_settings: GoogleTTSSettings _settings: GoogleTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):
@@ -1198,6 +1200,7 @@ class GeminiTTSService(GoogleBaseTTSService):
) )
""" """
Settings = GeminiTTSSettings
_settings: GeminiTTSSettings _settings: GeminiTTSSettings
GOOGLE_SAMPLE_RATE = 24000 # Google TTS always outputs at 24kHz GOOGLE_SAMPLE_RATE = 24000 # Google TTS always outputs at 24kHz

View File

@@ -88,6 +88,7 @@ class GradiumSTTService(WebsocketSTTService):
for audio processing and connection management. for audio processing and connection management.
""" """
Settings = GradiumSTTSettings
_settings: GradiumSTTSettings _settings: GradiumSTTSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -47,6 +47,7 @@ class GradiumTTSSettings(TTSSettings):
class GradiumTTSService(WebsocketTTSService): class GradiumTTSService(WebsocketTTSService):
"""Text-to-Speech service using Gradium's websocket API.""" """Text-to-Speech service using Gradium's websocket API."""
Settings = GradiumTTSSettings
_settings: GradiumTTSSettings _settings: GradiumTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -86,6 +86,7 @@ class GrokLLMService(OpenAILLMService):
processing and reports final totals. processing and reports final totals.
""" """
Settings = GrokLLMSettings
_settings: GrokLLMSettings _settings: GrokLLMSettings
def __init__( def __init__(

View File

@@ -202,6 +202,7 @@ class GrokRealtimeLLMService(LLMService):
- Server-side VAD (Voice Activity Detection) - Server-side VAD (Voice Activity Detection)
""" """
Settings = GrokRealtimeLLMSettings
_settings: GrokRealtimeLLMSettings _settings: GrokRealtimeLLMSettings
# Use the Grok-specific adapter # Use the Grok-specific adapter

View File

@@ -30,6 +30,7 @@ class GroqLLMService(OpenAILLMService):
maintaining full compatibility with OpenAI's interface and functionality. maintaining full compatibility with OpenAI's interface and functionality.
""" """
Settings = GroqLLMSettings
_settings: GroqLLMSettings _settings: GroqLLMSettings
def __init__( def __init__(

View File

@@ -37,6 +37,7 @@ class GroqSTTService(BaseWhisperSTTService):
set via the api_key parameter or GROQ_API_KEY environment variable. set via the api_key parameter or GROQ_API_KEY environment variable.
""" """
Settings = GroqSTTSettings
_settings: GroqSTTSettings _settings: GroqSTTSettings
def __init__( def __init__(

View File

@@ -51,6 +51,7 @@ class GroqTTSService(TTSService):
and output formats. and output formats.
""" """
Settings = GroqTTSSettings
_settings: GroqTTSSettings _settings: GroqTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -82,6 +82,9 @@ class HeyGenVideoService(AIService):
Defaults to using the "Shawn_Therapist_public" avatar with "v2" version. Defaults to using the "Shawn_Therapist_public" avatar with "v2" version.
""" """
Settings = HeyGenVideoSettings
_settings: HeyGenVideoSettings
def __init__( def __init__(
self, self,
*, *,

View File

@@ -78,6 +78,7 @@ class HumeTTSService(TTSService):
- Provides metrics for Time To First Byte (TTFB) and TTS usage. - Provides metrics for Time To First Byte (TTFB) and TTS usage.
""" """
Settings = HumeTTSSettings
_settings: HumeTTSSettings _settings: HumeTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -100,6 +100,7 @@ class InworldHttpTTSService(TTSService):
Outputs LINEAR16 audio at configurable sample rates with word-level timestamps. Outputs LINEAR16 audio at configurable sample rates with word-level timestamps.
""" """
Settings = InworldTTSSettings
_settings: InworldTTSSettings _settings: InworldTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):
@@ -487,6 +488,7 @@ class InworldTTSService(WebsocketTTSService):
with word-level timestamps. with word-level timestamps.
""" """
Settings = InworldTTSSettings
_settings: InworldTTSSettings _settings: InworldTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -101,6 +101,7 @@ class KokoroTTSService(TTSService):
Automatically downloads model files on first use. Automatically downloads model files on first use.
""" """
Settings = KokoroTTSSettings
_settings: KokoroTTSSettings _settings: KokoroTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -88,6 +88,7 @@ class LmntTTSService(InterruptibleTTSService):
language settings. language settings.
""" """
Settings = LmntTTSSettings
_settings: LmntTTSSettings _settings: LmntTTSSettings
def __init__( def __init__(

View File

@@ -140,6 +140,7 @@ class MiniMaxHttpTTSService(TTSService):
https://www.minimax.io/platform/document/T2A%20V2?key=66719005a427f0c8a5701643 https://www.minimax.io/platform/document/T2A%20V2?key=66719005a427f0c8a5701643
""" """
Settings = MiniMaxTTSSettings
_settings: MiniMaxTTSSettings _settings: MiniMaxTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -33,6 +33,7 @@ class MistralLLMService(OpenAILLMService):
maintaining full compatibility with OpenAI's interface and functionality. maintaining full compatibility with OpenAI's interface and functionality.
""" """
Settings = MistralLLMSettings
_settings: MistralLLMSettings _settings: MistralLLMSettings
def __init__( def __init__(

View File

@@ -79,6 +79,9 @@ class MoondreamService(VisionService):
including CUDA, MPS, and Intel XPU. including CUDA, MPS, and Intel XPU.
""" """
Settings = MoondreamSettings
_settings: MoondreamSettings
def __init__( def __init__(
self, self,
*, *,

View File

@@ -91,6 +91,7 @@ class NeuphonicTTSService(InterruptibleTTSService):
parameters for high-quality speech generation. parameters for high-quality speech generation.
""" """
Settings = NeuphonicTTSSettings
_settings: NeuphonicTTSSettings _settings: NeuphonicTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):
@@ -430,6 +431,7 @@ class NeuphonicHttpTTSService(TTSService):
HTTP-based communication over WebSocket connections. HTTP-based communication over WebSocket connections.
""" """
Settings = NeuphonicTTSSettings
_settings: NeuphonicTTSSettings _settings: NeuphonicTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -36,6 +36,7 @@ class NvidiaLLMService(OpenAILLMService):
in token usage reporting between NIM (incremental) and OpenAI (final summary). in token usage reporting between NIM (incremental) and OpenAI (final summary).
""" """
Settings = NvidiaLLMSettings
_settings: NvidiaLLMSettings _settings: NvidiaLLMSettings
def __init__( def __init__(

View File

@@ -125,6 +125,7 @@ class NvidiaSTTService(STTService):
processing for low-latency applications. processing for low-latency applications.
""" """
Settings = NvidiaSTTSettings
_settings: NvidiaSTTSettings _settings: NvidiaSTTSettings
class InputParams(BaseModel): class InputParams(BaseModel):
@@ -439,6 +440,7 @@ class NvidiaSegmentedSTTService(SegmentedSTTService):
audio buffering and speech detection. audio buffering and speech detection.
""" """
Settings = NvidiaSegmentedSTTSettings
_settings: NvidiaSegmentedSTTSettings _settings: NvidiaSegmentedSTTSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -61,6 +61,7 @@ class NvidiaTTSService(TTSService):
configurable quality settings. configurable quality settings.
""" """
Settings = NvidiaTTSSettings
_settings: NvidiaTTSSettings _settings: NvidiaTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -30,6 +30,7 @@ class OLLamaLLMService(OpenAILLMService):
providing a compatible interface for running large language models locally. providing a compatible interface for running large language models locally.
""" """
Settings = OllamaLLMSettings
_settings: OllamaLLMSettings _settings: OllamaLLMSettings
def __init__( def __init__(

View File

@@ -68,6 +68,7 @@ class BaseOpenAILLMService(LLMService):
configurations. configurations.
""" """
Settings = OpenAILLMSettings
_settings: OpenAILLMSettings _settings: OpenAILLMSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -48,6 +48,7 @@ class OpenAIImageGenService(ImageGenService):
with configurable quality and style parameters. with configurable quality and style parameters.
""" """
Settings = OpenAIImageGenSettings
_settings: OpenAIImageGenSettings _settings: OpenAIImageGenSettings
def __init__( def __init__(

View File

@@ -211,6 +211,7 @@ class OpenAIRealtimeLLMService(LLMService):
management, and real-time transcription. management, and real-time transcription.
""" """
Settings = OpenAIRealtimeLLMSettings
_settings: OpenAIRealtimeLLMSettings _settings: OpenAIRealtimeLLMSettings
# Overriding the default adapter to use the OpenAIRealtimeLLMAdapter one. # Overriding the default adapter to use the OpenAIRealtimeLLMAdapter one.

View File

@@ -69,6 +69,7 @@ class OpenAISTTService(BaseWhisperSTTService):
set via the api_key parameter or OPENAI_API_KEY environment variable. set via the api_key parameter or OPENAI_API_KEY environment variable.
""" """
Settings = OpenAISTTSettings
_settings: OpenAISTTSettings _settings: OpenAISTTSettings
def __init__( def __init__(
@@ -224,6 +225,7 @@ class OpenAIRealtimeSTTService(WebsocketSTTService):
) )
""" """
Settings = OpenAIRealtimeSTTSettings
_settings: OpenAIRealtimeSTTSettings _settings: OpenAIRealtimeSTTSettings
def __init__( def __init__(

View File

@@ -81,6 +81,7 @@ class OpenAITTSService(TTSService):
speech synthesis with streaming audio output. speech synthesis with streaming audio output.
""" """
Settings = OpenAITTSSettings
_settings: OpenAITTSSettings _settings: OpenAITTSSettings
OPENAI_SAMPLE_RATE = 24000 # OpenAI TTS always outputs at 24kHz OPENAI_SAMPLE_RATE = 24000 # OpenAI TTS always outputs at 24kHz

View File

@@ -42,6 +42,7 @@ class AzureRealtimeBetaLLMService(OpenAIRealtimeBetaLLMService):
real-time audio and text communication capabilities as the base OpenAI service. real-time audio and text communication capabilities as the base OpenAI service.
""" """
Settings = AzureRealtimeBetaLLMSettings
_settings: AzureRealtimeBetaLLMSettings _settings: AzureRealtimeBetaLLMSettings
def __init__( def __init__(

View File

@@ -111,6 +111,7 @@ class OpenAIRealtimeBetaLLMService(LLMService):
management, and real-time transcription. management, and real-time transcription.
""" """
Settings = OpenAIRealtimeBetaLLMSettings
_settings: OpenAIRealtimeBetaLLMSettings _settings: OpenAIRealtimeBetaLLMSettings
# Overriding the default adapter to use the OpenAIRealtimeLLMAdapter one. # Overriding the default adapter to use the OpenAIRealtimeLLMAdapter one.

View File

@@ -43,6 +43,7 @@ class OpenPipeLLMService(OpenAILLMService):
for model training and evaluation. for model training and evaluation.
""" """
Settings = OpenPipeLLMSettings
_settings: OpenPipeLLMSettings _settings: OpenPipeLLMSettings
def __init__( def __init__(

View File

@@ -34,6 +34,7 @@ class OpenRouterLLMService(OpenAILLMService):
maintaining full compatibility with OpenAI's interface and functionality. maintaining full compatibility with OpenAI's interface and functionality.
""" """
Settings = OpenRouterLLMSettings
_settings: OpenRouterLLMSettings _settings: OpenRouterLLMSettings
def __init__( def __init__(

View File

@@ -38,6 +38,7 @@ class PerplexityLLMService(OpenAILLMService):
in token usage reporting between Perplexity (incremental) and OpenAI (final summary). in token usage reporting between Perplexity (incremental) and OpenAI (final summary).
""" """
Settings = PerplexityLLMSettings
_settings: PerplexityLLMSettings _settings: PerplexityLLMSettings
def __init__( def __init__(

View File

@@ -46,6 +46,7 @@ class PiperTTSService(TTSService):
match the configured sample rate. match the configured sample rate.
""" """
Settings = PiperTTSSettings
_settings: PiperTTSSettings _settings: PiperTTSSettings
def __init__( def __init__(
@@ -199,6 +200,7 @@ class PiperHttpTTSService(TTSService):
rates and automatic WAV header removal. rates and automatic WAV header removal.
""" """
Settings = PiperHttpTTSSettings
_settings: PiperHttpTTSSettings _settings: PiperHttpTTSSettings
def __init__( def __init__(

View File

@@ -30,6 +30,7 @@ class QwenLLMService(OpenAILLMService):
maintaining full compatibility with OpenAI's interface and functionality. maintaining full compatibility with OpenAI's interface and functionality.
""" """
Settings = QwenLLMSettings
_settings: QwenLLMSettings _settings: QwenLLMSettings
def __init__( def __init__(

View File

@@ -51,6 +51,7 @@ class ResembleAITTSService(WebsocketTTSService):
multiple simultaneous synthesis requests with proper interruption support. multiple simultaneous synthesis requests with proper interruption support.
""" """
Settings = ResembleAITTSSettings
_settings: ResembleAITTSSettings _settings: ResembleAITTSSettings
def __init__( def __init__(

View File

@@ -131,6 +131,7 @@ class RimeTTSService(WebsocketTTSService):
within a turn. within a turn.
""" """
Settings = RimeTTSSettings
_settings: RimeTTSSettings _settings: RimeTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):
@@ -661,6 +662,7 @@ class RimeHttpTTSService(TTSService):
Suitable for use cases where streaming is not required. Suitable for use cases where streaming is not required.
""" """
Settings = RimeTTSSettings
_settings: RimeTTSSettings _settings: RimeTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):
@@ -885,6 +887,7 @@ class RimeNonJsonTTSService(InterruptibleTTSService):
accepts and returns non-JSON messages. accepts and returns non-JSON messages.
""" """
Settings = RimeNonJsonTTSSettings
_settings: RimeNonJsonTTSSettings _settings: RimeNonJsonTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -42,6 +42,7 @@ class SambaNovaLLMService(OpenAILLMService): # type: ignore
maintaining full compatibility with OpenAI's interface and functionality. maintaining full compatibility with OpenAI's interface and functionality.
""" """
Settings = SambaNovaLLMSettings
_settings: SambaNovaLLMSettings _settings: SambaNovaLLMSettings
def __init__( def __init__(

View File

@@ -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. Requires a SambaNova API key set via the api_key parameter or SAMBANOVA_API_KEY environment variable.
""" """
Settings = SambaNovaSTTSettings
def __init__( def __init__(
self, self,
*, *,

View File

@@ -171,6 +171,7 @@ class SarvamSTTService(STTService):
... ...
""" """
Settings = SarvamSTTSettings
_settings: SarvamSTTSettings _settings: SarvamSTTSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -351,6 +351,7 @@ class SarvamHttpTTSService(TTSService):
) )
""" """
Settings = SarvamHttpTTSSettings
_settings: SarvamHttpTTSSettings _settings: SarvamHttpTTSSettings
class InputParams(BaseModel): 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. See https://docs.sarvam.ai/api-reference-docs/text-to-speech/stream for API details.
""" """
Settings = SarvamTTSSettings
_settings: SarvamTTSSettings _settings: SarvamTTSSettings
class InputParams(BaseModel): class InputParams(BaseModel):

View File

@@ -174,6 +174,7 @@ class SonioxSTTService(WebsocketSTTService):
For complete API documentation, see: https://soniox.com/docs/speech-to-text/api-reference/websocket-api For complete API documentation, see: https://soniox.com/docs/speech-to-text/api-reference/websocket-api
""" """
Settings = SonioxSTTSettings
_settings: SonioxSTTSettings _settings: SonioxSTTSettings
def __init__( def __init__(

View File

@@ -175,6 +175,7 @@ class SpeechmaticsSTTService(STTService):
... ...
""" """
Settings = SpeechmaticsSTTSettings
_settings: SpeechmaticsSTTSettings _settings: SpeechmaticsSTTSettings
# Export related classes as class attributes # Export related classes as class attributes

View File

@@ -53,6 +53,7 @@ class SpeechmaticsTTSService(TTSService):
It converts text to speech and returns raw PCM audio data for real-time playback. It converts text to speech and returns raw PCM audio data for real-time playback.
""" """
Settings = SpeechmaticsTTSSettings
_settings: SpeechmaticsTTSSettings _settings: SpeechmaticsTTSSettings
SPEECHMATICS_SAMPLE_RATE = 16000 SPEECHMATICS_SAMPLE_RATE = 16000

View File

@@ -59,6 +59,9 @@ class TavusVideoService(AIService):
- User room: Contains the Pipecat Bot and the user - User room: Contains the Pipecat Bot and the user
""" """
Settings = TavusVideoSettings
_settings: TavusVideoSettings
def __init__( def __init__(
self, self,
*, *,

View File

@@ -30,6 +30,7 @@ class TogetherLLMService(OpenAILLMService):
maintaining full compatibility with OpenAI's interface and functionality. maintaining full compatibility with OpenAI's interface and functionality.
""" """
Settings = TogetherLLMSettings
_settings: TogetherLLMSettings _settings: TogetherLLMSettings
def __init__( def __init__(

View File

@@ -166,6 +166,7 @@ class UltravoxRealtimeLLMService(LLMService):
by the model and may not always align with its understanding of user input. by the model and may not always align with its understanding of user input.
""" """
Settings = UltravoxRealtimeLLMSettings
_settings: UltravoxRealtimeLLMSettings _settings: UltravoxRealtimeLLMSettings
def __init__( def __init__(

View File

@@ -122,6 +122,7 @@ class BaseWhisperSTTService(SegmentedSTTService):
including metrics generation and error handling. including metrics generation and error handling.
""" """
Settings = BaseWhisperSTTSettings
_settings: BaseWhisperSTTSettings _settings: BaseWhisperSTTSettings
def __init__( def __init__(

View File

@@ -207,6 +207,7 @@ class WhisperSTTService(SegmentedSTTService):
segments. It supports multiple languages and various model sizes. segments. It supports multiple languages and various model sizes.
""" """
Settings = WhisperSTTSettings
_settings: WhisperSTTSettings _settings: WhisperSTTSettings
def __init__( def __init__(
@@ -380,6 +381,7 @@ class WhisperSTTServiceMLX(WhisperSTTService):
segments. It's optimized for Apple Silicon and supports multiple languages and quantizations. segments. It's optimized for Apple Silicon and supports multiple languages and quantizations.
""" """
Settings = WhisperMLXSTTSettings
_settings: WhisperMLXSTTSettings _settings: WhisperMLXSTTSettings
def __init__( def __init__(

View File

@@ -83,6 +83,7 @@ class XTTSService(TTSService):
studio speakers configuration. studio speakers configuration.
""" """
Settings = XTTSTTSSettings
_settings: XTTSTTSSettings _settings: XTTSTTSSettings
def __init__( def __init__(