AI models and spend
Agents think with an AI model that your workspace connects. Settings → AI models is where you add models; Settings → Usage & cost shows what each task used. An agent cannot take a task until it has an active model.
The AI models page
Section titled “The AI models page”| Tab | What it holds |
|---|---|
| Models | The models you can use, who provides each one and how its cost is counted |
| Hidden identifiers | Which infrastructure identifiers are replaced with stand-ins before a model sees them |
| Sending rules | Rules that replace, stop or record text before it is sent to a model |
The last two tabs are described in Approvals and guardrails. Only administrators can add or change models.
Add a model with an API key
Section titled “Add a model with an API key”- Open Settings → AI models and press Add a model.
- Choose the provider: OpenAI, Anthropic or DeepSeek. You use your own API key, billed by that provider per token.
- Enter a Connection name, the Model identifier and the Provider API key. The form is prefilled for the provider; check the token limits and rates before saving.
- Under Pricing, choose I know its price and enter what your provider charges per million input and output tokens, or choose No price: cost not tracked. Cache prices are optional.
- Press Save model connection.
Polo keeps the key encrypted and does not show it again. To change it, press Replace API key on the model. Disabling a model means the agents that use it need another model before they can take a task.
Use a ChatGPT subscription
Section titled “Use a ChatGPT subscription”Where your Polo deployment supports it, an administrator can sign in with their own ChatGPT plan instead of an API key.
- Press Add a model and choose ChatGPT subscription.
- Name the connection and choose what answers: your plan’s default model, one of the listed models, or Route by task.
- Press Sign in with ChatGPT. Polo shows OpenAI’s sign-in page and a one-time code. Turn on device code sign-in in your ChatGPT security settings first.
- Finish signing in on OpenAI’s page. “ChatGPT subscription” then appears in the model list.
A plan belongs to one person, so use it for your own work. Usage is counted in tokens, not dollars, and the plan’s own limits apply: when the plan’s limit is reached, the task stops and says when it resets.
Route by task
Section titled “Route by task”With Route by task, one model plans each task and reviews its result, and another runs each working step. Choose both under Planning and review and Each working step. This is a choice of a ChatGPT subscription connection.
Local models and a Claude subscription
Section titled “Local models and a Claude subscription”These are set up by whoever runs Polo, on the computer that runs it. They are not added from the browser.
- A local model. A self-hosted Polo can use any OpenAI-compatible endpoint, such as llama-server. Its usage is counted in tokens and its cost shows as Cost not tracked (local model). See Run Polo locally.
- A Claude or ChatGPT sign-in on that computer. A self-hosted Polo can use the Claude Code or Codex sign-in on its own machine, only for the workspaces the operator names. The model then shows as “Claude subscription” or “ChatGPT subscription (Codex)”. A Claude plan is only ever used on the plan owner’s own computer; it cannot be connected from the browser.
Choose a model for an agent
Section titled “Choose a model for an agent”Models are chosen per agent on the Agents page:
- Default model answers for the task and for every helper without a specialist model.
- Fallback model takes over when the default cannot answer, inside the same budget. The task says when it switched.
- Specialist models answer for helpers that ask for a named model class.
See Agents.
Budgets
Section titled “Budgets”Every task runs inside limits, and stops when it reaches one.
| Limit | Where it is set |
|---|---|
| Model budget per task (USD) | On the agent. A task, schedule, monitor or intake source can set its own. |
| Token limit per task | On the agent; shown on its card |
| Time limit per task, including tool time | On the agent; shown on its card |
What stops a task depends on how its model is priced:
- A priced model: the task stops at its dollar budget or its token limit, whichever comes first.
- A model without a price: the task stops at its token limit. Its cost is not tracked.
How cost is shown
Section titled “How cost is shown”Polo prices each model call from the tokens it used at the rates you entered.
| What you see | Meaning |
|---|---|
| Known cost | The sum of settled calls at their model’s price |
| Up to an amount not yet settled | A call ended without a final cost. It counts at the most it could have cost. |
| Up to an amount held for running calls | Reserved for calls still in progress |
| Cost not tracked (no price set) | The model has no price. Usage is counted in tokens. |
| Cost not tracked (local model) | A model run by whoever runs Polo, without a price |
Usage & cost
Section titled “Usage & cost”Settings → Usage & cost covers a period you choose: Last 7 days, Last 30 days or Last 90 days.
- By model shows usage and cost for each model.
- By task shows AI usage and cost for each task in the period, with a link to the task.
Inside a task, Technical details shows the same usage broken down by model, including what Polo and each helper used.
What is not included: runner, storage and cloud charges. The page counts AI model usage only. Your cloud’s own cost is a separate thing that an agent can read from a connected account; see Cloud and infrastructure.
Limits
Section titled “Limits”- Prices are entered by you and are not checked against the provider’s bill.
- A subscription’s usage is shown in tokens only.
- Signing in to ChatGPT again replaces the stored sign-in; disabling the model removes it.