Skip to main content
If your voice agent runs on Pipecat, pipecat-protoface adds a Protoface avatar as a video service. It starts a hosted Protoface session, consumes assistant audio from the pipeline, and emits synchronized audio and video frames to your output transport. If you’re not using Pipecat, Protoface also integrates with many more platforms and SDKs. See More Integrations. Official Pipecat-hosted docs are also available. Protoface maintains the official Pipecat community plugin.

Install

Install Pipecat extras for your transport, STT, LLM, TTS, or realtime model separately.

Basic usage

Add protoface after TTS and before transport.output():
After the pipeline starts, protoface emits synchronized avatar audio and video frames downstream.

Realtime speech-to-speech

For realtime speech-to-speech, put protoface after the realtime model and before the output transport:

Configuration

Set both variables in the Pipecat worker environment:
  • PROTOFACE_API_KEY: Authenticates calls to Protoface.
  • PROTOFACE_AVATAR_ID: Avatar to render. Start with av_stock_001 or use an ID from /v1/avatars.

ProtofaceVideoService options

Lifecycle

ProtofaceVideoService starts a hosted Protoface session when the pipeline starts. Audio produced before the avatar session is ready is buffered, then streamed once the connection is available.

Compatibility

Tested with Pipecat v1.4.0+ and Python 3.11+. Check the plugin source for current examples and compatibility notes.

Next

Pipecat docs

Service reference and examples in Pipecat’s docs.

Plugin source

Source code, examples, and issues.

Avatars

Choose the avatar ID for your app.