OpenAI-compatible API

The cheapest model that's good enough, for every step of your pipeline.

At least 90% as good as the best model, typically 90%+ cheaper.

Median across 52 tasks · benchmark snapshot 2026-09-15 · See the numbers →

from openai import OpenAI

client = OpenAI(
    base_url="https://api.fronset.ai/v1",
    api_key="llmb_i_…",
)

raw = client.chat.completions.with_raw_response.create(
    model="structured-content-summarization",  # a task
    messages=[{"role": "user", "content": article_text}],
)
# which model answered, and what its answer cost at list price
print(raw.headers["x-llmbench-model"])
print(raw.headers["x-llmbench-cost-usd"])
# how much evidence we have for it (can be absent)
print(raw.headers.get("x-llmbench-band"))
summary = raw.parse().choices[0].message.content
Your OpenAI code with a different base URL. model names the task, and the headers tell you what ran.

Name the task, not the model. Fronset runs each call on the cheapest LLM measured good enough for that task, checks the output against your schema, and tells you which model answered and what it cost.

How it works

1. You name the task. Put a task in model: one from our catalogue, or your own.

2. We pick the model. Panels of LLM judges grade real outputs of that task, and every score carries a confidence band. The cheapest model that clears the bar runs your call. While a new task is still being measured, some calls are compared across a few models.

good enoughcheapestpriciest
Schematic. Each bar is a model, cheapest to priciest; the dashed line is good enough for the task. We route to the cheapest model that clears it.

3. You see what happened. Every response names the model and provider that answered and the cost at list price, and shows how much evidence we have for that model once there is some. The task’s own status tells you whether it is still being measured.

The best model is usually overkill

At a 90% quality bar on our public benchmark, the top-scoring model costs on average 13.4× as much per run as the cheapest good-enough one for Structured Data & Fact Extraction, and 14.1× for Relevance, Classification & Matching. See the numbers → (benchmark snapshot 2026-09-15; batch prices where the provider offers them)

Built for pipeline steps

  • OpenAI-compatible. Change the base URL and the key.
  • Batch. Keep your OpenAI batch format: one task for the whole file, and each line runs at the provider’s batch rate (50% off at Anthropic, OpenAI, Gemini and Alibaba). The discount is yours.
  • Structured output. On a catalogue task the schema comes with the task; on a task you define on your own keys, give us your JSON schema. Either way, output that doesn’t match is repaired, or retried on another model.
  • Nothing hidden. Parameters we ignore are listed in the response.

Pricing

No markup on model usage. The first 10,000 calls a month carry no fee, on every plan. After that: $2.00 per 1,000 calls up to 50,000, $1.50 up to 250,000, and $1.00 beyond. Buying credit costs 5.5% (minimum $0.80). On our provider accounts, while a task is still being measured, model usage is billed at the provider’s list price and every model call behind your request is on your invoice at cost; once the task settles, it bills at the task’s published rate, set from measured cost. Bring your own provider keys instead and your provider bills you directly, comparison calls included; you then pay us only the per-call fee.

  • Free: $0, paid for with data. We keep the prompts you send, word for word, may re-run them on new models, and pool the quality grades from your calls with other customers’. Pooling can’t be undone. Send no personal data on it.
  • shared_anon: keeps your prompt text off the call record. A batch keeps a working copy while it runs; grades are still pooled. Stored templates may be adopted into our shared library and republished.
  • private: by conversation. Grades stay in your account, and templates are never republished. Write to us .

Upgrade before your first call: each call is stored under the plan in force when it runs. Full pricing →

The benchmark, and us

We publish the Fronset Benchmark — the right-sized LLM benchmark — at fronset.ai/benchmark/ , and we sell the API that routes on it. For the catalogue tasks, the numbers on the benchmark are the numbers the router uses: 30 models and 52 tasks in the 2026-09-15 snapshot. How we keep that honest →