Savings Layer maakt deel uit van het BiVelio-platform

Je LLM-factuur, onder controle. Gemeten bij elke aanroep.

Savings beantwoordt wat je app herhaalt zonder de provider opnieuw aan te roepen, en meet elke aanroep met diens teller.

Het Savings-dashboard met de gegevens van de publieke benchmark: de gemeten besparing en de verdeling per model.
Dashboard met de gegevens van de publieke benchmark
OpenAIAnthropicGoogleLive gemeten met de teller van elke provider
Twee producten

Waar gaan je tokens heen: naar je app of naar je coding-agent?

Beide worden per seat gelicentieerd en beide tellen met de eigen teller van je aanbieder. Ze doen verschillend werk, dus elk doet zijn eigen belofte — en vandaag heeft er maar één een gepubliceerd besparingscijfer.

SDK

Voor Node.js-apps, in JavaScript of TypeScript, die een LLM-API aanroepen met je eigen sleutel en voor elke token betalen.

De SDK omhult de aanroep in je code, stuurt de aanbieder alleen wat betaald moet worden en geeft bij elk antwoord een SavingsReport terug.

Het cijfer dat we publiceren
OpenAIgpt-4o-mini
31,5%minder rekening (95%-interval: 25,7% tot 36,7%) bij een stroom waarin 30% van de verzoeken exacte herhalingen zijn — GSM8K, SDK 0.4.31

Geen voorspelling: wat je bespaart hangt af van hoeveel je verkeer zich herhaalt. In je besparingsrapport telt alleen wat de teller van je aanbieder bevestigt — ook bij herhaalde verzoeken die worden bediend zonder je aanbieder aan te roepen, elk gewaardeerd met de teller van het identieke verzoek dat al is uitgevoerd.

Installatie
pnpm add @bivelio/savings-layer
Volledige installatie

Gateway

Voor wie Claude Code, Codex CLI of een andere coding-agent met een API-sleutel gebruikt.

Eén commando zet een lokale meter vóór je terminal, zonder code aan te passen. De gateway telt elk verzoek waarvan je aanbieder het gebruik meldt, met de eigen teller van die aanbieder — voor de modellen in onze prijscatalogus — en zet het totaal in je dashboard, per dag en per model.

Het cijfer dat we publiceren
Anthropic
2,5%van de factuur met de cacheverlaging van PRO, na aftrek van de cachemissers die ze veroorzaakt (95%-interval: 1,5% tot 3,6%). Gesimuleerd tegen lijstprijzen over 51 Claude Code-sessies van één enkele organisatie, de onze.

Geen voorspelling voor jouw team: het is één organisatie, één aanbieder en lijstprijzen, en het is een kleine besparing die merkbaar is waar de uitgaven bij Anthropic hoog zijn. Met PRO zet de gateway op Anthropic-modellen cache-schrijfacties om van de TTL van een uur naar die van vijf minuten, alleen in beurten waarin een groot deel van de prompt nieuw is — zoals de eerste beurt van een sessie of een compactie — en laat de aaneengeschakelde beurten van een lopende sessie zoals ze zijn. Dat verandert de prijs, nooit wat het model leest, en alleen wat de teller van je aanbieder bevestigt, telt mee in je besparingsrapport.

Installatie
npm i -g @bivelio/savings-layer
export BIVELIO_SERVICE_KEY=bvk_…
bvsala claude
Volledige installatie
SDK — voor JavaScript- en TypeScript-apps met een API-sleutel
Gebouwd voor ontwikkelaars

Minder hoofdpijn over de factuur. Zonder van aanbieder te wisselen.

Vier feiten over het pakket. Geen daarvan is een belofte.

dependencies: {}

Nul runtime-afhankelijkheden

Eén ESM-bundle. Er wordt niets naast je code geïnstalleerd dat wij niet zelf hebben geschreven; de exacte tokenizer is een optionele peer.

report.cost.basis

Eén SavingsReport per aanroep

Vier grootboeken die nooit worden opgeteld, de kosten met hun basis (gemeten of geschat) en traces per stap. Precies wat je dashboard leest.

app → provider api

Je verkeer blijft rechtstreeks gaan

De SDK omhult de aanroep binnen je proces. Je prompts gaan nooit via BiVelio: bij ons komen alleen tellingen en kosten aan.

layer.generateStream(request)

Streaming, hetzelfde rapport

generateStream() geeft je het antwoord terwijl de aanbieder het schrijft en sluit af met hetzelfde SavingsReport als generate(), volgens dezelfde regels voor de basis: de eindteller van de aanbieder wordt aan het einde van de stream gelezen, en een stream zonder die teller wordt als niet gemeten gerapporteerd en telt nooit als gemeten besparing. Met een uitvoercontract komt het antwoord gevalideerd en in één stuk aan.

In gewone taal

