Personal
$10/month
- 50M tokens a week
- 20 requests per minute
- For one person
Pi is a minimal agent harness that skips sub-agents and plan mode and lets you build the rest. Adding a model is just as spare: Pareto fits in a single provider entry. Add Unbiased to ~/.pi/agent/models.json, start Pi with --model pareto, and every request goes to Pareto, which selects frontier and open models and blends their outputs into one answer.
Tested live with Pi 1.3.050M tokens a week
Pi adds custom endpoints through models.json in its agent directory, ~/.pi/agent/ by default. One provider entry with one model is enough for Pareto.
Choose a plan, then create a key in the Unbiased platform. New accounts are reviewed and approved by a person before the key works.
Add an unbiased provider with baseUrl set to https://api.unbiased.ai/v1 and api set to openai-completions. Keep the /v1: Pi adds /chat/completions after it.
Pi does not fetch a model list from custom endpoints, and Unbiased does not publish one, so write the model in by hand with id set to pareto. The contextWindow and maxTokens values tell Pi how much room it has.
Set apiKey to "$UNBIASED_API_KEY". Pi fills it in from your environment, so the key itself never sits in the file.
Start Pi with --provider unbiased and --model pareto, as in the shell block. To make it the default, open /model, search for pareto and press Ctrl+S.
pareto). It read the failing test, found the off-by-one in chunk.py, edited the file and reran the test to green. Run record.{
"providers": {
"unbiased": {
"baseUrl": "https://api.unbiased.ai/v1",
"api": "openai-completions",
"apiKey": "$UNBIASED_API_KEY",
"models": [
{
"id": "pareto",
"name": "Pareto",
"contextWindow": 1000000,
"maxTokens": 131072
}
]
}
}
}export UNBIASED_API_KEY=your-unbiased-api-key
pi --provider unbiased --model pareto
# One task, no TUI (close stdin when scripting)
pi --provider unbiased --model pareto \
--print "Fix the failing test" < /dev/nullPareto worked without any compat flags, and Pi’s docs advise against adding them unless an endpoint needs them.
One provider entry is added. Pi’s tools, sessions and customizations stay exactly where you put them.
! bashUnchangedAGENTS.md, skills, prompts and extensionsUnchangedparetoapi.unbiased.ai/v1Pareto is Unbiased’s blended AI model. On each request it selects frontier and open models and blends their outputs into one answer, so Pi talks to one model string, pareto, and never has to pick.
“When the frontier improves, Pareto improves; when frontier prices fall, you should benefit.” From the pricing page.
How a Pareto answer gets made →Agents make many model calls per task, so the price of a finished task matters more than the price of a token. The model card publishes both for Pareto on two public agent benchmarks.
Pareto 26.10, preliminary October 1, 2026 runs that may change; denominators and the cost method still require confirmation. Cost is the reported mean USD per task at API rates, not an estimate for your workload. Model card and method.
One API key works across Pi and any other tool you point at Pareto. Pick a monthly allowance, or pay per token on Team.
$10/month
$100/month
Pay as you go
Subscriptions are for one person and are not unlimited. New API accounts are reviewed by a person before access turns on, and commercial or production use needs a separate written agreement. Rates and limits are on Pricing.
Use openai-completions with the base URL https://api.unbiased.ai/v1. That is the setup we ran with Pi 1.3.0 on October 20, 2026: Pi read the failing test, fixed chunk.py and reran the test to green. Format compatibility is not a promise that every Pi feature works, so tell us if one doesn’t.
The picker only lists models whose provider has a usable key. Export UNBIASED_API_KEY in the shell that starts Pi, then open /model again; opening it reloads models.json. A --api-key flag or a stored /login credential for the same provider takes precedence over the file.
Pi reads piped stdin as part of the prompt, so a pipe left open keeps it waiting. Redirect stdin from /dev/null, as in the setup above, and the run exits when the task is done.
Yes. The unbiased provider sits beside the ones Pi already knows. Switch with /model or cycle with Ctrl+P. To go back for good, pick your old model in /model and press Ctrl+S to save it as the default again.
No. Pareto is Unbiased’s model. Pi is made by Earendil Inc., and Unbiased is not affiliated with or endorsed by them. You keep Pi and point it at the Unbiased API.
Requests over your plan’s limits return an HTTP 429 error. Personal includes 50M tokens a week and 20 requests per minute. Personal Max raises that to 600M a week and 60 requests per minute for $100/month. Team uses prepaid pay-as-you-go credits with no weekly token cap.
No. You send every request to one model string, pareto. Pareto selects frontier and open models for each request and blends their outputs into one answer.
Personal and Personal Max are not our zero data retention tier: prompts and responses may be kept up to 30 days, as section 5(c) of the Terms explains. For work that must not be kept, ask about the Zero Data Retention API on the Private AI page.
The same key and the same model string go into each of these. See them all.
Product names belong to their owners. Except where a guide says otherwise, Unbiased is not affiliated with or endorsed by the makers of the tools on this page.
One provider entry, one key and the same small agent. Pareto starts at $10 a month for 50M tokens a week.