Skip to main content
Most language models are designed to generate text. When an application needs a decision, that often means asking a model for JSON, validating the response, and extracting the value that controls the next step. Jev is a System One decision model. Instead of generating prose, it evaluates a state against questions with predefined answer types and returns machine-ready judgments.
Jev and the Decisions API are in beta. Availability and behavior may change without notice.

A support ticket becomes a decision

Suppose this message arrives:
My payouts have failed for three days and nobody has replied. Please help ASAP.
Your application needs to know where to route it, whether it is urgent, and how frustrated the customer appears. Send the message once and ask all three questions together:
cURL
Jev returns one answer under each question ID:
Probabilities vary between requests. Evaluate Jev on examples from your own application before choosing production thresholds.

Choose the answer shape

Jev supports three question types:

Noul: make a binary judgment

Use Noul when the probability of yes is directly useful:
Noul has no separate confidence field. A value near 1 is a strong yes, near 0 is a strong no, and near 0.5 is uncertain.

Choice: route or classify

Use Choice when the answer must be one of a closed set:
Include an other or none option when the supplied choices may not cover every state.

Score: measure a spectrum

Use Score when the answer falls along ordered levels:
Level indexes begin at 0. The returned score is probability-weighted, so it can fall between two levels.

Turn confidence into application behavior

Choice and Score answers include both the full distribution and a single confidence value derived from it. This lets your code treat the answer and certainty as separate signals:
Use higher thresholds for actions that are costly, destructive, financial, or difficult to reverse. Confidence does not guarantee correctness; it helps your application decide when not to act automatically. Every question in a request receives the same state and is evaluated independently. A department answer does not become hidden context for the frustration question. Batch independent questions when:
  • They evaluate the same document, record, conversation, or application state.
  • Your code may need several answers depending on the first result.
  • You want to avoid sending the same state in multiple requests.
Make a second request only when its state or available choices genuinely depend on an earlier answer.

Use structured state

state can be a string, JSON object, or array. Structured state lets questions refer to specific records and supporting context:
Write complete instructions and name the relevant fields, for example: “Does ticket.message request a refund covered by refund_policy?”

Send images with a decision

Use the optional images array when the judgment depends on something visual, such as a screenshot, receipt, or product photo. Every question in the request can look at the same images alongside state. Each entry can take one of two forms:
  • A data: URI string, for example data:image/png;base64,iVBORw0KGgo...
  • An object with content_type (image/png, image/jpeg, or image/jpg) and base64 (raw base64 bytes without a data: prefix)
cURL
Image input rules:
  • Send between 1 and 4 images per request.
  • Only PNG and JPEG are accepted.
  • Each encoded entry can be at most 13,631,488 characters.
  • Venice does not fetch remote URLs. Embed the image bytes directly.

Discover decision models and their limits

Venice offers two decision models, both in beta: Set the model field to the ID of the model you want. Use your API key when listing decision models because model availability can differ by account:
cURL
The jev-latest model currently supports:
  • Up to 32,000 tokens for state plus the single longest question
  • Up to 64,000 tokens for state plus all questions combined
  • Text or structured JSON input
  • Anonymous privacy (model_spec.privacy is anonymized). Venice does not send your identity to the provider. The provider can see the state and questions you send. See Privacy.
The clef-api model currently supports:
  • Up to 32,768 tokens for state plus the single longest question
  • Up to 32,768 tokens for state plus all questions combined
  • Private privacy (model_spec.privacy is private). See Privacy.
Treat the Models API as authoritative because pricing, limits, and availability can change.

When to use another model

Use Jev for bounded judgments your software can act on directly. Use a chat or reasoning model when you need:
  • Generated prose or explanations
  • Multi-turn conversation
  • Tool calling
  • Open-ended answers
  • A long chain of dependent reasoning

Next steps