ZalmirBeta

Your own provider keys

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-Key is refused (400 byok_idempotency_unsupported).
  • Provider errors come back to you; on 429 the provider's Retry-After is 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.

ProviderIDStatus
OpenAIopenaiChecked
Together AItogetherChecked
SambaNovasambanovaChecked
DeepSeekdeepseekChecked
Fireworks AIfireworksChecked
xAIxaiChecked
BasetenbasetenChecked
Moonshot AI (Kimi)moonshotChecked
Nebius Token FactorynebiusChecked
DeepInfradeepinfraChecked
GroqgroqChecked
Novita AInovitaChecked
MistralmistralChecked
PerplexityperplexityChecked
ParasailparasailChecked
AnthropicanthropicNot checked yet
Featherless AIfeatherlessNot checked yet
ChuteschutesNot checked yet
Google GeminigeminiOn hold

Each provider has its own data policy: Provider policies.