unbiased ai

Your CrewAI crew, running on Pareto

A crew is several agents taking turns, which means several model calls for every job you hand it. CrewAI lets you staff all of them from one LLM object: give it openai/pareto and the Unbiased base URL, pass it to each agent, and the roles, tasks and process stay as you wrote them. Each call goes to Pareto, which selects frontier and open models and blends their outputs into one answer.

Tested live with CrewAI 1.15.2850M tokens a week

A demonstration of CrewAI on Pareto, recreated from a real run. Not a screenshot.

Set it up with one LLM object

CrewAI talks to OpenAI-compatible endpoints through its LLM class. Build one with the Unbiased base URL and the model openai/pareto, then hand it to every agent in the crew.

  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.

  2. Install CrewAI

    Run pip install crewai on Python 3.10 to 3.13. The OpenAI client library comes with it; you do not need an OpenAI account.

  3. Build the LLM

    Pass model="openai/pareto", base_url="https://api.unbiased.ai/v1" (keep the /v1) and your key as api_key. The openai/ prefix tells CrewAI which format to speak; the part after it, pareto, is what Unbiased receives.

  4. Give it to every agent

    Pass llm=llm to each Agent(...). An agent without it falls back to CrewAI’s default model and your environment settings, which may not be Pareto.

  5. Kick off the crew

    Run your script as usual. With verbose=True you can watch each agent start, answer and hand its work to the next task.

Tested on October 20, 2026CrewAI 1.15.28 on Pareto (pareto). A two-agent crew ran in sequence: a researcher listed three facts about Python's range() and a writer turned them into a brief under 60 words. Run record.
Install
pip install crewai
brief.py
from crewai import Agent, Crew, Process
from crewai import LLM, Task

llm = LLM(
    model="openai/pareto",
    base_url="https://api.unbiased.ai/v1",
    api_key="your-unbiased-api-key",
)

researcher = Agent(role="Researcher", goal="Find three facts about {topic}",
    backstory="You check sources and keep notes short.", llm=llm)
writer = Agent(role="Writer", goal="Turn research notes into a short brief",
    backstory="You write plainly for busy readers.", llm=llm)

research = Task(description="List three facts about {topic}.",
    expected_output="Three numbered facts", agent=researcher)
brief = Task(description="Write a brief from the research notes.",
    expected_output="One paragraph under 60 words", agent=writer,
    context=[research])

crew = Crew(agents=[researcher, writer], tasks=[research, brief],
    process=Process.sequential, verbose=True)
print(crew.kickoff(inputs={"topic": "Python's range()"}))
Or environment variables
# Agents without llm= read these
export MODEL=openai/pareto
export OPENAI_BASE_URL=https://api.unbiased.ai/v1
export OPENAI_API_KEY=your-unbiased-api-key

In real code, read the key from an environment variable rather than writing it into the file. To switch off CrewAI’s telemetry and tracing, set CREWAI_DISABLE_TELEMETRY=true, OTEL_SDK_DISABLED=true and CREWAI_TRACING_ENABLED=false.

Your crew stays. The model changes.

One object changes, and every agent you pass it to follows. Roles, tasks and the order they run in stay as written.

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 CrewAI 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

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.

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.

Pay for CrewAI by the month

One API key works across CrewAI 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.

CrewAI on Pareto, questions answered

Does CrewAI work with Pareto?

Yes, in our test. CrewAI’s LLM class sends OpenAI Chat Completions requests to any base_url, and Unbiased accepts that format. We ran CrewAI 1.15.28 on Python 3.12 against Pareto on October 20, 2026: a researcher and a writer ran in sequence, and the writer turned the researcher’s notes into a short brief. Format compatibility is not a promise that every CrewAI feature works, so tell us if one doesn’t.

Why openai/pareto and not just pareto?

CrewAI’s docs say to always include a provider prefix. The openai/ prefix makes CrewAI use its built-in OpenAI provider, which ships with CrewAI, so you do not need LiteLLM. CrewAI also accepts custom_openai=True for OpenAI-compatible endpoints; it is optional here, and our live run worked without it. Unbiased receives the model name pareto. Type it yourself: Unbiased does not serve a model list.

One of my agents is still calling another model. Why?

That agent probably has no llm=. CrewAI then uses its default model, or whatever MODEL and the OPENAI_* variables say. Pass the same LLM object to every agent, or set the environment variables from the setup above.

Can I mix Pareto with other models in one crew?

Yes. Each agent takes its own llm, so you can give Pareto to some agents and another provider to the rest. Agents you point at Pareto use your Unbiased plan; the others bill wherever their provider bills.

Can I run a crew in production on Pareto?

Personal plans are for one person’s own work and experiments. Commercial or production use needs a separate written agreement with Unbiased. If you build agents for others, see the page for agent builders.

Is Pareto made by the CrewAI team?

No. Pareto is Unbiased’s model. CrewAI is made by CrewAI, and Unbiased is not affiliated with or endorsed by them. You keep CrewAI 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 the whole crew on one key

One LLM object, one key and the same agents. Pareto starts at $10 a month for 50M tokens a week.