Agentic applications demand near-instant agent availability to maintain user engagement and responsiveness. Pipecat Cloud manages the complexity of scaling these agent deployments in production environments, providing granular controls for compute resources and cost optimization.

Core concepts

Instances

An instance represents a single unit of compute that runs your agent.

Instance costs are determined by:

  • Active session runtime duration
  • Warm instance maintenance time
  • The compute profile specified in your deployment

Pipecat Cloud automatically provisions and manages instances to handle active sessions, ensuring that your deployment can scale to meet demand within the limits of your deployment configuration.

Instance pool

Making a deployment to Pipecat Cloud creates a managed pool of instances that:

  • Routes requests to available instances
  • Scales based on demand within configured limits
  • Maintains optimal performance through auto-scaling

Developers can configure the upper and lower limit of a deployment’s instance pool, providing a cost-effective way to handle varying loads.

Minimum instances

min-instances

  • Maintains specified number of warm instances to serve incoming requests
  • Immediately ready to become active, reducing cold starts
  • Defaults to 0 if unspecified

Minimum number of instances maintained in a pool at all times.

Developers specify a min-instances configuration to determines the number of instances that should be kept warm in their deployment pool. A warm instance is kept running and can immediately be used to serve an active session.

Maintaining a minimum number of instances is important to keep agent start times fast and reduce cold starts.

# Defaults to zero
pcc deploy [agent-name]

# Maintain 1 warm instance at all times
pcc deploy [agent-name] --min-instances 1

Setting --min-instances to 1 or greater will incur charges even when the agent is not in use.

Maximum instances

max-instances

  • Sets hard limit on concurrent sessions
  • Acts as a cost control / load mechanism
  • Returns HTTP 429 when pool capacity is reached

Maximum instances is the hard limit on the number of instances in your pool.

During beta, each deployment made to Pipecat Cloud has a maximum allowed pool size of 10. Please contact us at help@daily.co or via Discord if you require more capacity.

Deployments can optionally be made with a max-instances configuration that limits the number of instances that your pool can contain. This exists as a cost control measure, allowing developers to limit the total number of active sessions that can be run at any one time.

The maximum instance count is a hard limit, meaning requests made to a pool that is at capacity will receive a 429 response. See starting sessions for more information for how to handle this in your application code.

# Limit pool to 10 active sessions running concurrently
pcc deploy [agent-name] --max-instances 10

Agent lifecycle

1

Pool Initialization

  • Provisions the minimum number of warm instances based on min-instances configuration (defaults to 0)
  • Listens for session requests to route to available instances
2

Session Assignment

  • ✅ If a warm instance is available, the session will be assigned to that instance
  • ⏳ If no warm instances are available, and your pool is not at capacity, a new instance will be provisioned to handle the request (e.g a cold-start)
  • ❌ If your pool is at capacity, your application will receive a 429 response from the start request
3

Auto-scaling

  • The Pipecat Cloud auto-scaler determines if additional warm instances should be created to support further requests.
  • Once a session concludes, instances are either returned to the pool to serve another session or discarded

Your are billed for warm instances, even if they are not handling active sessions. Developers should consider their deployment strategy when cost optimizing, adjusting the minimum and maximum instance count accordingly. See current pricing for details.

Cold-starts

A cold start may occur when an active session request is made and no warm instances are available in the pool to handle it. In this case, Pipecat Cloud will provision a new instance to handle the request.

Cold starts require additional time to provision the instance and load the agent, which may result in a delay for the user. To minimize cold starts, you can configure your pool to maintain a minimum number of warm instances at all times.

Pipecat Cloud aims to mitigate cold starts as much as possible through auto-scaling.

Scale-to-zero

For some deployments, using a minimum instance count of 0 is preferable (e.g. while in development.) Since you are only charged for warm instances and active sessions, this can be a cost-effective way to manage deployments where fast start times are not required.

When the minimum instance count is set to 0, the pool will scale down to 0 instances when there are no active sessions. Idle instances are maintained for 5 minutes before being terminated. This timeout is not currently configurable but will be in the future.

Scale-to-zero is not recommended for production deployments where immediate response is required.

Auto-scaling

Pipecat Cloud performs auto-scaling by default on all deployments. Auto-scaling is accomplished through the following mechanisms:

  • Scaling up based on request velocity
  • Maintaining efficiency within max-instances limit
  • Scaling down to min-instances (or zero) during low usage
  • Supporting burst workloads automatically

Auto-Scaling Buffer

Pipecat Cloud maintains a free auto-scaling buffer in addition to your paid reserved instances. This saves you from over-provisioning warm instances while still ensuring fast response times during traffic increases.

When your traffic increases and you have active sessions running, our system automatically:

  • Proactively provisions additional idle instances based on your current usage patterns
  • Provides these buffer instances at no additional cost to you
  • Ensures you can continue handling traffic spikes even when all your paid warm instances are in use

For example, with multiple active sessions:

  • The system is already spinning up additional buffer instances in the background
  • These buffer instances become available within ~10 seconds
  • You can continue calling the /start endpoint without worrying about configuring additional capacity

This approach means:

  • You can set a lower min-instances value than your peak traffic requirements
  • You’ll still avoid cold starts in most scenarios
  • You get better cost efficiency without sacrificing performance

The only scenario where you need to consider higher min-instances values is for extremely rapid traffic spikes (tens or hundreds of calls per second) where the buffer can’t be provisioned fast enough.

Scaling Philosophy

Our scaling system is designed to minimize the need for manual capacity planning. Here’s how we recommend thinking about scaling:

  • Start simple: We encourage you to set min-instances to 0 initially and test how the system performs for your specific use case. Many applications work well without any pre-warmed instances.

  • Optimize as needed: We work hard to make cold starts rare and as fast as possible so that, for many applications, you don’t have to worry about warm instances at all.

  • Tune for traffic patterns: If you have spiky workloads with bursty traffic patterns, setting an appropriate min-instances value can help prevent cold starts during critical periods. Consider scheduling higher min-instances values only during your peak usage hours.

Our goal is to make scaling decisions as simple as possible while giving you the controls you need for optimization when required.

Updating scaling configuration

You can update your deployment’s configuration at any time via the CLI or Pipecat Cloud Dashboard.

pcc deploy [agent-name] [image] --min-instances 1 --max-instances 5

Please note that changing your scaling parameters will not disrupt any active sessions. If you reduce your max instance count below the number of currently active sessions, you will still be billed for the duration of those sessions.

Usage summary

Pipecat Cloud bills based on:

  • Active session minutes
  • Reserved session minutes

An active session starts when you call the /start endpoint (or CLI or SDK equivalent). The active session ends when your pipeline shuts down.

Reserved session minutes are the time your warm instances are kept running, even if they are not handling active sessions. When active sessions start, the auto-scaler may provision further warm instances to support the next incoming request. Reserved session minutes are optional and controlled by setting --min-instances in your deployment configuration.

Both active and reserved session minutes are rounded up to the nearest minute.