Your
agent has a voice.Now give it a face.
Add an expressive Anam avatar to the voice pipeline you already orchestrate with Pipecat. Your model and voice remain yours; Anam gives the conversation a face.
See it for yourself
Start a voice conversation, then flip the switch and watch how the avatar stays in sync without restarting the session or rebuilding your Pipecat agent.
Voice only Voice + Anam Reveal the face
Talk to the agent firstStart an audio-only conversation with your microphone.
pipecat-agent-demo · voice agent
01
Your pipelineSTT · LLM · TTS
02
AnamLip sync · expression
03
Pipecat transportAudio + video
PIPECAT PIPELINES · PYTHON
From voice agent to video agent in a few lines.
Python integration reference. Use Coding Agents to adapt these snippets to your app or create a project.
import os
from anam import PersonaConfig
from pipecat.pipeline.pipeline import Pipeline
from pipecat_anam import AnamVideoService
# In your existing video-capable transport's params, set:
# video_out_enabled=True, video_out_is_live=True.
# Preserve audio output and configure matching video dimensions/client rendering.
avatar = AnamVideoService(
api_key=os.environ["ANAM_API_KEY"],
persona_config=PersonaConfig(
avatar_id=os.environ["ANAM_AVATAR_ID"],
avatar_model="cara-4",
enable_audio_passthrough=True,
),
)
pipeline = Pipeline([
transport.input(), stt, context_aggregator.user(), llm, tts,
avatar,
transport.output(),
context_aggregator.assistant(),
])
Add a face to your Pipecat agent.
Keep your current speech, language model, and voice stack. Add a synchronized avatar in a few lines.