diff --git a/changelog/3865.changed.md b/changelog/3865.changed.md new file mode 100644 index 000000000..7a70eb0d7 --- /dev/null +++ b/changelog/3865.changed.md @@ -0,0 +1 @@ +- `ElevenLabsRealtimeSTTService` now sets `TranscriptionFrame.finalized` to `True` when using `CommitStrategy.MANUAL`. diff --git a/src/pipecat/services/elevenlabs/stt.py b/src/pipecat/services/elevenlabs/stt.py index 5422fb193..0cf13121e 100644 --- a/src/pipecat/services/elevenlabs/stt.py +++ b/src/pipecat/services/elevenlabs/stt.py @@ -861,6 +861,8 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService): await self._handle_transcription(text, True, language) + finalized = self._settings.commit_strategy == CommitStrategy.MANUAL + await self.push_frame( TranscriptionFrame( text, @@ -868,6 +870,7 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService): time_now_iso8601(), language, result=data, + finalized=finalized, ) ) @@ -902,6 +905,8 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService): await self._handle_transcription(text, True, language) + finalized = self._settings.commit_strategy == CommitStrategy.MANUAL + # This message is sent after committed_transcript when include_timestamps=true. # It contains the full transcript data including text and word-level timestamps. await self.push_frame( @@ -911,5 +916,6 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService): time_now_iso8601(), language, result=data, + finalized=finalized, ) )