Wat doet de SDK nu eigenlijk?

Vier ideeën, vier animaties van acht seconden.

01

AI rekent per woord

Elk verzoek aan een AI wordt betaald per tekst die erin en eruit gaat. Savings gaat midden op dat pad staan: een verzoek dat het al heeft gezien en geverifieerd, wordt beantwoord zonder de provider opnieuw aan te roepen, en wat je niet hoefde te betalen valt in jouw pot.

02

Je betaalt niet twee keer voor hetzelfde

Een AI leest bij elke beurt alles opnieuw wat je al had gestuurd — en de aanbieder rekent het opnieuw aan. Savings bereidt elk verzoek zo voor dat de aanbieder zijn kortingsprijs toepast op de herhalingen. De korting is van de aanbieder; ons deel is er goed om vragen.

03

Een bon die je kunt controleren

We vragen geen blind vertrouwen. Elke besparing wordt gemeten met de officiële teller van de aanbieder — dezelfde waarmee hij je factureert — en komt op je bon. Wat niet naast de factuur te leggen valt, wordt nooit aangekondigd.

04

Meet gratis, betaal daarna per seat

Begin met de gratis Meten-licentie: de laag draait in schaduwmodus en laat zien wat hij met je eigen verkeer bespaard zou hebben. Om de hendels aan te zetten betaal je een vaste vergoeding per seat, of een Team-abonnement, of je nu bespaart of niet — en geen commissie op je besparing.

De animaties illustreren het idee. De echte cijfers — gemeten tegen echte aanbieders — staan er direct onder.

Geen beloftes: metingen

Hoe weten we dat het bespaart? We meten het — en we publiceren elke proef, stuk voor stuk.

Elk scenario draait twee keer tegen de echte aanbieder: zoals het is, en met Savings ervoor. Beide resultaten worden geteld met de teller van de aanbieder zelf — dezelfde die je factuur prijst. Dit kwam eruit, inclusief foutmarge:

Gemeten tegen een echte provider
OpenAIgpt-4o-mini
31,5%minder rekening (95%-interval: 25,7% tot 36,7%) bij een stroom waarin 30% van de verzoeken exacte herhalingen zijn — GSM8K, SDK 0.4.31
Anthropicclaude-sonnet-5
75,1%dezelfde stroom (95%-interval: 69,3% tot 79,6%). Ongeveer 41% van de oorspronkelijke rekening is de prefix-cachekorting van Anthropic zelf — die van de aanbieder, niet de onze, en apart getoond

Elke hendel valt in zijn eigen grootboek, en de grootboeken worden nooit opgeteld. In deze batterij kwam de besparing uit herhaalde verzoeken die de SDK bediende zonder de aanbieder aan te roepen en, bij Claude, uit de prefix-cache van de aanbieder zelf. Het npm-pakket bevat geen compressor.

Compatibel met
OpenAIAnthropicGeminiMistralLlamaDeepSeekPerplexityHugging FaceNVIDIA NIMAzure OpenAIBedrockOllamavLLM

Compatibel is niet gemeten. De SDK werkt met elk endpoint dat compatibel is met de OpenAI-API, plus de native Anthropic-adapter en de native Gemini-adapter (nieuw in 0.4.33). Met een besparingscijfer op de publieke benchmark zijn vandaag alleen modellen van OpenAI en Anthropic gemeten; Gemini heeft geen besparingscijfer. Wat voor Gemini gemeten is: Gemini 3.8 Flash, via zijn native API, in de wekelijkse live bench van 1 oktober 2026 — alle vier batterijen, zonder fouten van de laag en zonder weigering in de cache of als besparing gecrediteerd. Die bench controleert dat de laag niets breekt en niet te veel rekent; hij meet geen besparing. Ook gemeten: Gemini 3.1 Pro, via zijn native API, in twee gedeeltelijke runs op 1–2 oktober 2026 (zijn dagelijkse providerquotum volstaat niet voor alle vier batterijen op één dag): alle vier batterijen, eveneens zonder fouten van de laag en zonder gecachte of als besparing geboekte weigering.

De test is een eerlijk experiment: dezelfde taak twee keer — zonder Savings en met Savings — met dezelfde teller van de aanbieder die beide meet.

Vertaling, zonder jargon

Bij een stroom waarin 30% van de verzoeken zich exact herhalen, daalde de rekening met 31,5% — tussen 25,7% en 36,7% met 95% betrouwbaarheid. Wat je bespaart hangt af van hoeveel je verkeer zich herhaalt.

Een percentage zegt niets zonder zijn interval, zijn model en zijn verkeer: we publiceren alle drie.

Eerlijke boekhouding

Elke soort besparing apart geteld — zodat geen cijfer wordt opgeblazen.

