Jev API
$0.042/Mtok inTypeSafe · decision
Typed decisions with calibrated probabilities in about 100 ms. No generated text, so nothing to parse and nothing to hallucinate.
Overview
About Jev
Typed decisions with calibrated probabilities in about 100 ms. No generated text, so nothing to parse and nothing to hallucinate. Every model on CompanyFabric shares the same API key, billing balance, and rate-limit envelope, one integration covers the entire library.
Facts
At a glance
Availability
Live
Pricing
$0.042/Mtok in
Metered exactly per call
Context window
32k tokens
Commercial use
See license
Commercial use permitted per TypeSafe terms; hosted API only, no weights.
Variants
All endpoints
Prompt library
Example runs
State: a support email that says a card was charged twice. Questions: category (billing/technical/account), urgent (noul), escalate (noul).
category=billing (0.96) · urgent=0.88 · escalate=0.31
This exact run cost $0.0000084 · About 200 input tokens. Output tokens are free.
State: a product brief for a desk organizer. Questions: worth_making (noul), brand_risk (score: safe / hype / illegal claim).
worth_making=0.74 · brand_risk=0.3
This exact run cost $0.0000126 · About 300 input tokens, one call, four questions answered in parallel.
Quickstart
How to use the Jev API
- 1
Create a free CompanyFabric account, starter credits are included, no card required.
- 2
Copy your API key from the dashboard. One key covers every model in the library.
- 3
POST /v1/decisions with "typesafe/jev-latest", a state (text or JSON) and typed questions (noul, choice, score). The answer is probabilities, not text, so there is nothing to parse.
- 4
Read the exact metered cost of the call from the response, the same number shown in the playground.
Use cases
What teams build with it
Support triage
Category, urgency and escalate-to-human as probabilities in one call, before any model drafts a reply.
supportrouting
Agent gates
Should this step call a tool, escalate to a frontier model, or stop and ask? Decide first, spend second.
agentscost control
Moderation & claim checks
Is this a health or income claim, is this a threat, is this spam. Typed answers you can threshold and audit.
moderationsafety
Scoring & prioritisation
Lead fit, churn risk, fraud likelihood on a rubric you define, with the whole distribution returned.
scoringfraud
Get better output
Prompting tips
- Ask many questions in one call; answers come back in parallel and the state is sent once.
- Describe each choice label in criteria. A described option is a better-calibrated option.
- Treat a noul near 0.5 as unsure and fail closed; ship thresholds as config and tune from the log.
Exact, metered, prepaid
Jev pricing
Jev pricing is per token: $0.04 / M input · $0 / M output. Output tokens cost 0× input tokens, so long generations, not long prompts, are what actually drive most bills. A typical call with a 2k-token prompt and a 1k-token answer costs about $0.0001.
Every call is metered exactly and attributed to your key, the dashboard, the API usage response, and your invoice all read from the same ledger row. Cap any key's monthly spend with a budget cap, and bring your own provider key (BYOK) at 0% platform fee if you already have a direct contract.
| Endpoint | Type | Price |
|---|---|---|
| Jev | Decisions | $0.04 / M input · $0 / M output |
Starter credits
Use Jev free
Your CompanyFabric starter credits cover your first Jev calls at no cost, create a free account, no card required, and the credits apply to Jev and every other model on the key. When they run out, prepaid credits or BYOK (0% fee) take over with no plan to pick.
Production-grade
Code samples
curl https://api.companyfabric.com/v1/decisions \
-H "Authorization: Bearer $COMPANYFABRIC_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe/jev-latest",
"state": "Second time this month my card was charged twice. Refund me or I cancel.",
"questions": {
"category": {
"type": "choice",
"instructions": "What is this ticket about?",
"criteria": { "billing": "Charges, refunds", "technical": "Bugs, errors", "other": null }
},
"urgent": { "type": "noul", "instructions": "Does this need a reply within the hour?" },
"churn_risk": {
"type": "score",
"instructions": "How likely is this customer to leave?",
"criteria": ["No signal", "Frustrated", "Threatens to cancel"]
}
}
}'
# → { "model": "typesafe/jev-latest",
# "answers": {
# "category": { "type": "choice", "choice": "billing", "confidence": 0.97, "probabilities": { … } },
# "urgent": { "type": "noul", "noul": 0.88 },
# "churn_risk": { "type": "score", "score": 1.8, "confidence": 0.81, "probabilities": { … } }
# },
# "usage": { "input_tokens": 142, "output_tokens": 0, "cost_usd": 0.0000063 } }const res = await fetch("https://api.companyfabric.com/v1/decisions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.COMPANYFABRIC_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "typesafe/jev-latest",
state: "Second time this month my card was charged twice. Refund me or I cancel.",
questions: {
category: {
type: "choice",
instructions: "What is this ticket about?",
criteria: { billing: "Charges, refunds", technical: "Bugs, errors", other: null },
},
urgent: { type: "noul", instructions: "Does this need a reply within the hour?" },
churn_risk: {
type: "score",
instructions: "How likely is this customer to leave?",
criteria: ["No signal", "Frustrated", "Threatens to cancel"],
},
},
}),
})
const { answers, usage } = await res.json()
// Probabilities, not prose. Threshold them; a noul near 0.5 means "unsure",
// so fail closed and hand those to a human.
if (answers.urgent.noul > 0.7 && answers.category.choice === "billing") {
// route to the billing on-call queue
}
console.log(usage.cost_usd) // what this call cost, same number as the dashboardimport os, requests
res = requests.post(
"https://api.companyfabric.com/v1/decisions",
headers={"Authorization": f"Bearer {os.environ['COMPANYFABRIC_API_KEY']}"},
json={
"model": "typesafe/jev-latest",
"state": "Second time this month my card was charged twice. Refund me or I cancel.",
"questions": {
"category": {
"type": "choice",
"instructions": "What is this ticket about?",
"criteria": {"billing": "Charges, refunds", "technical": "Bugs, errors", "other": None},
},
"urgent": {"type": "noul", "instructions": "Does this need a reply within the hour?"},
"churn_risk": {
"type": "score",
"instructions": "How likely is this customer to leave?",
"criteria": ["No signal", "Frustrated", "Threatens to cancel"],
},
},
},
timeout=30,
).json()
answers = res["answers"]
print(answers["category"]["choice"], answers["urgent"]["noul"], res["usage"]["cost_usd"])Playground
Try it in the browser
Comparisons
Jev vs the alternatives
Jev vs Claude Haiku 4.5
Jev and Claude Haiku 4.5 compete for the same decision workloads. Both run behind the same CompanyFabric key at exact metered prices, A/B them on your real prompts and let the outputs decide, then switch with a one-line change.
Full comparison: Jev vs Claude Haiku 4.5 →FAQ
Frequently asked questions
How much does the Jev API cost?
$0.04 / M input · $0 / M output. Every call is metered exactly and shown before you run it.
How do I get a Jev API key?
Create a CompanyFabric account, and one key unlocks Jev and every other model in the library. Free starter credits are included, no subscription, no card required to try it.
Why use Jev on CompanyFabric instead of going direct?
One key, one prepaid balance, and one rate-limit envelope across the whole library, at pricing at parity with or below the direct API. Model switching is a one-line change, and BYOK routing is 0% fee.
Is the API OpenAI-compatible?
No, and on purpose: a decision model takes state plus typed questions and returns probabilities, which no chat shape expresses. POST /v1/decisions with "typesafe/jev-latest", a state (text or JSON) and typed questions (noul, choice, score). The answer is probabilities, not text, so there is nothing to parse. Same key and same balance as the chat models.
Can I use the output commercially?
Commercial use permitted per TypeSafe terms; hosted API only, no weights.
How does billing work?
Prepaid credits via card, or BYOK with your own provider keys at 0% platform fee. No subscription required; balances never expire.
Provider
About TypeSafe
TypeSafe publishes the jev family. License: Commercial use permitted per TypeSafe terms; hosted API only, no weights.
One key. Every model. Exact prices.
Run Jev with free starter credits. Free starter credits included, no subscription required.