Does this message require urgent attention?

Jev answers, it doesn't write
A System One decision model on Venice. Send shared context and ask one or many yes/no, choice, or scoring questions. Jev returns probabilities and confidence your application can act on, without generating prose or repairing JSON.
Get API Keycurl https://api.venice.ai/api/v1/decisions \
-H "Authorization: Bearer $VENICE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jev-latest",
"state": "My payouts have failed for three days and nobody has replied.",
"questions": {
"is_urgent": {"type": "noul", "instructions": "Does this need urgent attention?"}
}
}'- Model ID
- jev-latest
- Endpoint
- /api/v1/decisions
- Answer types
- Noul · Choice · Score
- State + questions
- 64K tokens
Jev and the Decisions API are in beta. Availability and behavior may change without notice, and request and response schemas are not yet frozen.
Overview
What Jev is
Most models are built to generate text. When an application needs a decision, that usually means asking a chat model for JSON, validating what comes back, and digging out the one value that controls the next step.
Jev evaluates a state against questions with predefined answer types and returns machine-ready judgments instead of prose. Every question in a request is evaluated in parallel and in isolation against the same state.
On Venice
One key, anonymous
The same Venice key that reaches chat, image, video and audio reaches Jev. Venice keeps no copy of the state you send or the answers it returns, and passes nothing on for training. That matters when the state is a support thread, a medical note or a transaction record.
- No state retention
- No prompt retention
- No training on your data
A worked example
One state in, typed decisions out
Pick a case to see the shape of a real response. These are illustrative figures, not a live call. Probabilities vary between requests, so evaluate Jev on your own examples before choosing production thresholds.
My payouts have failed for three days and nobody has replied. Please help ASAP.
state: string
Which team should handle this ticket?
How frustrated is the customer?
Confidence 0.60 · Weighted across levels
Question types
Choose the answer shape
Three types cover the judgments software actually acts on. Answers come back keyed by the ids you choose, so the response maps straight onto your code.
Noul: a binary judgment
Returns a probability from 0 (no) to 1 (yes). There is no separate confidence field: near 0.5 is the uncertain answer.
"refund_requested": {
"type": "noul",
"instructions": "Does the customer
explicitly request a refund?",
"criteria": {
"true": "Asks for money back",
"false": "Does not ask"
}
}Choice: route or classify
Returns the selected option, every option's probability and a confidence value. Include an other or none option when the set may not cover every state.
"request_type": {
"type": "choice",
"instructions": "What is the primary
request?",
"criteria": {
"refund": "Return money paid",
"troubleshooting": "Fix a problem",
"information": "Answer a question",
"other": null
}
}Score: measure a spectrum
Ordered levels from lowest to highest, indexed from 0. The returned score is probability-weighted, so it can land between two levels.
"severity": {
"type": "score",
"instructions": "How severe is the
reported issue?",
"criteria": [
"Cosmetic or no material impact",
"Impaired, workaround exists",
"Blocked, no workaround"
]
}Confidence
Turn certainty into behavior
Choice and Score answers carry both the full distribution and a single confidence value derived from it, so your code can treat the answer and the certainty as separate signals.
- ≥ 0.90
- Act on it. Route the ticket, apply the label, move the record.
- ≥ 0.60
- Ask for confirmation. Present the answer as a suggestion rather than a decision.
- below
- Send it to human review and log the distribution.
Use higher thresholds for actions that are costly, destructive, financial or hard to reverse. Confidence does not guarantee correctness. It helps your application decide when not to act automatically.
const department = result.answers.department;
if (department.confidence >= 0.9) {
await routeTicket(department.choice);
} else if (department.confidence >= 0.6) {
await askForConfirmation(department.choice);
} else {
await sendToHumanReview();
}Limits
- State + longest question
- 32KTokens, counted as the state plus the single longest question in the request.
- State + all questions
- 64KTokens for everything in one request, however many questions you batch.
- Input
- Text + JSONPlain strings, or structured objects and arrays for records and logs.
- Evaluation
- ParallelEvery question runs at once, in isolation, against the same state.
- Auth
- Key or walletA Bearer API key, or an x402 wallet with prepaid USDC credits.
- Compatibility
- TypeSafeThe same handler is served at /systemone, so TypeSafe SDKs need only a base URL swap.
Model availability differs by account. List decision models with GET /models?type=decision and treat the Models API as authoritative, because pricing, limits and availability can change.
Pricing
What it costs on Venice
Billed per token on Venice: $0.042 per 1M input tokens, and nothing for the answers that come back.
New Venice accounts include a free daily allowance and 500 welcome credits. No credit card required.
When to use another model
Jev is not a chat model
| You need | Reach for | Endpoint |
|---|---|---|
| A bounded judgment your software acts on directly | Jev | POST /api/v1/decisions |
| Generated prose, explanations or multi-turn conversation | A chat model | POST /api/v1/chat/completions |
| Tool calling, or a long chain of dependent reasoning | A reasoning model | POST /api/v1/chat/completions |
| Open-ended answers with no defined option set | A chat model | POST /api/v1/chat/completions |
A common pattern is both: Jev decides whether and where, a chat model writes the reply once the route is settled.
FAQ
Frequently asked questions
No. Jev is API only: it answers on POST /api/v1/decisions and has no surface in the Venice web app. The same Venice key that reaches chat, image, video and audio reaches it.
The returned score is weighted across the levels rather than a pick of one. A distribution of 0.00, 0.73 and 0.27 over three levels returns 1.27, which reads as mostly level 1, leaning toward level 2.
No. Noul returns a single probability from 0 to 1, and that value carries the certainty: near 0 or near 1 is a confident answer, near 0.5 is the uncertain one. Choice and Score return a separate confidence value because their answer and their certainty are not the same number.
No. Probabilities vary between requests, so treat the figures on this page as illustrative and evaluate Jev on your own examples before choosing production thresholds.
No. Venice keeps no copy of the state you send or the answers it returns, and passes nothing on for training.
Make your first typed decision.
One key, anonymous. Free to start, no credit card.