From 1e76cc7bdcbfc477f80868aa7e13e0dd96536616 Mon Sep 17 00:00:00 2001 From: Angelo Giacco Date: Sat, 10 May 2025 16:09:20 +0100 Subject: [PATCH 1/3] fix: elevenlabs api key --- src/pipecat/services/elevenlabs/tts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pipecat/services/elevenlabs/tts.py b/src/pipecat/services/elevenlabs/tts.py index 324e8099e..1b78db904 100644 --- a/src/pipecat/services/elevenlabs/tts.py +++ b/src/pipecat/services/elevenlabs/tts.py @@ -425,7 +425,7 @@ class ElevenLabsTTSService(AudioContextWordTTSService): if self._websocket: if not self._context_id: # First message for a new context - need a space to initialize - msg = {"text": " ", "context_id": str(uuid.uuid4()), "xi_api_key": self._api_key} + msg = {"text": " ", "context_id": str(uuid.uuid4()), "xi-api-key": self._api_key} # Add voice settings only in first message for a context if self._voice_settings: From 0355ed4aa18e4806ca4473f0bfbfa0a9d6f18942 Mon Sep 17 00:00:00 2001 From: Angelo Giacco Date: Sat, 10 May 2025 16:34:01 +0100 Subject: [PATCH 2/3] move api key to ws header --- src/pipecat/services/elevenlabs/tts.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pipecat/services/elevenlabs/tts.py b/src/pipecat/services/elevenlabs/tts.py index 1b78db904..8be213982 100644 --- a/src/pipecat/services/elevenlabs/tts.py +++ b/src/pipecat/services/elevenlabs/tts.py @@ -334,7 +334,7 @@ class ElevenLabsTTSService(AudioContextWordTTSService): ) # Set max websocket message size to 16MB for large audio responses - self._websocket = await websockets.connect(url, max_size=16 * 1024 * 1024) + self._websocket = await websockets.connect(url, max_size=16 * 1024 * 1024, extra_headers={"xi-api-key": self._api_key}) except Exception as e: logger.error(f"{self} initialization error: {e}") @@ -425,7 +425,7 @@ class ElevenLabsTTSService(AudioContextWordTTSService): if self._websocket: if not self._context_id: # First message for a new context - need a space to initialize - msg = {"text": " ", "context_id": str(uuid.uuid4()), "xi-api-key": self._api_key} + msg = {"text": " ", "context_id": str(uuid.uuid4())} # Add voice settings only in first message for a context if self._voice_settings: From b57dfb3b5d86bf7f710f855dde8bccb35fba03d6 Mon Sep 17 00:00:00 2001 From: Angelo Giacco Date: Sat, 10 May 2025 16:36:26 +0100 Subject: [PATCH 3/3] fix lint --- src/pipecat/services/elevenlabs/tts.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pipecat/services/elevenlabs/tts.py b/src/pipecat/services/elevenlabs/tts.py index 8be213982..b5859e26c 100644 --- a/src/pipecat/services/elevenlabs/tts.py +++ b/src/pipecat/services/elevenlabs/tts.py @@ -334,7 +334,9 @@ class ElevenLabsTTSService(AudioContextWordTTSService): ) # Set max websocket message size to 16MB for large audio responses - self._websocket = await websockets.connect(url, max_size=16 * 1024 * 1024, extra_headers={"xi-api-key": self._api_key}) + self._websocket = await websockets.connect( + url, max_size=16 * 1024 * 1024, extra_headers={"xi-api-key": self._api_key} + ) except Exception as e: logger.error(f"{self} initialization error: {e}")