Overview
Thesynap-pipecat integration connects Synap,
Maximem AI’s long-term memory layer, to Pipecat voice pipelines. It ships two
FrameProcessor classes: SynapMemoryProcessor injects relevant user memory
into the shared LLMContext before the LLM replies, and SynapRecorder
captures each user and assistant turn back to Synap so memory persists across
sessions. A SynapShortTermProcessor is also provided for injecting short-term
conversation context.
Source Repository
Source code, examples, and issues for the Synap SDK and its Pipecat
integration (under
packages/integrations/synap-pipecat)Documentation
Synap documentation from Maximem AI
Website
Learn more about Synap and request an API key
Dashboard
Manage your Synap account and API keys
Installation
This is a community-maintained package distributed separately frompipecat-ai:
pipecat-ai>=0.0.80 and maximem-synap>=0.2.0.
Prerequisites
Synap Account Setup
Before using the Synap integration, you need:- Synap Account / API Key: Get one at maximem.ai/synap
- A configured
MaximemSynapSDKinstance, created with your API key:MaximemSynapSDK(api_key="sk-...")
Configuration
SynapMemoryProcessor
Inserted before the user context aggregator. On each TranscriptionFrame,
fetches user-scoped context from Synap and appends it as a system message to the
shared LLMContext.
A configured
MaximemSynapSDK instance.Required — Synap memory is user-scoped.
Optional customer/org scope. An empty string means customer-less.
Shared
LLMContext used by the user/assistant aggregators. When None, the
processor is inert (no injection) but still passes frames through.Synap fetch mode (
"accurate" or "fast").Cap on
sdk.fetch results per turn.Whether to request Synap’s recent conversation block alongside the semantic
memory.
SynapRecorder
Inserted after the assistant context aggregator. Buffers the latest user
transcription and the streamed assistant response, then records both turns via
sdk.conversation.record_message on LLMFullResponseEndFrame.
A configured
MaximemSynapSDK instance.Required — Synap conversations are user-scoped.
Optional customer/org scope. An empty string means customer-less.
Stable id for this call. Auto-generated per processor lifetime when absent.
A
SynapShortTermProcessor is also exported for injecting short-term
conversation context. See the source
repository for its full
configuration.Usage
Reads degrade gracefully — if a Synap fetch fails, the frame continues
downstream with no context injected so a Synap blip never breaks a live call.
Write failures surface as a
SynapIntegrationError pushed upstream as an
ErrorFrame.Compatibility
The integration requirespipecat-ai>=0.0.80. Check the source
repository for the latest
tested version and changelog.