Skip to content

Comparing against a general-purpose router

A narrower catalogue, served direct, with no platform fee

OpenRouter is a router across hundreds of models with multi-provider failover, and for a lot of architectures that is the right tool. This is not that. It is open-weight models only, served directly, with the publisher's own rate printed next to ours on every row and no fee added at the credit-purchase step.

The unified router across every model, open and closed.

  • No platform fee
  • OpenAI SDK compatible
  • Pay as you go
  • 7 models callable today

Send me the side-by-side

The full comparison table including the rows where they win, plus what your current open-weight traffic would cost here. No sales sequence attached.

One email, no sequence. Or skip the email and create an account for $5 in credit.

Start with where they are better

If you need broad access to closed-source frontier models — GPT, Claude, Gemini — alongside open ones, all through a single router with automatic provider fallback, OpenRouter is genuinely the better fit. That is not what we are built for, and a router with 500 models and multi-provider redundancy solves a real problem that our 22-model catalog does not. If your architecture depends on failing over between providers when one degrades, choose them.

That paragraph is the first thing on this page rather than a concession buried at the bottom, because a comparison table that favours the author in every row is recognisable as marketing before the second row and the reader discounts the whole thing. If you need closed frontier models, or multi-provider failover on a single model id, the rest of this page will not change your mind and should not.

What follows is the narrower case: the specific circumstances in which routing open-weight traffic directly is better than routing it through a general-purpose router, and the specific numbers that make it so.

Where the difference shows up

Two structural differences move money. The first is the fee on credit purchases, which does not appear on a per-model pricing table and is therefore easy to leave out of a comparison. The second is cached input, which is surfaced uniformly here as its own column and varies by upstream elsewhere.

On the rate card itself, every model below is priced 36–42% below what its own publisher charges. GLM-5.2 runs $0.82/M input and $2.55/M output against the publisher's $1.40/M and $4.40/M, with cached input at $0.16/M.

A month of GLM-5.2 traffic, ours against the publisher's rate
Official rate
$228
Our rate, GLM-5.2
$133
A month of GLM-5.2 traffic, ours against the publisher's rateThe comparison that matters is against the model's own publisher, because that is the number a reader can independently verify. At 100M input and 20M output tokens a month on GLM-5.2, that is $133 a month against $228 at the official rate, a difference of $95.00.
The comparison that matters is against the model's own publisher, because that is the number a reader can independently verify. At 100M input and 20M output tokens a month on GLM-5.2, that is $133 a month against $228 at the official rate, a difference of $95.00.Computed from this site's published rates and the model publisher's own.
DimensionRouterOpenRouter
Model catalog sizeOpenRouter wins7 open-weight models callable now, 24 catalogued500+ models across 80+ providers
Closed frontier models (GPT, Claude, Gemini)OpenRouter winsNot offered — open weights onlyYes, with automatic fallback routing
Platform feeNone~5.5% on credit purchases (non-crypto)
Video model supportYes — dedicated category, 6 models, published per-second ratesNo
Cached-input pricing visibilityDedicated column on every pricing rowVaries by upstream provider; not surfaced uniformly
Gateway overheadDirect to our own inference, no routing hop~25–40ms documented routing overhead
Provider redundancyOpenRouter winsSingle-provider per modelMulti-provider failover per model
Spending capsPer account and per key, at signupCredit-balance limited
Head to head with OpenRouter, including the rows where they win.

This table is maintained in the same file the comparison pages read from, so it cannot drift from what we say elsewhere. Where a row favours them, it says so.

Price your open-weight traffic

The comparison worth running is not vendor against vendor in the abstract; it is the portion of your traffic that already runs on an open-weight model, priced both ways. Enter that volume and the calculator prices it across every model we serve.

Where we hold a verified third-party rate for a model, it appears in the result alongside the publisher's rate, so the comparison is against a real number rather than a characterisation of one.

M
M
0% of input cached

An agent or chat loop resends the same system prompt on every turn. That repeated prefix is billed at the cached rate, and on most models that is a fifth of the standard input rate. Set this to zero if every request you send is different.

Cheapest for this shape of work
$12.60/mo on DeepSeek V4 Flash
Against the official rate
$19.6036%

That is $7.00 a month, or $84.00 a year, on the same tokens through the same model.

An estimate, not a quote — but it is computed from the same rate table the API bills from, so the only assumptions in it are the ones you set above. Third-party figures are those providers’ own published rates; where a provider does not publish one, the cell is blank rather than guessed.

Moving one route rather than everything

There is no requirement to consolidate. Both endpoints are OpenAI-compatible, so running open-weight traffic here and everything else where it is now costs one extra client instance.

  1. 1

    Split the traffic by model, not by vendor

    Point the open-weight calls at this base URL and leave the closed-model calls where they are. This is usually the correct end state rather than a migration step, because the two categories have genuinely different requirements.

  2. 2

    Map the ids

    Ids here are namespaced by publisher — z-ai/glm-5.2, moonshotai/kimi-k3 — and the bare model name resolves too. 7 of 24 catalogued models are callable today and the table above says which, so the mapping is checkable before any code is written.

  3. 3

    Compare the invoice, not the rate card

    Run both for a billing cycle and compare the totals, including anything added at the credit-purchase step. A per-model rate table is not an invoice, and the difference between them is exactly the thing this comparison is about.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://router.xark.io/api/v1"   # ← the only line that changes
)

response = client.chat.completions.create(
    model="z-ai/glm-5.2",
    messages=[{"role": "user", "content": "Hello"}]
)
A second client, pointed at a second base URL.

