JARED PALMER / KEV 4B

Kev 4B. Small model, structured decisions.

Route requests, classify text and score inputs with Jared Palmer’s open-weight decision model. Kev 4B uses a LoRA adapter and pointer head on Qwen3.5-4B-Base and returns typed answers with probabilities.

Playground is free after sign-in. Only API calls spend credits.

Model context

8,192

tokens · shorter than Jev’s 32,000-token context

API input rate

420

credits / million input tokens

Minimum API charge

1 credit

per successful request · output is free

choice

Choose from your options

Define named options and receive a selected label, its probability distribution and confidence.

score

Score on your scale

Define ordered levels and receive a score from zero to the last level’s index, with probabilities and confidence.

noul

Measure a yes/no condition

Ask a narrow question and receive P(true), from 0 to 1. Your application decides which threshold to act on.

The same price as Jev

OpenRouter lists identical input and output rates for Jev 1.13 and Kev 4B. This service uses the same credit rate for both, rounded up separately for every successful API request.

ModelUpstream input · $/1M tokensUpstream output · $/1M tokensAPI credits / 1M input tokens
Jev 1.13 ↗$0.042$0420
Kev 4B ↗$0.042$0420

max(1, ceil(input_tokens × 420 / 1,000,000))

1,000 input tokens cost 1 credit; 5,000 input tokens cost 3 credits. Signed-in playground runs cost 0 credits, including at zero balance. Failed provider calls are not billed.

Prices checked against OpenRouter’s model pages and endpoint metadata on September 26, 2026. Upstream prices may change.

Try Kev 4B in the workbench

Start with the support-routing example, or define your own questions. This page keeps a separate browser draft so your main playground draft stays available.

Kev 4B · model & pricing ↗Span · behavior evaluation ↗

Kev 4B supports Choice, Score and Noul. Model context: 8,192 tokens, including state and questions. API pricing matches Jev; signed-in playground runs are free.

Text or JSON evaluated independently by every question.

Questions 1/8

routechoice

Options

Free after sign-in · API uses credits

Draft saved in this browser · Your draft will be restored after sign-in.

Your next decision starts here.

Run the loaded example or edit the input. Results are returned by the model.

choicescorenoul
Web runs and saved configurations are private to your account. API history stores usage only.Usage ↗

Your draft will be restored after sign-in.

Use the decision API you already know

Send model, state and questions to /v1/systemone with a Jev AI Model API key. Set model to jaredpalmer/kev-4b. Answers are returned at data.result.answers; data.creditsUsed reports the charge.

Text, JSON objects and arrays are supported. This service accepts up to 8 questions and 32 KiB per request; Kev’s separate 8,192-token model context still applies. Web runs are limited to one attempt every 3 seconds.

Live checks passed for Choice, Score and Noul together, using text, object and array inputs. This verifies the request and response contract, not prediction accuracy. Evaluate the model on your own labeled cases.

// Server-side JavaScript (Node 20+ or Bun). Set JEV_API_KEY.
const response = await fetch("https://jevaimodel.net/v1/systemone", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.JEV_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "model": "jaredpalmer/kev-4b",
  "state": "I was charged twice for order A-4471. Please refund the duplicate payment.",
  "questions": {
    "route": {
      "type": "choice",
      "instructions": "Which team should handle this ticket? Use other when no option fits.",
      "criteria": {
        "billing": "Payments, charges and refunds",
        "technical": "Bugs and product errors",
        "account": "Login and account access",
        "other": "None of these teams"
      }
    }
  }
}),
});
const body = await response.json();
if (!response.ok || body.code !== 0) throw new Error(body.message);
console.log(body.data.result.answers);
console.log(body.data.creditsUsed);