Skip to main content

Protoface Pipecat Plugin

PyPI - Version

Add Protoface video avatars to Pipecat pipelines.

Maintained by Protoface.

Installation

pip install pipecat-protoface

Or with uv:

uv add pipecat-protoface

Install the Pipecat extras required by your application separately, such as the transport, LLM, STT, or TTS services in your pipeline.

For this repo's WebRTC example:

uv sync --extra dev --extra example

If you prefer pip:

pip install -e ".[dev,example]"

Prerequisites

  • Protoface API key (PROTOFACE_API_KEY)
  • Protoface avatar ID (PROTOFACE_AVATAR_ID)
  • API keys for the Pipecat services used by your pipeline

Usage

ProtofaceVideoService starts a hosted Protoface avatar session. It consumes TTSAudioRawFrame audio from a Pipecat pipeline and emits synchronized SpeechOutputAudioRawFrame and OutputImageRawFrame frames downstream.

Your application still chooses the Pipecat transport for the end user.

import os

from pipecat_protoface import ProtofaceVideoService

protoface = ProtofaceVideoService(
    api_key=os.environ["PROTOFACE_API_KEY"],
    avatar_id=os.environ["PROTOFACE_AVATAR_ID"],
)

pipeline = Pipeline([
    transport.input(),
    stt,
    context_aggregator.user(),
    llm,
    tts,
    protoface,  # Video avatar (returns synchronized audio/video)
    transport.output(),
    context_aggregator.assistant(),
])

For realtime speech-to-speech services, place ProtofaceVideoService after your realtime LLM service and before the output transport:

pipeline = Pipeline([
    transport.input(),
    gemini_live,
    protoface,
    transport.output(),
])

See examples/video_service.py for a complete WebRTC example using Gemini Live.

Session Startup

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

Running the Example

  1. Install dependencies:
uv sync --extra dev --extra example
  1. Set up your environment:
cp env.example .env
# Edit .env with your keys:
# PROTOFACE_API_KEY
# PROTOFACE_AVATAR_ID
# GOOGLE_API_KEY or GEMINI_API_KEY
#
# GEMINI_LIVE_MODEL and GEMINI_VOICE are optional.
  1. Run the ProtofaceVideoService example with the built-in WebRTC transport:
uv run python examples/video_service.py -t webrtc

The example reads either GOOGLE_API_KEY or GEMINI_API_KEY. By default, the plugin connects to https://api.protoface.com; set PROTOFACE_API_URL only when testing against another Protoface environment. Set PROTOFACE_DEBUG_MEDIA=1 to log avatar audio/video frame counts during local testing.

Compatibility

  • Pipecat v1.4.0+
  • Python 3.11+
  • Built-in WebRTC transport for the included example

License

Apache-2.0 - see LICENSE

Metadata

Release files for pipecat-protoface 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pipecat-protoface 0.1.0
File Size Uploaded
pipecat_protoface-0.1.0.tar.gz 22.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pipecat-protoface 0.1.0
File Interpreter ABI Platform
pipecat_protoface-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 40.4 kB

Release files / pipecat_protoface-0.1.0.tar.gz

Download URL pipecat_protoface-0.1.0.tar.gz
Size 22.7 kB
Tags Source
SHA-256 checksum
How to use checksums
aefd015a3b3f0e7cbbd63e1cb98b39cf3888f47ea5f9e8884ebe0b28f0bc490a
BLAKE2b-256 checksum
How to use checksums
a21fdb6a512a29c7453c5d55f23118a50d9efd53cbdc6a30afe782c553a91b3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 27, 2026.

Transparency log

Release files / pipecat_protoface-0.1.0-py3-none-any.whl

Download URL pipecat_protoface-0.1.0-py3-none-any.whl
Size 17.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2cc5ea8a0f43f4fd0cd3eb37b8dc85aff5b4cf9c92c0364d783e9bd68c2acd2c
BLAKE2b-256 checksum
How to use checksums
efe6915501c37579bb340c009a4717cfe469fcec59e7fea745b5ba333622f962
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page