unbiased ai

LibreChat, with Pareto in the model menu

You host the chat app. Your team already knows its sidebar, its presets and its agents. Add Unbiased as a custom endpoint in librechat.yaml, list pareto as the model, restart, and it appears in the endpoint menu next to everything else. Each request then goes to Pareto, which selects frontier and open models and blends their outputs into one answer.

Settings from LibreChat’s docs50M tokens a week

An illustration of LibreChat on Pareto. Not a screenshot.

Add one endpoint to librechat.yaml

LibreChat reads custom providers from librechat.yaml in the project root, next to .env. Unbiased speaks the OpenAI Chat Completions format, so it goes under endpoints.custom like any other OpenAI-compatible provider.

  1. Get an Unbiased API key

    Choose a plan, then create a key in the Unbiased platform. New accounts are reviewed and approved by a person before the key works. Put it in .env as UNBIASED_API_KEY.

  2. Add the custom endpoint

    Under endpoints.custom, add an entry with baseURL set to https://api.unbiased.ai/v1 and apiKey set to ${UNBIASED_API_KEY}. LibreChat adds /chat/completions itself.

  3. Type the model name by hand

    Set models.default to ['pareto'] and leave fetch off. Unbiased does not serve a model list, so LibreChat should not try to fetch one. Set titleModel to pareto too.

  4. Mount the file on Docker

    Copy docker-compose.override.yml.example to docker-compose.override.yml and uncomment the bind mount for librechat.yaml. Local installs skip this step.

  5. Restart and pick Unbiased

    Run docker compose down && docker compose up -d, or restart npm run backend. Unbiased then shows in the endpoint menu with pareto under it.

Settings follow LibreChat’s own documentation: LibreChat docs: Custom Endpoints (librechat.yaml).

librechat.yaml
# Use the config version for your release.
version: 1.3.17
endpoints:
  custom:
    - name: 'Unbiased'
      apiKey: '${UNBIASED_API_KEY}'
      baseURL: 'https://api.unbiased.ai/v1'
      models:
        default: ['pareto']
        fetch: false
      titleConvo: true
      titleModel: 'pareto'
      modelDisplayLabel: 'Pareto'
.env
UNBIASED_API_KEY=your-unbiased-api-key
docker-compose.override.yml
services:
  api:
    volumes:
      - type: bind
        source: ./librechat.yaml
        target: /app/librechat.yaml

If librechat.yaml lives somewhere else, point CONFIG_PATH at it. Config changes only show up after a restart.

LibreChat stays. One more endpoint appears.

You add an entry to a file you already maintain. The app your users open in the morning looks the same, with one more choice in the menu.

One model string, several models behind it

Pareto is Unbiased’s blended AI model. On each request it selects frontier and open models and blends their outputs into one answer, so LibreChat 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 →
An illustration, not a wiring diagram. The blend includes frontier and open models, and its composition can change.

What an agent task costs on Pareto

A chat reply is one model call. A LibreChat agent working through a task can make many, 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.

Terminal-Bench 4.0Tasks an agent completes in a terminal
$0.48/task
50.8% solved
DeepSWE v1.1Changes an agent makes in a real codebase
$0.24/task
69.9% solved

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.

LibreChat is free. Pay for the model by the month.

One API key works across LibreChat and any other tool you point at Pareto. Pick a monthly allowance, or pay per token on Team.

Personal

$10/month

  • 50M tokens a week
  • 20 requests per minute
  • For one person
Choose Personal

Personal Max

$100/month

  • 600M tokens a week
  • 60 requests per minute
  • For one person
Choose Personal Max

Team

Pay as you go

  • Prepaid credits at published rates
  • 300 requests per minute
  • No weekly token cap
Get started with Team

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.

LibreChat on Pareto, questions answered

Why doesn’t LibreChat list Unbiased’s models on its own?

Unbiased does not serve GET /v1/models, so there is no list to fetch. Write pareto into models.default and keep fetch: false. Pareto is the only model string you need.

Why set titleModel to pareto?

With titleConvo on, LibreChat asks a model to name each conversation. If titleModel is left out it asks for gpt-3.5-turbo, and that request would go to Unbiased under a name it does not offer. Setting it to pareto keeps titles on the same endpoint. titleModel: 'current_model' also works: it reuses whatever model the conversation is on.

Can everyone on our LibreChat server share one key?

Not on a Personal plan: Personal and Personal Max are for one person. For a shared server, set apiKey: 'user_provided' so each user pastes their own key, or use Team, which runs on prepaid pay-as-you-go credits. Commercial or production use needs a separate written agreement.

What should I name the endpoint?

Anything except the names LibreChat keeps for its built-in endpoints, such as openAI or anthropic. The name is the label your users see in the endpoint menu.

Has this been tested inside LibreChat?

Not yet. These settings follow LibreChat’s custom endpoint documentation, and the Unbiased endpoint they call answers standard Chat Completions requests for pareto. Format compatibility is not a promise that every LibreChat feature works, so tell us if one doesn’t.

Is Pareto made by the LibreChat team?

No. Pareto is Unbiased’s model. LibreChat is made by the LibreChat open-source project and its contributors, and Unbiased is not affiliated with or endorsed by them. You keep LibreChat and point it at the Unbiased API.

What happens when I hit the weekly allowance?

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.

Do I choose between models?

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.

Is my code kept?

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.

Pareto works in other tools too

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.

Put Pareto in the menu and see who picks it

One yaml entry, one key and a restart. Pareto starts at $10 a month for 50M tokens a week.