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 session, takes assistant speech from the pipeline, and emits synchronized audio and video frames to your output transport. Protoface maintains the official Pipecat community plugin, and Pipecat documents the service at docs.pipecat.ai. If you are not on Pipecat, Protoface works with many more platforms and SDKs. See Other integrations.

Install

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

Basic usage

Create the service with an API key and avatar ID:
Then place it after TTS and before transport.output():
protoface then emits synchronized avatar audio and video frames downstream.

Realtime speech-to-speech

Place 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 opens a session as the pipeline starts. The session moves through queued, starting, and running. Speech produced before the avatar is live is buffered, then streamed. Stopping the pipeline ends the session. Billing rounds up to the minute, and Credits and limits covers the caps.

Compatibility

Tested with Pipecat v1.4.0+ and Python 3.11+. The plugin source carries current examples and compatibility notes.