Pareto / API pricing
Cheapest LLM API? $0.80 in, $3.20 out.
Per million tokens, on prepaid credits. The API speaks the OpenAI Chat Completions and Anthropic Messages formats, so you keep your SDK and change the base URL, key and model string.
Pay as you go · Team
$0.80 in · $3.20 out
Per million tokens. Cached input $0.03.
Prepaid credits · no weekly token cap · 300 requests/minute
New API accounts require manual approval.
Benchmarks in the box above: Preliminary October 1, 2026 runs that may change; denominators and cost method still require confirmation. Not an estimate for your workload. Model card and method.
Comparing low-cost LLM APIs?
Four numbers to check first.
Input and output rates
$0.80 per million input tokens and $3.20 per million output tokens, on the pricing page.
Cached input
Cached input is $0.03 per million tokens.
Cost per task, not just per token
A cheap token can still make an expensive task. The model card publishes mean cost per task: $0.48 on Terminal-Bench 4.0 and $0.24 on DeepSWE v1.1 (preliminary).
Access and limits
Team credits allow 300 requests per minute with no weekly token cap. New API accounts are approved by a person before access turns on.
Keep your SDK
Change the base URL, key and model string.
The API speaks the OpenAI Chat Completions and Anthropic Messages formats (API spec). Keep the SDK you already use. These are the quickstart examples:
OpenAI-format SDK (Python)
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.unbiased.ai/v1",
api_key=os.environ["UNBIASED_API_KEY"],
)
reply = client.chat.completions.create(
model="pareto",
messages=[{"role": "user", "content": "Hello"}],
)
print(reply.choices[0].message.content)
Anthropic-format SDK (Python)
import os
import anthropic
client = anthropic.Anthropic(
base_url="https://api.unbiased.ai",
api_key=os.environ["UNBIASED_API_KEY"],
)
message = client.messages.create(
model="pareto",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
)
print(message.content[0].text)
Model listing (GET /v1/models) isn’t implemented yet, so set the model string pareto yourself. Validate your client’s streaming, tools and error handling before you move live traffic.
Prepaid credits at $0.80 input · $0.03 cached input · $3.20 output per million tokens. New API accounts require manual approval.
One model string.
One bill.
Pareto is Unbiased’s blended AI model: it runs a mix of frontier and open models on each request and blends their outputs into one answer.
Cost per task
Four benchmarks, priced per task.
| Benchmark | Pareto 26.10 score | Cost per task |
|---|---|---|
| GPQA-Diamond | 92.4% | $0.004 |
| Humanity’s Last Exam (text-only) | 49.9% | $0.008 |
| DeepSWE v1.1 | 69.9% | $0.24 |
| Terminal-Bench 4.0 | 50.8% | $0.48 |
One real call
A real bug fix for under a cent.
The problem: a small Python helper should split a list into groups of a set size, but it drops the last group. Asked to split [1, 2, 3, 4, 5] into pairs, it returns [[1, 2], [3, 4]] and loses the 5. We gave Pareto the function and the failing check, applied its fix and reran the checks.
Prompt
This Python function drops the last chunk, and this check fails:
def chunk(items, size):
"""Split items into lists of at most `size` elements."""
out = []
for i in range(0, len(items) - size, size):
out.append(items[i:i + size])
return outassert chunk([1, 2, 3, 4, 5], 2) == [[1, 2], [3, 4], [5]]Find the bug, explain it in one sentence, and give me the fixed function.
Pareto’s answer, unedited
The bug is that the loop uses range(0, len(items) - size, size), which stops too early and never generates start indices for the final partial chunk when the list length isn't a multiple of size.
One-sentence explanation: The range stop value len(items) - size excludes the starting index of the last incomplete chunk, so that chunk never gets appended.
Fixed function:
def chunk(items, size):
"""Split items into lists of at most `size` elements."""
out = []
for i in range(0, len(items), size):
out.append(items[i:i + size])
return outThe change, in plain words
The loop stopped before the end of the list, so the last group was never added. Pareto changed one line so the loop runs to the end.
Before
for i in range(0, len(items) - size, size):After
for i in range(0, len(items), size):The checks, before and after
from chunk import chunk
assert chunk([1, 2, 3, 4], 2) == [[1, 2], [3, 4]]
assert chunk([1, 2, 3, 4, 5], 2) == [[1, 2], [3, 4], [5]]
assert chunk([1], 3) == [[1]]
print("3 checks passed")
$ python3 test_chunk.py # before the fix
AssertionError
$ python3 test_chunk.py # after the fix
3 checks passedCaptured October 17, 2026 from the Unbiased API (model pareto, served as Pareto 26.10). 702 tokens (132 prompt, 570 answer). The original function fails the first check too: it also drops the second pair of an even split. Raw capture and checks.
Coding on a budget?
Rather pay a flat monthly price?
For one person using a coding agent, Personal is $10/month for 50M tokens a week at 20 requests per minute. Personal Max is $100/month for 600M a week at 60 requests per minute. Same API, same model string, same three settings (coding setup).
Subscriptions are for one person and are not unlimited. Requests over the limit return HTTP 429.
When prices move
When frontier prices fall.
“When the frontier improves, Pareto improves; when frontier prices fall, you should benefit.”Pricing page
How does pay-as-you-go billing work?
Team uses prepaid credits at the published rates: $0.80 input, $0.03 cached input and $3.20 output per million tokens, with no weekly token cap and 300 requests per minute.
Which SDKs work?
The API speaks the OpenAI Chat Completions and Anthropic Messages formats. Keep your SDK and change the base URL, the API key and the model string, pareto. Validate your client’s streaming, tools and error handling; format compatibility is not a promise that every integration works.
Is my data kept?
Unbiased Chat, Personal and Personal Max are not part of our Zero Data Retention API. Under section 5(c) of the Terms, prompts and responses on those plans may be kept for up to 30 days for abuse prevention, security monitoring, debugging and product improvement, and our staff may access them. Conversations and Projects you save in Chat are kept until you delete them; otherwise for the length of the contract plus 30 days, or 30 days after a verified account deletion request, whichever is earlier. Standard pay-as-you-go API traffic on Team credits isn’t part of the Zero Data Retention API either: under section 5(c)(i) it may be kept for up to 30 days for abuse prevention and security monitoring. The Zero Data Retention API is described on the Private AI page.
What can I buy today?
Personal is $10/month with 50M tokens a week and 20 requests per minute. Personal Max is $100/month with 600M tokens a week and 60 requests per minute. Team uses prepaid pay-as-you-go credits, with no weekly token cap and 300 requests per minute. Subscriptions are for one person and are not unlimited.
When can I start using the API?
Create or sign in to your platform account to choose a plan. New API accounts require manual approval before access turns on; payment does not mean instant access.