Jev API

$0.042/Mtok in

TypeSafe · 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. 1

    Create a free CompanyFabric account, starter credits are included, no card required.

  2. 2

    Copy your API key from the dashboard. One key covers every model in the library.

  3. 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. 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.

EndpointTypePrice
JevDecisions$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.

All ways to use AI models free →

Production-grade

Code samples

cURL
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 } }
Node
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 dashboard
Python
import 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

Playground$0.042 in / $0 out per 1M tokens

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.