diff --git a/src/pipecat/services/deepgram/flux/stt.py b/src/pipecat/services/deepgram/flux/stt.py index 17b5f5172..a561c9ae3 100644 --- a/src/pipecat/services/deepgram/flux/stt.py +++ b/src/pipecat/services/deepgram/flux/stt.py @@ -244,6 +244,12 @@ class DeepgramFluxSTTService(WebsocketSTTService): additional_headers={"Authorization": f"Token {self._api_key}"}, ) + headers = { + k: v for k, v in self._websocket.response.headers.items() + if k.startswith("dg-") + } + logger.debug(f'{self}: Websocket connection initialized: {{"headers": {headers}}}') + # Creating the receiver task if not self._receive_task: self._receive_task = self.create_task( diff --git a/src/pipecat/services/deepgram/stt.py b/src/pipecat/services/deepgram/stt.py index 6513fb186..4006766fb 100644 --- a/src/pipecat/services/deepgram/stt.py +++ b/src/pipecat/services/deepgram/stt.py @@ -234,6 +234,12 @@ class DeepgramSTTService(STTService): if not await self._connection.start(options=self._settings, addons=self._addons): await self.push_error(error_msg=f"Unable to connect to Deepgram") + else: + headers = { + k: v for k, v in self._connection._socket.response.headers.items() + if k.startswith("dg-") + } + logger.debug(f'{self}: Websocket connection initialized: {{"headers": {headers}}}') async def _disconnect(self): if await self._connection.is_connected(): diff --git a/src/pipecat/services/deepgram/tts.py b/src/pipecat/services/deepgram/tts.py index b497cdd08..51342335e 100644 --- a/src/pipecat/services/deepgram/tts.py +++ b/src/pipecat/services/deepgram/tts.py @@ -280,6 +280,18 @@ class DeepgramTTSService(WebsocketTTSService): await self._connect() await self.start_ttfb_metrics() + + response = await self._deepgram_client.speak.asyncrest.v("1").stream_raw( + {"text": text}, options + ) + + headers = { + k: v + for k, v in response.headers.items() + if k.startswith("dg-") + } + logger.debug(f'{self}: HTTP connection initialized: {{"headers": {headers}}}') + await self.start_tts_usage_metrics(text) yield TTSStartedFrame()