A router that drops cost by 48%
A router that drops cost by 48%
We find you cheaper inference within the time you provide.
−48%costs
$3.83
without FlexInference
$2.00
with FlexInference
$ / 1M tokens
+16%latency
243 ms
without FlexInference
282 ms
with FlexInference
Time to first token (ms)
// median cost and latency across 62,852 requests (as of 2026-07-13)
Some of the ways you can drop your costs by half
- Play the Gemini Image Classification demo Gemini Image Classification
- Play the OpenAI Deep Research demo OpenAI Deep Research \-30.1% Latency\-44.8% Cost
- Play the OpenAI Browser Agent demo OpenAI Browser Agent
- ### 3 ms routing across 300 cities. When you make a request it is fulfilled using edge compute. We use Cloudflare workers which is deployed in 300+ cities. Our own routing adds 1-5 milliseconds on a cold start.
- ### Your prompts are never stored or read. Your prompt and its reply just pass through. We never store them and we never read them. Your provider key is envelope-encrypted with AES-256-GCM and locked to your exact org and provider slot, so it decrypts nowhere else, and a key that will not decrypt is treated as missing. So your production key is safe to drop in.
- ### Your discounts, credits, and API tiers stay yours. You bring your own key, so the provider bills you directly. We also don't have a fee per request. By bringing your own key you also get the benefits of using your credits, discounts, negotiated rates, and API tiers.
- ### We fail fast and loud. If you send a wrong parameter we don't quietly strip it to force a success. When the provider rejects a request, we send the status code and the error back to you. That way you can debug based on your intentions and not find a bug weeks after launching.
- ### Your existing client works unchanged. Point the base URL at us and pass your key. We work with OpenAI, Anthropic, and Gemini clients. To use FlexInference you just need to add a single new field, start\_within. If you decide to use our Python or TypeScript SDKs then you also get the benefits of strict types.
- ### Errors your agent can fix itself. Every error comes back in the shape of the SDK you called, so your client parses it unchanged. It carries a machine-readable code, the exact fix, and a doc\_url. Our MCP server goes further. Coding tools like Claude and Cursor can search the docs, look up any error code, and manage your keys over OAuth. So your agents fix their own mistakes, and you are not stuck babysitting them.
- No fee per standard request
- No sales call
- No seats or tiers
- No trial
+20.2% Latency\-38.9% Cost
+9.7% Latency\-51.5% Cost
We don't change your request and still get you savings.
People keep asking "What's the catch?". There isn't one. Your chosen model, output budget, thinking configuration, tool use, whatever you choose stays the EXACT same. We don't change a thing. All we do is find cheaper inference across providers in the time you budget for us.
Without a time budgetWith a time budget (flex race)
No SLA`start_within: default`
Without a time budget
The request goes straight to the standard tier.
You get the answer at standard cost.
Standard cost$1.00
SLA set`start_within: 30s`
With a time budget (flex race)
We run the exact request you sent.
We try the cheaper flex tier first.
If it starts in time, you get the same answer for less.
If it cannot start in time, standard runs the request.
If flex loses the race, we escalate before it writes a single token, and we charge you nothing for the miss.
Flex-discounted cost$0.60
Built so you aren't debugging at 2am
Only pay when we save you money.
100%off
Base price
5.5% per request$0per request
Routing is free. When you give us an SLA to find a cheaper way to run your request, we hunt for cheaper inference. If we find you cheaper inference, we keep 20% of what we save you. If we cannot find anything cheaper, we escalate your request to a standard request and it is once again free.
If we take a $10 request down to $5, we take a $1 fee and you pay $6. That is 40% savings.
Get started\*this takes you to login/signup
No new SDK semantics to learn.
Point your base URL at FlexInference, pass your FlexInference key, and add start\_within to start saving.
OpenAIGeminiAnthropic
curl https://api.flexinference.com/v1/responses \
-H "Authorization: Bearer flex_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.2",
"input": "Summarize this thread.",
"start_within": "00h-00m-30s"
}'Why I built FlexInference?
Hey! My name is Adi.
I grew up wanting to help others. Actually, that's not always been true. I went through a tough time in college and it made me want to help people. Help people get educated. Help people get better healthcare. Help people with the basics, you know? At first I tried to do that directly. Made a few free websites/tools/videos. And it definitely helped. But, not the scale I wanted.
Then AI hit an inflection point. It started making education better because it could answer a billion questions happily. It made healthcare better by personalizing it to everyone. I realized something then. I hadn't built the models, but I could help make them easier to reach. The labs want the same thing. They're working to make inference cheaper, faster, and open to everyone. The problem is all the layers sitting on top. They slow it down, mark it up, and gate who gets in.
So I made FlexInference as a crack at that. It makes getting to these providers cheaper, faster, and more reliable. The first way it does that is by hunting for cheaper inference, and escalating to standard when it can't find any. By making it cheaper to work with these models, ideally we can get more ideas out there. More incredible products. And as such, help more people.
That's why I created FlexInference. Hopefully, it helps you all.
Sincerely, Adi
P.S. Every standard request is free, and flex only charges when it saves you money.
P.P.S I tried to make it super easy to use FlexInference. It's strictly typed. It also won't quietly fall back to parameters you never set just to force a request through. You also don't need to use the FlexInference SDK and can just change the URL and key instead.
Connect your agent and let it do the rest.
FlexInference runs an MCP server, so Claude, Cursor, and any other MCP client can check your usage, manage your API keys, and search the docs without leaving your editor. Point it at `https://mcp.flexinference.com/mcp` and you are set.
The docs tools need no login. Anything that touches your account runs over OAuth and asks first, so a client reads your usage or changes a key only after you approve it. It never runs inference and never takes a raw provider key.
Frequently Asked Questions
What is FlexInference?
FlexInference is a deadline-aware LLM router. It works across OpenAI, Gemini, and Anthropic, and it is OpenAI-compatible, so you keep the OpenAI SDK. You bring your own provider key. Point the base URL at FlexInference and add a start\_within deadline to any request. Within that window we race a cheaper flex tier and hand back the exact model you asked for. Standard requests stay free. When flex beats the standard price we keep 20% of what it saves you, billed once your balance passes $20.
What is start\_within?
A required field on every request. Set it to default, priority, auto, or a duration HHh-MMm-SSs (5 seconds to 10 minutes). On flex-capable models, a duration searches for a cheaper tier for the model you selected. If that flex race cannot find cheaper inference in time, we escalate your request to a default request. This way you get a response, but whenever possible, for cheaper.
How much does FlexInference save?
Across all our traffic, flex routing cuts blended cost by roughly 40 to 50%, at under 10% more latency in our initial 10,000-request benchmark in June 2026. We never charge on default, auto, or priority requests, so you instantly skip the roughly 5.5% upcharge other routers add on those. Actual savings depend on your models, providers, and the deadline you set. Anthropic is proxy-only and does not get the flex savings.
What happens if FlexInference cannot find cheaper inference?
If the flex race cannot find cheaper inference within your start\_within deadline, we escalate the request to a standard, default-tier request, so you still get your response. We only charge a commission when a flex request actually saves you money, so a request that finds nothing cheaper carries no fee.
If flex loses the race, do I pay for it?
When flex misses your deadline, we escalate to standard before flex writes a single output token, so there is no flex response to pay for, and we charge no commission on a request that saves you nothing. In the rare case where a flex attempt starts and then fails before it commits, it can burn a few input tokens. Your provider bills those exactly as if you had called flex directly, and we include them in your usage with no markup.
Which providers and models do you support?
All OpenAI, Gemini, and Anthropic models. Only those that support flex are available for cheaper inference search.
Do you have an MCP server?
Yes. Point any MCP client such as Claude or Cursor at https://mcp.flexinference.com/mcp. Two docs tools work with no login. They search the docs and look up any error code. After a one-time OAuth sign-in, an agent can also read your usage and savings, list, create, or revoke API keys, and check billing, each behind its own scope. We never take a raw provider key over MCP, so add those on the dashboard. See the MCP docs for setup.
Are your errors built for coding agents?
Yes. Every error we return comes back in the shape of the endpoint you called, OpenAI, Anthropic, or Google, so the SDK you already use parses it unchanged. On the OpenAI shape it adds a machine-readable code, the offending field, and a doc\_url that links straight to the reference. The message states what broke, the rule you hit, and the exact fix with an example, so showing the message is usually enough for you or your agent to fix it on the first try.
Do Anthropic models get the cheaper inference search?
No. Anthropic is proxy-only: no flex race and no cost savings. You get the same unified API, your key encrypted at rest, and service-tier control (default, auto), and you draw down your own Anthropic credits. Call any claude-\* model on /v1/responses, or use the Anthropic Messages format directly on /v1/messages.
Do you support caching?
Yes lexical caching, semantic caching coming soon.
Do you support fallback providers?
Not yet, coming soon.
Do you support upstream retries (to the LLM providers)?
Not yet, coming soon.
Do you support automatic model selection?
Not yet, coming soon. (The start\_within value auto is OpenAI's service tier, not this.)
Do you charge a fee per request?
There is no flat per-request fee. A flex request that beats the standard price carries a commission of 20% of what it saves you, so you only ever pay when you actually save; if a request saves nothing, it is free. Standard, priority, and auto routing and Anthropic tier/proxy requests have no fee at all.
How do you make money?
We charge a commission of 20% of the money a flex request actually saves you versus the standard price. If a request saves you nothing, it is free, and standard, priority, and auto routing and Anthropic tier/proxy requests are always free. Commission accrues per request and is billed monthly.
When and how am I charged?
We bill monthly once your balance passes $20. A smaller balance carries forward, and we settle any remaining balance at least every three months so it never lingers. Add a card on file in the dashboard Billing page and we charge it automatically when a bill is due. If a payment is past due, billable flex is paused and priced flex requests return a 402, while free routing (default, priority, auto) and all Anthropic tier/proxy requests keep working; update your card to resume.
Can I still save on inference if I already have provider credits?
Yes. Bring your own API key, which we encrypt at rest, and your requests draw down your existing credits.
Do you see my requests or responses?
No we don't see your information.
Does FlexInference change my model, prompt, or output?
No. We call the exact model you requested with your exact prompt, and pass the response back unchanged. The only thing we change is the tier used to serve that same model, when that can make it cheaper. We never swap models, rewrite prompts, or alter responses, and we never silently strip a parameter you set to force a request through.