Elk SavingsReport verdeelt de besparing over vier grootboeken — vermeden aanroepen, verwijderde tekst, gecomprimeerde tekst en de cachekorting van je eigen aanbieder — en telt ze nooit op tot één marketingcijfer.

Op de publieke benchmark (2026-09-28) kwam wat de geïnstalleerde SDK bespaarde uit het eerste grootboek — herhaalde verzoeken bediend zonder de aanbieder aan te roepen — en, bij Claude, uit het vierde, de korting van je eigen aanbieder. Het npm-pakket bevat geen compressor. Een grootboek zonder gepubliceerd cijfer wordt hier beschreven, niet aangeprezen.

01

avoided_calls

LLM-, ophaal- en tool-aanroepen die helemaal niet zijn uitgevoerd.

02

eliminated_tokens

Informatie die is geschrapt omdat ze simpelweg niet nodig was.

03

compressed_tokens

Informatie behouden, maar gecodeerd met minder tokens.

04

provider_cached_tokens

Nog in de prompt, maar goedkoper gefactureerd of verwerkt.

SDK · één hefboom, op je gegevens, vóór je betaalt

Plak je gegevens. Zie hoeveel tokens de SDK zou versturen.

Hier draait de echte formaatkiezer van de SDK, in je browser, op je gegevens. Niets verlaat deze pagina en je hebt geen account nodig.

Probeer een voorbeeld

…of plak hier je eigen JSON. Niets verlaat je browser.

De optimizer en de exacte tokenizer worden geladen…

Wat dit is, en wat niet: één hefboom — hoe gestructureerde gegevens in de prompt worden geschreven — op de invoertokens van deze gegevens. Hij geldt alleen voor gegevens die je als structuredData aan de SDK doorgeeft, niet voor JSON dat al in je berichten staat. Het is niet je factuur: vermeden aanroepen, de cache van je aanbieder en de uitvoer zitten er niet in, en veel verzoeken bevatten helemaal geen gestructureerde gegevens. Voor de hele SDK is het cijfer dat we publiceren dat in het meetgedeelte, met de toelichting erbij.

Vijf regels om te beginnen

Draai het in je eigen app. Je prompts raken nooit onze servers.

Plaats de SDK vóór je provider. Elke respons bevat een volledig SavingsReport dat je kunt uitzetten in grafieken — dezelfde cijfers die het dashboard leest.

# 1 · het pakket
pnpm add @bivelio/savings-layer

# 2 · de licentie (uit je dashboard)
export BIVELIO_LICENSE_KEY=…

# 3 · de aanroep omhullen — dit is de hele codewijziging
const layer = createSavingsLayer({ provider, licenseKey, … });
const { text, report } = await layer.generate({ model, messages });

console.log(report.cost.netSavingsRatio)  // ← de besparing, gemeten

Of laat één commando het op je stack afstemmen. init leest je package.json (Next.js, Express, de Vercel AI SDK, Mastra, LangChain.js, de Anthropic- of de OpenAI-SDK) en drukt de installatieregel af, de exacte code voor je adapter en een controle die geen tokens kost: zodra je licentie erin staat, beantwoordt de laag die op je eigen machine, zonder het model aan te roepen. Het schrijft niets, tenzij je erom vraagt.

npx @bivelio/savings-layer@latest init
Salesforce HubSpot Odoo Zapier n8n UiPath

Waar je automatiseringen al leven. Wat gemeten wordt, is de aanroep van de API van je aanbieder met jouw sleutel: in een Node.js-app omhult de SDK hem; vanuit andere code met de officiële SDK van OpenAI of Anthropic staat de gateway ervoor en legt hem vast voor een model met een lijstprijs.

Gateway — voor coding-agents met een API-sleutel
Gateway · codeterminals

Claude Code met een API-sleutel? Zie de echte uitgaven, token voor token.

Eén commando zet een lokale meter vóór je terminal, zonder je code aan te raken: je exporteert je service-sleutel en start je agent via bvsala. Je prompts verlaten nooit je machine — alleen aantallen en kosten bereiken je dashboard.

npm i -g @bivelio/savings-layer
export BIVELIO_SERVICE_KEY=bvk_…

bvsala claude

De gateway meet met de teller van je aanbieder elk verzoek waarvan die het gebruik meldt (voor de modellen in onze prijscatalogus) en draait, net als de SDK, alleen met een actieve licentie: hij haalt die op met je service-sleutel en verifieert de handtekening ervan op je eigen machine. Met een PRO-licentie past hij op Anthropic-modellen standaard ook één hefboom toe: hij zet cache-schrijfacties om van de TTL van een uur naar die van vijf minuten, alleen in beurten waarin een groot deel van de prompt nieuw is — zoals de eerste beurt van een sessie of een compactie — en laat de aaneengeschakelde beurten zoals ze zijn. Dat verandert de prijs, nooit de inhoud die het model leest. De overige hefbomen blijven uit tot je ze inschakelt. De skill savings-mode is beschikbaar voor je limieten, met een effect dat nog gemeten moet worden. De gateway werkt ook met Codex CLI, Goose, Qwen Code, opencode, Kilo, Aider en, met je eigen Anthropic-sleutel, GitHub Copilot CLI; voor andere, zoals Cline of Continue, drukt bvsala doctor de exacte configuratie af. Cursor is niet te meten, en Gemini CLI nog niet. Zo werkt het →