Nothing has to be consolidated for this to be worth doing. A split by model category is a stable architecture, not a halfway state.

Send me the side-by-side

The full comparison table including the rows where they win, plus what your current open-weight traffic would cost here. No sales sequence attached.

One email, no sequence. Or skip the email and create an account for $5 in credit.

Where this is the better fit

If you are specifically working with open-weight models and want the lowest total cost with fully published pricing — no platform fee on top, cached input visible before you commit, and video models treated as a real category rather than something we do not carry — that is exactly what we built this for.

No platform fee
The per-model rate is the whole price. Nothing is added at the credit-purchase step, which is the line item most often missing from a provider comparison because it does not appear on a per-model pricing table.
Cached input as a published column
Every model's cached rate is on the pricing table rather than varying by upstream. On a repeated-prefix workload that column is the bill: the discount moves from 36–42% to 65–68% on 400M input tokens a month with a 60% repeated prefix, and 8M output.
The publisher's rate on every row
Ours and theirs, side by side, so the claim is verifiable against a public page rather than accepted. We are not claiming to be the lowest price available anywhere; we are claiming to be below the publisher's own, which is a claim that can be checked.
Direct rather than routed
Requests go to our own inference rather than through a routing hop to a third-party upstream. The trade-off is the honest one in the table above: no multi-provider failover on a single model id.

The trade-offs, stated plainly

A narrower catalogue is a real cost and pretending otherwise would make the rest of this page worth less. Three things you give up, in the order they are likely to matter.

Catalogue breadth
7 models callable of 24 catalogued, all open-weight. A router carrying hundreds of models across many providers solves a discovery problem this does not.
Provider redundancy
One provider per model. If your architecture depends on failing over between upstreams when one degrades, that is a genuine reason to choose a router instead, and it is listed as a row they win.
Closed frontier models
Not offered, and not coming. No licence exists that would permit reselling them, which is the same reason the price difference on open weights is possible at all.

Comparison questions

Answered against the same competitor file the comparison pages use, so nothing here can disagree with what we say elsewhere.

When is OpenRouter the better choice?

If you need broad access to closed-source frontier models — GPT, Claude, Gemini — alongside open ones, all through a single router with automatic provider fallback, OpenRouter is genuinely the better fit. That is not what we are built for, and a router with 500 models and multi-provider redundancy solves a real problem that our 22-model catalog does not. If your architecture depends on failing over between providers when one degrades, choose them.

What is the actual fee difference?

Their platform fee is ~5.5% on credit purchases (non-crypto); ours is none. That figure does not appear on a per-model pricing table, which is why a comparison built from rate cards alone systematically understates it.

Do you carry as many models?

No, and not close. 7 callable of 24 catalogued, open-weight only, against a catalogue of hundreds across many providers. That row is marked as one they win in the table above. The narrower catalogue is a deliberate scope choice rather than a roadmap gap.

Do you have multi-provider failover?

No. Each model is served by one provider. If a request fails it returns the upstream status and a machine-readable code rather than being retried elsewhere, because substituting changes the output, the price and the licence terms of what you receive. If failover is a requirement, a router is the right architecture.

Is your latency better?

Requests go directly to our own inference rather than through a routing hop, which removes that hop's overhead. We do not publish a latency figure because we do not have a measurement we would be willing to defend across regions, models and load — and a number we cannot stand behind is worse than no number.

Can I use both?

Yes, and for a lot of teams that is the right answer. Both endpoints are OpenAI-compatible, so running open-weight traffic here and closed-model traffic there costs one extra client instance. Splitting by model category is a stable architecture rather than a halfway migration.

How is cached-input pricing different?

It is a published column on every row here rather than something that varies by upstream. On a repeated-prefix workload that is the difference between 36–42% and 65–68% — computed on 400M input tokens a month with a 60% repeated prefix, and 8M output.

Are you cheaper on every model?

No, and we will not claim it. Some providers run lower published rates than ours on some open text models, and our own comparison pages say so. The claim this site makes is different and narrower: every model here is priced below what its own publisher charges, with both numbers on the row. We guarantee at least 20% below the model publisher's own rate on every model we serve. The smallest discount in the catalogue today is 36%, so the guarantee has room in it by design.

What about video and image models?

They are catalogued as a first-class category with published per-second and per-image rates, which most routers do not carry at all. Availability is the honest caveat: of 24 catalogued models, 7 are callable today, and no video model is among them yet. The table says so on every row.

Do I have to migrate everything at once?

No. Move one route, compare a billing cycle, and keep the rest where it is. Reverting is the same one-line change in reverse, since the endpoint is OpenAI-compatible in both directions.

How do I check your pricing claims?

Every row prints the model publisher's own rate beside ours, and the publisher's rate is on a public page you can open in another tab. We also publish the date the rates were last reconciled, because a comparison against a stale competitor figure is the one thing a rival will screenshot.

What is on your roadmap that is missing today?

Per-key spending limits, bring-your-own-provider-key routing, and upstream capacity for the catalogued models that are not yet callable. All three are listed as not shipped rather than described as available, because discovering a missing feature after signup is how a comparison page loses the credibility it was built to earn.

Move one route and compare a billing cycle

The comparison that settles this is an invoice rather than a table, and it costs one client instance to run.

We guarantee at least 20% below the model publisher's own rate on every model we serve. The smallest discount in the catalogue today is 36%, so the guarantee has room in it by design.

Send me the side-by-side

The full comparison table including the rows where they win, plus what your current open-weight traffic would cost here. No sales sequence attached.

One email, no sequence. Or skip the email and create an account for $5 in credit.

Related: Full comparison · All alternatives · Pricing