unbiased ai

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.

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.

Get started with Team

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.

See preliminary benchmarks and cost per task →

Cost per task

Four benchmarks, priced per task.

BenchmarkPareto 26.10 scoreCost per task
GPQA-Diamond92.4%$0.004
Humanity’s Last Exam (text-only)49.9%$0.008
DeepSWE v1.169.9%$0.24
Terminal-Bench 4.050.8%$0.48
Preliminary October 1, 2026 results, subject to change; denominators and cost method still require confirmation. Not an estimate for your workload. Model card and method.

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 out
assert 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 out

The 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 passed

Captured 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).

Choose Personal · $10/month

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

The details

Before you choose.

All plans and rates →

Terms · Usage Policy · Data Policy

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.

Price your own workload.

Get started with TeamOr Personal · $10/month

Manual approval for new API accounts.