Skip to main content
By default Albus runs the model on its own credentials, and the model has to be one from Albus’s catalog. Bring your own key and the agent runs on your provider account instead: your quota, your rate limits, your billing, and any model that account can reach.

1. Get a key from the provider

Create an API key in the provider’s console, scoped to the models you intend to run: Any other provider name fails the run.

2. Store it as a secret

An agent configuration is stored and versioned, so it must never contain a raw key. Store the key once as a secret; the value is never returned by the API and never appears in a session, trace, audit event, or agent revision.
Piping the value in keeps it out of your shell history. The name is path-like; one per provider and environment (providers/openai/staging) makes rotation obvious later.

3. Point the agent at the provider

Name the provider and reference the secret in model.provider:
In the CLI, --provider and --credential must be given together.

What changes

  • Models. model.name may be anything the provider serves under your key — it no longer has to be in Albus’s catalog (albus models list). A model the provider does not serve, or the key does not authorize, surfaces as a failed run (502) rather than a rejected request, because it is the provider that refuses it; the model_call span in the trace carries the provider’s error.
  • Revisions. The provider is part of the agent configuration, so adding it creates a new revision. Rotating the key does not: albus secrets update providers/gemini/prod changes nothing in the configuration, and the next run picks up the new value.
  • Everything else — tools, MCP servers, memory, traces, the audit log — works the same.