Bring Your Own Key (BYOK)
Run AI models on your own provider accounts instead of PlayKit's shared service
Bring Your Own Key (BYOK)
By default, your games run on PlayKit's shared, managed AI service — you don't manage any provider accounts, and usage is billed through PlayKit credits. With BYOK, you connect your own first-party provider accounts (OpenAI, Anthropic, Google AI Studio, DeepSeek). Once a provider is connected, your games run that provider's models on your key instead of the shared pool.
When to use BYOK
- You already have provider accounts with negotiated rates, committed spend, or free credits you want to draw down.
- You need usage to appear on your own provider billing and dashboards.
- You want direct access to a provider's quota and rate limits rather than sharing PlayKit's pool.
If none of these apply, you don't need BYOK — the shared service works out of the box.
Supported providers
BYOK applies to the first-party text providers PlayKit routes to directly:
| Provider | Powers | Where to get a key |
|---|---|---|
| OpenAI | GPT models | https://platform.openai.com/api-keys |
| Anthropic | Claude models | https://console.anthropic.com/settings/keys |
| Google AI Studio | Gemini models | https://aistudio.google.com/apikey |
| DeepSeek | DeepSeek models | https://platform.deepseek.com/api_keys |
A connected key applies to every model that provider powers. Models served through other providers continue to use the shared service.
Connecting a provider
- Open the AI Providers page in the PlayKit Dashboard.
- Pick a provider from the Available list.
- Paste your provider API key. Use Test to confirm the key is valid before saving.
- Connect to save it.
Your key is encrypted at rest and never shown again. To rotate it, open the connected provider and choose Replace key; to stop using it, choose Disconnect.
Scope and permissions
Keys are stored at the workspace level (your personal account or your organization), so every game in the workspace uses them automatically — there's nothing to configure per game. In a personal workspace the owner manages keys; in an organization, only an organization admin can connect, replace, or disconnect a provider.
How routing works
When a request targets a model whose provider you've connected, PlayKit tries your key first. If that request fails — an invalid or expired key, an exhausted account, a provider outage — PlayKit automatically falls back to its shared service so your game keeps working. You don't lose availability by connecting a key.
Because of this fallback, a connected key is a preference, not a hard requirement: the same automatic failover that protects the shared service also protects you when your own account has a problem.
Exclusive mode
If you'd rather a provider's models run only on your key — for cost control or data governance — enable Use this key exclusively when connecting. In exclusive mode there is no fallback: that provider's models run solely on your key, and if it fails (invalid, expired, or out of credit), the request fails rather than running on the shared service.
Exclusive mode is off by default, so unless you turn it on, connected keys use the fallback behavior described above.
Billing implications
While a request runs on your connected key, that usage is billed by the provider to your account, not metered as PlayKit model credits. Requests that fall back to the shared service — or that target models you haven't connected a provider for — are billed through PlayKit as usual. See Credits & Costs for how shared-service billing works.
Removing a key
Disconnecting a provider stops using your key immediately. Affected models go back to running on PlayKit's shared service on the next request.