Each department opened its own
Marketing has a subscription, the dev has an API key, someone else paid for another one on a card. Nobody can say how much the company spends on AI per month.
One key, the entire catalog of models. Each request is evaluated before it goes out: can it be answered from cache, with a free model, or with the subscription the company already pays for? The expensive API is the last resort, and the dashboard shows how much that kept from leaving the cash register.
"Summarize this email in three lines."
Example of routing. On your dashboard the value is the real one, summed by period, and the local layer doesn't appear because it's the appliance owner's hardware, not the client's.
The AI bill doesn't blow up because of one expensive request. It blows up because a thousand cheap requests went to the most expensive model that was configured. The Router evaluates each one before it goes out, and uses the cheapest layer that can handle it.
Marketing has a subscription, the dev has an API key, someone else paid for another one on a card. Nobody can say how much the company spends on AI per month.
The configured key is the one that handles everything. Summarizing an email and building a strategy go through the same place, at the same price.
One key, one provider, one point of failure. Its instability becomes your problem, and there's no backup plan configured.
Every call that passes through the gateway gets logged: who requested it, which layer resolved it, how much it cost, and how much it would have cost. It's what turns "we spend too much on AI" into a sentence with a number behind it.

How much the company avoided spending because the request was resolved on a cheaper layer. It's the metric that justifies the module on its own.
If a provider goes down, traffic reroutes to the next one without anyone getting woken up. You don't inherit any vendor's downtime.
The whole catalog behind a single key, with the same call format. Switching models stops being a migration project.
Who consumed what, by department and by project, with a cap per key, so no one drains the balance by accident.
The decision is made before the call goes out, and the order never changes: it starts with what's free and only moves to paid when the options above can't cover it.
An identical request with a stored answer comes back from cache. It costs zero and arrives instantly: it's the layer that saves the most on repetitive operations.
Most routine work doesn't need the top tier model: summarizing, classifying, extracting. If a free one delivers, it's the one that answers.
The company already has AI accounts. They go into the pool and are used up to the limit before any new cent is spent.
When the task really requires the expensive model, it's called, and the dashboard records that the spend was necessary there, not an oversight.
A direct key works, a third-party gateway works, and having a dev handle it works. The point is how much each one costs as volume grows.
One Rovemark key replaces the provider keys. You set its spending cap when you create it.
The gateway accepts the format your code already uses. In practice you change the base URL and the key: the rest of the code stays the same.
From the first call, the dashboard shows which layer handled each request and how much was kept from leaving.
You get a number for "how much we spend on AI," plus a cap per key, so spend doesn't depend on good judgment.
Stop maintaining an integration per provider and waking up when one goes down. One endpoint, and failover is automatic.
They don't choose a model, don't think about price, don't ask anyone for a key. They ask for what they need and get it.
Spend and cost avoided by area, project and period.
One per person or per project, revocable, with its own limit.
Which layer resolved it, what it cost, what it would have cost.
When a key goes over its cap or a provider starts failing, the alert reaches the team wherever they already are.
The Router doesn't add a margin per call: the credit consumed is the cost of the model that answered. When the answer comes from cache, the free tier or your own subscription, there is no credit at all.
The free plan already connects the Router to models with no cost per call. You can run the entire routine operation without spending a single credit, and see on the dashboard what it would have cost elsewhere.
See all plansNo. The gateway accepts the format most libraries already use, so in practice you just swap the base URL and the key. What used to call a provider directly now calls the gateway, and the routing happens on the other side.
The choice is based on capability, not chance: each type of task has a quality floor, and a model only qualifies if it meets that floor. You can also pin a specific model to a route whenever you want: savings is the default, not an obligation.
That's exactly the point. The accounts the company already pays for join the pool and get used up to their limit before any new spend: a lot of people discover here that they were paying twice for the same capacity.
It degrades cleanly: it returns an explicit unavailability response instead of hanging, and your code handles it the same way it would handle any provider going down. Nothing sits there waiting.
What gets stored is yours, encrypted with your key, and exists for the cache and for the history you consult yourself. It comes out in full whenever you want, and it never becomes training data for anyone's model.
Every request from every module goes out through here, so the Router's savings show up on the whole system's bill, not just for whoever calls the API by hand.

Each one solves a front, and all write to the same memory. See the others and how they fit with this one.