Skip to main content

An open source framework for voice (and multimodal) assistants

Project description

pipecat

PyPI Tests codecov Docs Discord

🎙️ Pipecat: Real-Time Voice & Multimodal AI Agents

Pipecat is an open-source Python framework for building real-time voice and multimodal conversational agents. Orchestrate audio and video, AI services, different transports, and conversation pipelines effortlessly—so you can focus on what makes your agent unique

Want to dive right in? Install Pipecat then try the quickstart.

🚀 What You Can Build

  • Voice Assistants – natural, streaming conversations with AI
  • AI Companions – coaches, meeting assistants, characters
  • Multimodal Interfaces – voice, video, images, and more
  • Interactive Storytelling – creative tools with generative media
  • Business Agents – customer intake, support bots, guided flows
  • Complex Dialog Systems – design logic with structured conversations

🧭 Looking to build structured conversations? Check out Pipecat Flows for managing complex conversational states and transitions.

🧠 Why Pipecat?

  • Voice-first: Integrates speech recognition, text-to-speech, and conversation handling
  • Pluggable: Supports many AI services and tools
  • Composable Pipelines: Build complex behavior from modular components
  • Real-Time: Ultra-low latency interaction with different transports (e.g. WebSockets or WebRTC)

🎬 See it in action

 
 

📱 Client SDKs

You can connect to Pipecat from any platform using our official SDKs:

Platform SDK Repo Description
Web pipecat-client-web JavaScript and React client SDKs
iOS pipecat-client-ios Swift SDK for iOS
Android pipecat-client-android Kotlin SDK for Android
C++ pipecat-client-cxx C++ client SDK

🧩 Available services

Category Services
Speech-to-Text AssemblyAI, AWS, Azure, Cartesia, Deepgram, Fal Wizper, Gladia, Google, Groq (Whisper), OpenAI (Whisper), Parakeet (NVIDIA), SambaNova (Whisper) Ultravox, Whisper
LLMs Anthropic, AWS, Azure, Cerebras, DeepSeek, Fireworks AI, Gemini, Grok, Groq, NVIDIA NIM, Ollama, OpenAI, OpenRouter, Perplexity, Qwen, SambaNova Together AI
Text-to-Speech AWS, Azure, Cartesia, Deepgram, ElevenLabs, FastPitch (NVIDIA), Fish, Google, LMNT, MiniMax, Neuphonic, OpenAI, Piper, PlayHT, Rime, Sarvam, XTTS
Speech-to-Speech AWS Nova Sonic, Gemini Multimodal Live, OpenAI Realtime
Transport Daily (WebRTC), FastAPI Websocket, SmallWebRTCTransport, WebSocket Server, Local
Serializers Plivo, Twilio, Telnyx
Video Tavus, Simli
Memory mem0
Vision & Image fal, Google Imagen, Moondream
Audio Processing Silero VAD, Krisp, Koala, Noisereduce
Analytics & Metrics OpenTelemetry, Sentry

📚 View full services documentation →

⚡ Getting started

You can get started with Pipecat running on your local machine, then move your agent processes to the cloud when you’re ready.

# Install the module
pip install pipecat-ai

# Set up your environment
cp dot-env.template .env

To keep things lightweight, only the core framework is included by default. If you need support for third-party AI services, you can add the necessary dependencies with:

pip install "pipecat-ai[option,...]"

🧪 Code examples

  • Foundational — small snippets that build on each other, introducing one or two concepts at a time
  • Example apps — complete applications that you can use as starting points for development

🛠️ Hacking on the framework itself

  1. Set up a virtual environment before following these instructions. From the root of the repo:

    python3 -m venv venv
    source venv/bin/activate
    
  2. Install the development dependencies:

    pip install -r dev-requirements.txt
    
  3. Install the git pre-commit hooks (these help ensure your code follows project rules):

    pre-commit install
    
  4. Install the pipecat-ai package locally in editable mode:

    pip install -e .
    

    The -e or --editable option allows you to modify the code without reinstalling.

  5. Include optional dependencies as needed. For example:

    pip install -e ".[daily,deepgram,cartesia,openai,silero]"
    
  6. (Optional) If you want to use this package from another directory:

    pip install "path_to_this_repo[option,...]"
    

Running tests

Install the test dependencies:

pip install -r test-requirements.txt

From the root directory, run:

pytest

Setting up your editor

This project uses strict PEP 8 formatting via Ruff.

Emacs

You can use use-package to install emacs-lazy-ruff package and configure ruff arguments:

(use-package lazy-ruff
  :ensure t
  :hook ((python-mode . lazy-ruff-mode))
  :config
  (setq lazy-ruff-format-command "ruff format")
  (setq lazy-ruff-check-command "ruff check --select I"))

ruff was installed in the venv environment described before, so you should be able to use pyvenv-auto to automatically load that environment inside Emacs.

(use-package pyvenv-auto
  :ensure t
  :defer t
  :hook ((python-mode . pyvenv-auto-run)))

Visual Studio Code

Install the Ruff extension. Then edit the user settings (Ctrl-Shift-P Open User Settings (JSON)) and set it as the default Python formatter, and enable formatting on save:

"[python]": {
    "editor.defaultFormatter": "charliermarsh.ruff",
    "editor.formatOnSave": true
}

PyCharm

ruff was installed in the venv environment described before, now to enable autoformatting on save, go to File -> Settings -> Tools -> File Watchers and add a new watcher with the following settings:

  1. Name: Ruff formatter
  2. File type: Python
  3. Working directory: $ContentRoot$
  4. Arguments: format $FilePath$
  5. Program: $PyInterpreterDirectory$/ruff

🤝 Contributing

We welcome contributions from the community! Whether you're fixing bugs, improving documentation, or adding new features, here's how you can help:

  • Found a bug? Open an issue
  • Have a feature idea? Start a discussion
  • Want to contribute code? Check our CONTRIBUTING.md guide
  • Documentation improvements? Docs PRs are always welcome

Before submitting a pull request, please check existing issues and PRs to avoid duplicates.

We aim to review all contributions promptly and provide constructive feedback to help get your changes merged.

🛟 Getting help

➡️ Join our Discord

➡️ Read the docs

➡️ Reach us on X

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dv_pipecat_ai-0.0.74.dev810.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dv_pipecat_ai-0.0.74.dev810-py3-none-any.whl (2.5 MB view details)

Uploaded Python 3

File details

Details for the file dv_pipecat_ai-0.0.74.dev810.tar.gz.

File metadata

  • Download URL: dv_pipecat_ai-0.0.74.dev810.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.0

File hashes

Hashes for dv_pipecat_ai-0.0.74.dev810.tar.gz
Algorithm Hash digest
SHA256 41eca191f2485715da454b5878f1d1339c9ab89ba07eca62738d4d6b261f5335
MD5 163ae4d82542515d3e9e5324745e702c
BLAKE2b-256 647a55e7d6aa94107e1973233070b89979261e0df83afb9747f10d43a1d0f9bf

See more details on using hashes here.

File details

Details for the file dv_pipecat_ai-0.0.74.dev810-py3-none-any.whl.

File metadata

File hashes

Hashes for dv_pipecat_ai-0.0.74.dev810-py3-none-any.whl
Algorithm Hash digest
SHA256 82a106d61342a9d68b6efe51a5d7eeea1a459515d345bc46851b1ff87d23c857
MD5 a8a2a6873bbe3aa4d144639a590029f8
BLAKE2b-256 8ca915b856f591bddacff4139b2bc6b897afdcb4d33bedf02a3f8736f9df69c3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page