generated from mintlify/starter
-
Notifications
You must be signed in to change notification settings - Fork 25
Add managed API keys guide #376
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
markbackman
wants to merge
2
commits into
main
Choose a base branch
from
mb/managed-keys
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
--- | ||
title: Managed API Keys | ||
description: "Using managed API keys for your Pipecat Cloud agents" | ||
--- | ||
|
||
## Overview | ||
|
||
Pipecat Cloud provides API keys for some Pipecat services that you can use directly in your applications. These managed keys give you access to competitive pricing, higher rate limits, pre-signed BAAs and DPAs for compliance, and integrated billing with your Pipecat Cloud account. | ||
|
||
<Note> | ||
Managed keys are currently in beta. We are planning to add more services based | ||
on demand. If you're interested in us supporting a specific service, let us | ||
know by emailing [pipecat-ai@daily.co](mailto:pipecat-ai@daily.co). | ||
</Note> | ||
|
||
## Supported Services | ||
|
||
- **Cartesia Text-to-Speech** | ||
|
||
## Pricing | ||
|
||
Usage of managed keys is billed through your Pipecat Cloud account. For detailed pricing information, visit our [pricing page](https://www.daily.co/pricing/pipecat-cloud/). | ||
|
||
## How to Use Managed Keys | ||
|
||
### Enable in Deployment Configuration | ||
|
||
When deploying your agent, you need to enable managed keys in your configuration. | ||
|
||
**Using pcc-deploy.toml:** | ||
|
||
```toml | ||
enable_managed_keys = true | ||
``` | ||
|
||
**Using the CLI:** | ||
|
||
```bash | ||
pcc deploy --enable-managed-keys true | ||
``` | ||
|
||
<Info> | ||
This setting is configured per agent deployment. Any changes require | ||
redeploying your agent to take effect. | ||
</Info> | ||
|
||
### Update Your Code | ||
|
||
When initializing a supported service in your Pipecat application, use the special string `"PIPECATCLOUD"` as the API key. This tells Pipecat Cloud to use the managed key when your agent is deployed. | ||
|
||
To ensure your code works both locally (with your own API key) and when deployed (with managed keys), use this pattern: | ||
|
||
```python | ||
import os | ||
from pipecat.services.cartesia.tts import CartesiaTTSService | ||
|
||
tts = CartesiaTTSService( | ||
api_key=os.getenv("CARTESIA_API_KEY", "PIPECATCLOUD"), | ||
voice_id="71a7ad14-091c-4e8e-a314-022ece01c121", | ||
) | ||
``` | ||
|
||
This approach: | ||
|
||
- Uses your local `CARTESIA_API_KEY` environment variable during development | ||
- Automatically switches to the managed key when deployed to Pipecat Cloud | ||
|
||
<Note> | ||
The `PIPECATCLOUD` key is only available for Cartesia TTS when there is no | ||
value for `CARTESIA_API_KEY` in your corresponding secrets set. | ||
</Note> | ||
|
||
## Getting Help | ||
|
||
If you have any questions about using managed keys, reach out to us on [Discord](https://discord.gg/pipecat). Our community and team are happy to help! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should make clear that this only works if you don't have CARTESIA_API_KEY defined in your attached secret set.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added a note about this. You can see it in the latest commit.