Prerequisites
System requirements
- Python 3.10+
- Linux, MacOS, or Windows Subsystem for Linux (WSL)
- Docker installed on your system
- Access to a container registry (e.g., Docker Hub, GitHub Container Registry, etc.)
Install Docker
Docker Desktop is recommended for development environments as it provides a comprehensive GUI and tools.macOS
macOS
Download and follow the official installation guide.
Using Homebrew (
brew install docker
) only installs the Docker CLI, not the Docker Engine needed to build and run containers.Windows
Windows
- For Windows 10/11 Pro, Enterprise, or Education:
- Download Docker Desktop for Windows
- For Windows Home or older versions:
- First install WSL 2 (Windows Subsystem for Linux)
- Then install Docker Desktop for Windows
Set up a container registry
1
Create a Docker Hub account
If you don’t already have a Docker Hub account, create one for free.
While other container registries will work, this guide uses Docker Hub in its examples.
2
Log in to Docker
After creating your account, log in via your terminal:
Learn about different Docker login options in the official documentation.
3
No repository creation needed yet
Unlike some services, with Docker Hub you don’t need to create a repository in advance.When you push your first image later in this guide, a repository will be automatically created with the name you specify.
Take note of your Docker Hub username - you’ll need it when pushing your agent
image in later steps.
Create service accounts
The Pipecat Cloud starter agent uses OpenAI for LLM inference and LMNT for text-to-speech. You will need API keys for both services.Create your starter project
A bare-bones voice AI agent template is available to help you get started. You’ll need to set up your Python environment and authenticate with Pipecat Cloud before initializing the starter project. First, create a new directory for your project:Configure your Python environment
We recommend using a virtual environment to isolate your project dependencies:Using uv (recommended)
Using uv (recommended)
uv is a fast, modern Python package installer and environment manager.Can’t
pip install uv
? Follow the uv installation instructions instead.Using venv (standard)
Using venv (standard)
Python’s built-in
venv
module:Set up Pipecat Cloud
1
Create a Pipecat Cloud account
Create an account at
pipecat.daily.co.
You must have valid billing information associated with your account in
order to deploy agents.
2
Install Pipecat Cloud CLI
With your environment activated,
install the Pipecat Cloud CLI:
The Pipecat Cloud CLI can be used with either
pipecatcloud
or pcc
as the command prefix.3
Authenticate
Run
pcc auth login
to authenticate via your
browser (if this doesn’t work, try python -m pipecatcloud auth login
.)Initialize the starter project
Now, clone the starter project.bot.py
: Python entry-point containing your Pipecat agent pipelineDockerfile
: Dockerfile for building the agent containerrequirements.txt
: Python dependencies used by your agent codepcc-deploy.toml
: Pipecat Cloud deployment configuration file (optional)
Configure to run locally (optional)
You can test your agent locally before deploying to Pipecat Cloud:Your
DAILY_API_KEY
can be found at https://pipecat.daily.co under the Settings
in the Daily (WebRTC)
tab.Deploy the agent
Pipecat Cloud expects a built Docker image that includes the agent code and all dependencies.Build and push your Docker image
Build your Docker image From within your project directory, run Docker build:lmnt-agent
with the tag latest
from the current directory.
The
--platform=linux/arm64
flag is required as Pipecat Cloud runs on
ARM64 architecture.[your-username]/[image-name]:[version-number]
.
While in beta, Pipecat Cloud requires that your agent image is pushed to
your own repository, such as Docker Hub. Both public and private repositories
are supported.
Add secrets
Secrets are a secure way to manage sensitive information such as API keys, passwords, and other credentials. The starter project requires the following API keys:- OpenAI API key
- LMNT API key
- Daily API key (automatically provided through your Pipecat Cloud account)
env.example
file that you can use as a
template. Create a copy of this file and add your actual API keys:
Alternative: Creating secrets directly via CLI
Alternative: Creating secrets directly via CLI
If you
prefer, you can also create secrets directly via the command line:
For more information on managing secrets, please see
Secrets.
Create a deployment
The CLIdeploy
command requires three key pieces of information:
- The name of your agent on Pipecat Cloud
- The repository and tag of your Docker image
- The secrets set to use for environment variables
The starter project includes a
pcc-deploy.toml
file that already has the
agent name, image reference, and secret set configured. If you’re using this
file, you can simply run pcc deploy
without additional arguments.See the Deployments section to learn
more.Using credentials for private repositories
Using credentials for private repositories
If your
repository is private you can provide the deploy command access credentials by
specifying image pull secrets via the Learn more about Image Pull Secrets
including how to create them for Docker Hub.
--credentials
flag:Check the status of your deployment
Assuming the deployment was successful, you can check the status of your agent using the CLI:Scale the deployment
Right now, your deployment has been made with the default runtime configuration. This means that your agent defaults to “scale-to-zero”, with no minimum agent instances to serve on-demand session requests. If you were to attempt to connect with your agent now, it’s likely you’d encounter a cold start while the agent spins up. Cold starts typically take around 10 seconds. To avoid this, you can scale your deployment to a minimum of one instance:By default, idle agent instances are maintained for 5 minutes before
being terminated when using scale-to-zero. For more information, please see
Scaling.
Setting
--min-agents
to 1 or greater will incur charges even when
the agent is not in use.Start an active session
Now that your agent has been deployed, you can start an active session to interact with it. Creating active sessions requires passing a valid API key for your namespace or organization. This is used to authenticate the request and prevent unauthorized access.Create a public access key
--api-key
flag in future requests.
Next set the key to be used with your agent:
Talk to your agent
The starter project is configured to use Daily as a WebRTC transport. Pipecat Cloud has a direct integration with Daily, meaning you are issued a Daily API key when you create an account.When using the Daily key associated with your Pipecat Cloud account, your
Daily voice minutes for one human and one bot are free.Additional charges apply for features like recording, transcription, and
PSTN/SIP. See Daily’s pricing page for more
information.
Alternative ways to start a session
Alternative ways to start a session
Monitor and Troubleshoot
Once your agent is deployed, you can use the following commands to monitor its status and troubleshoot any issues:Next Steps
Congratulations! You have successfully deployed your first agent w/ LMNT TTS to Pipecat Cloud.Learn more about Pipecat Cloud
Read on for more details about scaling your deployment and other useful integrations.