From 67401a275ba118e660fe62bc35d627ff492f8701 Mon Sep 17 00:00:00 2001 From: Mayur Sirwani <64443117+mayurdd@users.noreply.github.com> Date: Tue, 9 Dec 2025 18:04:08 -0800 Subject: [PATCH 1/2] Adding include_language_detection to Elevenlabs Realtime STT Adding a param to the config while connecting to the session --- src/pipecat/services/elevenlabs/stt.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pipecat/services/elevenlabs/stt.py b/src/pipecat/services/elevenlabs/stt.py index bf85e0216..657b0c525 100644 --- a/src/pipecat/services/elevenlabs/stt.py +++ b/src/pipecat/services/elevenlabs/stt.py @@ -427,6 +427,7 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService): min_silence_duration_ms: Optional[int] = None include_timestamps: bool = False enable_logging: bool = False + include_language_detection: bool = False def __init__( self, @@ -640,6 +641,9 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService): if self._params.enable_logging: params.append(f"enable_logging={str(self._params.enable_logging).lower()}") + if self._params.include_language_detection: + params.append(f"include_language_detection={str(self._params.include_language_detection).lower()}") + # Add VAD parameters if using VAD commit strategy and values are specified if self._params.commit_strategy == CommitStrategy.VAD: if self._params.vad_silence_threshold_secs is not None: From 4671102833390bcea871a2ff4a0dffd8ee2691d6 Mon Sep 17 00:00:00 2001 From: mayurdd Date: Mon, 5 Jan 2026 13:35:37 -0800 Subject: [PATCH 2/2] Addressing the comments --- changelog/3216.changed.md | 7 +++++++ src/pipecat/services/elevenlabs/stt.py | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 changelog/3216.changed.md diff --git a/changelog/3216.changed.md b/changelog/3216.changed.md new file mode 100644 index 000000000..b8d480fe2 --- /dev/null +++ b/changelog/3216.changed.md @@ -0,0 +1,7 @@ +- Updated `ElevenLabsRealtimeSTTService` to accept the `include_language_detection` parameter to detect language. + ```python + stt = ElevenLabsRealtimeSTTService( + api_key=os.getenv("ELEVENLABS_API_KEY"), + include_language_detection=True + ) + ``` diff --git a/src/pipecat/services/elevenlabs/stt.py b/src/pipecat/services/elevenlabs/stt.py index 657b0c525..17cddda3a 100644 --- a/src/pipecat/services/elevenlabs/stt.py +++ b/src/pipecat/services/elevenlabs/stt.py @@ -417,6 +417,7 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService): Only used when commit_strategy is VAD. None uses ElevenLabs default. include_timestamps: Whether to include word-level timestamps in transcripts. enable_logging: Whether to enable logging on ElevenLabs' side. + include_language_detection: Whether to include language detection in transcripts. """ language_code: Optional[str] = None @@ -642,7 +643,9 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService): params.append(f"enable_logging={str(self._params.enable_logging).lower()}") if self._params.include_language_detection: - params.append(f"include_language_detection={str(self._params.include_language_detection).lower()}") + params.append( + f"include_language_detection={str(self._params.include_language_detection).lower()}" + ) # Add VAD parameters if using VAD commit strategy and values are specified if self._params.commit_strategy == CommitStrategy.VAD: