state against questions with predefined answer types and returns machine-ready judgments.
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
Choose the answer shape
Jev supports three question types:Noul: make a binary judgment
Use Noul when the probability of yes is directly useful: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: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: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 singleconfidence value derived from it. This lets your code treat the answer and certainty as separate signals:
Ask related questions together
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.
Use structured state
state can be a string, JSON object, or array. Structured state lets questions refer to specific records and supporting context:
ticket.message request a refund covered by refund_policy?”
Send images with a decision
Use the optionalimages 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 exampledata:image/png;base64,iVBORw0KGgo... - An object with
content_type(image/png,image/jpeg, orimage/jpg) andbase64(raw base64 bytes without adata:prefix)
cURL
- 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
jev-latest model currently supports:
- Up to 32,000 tokens for
stateplus the single longest question - Up to 64,000 tokens for
stateplus all questions combined - Text or structured JSON input
- Anonymous privacy (
model_spec.privacyisanonymized). Venice does not send your identity to the provider. The provider can see thestateand questions you send. See Privacy.
clef-api model currently supports:
- Up to 32,768 tokens for
stateplus the single longest question - Up to 32,768 tokens for
stateplus all questions combined - Private privacy (
model_spec.privacyisprivate). See Privacy.
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