diff --git a/src/pipecat/services/cartesia.py b/src/pipecat/services/cartesia.py index 68d9f666d..5631491fa 100644 --- a/src/pipecat/services/cartesia.py +++ b/src/pipecat/services/cartesia.py @@ -227,7 +227,10 @@ class CartesiaTTSService(WordTTSService): async def _handle_interruption(self, frame: StartInterruptionFrame, direction: FrameDirection): await super()._handle_interruption(frame, direction) await self.stop_all_metrics() - self._context_id = None + if not self._context_id: + cancel_msg = json.dumps({"context_id": self._context_id, "cancel": True}) + await self._get_websocket().send(cancel_msg) + self._context_id = None async def flush_audio(self): if not self._context_id or not self._websocket: