Save a key from a provider account you already have, and Zalmir sends your request straight to that provider with it. The provider bills you; Zalmir charges $0 and checks no balance.
Add a key
Open Your provider keys, pick the provider and paste the key. Zalmir checks it with the provider before saving, and a key that fails is not saved. One key per provider; you can replace or delete it. Only the last four characters are ever shown again.
Use it
Add "provider": { "byok": "<provider id>" } to a chat completion, with the provider's own model ID. The provider object must contain only byok.
curl "$BASE_URL/chat/completions" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<provider model id>",
"messages": [{ "role": "user", "content": "Hello" }],
"provider": { "byok": "openai" }
}'- One attempt to that provider only: no retry, and no fallback to another provider or to paid endpoints.
- Chat completions only; other endpoints return
400 byok_api_unsupported. Idempotency-Keyis refused (400 byok_idempotency_unsupported).- Provider errors come back to you; on
429the provider'sRetry-Afteris kept. - No saved key for that provider:
400 byok_no_credential.
Check a saved key
One harmless call to the provider (its model list) with your saved key. Nothing is charged or recorded, and the key is never returned.
curl "$BASE_URL/byok/check" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{ "provider": "openai" }'How keys are stored
Keys are encrypted with AES-256-GCM, bound to your account and the provider. Only the gateway can decrypt them, only for the call you asked for; the website never sees them again. Deleting a key erases it.
Providers
Each provider is switched on separately; the Account page lists the ones you can use now. "Checked" means Zalmir has tested its connection; "Not checked yet" providers are not offered until they are.
| Provider | ID | Status |
|---|---|---|
| OpenAI | openai | Checked |
| Together AI | together | Checked |
| SambaNova | sambanova | Checked |
| DeepSeek | deepseek | Checked |
| Fireworks AI | fireworks | Checked |
| xAI | xai | Checked |
| Baseten | baseten | Checked |
| Moonshot AI (Kimi) | moonshot | Checked |
| Nebius Token Factory | nebius | Checked |
| DeepInfra | deepinfra | Checked |
| Groq | groq | Checked |
| Novita AI | novita | Checked |
| Mistral | mistral | Checked |
| Perplexity | perplexity | Checked |
| Parasail | parasail | Checked |
| Anthropic | anthropic | Not checked yet |
| Featherless AI | featherless | Not checked yet |
| Chutes | chutes | Not checked yet |
| Google Gemini | gemini | On hold |
Each provider has its own data policy: Provider policies.