Models and credits¶
Two ways to pay, not two modes¶
| Olano-managed | Bring your own key (BYOK) | |
|---|---|---|
| What you pick | olano:turbo, olano:pro, olano:max |
anthropic:claude-sonnet-4-6, openai:gpt-5.5, … |
| Who holds the provider account | Olano | you |
| What you are billed in | Olano credits | your provider bills you directly |
| Setup needed | none | a provider API key in the vault |
A deployment can do both at once. Billing is a property of the model you
choose, not a mode the whole box is in — one agent can run on credits while
another runs on your own OpenAI key. Pick per agent, and per conversation with
/model.
BYOK shows tokens and estimated dollars, because you own that provider bill and want to reconcile it. Olano-managed shows credits.
The Olano tiers¶
| Tier (what you see) | Value to write in config | Reasoning effort | Use it for |
|---|---|---|---|
| Olano Turbo (default) | olano:turbo |
not applicable | Everyday work. Fast, cheap, no knobs. Start here. |
| Olano Pro | olano:pro |
low / medium / high |
Harder analysis, longer chains of work, better judgement. |
| Olano Max | olano:max |
low / medium / high |
The most powerful frontier models, for genuinely hard problems. |
The name you see and the value you write are the same word for every tier. They
were not always: the top tier's id used to be olano:reasoning, which is why
you may still find that string in an older agent.json5.
olano:reasoningno longer works. It was retired, not aliased, so an agent still configured with it fails to build, with an error namingolano:turbo,olano:pro,olano:max— and the model picker shows the rawolano:reasoninginstead of a product name, which is how you spot one. The fix is to edit the value toolano:max. Nothing rewrites it for you, and the change is nothing more than the new spelling: same tier, same routing, same credit rate.
The word "reasoning" does still appear here, in the Reasoning effort column
above and in a model's reasoning_effort setting. That is how hard a model
thinks about a single request — an unrelated setting that happens to share the
word, and it is not going anywhere.
Every tier offers a very large context window; the dashboard's model picker shows the exact figure for each, and the context bar in a conversation shows how much of it you are using.
What backs a tier is not fixed. Olano routes each tier to whatever currently serves that capability and speed point best, and re-routes as the model landscape changes. That is the value of a tier: you buy a capability level, and you get upgrades without changing a config. It also means you should choose a tier by the job, not by assumptions about a particular underlying model.
olano:turbo is the default and always available. When in doubt, start an agent
on Turbo and move it up only when its work demonstrably needs more.
Deployment default models (default:*)¶
Three aliases sit above every concrete model:
| Alias | Picker name | Out of the box it points at |
|---|---|---|
default:turbo |
Default · Turbo | olano:turbo on an Olano-managed deployment; a bring-your-own-key model elsewhere |
default:pro |
Default · Pro | olano:pro on managed; a bring-your-own-key model elsewhere |
default:max |
Default · Max | olano:max on managed; a bring-your-own-key model elsewhere |
An alias is not a model — it is a pointer the whole deployment shares. Any
agent, subagent, team member or chat conversation set to one follows whatever
target is configured in Config → Default models (the default_models:
block of config.yaml), and the target must be a concrete provider:model —
never another alias. Change a target once and every agent on that alias
switches the next time it boots or reloads, with no per-agent edits. The
pickers show what an alias currently resolves to ("Default · Turbo — currently
Olano Turbo"), and clearing a target in Config restores the deployment's own
built-in default.
Use an alias when an agent should simply run on "the deployment's
everyday/heavier/top brain"; pin a concrete model only when that one agent
genuinely needs that one model. Catalog agents install on the aliases —
experts on default:turbo, team supervisors on default:pro — which is what
makes "move the whole fleet to a different model" a one-field change.
One caveat on a bring-your-own-key install: an alias is only as usable as its current target. If the target's provider has no key or connection, every agent on that alias fails at its next turn — the chat picker greys the alias out for the same reason.
What brain a new agent starts on¶
You almost never have to pick one. Every agent you add — from the New agent
dialog, from an integration, or asked for in plain language — starts on default:turbo, the deployment's
everyday brain. On an Olano-managed deployment that resolves to olano:turbo,
so it works on credits from its first turn with nothing to configure; on a
bring-your-own-key install it resolves to the bring-your-own-key target shown
in Config → Default models.
AgentFather starts on default:turbo as well. Its turns are conversation
and tool calls — a catalog lookup, a config change behind an approval card, a
log read — and the everyday brain answers those in a beat where the deeper tier
made every one of them wait. It used to start on default:pro; an AgentFather
still on that tier from an earlier version is moved to default:turbo on the
next runtime start, unless you picked a different model for it yourself. If you
want it on the deeper tier for a hard design session, change its model in the
Overview tab or use /model for that one conversation — a choice you make
is never rewritten.
Two things override this, in order:
- A model you name. Ask for an agent on a specific model, or set one in the New agent dialog, and that is what you get — even if its provider is not connected yet (you get a warning, not a substitution).
- A
preferred_modelin your home config, which applies to agents installed without naming a model.
Changing an agent's model later is one field — the Overview tab of the
agent's page in the dashboard, model in agent.json5, or /model for a
single conversation. Nothing rewrites a model you chose yourself.
Utility models¶
Two Olano groups exist that are not tiers and never appear in a model picker:
olano:vision— backsimage_describe, so an agent can see images.- the Olano image group — backs
image_generateandimage_edit.
The product calls these on the agent's behalf. They guarantee a capability
(accepts images, produces images) rather than a speed-and-capability point,
which is why they stay independent of the tiers. They cannot be an agent's
brain — setting one as model, cognition.fast_model or
cognition.deep_model makes the config fail to load.
On a managed deployment these run on credits automatically, so vision, image
generation, image editing, speech-to-text and text-to-speech all work with zero
configuration. To use your own provider instead, pin it in config.yaml under
media: (vision, image) and speech: (voice) — see
media: — vision and image generation.
Credits¶
Credits are the unit for everything Olano-managed: model calls on the tiers, and the utility models behind vision, image and speech.
- The dashboard shows your balance and what has been consumed; the Insights tab breaks usage down by agent, by model tier ("Credits by tier"), and by kind of work ("Where credits went": chat, Cortex, scheduled tasks, highlights, subagents…). Every model and service call records its charge on the deployment as it happens, so these figures are measured locally and include background work. Your account balance (Overview's "Credits left", and the cloud deployment page) is the billing-period view — a different window than the charts, so the totals need not match exactly.
credits.displayinconfig.yamlswitches cost displays betweenusdandcredits. It is a display setting only.- Buy more from Olano Cloud (see Olano Cloud).
- Per-agent
budgetcaps (see Budgets) work alongside credits to stop one agent consuming everything.
Unmanaged self-hosted installs have no credit balance — there, BYOK is the only route, and cost tracking is in dollars against your own provider bills.
When a managed service says it is temporarily unavailable¶
Sometimes an agent answers with something like "The turbo tier (Olano-managed) is temporarily unavailable — the request was refused upstream of this deployment." That is an Olano-side problem, not yours:
- Your credits are untouched. Nothing was consumed, and the balance you see is still yours to spend.
- Nothing on your deployment is misconfigured. There is no key to set and no setting to change — a message that asks you to fix a credential is a different error with different wording.
- Your own provider keys keep working. If you have BYOK configured, pointing
the agent at one of your own models (dashboard → the agent → Model, or
/modelin chat) keeps it running until the tier recovers.
The message names what is affected. It can be a tier you chose (the turbo tier, the pro tier) or one of the services Olano runs on the agent's behalf — image understanding, for instance, which is what reading an image uses. That distinction matters: if it names a single service, everything else keeps working, and only the requests that need that service fail.
You will not see it for a passing blip. Olano retries a request like this a few times on its own, waiting a little longer between attempts, before it gives up and tells you — so a message that does appear means the problem has already outlasted several tries.
Wait a few minutes and send the message again. If it still fails, write to [email protected] and say which service the message named. In dashboard chat the error carries an Email support button that opens a pre-filled message naming the service and your deployment.
Two nearby errors that read similarly but mean the opposite, because the fix is yours in both cases:
| What it says | What it means |
|---|---|
| out of olano credits … buy more on your deployment card | Your balance is spent. Buy credits (see Olano Cloud); BYOK models keep working meanwhile. |
your <provider> account is out of balance |
A BYOK provider account of yours ran dry. Top it up with that provider. |