choice
Choose from your options
Define named options and receive a selected label, its probability distribution and confidence.
JARED PALMER / KEV 4B
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.
100 credits for new accounts. Web and API use the same balance and rates.
Model context
8,192
tokens · shorter than Jev’s 32,000-token context
API input rate
600
credits / million input tokens
Minimum API charge
1 credit
per successful request · output is free
choice
Define named options and receive a selected label, its probability distribution and confidence.
score
Define ordered levels and receive a score from zero to the last level’s index, with probabilities and confidence.
noul
Ask a narrow question and receive P(true), from 0 to 1. Your application decides which threshold to act on.
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 request.
| Model | Upstream input · $/1M tokens | Upstream output · $/1M tokens | Credits / 1M input tokens |
|---|---|---|---|
| Jev 1.13 ↗ | $0.042 | $0 | 600 |
| Kev 4B ↗ | $0.042 | $0 | 600 |
max(1, ceil(input_tokens × 600 / 1,000,000))
1,000 input tokens cost 1 credit; 5,000 input tokens cost 3 credits, on both web and API. We reserve a budget first, settle actual usage on success, and refund failed calls.
Prices checked against OpenRouter’s model pages and endpoint metadata on September 26, 2026. Upstream prices may change.
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.
What do you want to decide?
Choose a task to load its input and rules. Loading examples uses no credits.
Kev 4B supports Choice, Score and Noul. Context: 8,192 tokens, including state and questions. Web and API use the same credit rate as Jev.
We reserve this budget before the model runs, then charge actual usage and return the difference. Failed calls are refunded.
New account? Receive 100 credits once. Short requests typically use 1 credit; longer inputs can use more.
Draft saved in this browser · Your draft will be restored after sign-in.
Your current configuration stays in this browser tab for the setup flow.
ILLUSTRATIVE EXAMPLE · NO CREDITS USED
“I was charged twice this morning. Please refund the duplicate payment today.”
Choice
Billing
Route to the billing queue
Yes / no
96%
Probability of an urgent request
Score
2.8 / 3
Urgency on a 0–3 scale
Static illustration of the output format. Values are not a live model response or a measure of accuracy.
Capture A, change the model or questions in the workbench, then capture B. Both versions use identical states.
Capture A from the current workbench model and rules. Change the model or questions, then capture B. Import up to 25 labeled cases and compare both versions. The dataset state replaces each captured state.
This simulates a policy, not accuracy. Noul uses max(P(yes), P(no)); Choice and Score use your selected signal. Validate thresholds on labeled cases.
Total budget across both versions and all cases. Each request reserves its own allowance, then settles actual usage and refunds the remainder. Stopping preserves charges for completed requests.
New account? Receive 100 credits once. Short requests typically use 1 credit; longer inputs can use more.
Each successful comparison request uses credits. Review the total budget before starting. Requests run sequentially; stopping keeps charges for completed requests. Export includes rules, cases, results and errors. Closing this page stops the comparison.
Send model, state and questions to /v1/systemone with a Decision API 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 DECISION_API_KEY.
const response = await fetch("https://decisionapi.org/v1/systemone", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.DECISION_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);