One endpoint.
Every model you allow.
Each request is checked against your team’s Directives and budgets, sent to a provider that can serve it, and comes back with a receipt that says what it cost.
baseURL: "https://api.inferencebureau.com/v1",
apiKey: process.env.IB_API_KEY,Policy that only gets tighter.
Set allowed models, providers, rate limits and budgets for the team. Projects and keys can narrow them but never widen them, and a refused request names the Directive that refused it.
Pay for the model each turn needs.
Each turn is classified, and the cheapest model that clears your quality floor for that task is suggested. Nothing switches until your code or your user says yes.
A receipt for every request.
Upstream cost, platform fee, every attempt and the Directives in force, by request, key, session or end user. Prompts and responses are kept only if you turn that on.
Try a model before you write code.
Every project has a Playground. It sends real requests under the project’s Directives, so what you see there is what your app will get, cost included.
For the team that runs it.
Keys, Directives and webhooks are in the Management API too, so they can live in your own scripts and CI.
Change two lines.
Keep your SDK and your model names. Mixed-model sessions stay off until you opt a key in.
const client = new Client({- baseURL: process.env.PROVIDER_BASE_URL,+ baseURL: "https://api.inferencebureau.com/v1",- apiKey: process.env.PROVIDER_API_KEY,+ apiKey: process.env.IB_API_KEY,});