A Workbench for Decision Models
jev-ai.org is a small product. We resell access to the Jev decision model and build the tooling we wanted around it: a playground that does not lose your draft when you sign in, a batch workbench for a CSV of a thousand rows, an API with keys that carry their own spend caps, and billing that never charges you for a request that failed.
Position
What We Are, Stated Plainly
TypeSafe AI builds and operates the model. We are a customer of a provider who serves it, and we resell that access with our own interface, our own API and our own billing on top.
Practically, that means model behaviour, model availability, pricing changes and the roadmap are not ours. What is ours is everything between your request and theirs: the workbench, the error handling, the accounting, and the promise that a failed call costs nothing.
What we operate
The playground and batch workbench, the public API and its keys, the two wallets and their ledgers, request history, and support for all of it.
What we do not operate
The model, its weights, its training, its versions and its availability. When the model is down you get a 503 from us and we are waiting alongside you.
How we behave
Rules We Set for Ourselves
Most of these exist because we have been annoyed by the opposite somewhere else.
Prices are on the page
Every plan and its token allowance is published, and the rate the model charges us is published next to the measured token count of each example. Nothing important is behind a “contact sales”.
No manufactured urgency
No countdown timers on a discount that never ends, no “price rising soon” unless a price is actually rising, no pre-ticked boxes and no dialog you cannot close.
Browsing and editing are free
Read every page, load any scenario, rewrite the questions — no account, no card. Signing in is asked for at the moment you run a decision, and it brings you back with your work intact.
Failures are not billed
A decision is charged only when it returns 200. Everything else releases its hold in full, which is why retrying with a stable idempotency key is free and safe.
Results are never held hostage
No watermarks, no locked exports, no “upgrade to see the full result”. If you paid for the run, the whole result is yours, including the probability distributions.
Bought tokens roll over
Purchased tokens stay on the account while the account is active. They are not reset at the end of a month to make a bigger plan look necessary.
Billing
Two Wallets, One Rule Each
Free credits and daily check-in gifts land in the credit balance. Purchased plans land in the token balance, denominated in input tokens — the same unit the model charges in, at a list rate of $0.042 per million.
Paid Jev usage spends one credit plus real input tokens when both balances are available. If only one wallet remains, it pays alone. Output tokens are free in every case. The full rules, including what happens when both are empty, are on the pricing page.
Questions
The Ones Worth Asking
Then what exactly am I buying here?
Access to the Jev decision model through our endpoint, plus the things we built around it: a playground that keeps your drafts, a CSV batch workbench, saved question sets, request history, API keys with their own rate limits and spend caps, and billing in two wallets. We pay the model provider; you pay us.
Why would I use you instead of going direct?
If you already have a provider account and only need raw API access, going direct is a perfectly sensible choice and we will not pretend otherwise. People use us for the workbench, for a single key with a spend cap, for the batch tooling, and because a request that fails here is never charged and never leaves a hold behind.
How do you make money?
On the margin between what the model costs us and what the plans cost you. We publish the underlying rate on every use-case page, along with the measured token count of the example, so you can do that arithmetic yourself before you buy anything.
What happens to the text I send?
It is passed to the upstream model to produce the answer, and the request is stored so it can appear in your own history and be reconciled against your billing. Read the privacy policy for the detail, and do not send regulated personal data without checking it first.
What if a run fails?
It is not charged. A decision is billed only on a 200; any other status releases its hold in full. Oversized input returns a 422 before anything is reserved, and an unavailable model returns a 503 before anything is reserved.
Judge Us on the Numbers We Publish
Every use-case page prints a per-run cost we measured from a live call, with the arithmetic that reproduces it. Start there rather than with anything we say about ourselves.