Python of een andere taal? Richt de officiële SDK van OpenAI of Anthropic op de gateway en elk verzoek waarvan de aanbieder het gebruik rapporteert, wordt voor een model met een lijstprijs in dit paneel tegen die prijs vastgelegd; het log van de gateway meldt het wanneer een verzoek niet wordt gemeten. bvsala doctor toont de base-URL voor elke SDK. Vraag bij streaming met OpenAI het gebruik op in het verzoek (stream_options.include_usage).

Skill — voor coding-agents met een abonnement
savings-mode · gratis skill

De skill die je abonnementslimieten oprekt

Geen factuur betekent niet geen pijn: het venster van vijf uur en de weeklimiet. savings-mode is een skill van pure instructies — geen proxy, je verkeer onaangeraakt — die de twee massa's snijdt die echt limiet verbranden: modeloutput en toolresultaten. Hij is gratis; waar je Savings voor betaalt is weten hoeveel hij je bespaart.

01

cache-lezingen

De hele context wordt elke beurt opnieuw gelezen — daarom telt hem slank houden.

02

cache-schrijven (één uur)

Elk toolresultaat wordt met toeslag in de cache geschreven voordat het opnieuw wordt gelezen.

03

modeloutput

Een klein deel van de tokens, tegen de hoogste prijs per token; de skill pakt hem direct aan.

Waar de uitgaven van een Claude Code-sessie heen gaan, in deze volgorde: cache-lezingen, cache-schrijfacties van een uur en modeluitvoer — gemeten met onze meter op ons eigen verkeer, tegen de tellers van de aanbieder. Dat rapport is niet gepubliceerd, dus we tonen de cijfers niet. Het effect van de skill zelf wordt gepubliceerd zodra het met A/B is gemeten — nooit eerder.

npx -y @bivelio/savings-layer skill

Eén commando: installeert in ~/.claude/skills en activeert zichzelf zodra het gesprek over limieten of tokens besparen gaat.

Book 15-min callWe vertellen je wat je zou besparen op jouw verkeer, zonder iets te installeren.
Abonnementen

Meet gratis. Betaal per seat wanneer je de besparing wilt.

Begin met Meten: gratis en zonder kaart. De laag draait in schaduwmodus op je eigen verkeer en je dashboard laat zien wat hij bespaard zou hebben, gewaardeerd met de teller van je provider. Pro en Team worden per seat gefactureerd, in EUR, of je nu bespaart of niet, en dragen geen commissie op je besparing.

Meten

Gratis

Zonder kaart. De laag in schaduwmodus voor één organisatie, tot 5 seats en 20.000 verzoeken per dag: niets van wat je verstuurt verandert, niets komt uit de cache, het telt nooit mee voor een commissie — en je ziet wat hij bespaard zou hebben. Vereist @bivelio/savings-layer 0.4.33 of nieuwer.

Gratis beginnen →

Pro

€ 15 / seat / maand

Of € 150 / seat / jaar. Alle optimalisaties, de bon per verzoek en het dashboard. Geen commissie.

Kies Pro →

Team

€ 129 / maand

10 seats inbegrepen; elke extra seat € 12 / maand. Of € 1.290 / jaar. Geen commissie.

Kies Team →

Enterprise

Op maat

Meer seats dan online afrekenen toestaat, een eigen contract of afgesproken factuurvoorwaarden: schrijf ons.

  • Elke BV‑SALA-optimalisatie, ongelimiteerd
  • Een bon per verzoek: SavingsReport met vier grootboeken, gemeten en geschat apart
  • Besparingsdashboards en teamanalyses
  • Je prompts verlaten nooit je infrastructuur

Een seat is één machine- of service-identiteit, geen persoon. Je betaalt voor de seats die je abonnement dekt; je dashboard toont hoeveel er deze maand in gebruik waren (actief op minstens 3 dagen; CI en kortstondige runners tellen niet mee).

Exclusief btw. Heeft uw bedrijf een EU-btw-nummer, dan geldt de verleggingsregeling.

Heb je al het eerdere model, met commissie op gemeten besparing? Je behoudt het ongewijzigd; de voorwaarden staan in de prijsvoorwaarden.

Bedrijf en ecosysteem

BiVelio is lid van het NVIDIA Inception Program.

Het programma van NVIDIA voor start-ups die bouwen met AI.

Over het programma
NVIDIA Inception Program