TL;DR
OpenAI Decisions API and TypeSafe Jev both return bounded, probability-backed decisions rather than ordinary generated prose. OpenAI uses GPT-6 Luna through a dedicated endpoint; TypeSafe Jev is a specialized System One model. Jev is cheaper on published input-token rates ($0.042 versus $0.10 per million), while OpenAI has native image support. The vendor figures reviewed here do not establish a head-to-head accuracy or speed winner.
Key Takeaways
- Pricing: Jev is 58% cheaper per input token at published base rates.
- Architecture: OpenAI Decisions API uses GPT-6 Luna; Jev is purpose-built for decision processing.
- Modality: OpenAI supports text and images; Jev focuses on text and structured input.
- Benchmarks: Vendor speed claims use different baselines; compare on the same labeled dataset.
- Selection: Prioritize multimodal support and OpenAI integration, or text-only throughput and cost, depending on your application.
At Glance: OpenAI Decisions API vs Jev
The overview below compares the documented decision endpoints and published base rates, checked on October 12, 2026. Model access, limits, and service terms should be verified for the deployment account.
| Feature | OpenAI Decisions API | TypeSafe Jev |
|---|---|---|
| Provider | OpenAI | TypeSafe AI |
| Engine | GPT-6 Luna | Jev System One |
| Endpoint | POST /v1/decisions | POST /v1/systemone |
| Model identifier | gpt-6-luna | jev-1.13.0 / jev-latest |
| Inputs | Text + images | Text / structured text |
| Question types | Predicate (condition probability), choice (category), score (rubric) | Noul (condition probability), choice (category), score (levels) |
| Request questions | Array with names | Object keyed by ID |
| Context limit | Not specified in the linked Decisions guide | 64K total; state + longest question ≤32K |
| Base input cost / 1M | USD 0.10 | USD 0.042 |
| Output token cost | No charge | No charge |
| Vendor speed statement | About 10× faster than Responses API | 70–500 ms end to end |
| Availability | Public beta | Early access in the launch announcement; verify current account access |
| Distinct advantage | Image-based decisions | Lower published input cost |
| Generative reasoning / coding | Not the output contract of this endpoint | Not the output contract of this endpoint |
Many AI workflows need a category, probability, or score—not a paragraph. A support ticket needs routing; an agent needs to select an approved action; a review queue needs to identify uncertain inputs. Both products make such decisions first-class API outputs.
OpenAI released the Decisions API in beta on October 6, 2026. Its GPT-6 Luna endpoint accepts text and images. Jev is TypeSafe AI’s specialized System One model for non-generative evaluation, with a training approach described as Reinforcement Learning for Calibrated Decisions (RLCD).
The question types in the table cover three shared tasks. OpenAI’s predicate and Jev’s noul estimate whether a condition is true, such as refund intent or eligibility. Choice selects from predefined categories, such as Billing, Technical, and Shipping, for routing. Score evaluates an input against a rubric or levels, such as urgency or priority. These descriptions consolidate the two product overviews; the request schemas and probability semantics still require provider-specific handling.
What is OpenAI Decisions API and Jev?
OpenAI Decisions API and TypeSafe Jev are decision-focused AI services designed to transform input data into structured, bounded outputs rather than open-ended text. Unlike traditional large language models that generate explanations or conversational responses, these APIs evaluate predefined questions and return decisions, probabilities, or scores. This makes them particularly useful for automated workflows such as customer request routing, content classification, risk assessment, and AI agent tool selection, where predictable outputs and efficient processing are essential.
OpenAI Decisions API is powered by GPT-6 Luna and operates through the /v1/decisions endpoint. It supports both text and image inputs, with three decision types: predicate, choice, and score. Its main advantage is combining the contextual understanding of a general-purpose AI model with a dedicated decision interface, making it suitable for multimodal classification and applications already integrated with OpenAI's ecosystem.
TypeSafe Jev, in contrast, is a specialized decision model accessed through the /v1/systemone endpoint. It focuses on text-based evaluation using three question types: noul, choice, and score. Jev emphasizes efficient inference, structured predictions, and probability calibration, making it an attractive option for high-volume classification and automated decision pipelines. Although both services address similar problems, their differences in architecture, input capabilities, pricing, and API design can significantly influence which is better suited to a particular application.
Model Approach, Input Limits, and Scope
The comparison concerns documented API behavior and product positioning. OpenAI exposes GPT-6 Luna through a decision endpoint, while TypeSafe positions Jev as a specialized System One model. These descriptions alone do not establish an accuracy advantage or reveal all implementation details.
Jev allows 64K tokens across the complete request, with a separate 32K limit for state plus the longest question. Count question instructions and criteria as well as the shared input. The linked OpenAI Decisions guide does not state a separate numeric context limit for this endpoint; verify applicable limits instead of assuming that a general model context-window figure applies unchanged.
Generative reasoning and coding benchmarks are outside the scope of these bounded decision endpoints. For explanation generation or code generation, evaluate a suitable generative endpoint separately. Results for the underlying general-purpose model do not establish performance for the Decisions endpoint.
Accuracy and Latency
The cited vendor materials do not provide a matched head-to-head test that establishes an accuracy or latency winner. OpenAI’s approximately 10× speed statement compares Decisions with its Responses API. TypeSafe reports 70–500 ms end-to-end latency and says its published evaluations generally ran from a laptop in the western United States.
| Metric | OpenAI Decisions API | Jev | Assessment |
|---|---|---|---|
| Head-to-head accuracy | No matched test in the cited sources | No matched test in the cited sources | No winner |
| Speed | Relative vendor claim | Absolute vendor range | Not directly comparable |
| Calibration | Probabilities; separate confidence for choice/score | Probabilities; derived confidence for choice/score | Test observed calibration |
| Text categorization | Supported | Supported | Both viable |
| Visual categorization | Native images | No native images | OpenAI advantage |
Probability Calibration and Review Thresholds
A model may be accurate but poorly calibrated. Among predictions assigned a 0.90 probability for the selected class, approximately 90% should be correct if that probability is calibrated on the evaluation distribution. Do not substitute an API field called confidence for this probability without checking its definition. Jev derives its Choice confidence from the probability distribution: confidence = (p_max − 1/n) / (1 − 1/n), where n is the number of choices. Its Noul result has no separate confidence field. Measure ECE and Brier score from the appropriate probabilities, alongside precision, recall, and macro F1; choose review thresholds from labeled examples.
Pricing and Cost per Accepted Decision
OpenAI lists $0.10 per million input tokens for /v1/decisions; Jev lists $0.042 per million input tokens. Both list no output-token charge for these decision services. On those base rates, Jev is 58% cheaper per input token. OpenAI’s regional processing premiums and long-context multipliers can apply; retries, preprocessing, and review can add workflow costs.
Assume each request uses 500 billable input tokens on both services. These are illustrative calculations, not vendor invoices.
| Monthly decisions | Input tokens | OpenAI cost | Jev cost | Difference |
|---|---|---|---|---|
| 10,000 | 5M | $0.50 | $0.21 | $0.29 |
| 100,000 | 50M | $5.00 | $2.10 | $2.90 |
| 1,000,000 | 500M | $50 | $21 | $29 |
| 10,000,000 | 5B | $500 | $210 | $290 |
| 100,000,000 | 50B | $5,000 | $2,100 | $2,900 |
Cost per accepted correct decision = (API spend + retry spend + human review spend) / number of accepted correct decisions. A low per-token rate may be offset by a higher rate of misroutes or escalations.
For a conventional GPT-6 Luna workflow, the CometAPI model pricing table lists the following USD rates per million tokens, checked on October 12, 2026. These are model-endpoint rates; the linked page shows a Responses API example and does not establish native /v1/decisions support or its pricing.
| Published tier | Input / 1M tokens | Output / 1M tokens |
|---|---|---|
| Short context (page condition: ≤272,000 tokens) | $0.08 | $0.40 |
| Long context (as listed on the page) | $0.16 | $0.60 |
CometAPI’s ordinary GPT-6 Luna output tokens are billed. Keep this estimate separate from the two decision services above, whose published output-token charge is zero. For example, 500 input tokens plus 20 output tokens cost $0.000048 per short-context request, or $48 per million requests, before other charges. Confirm the applicable tier and account rate in the live model catalog before budgeting.
Agent Workflows and Modality Tradeoffs
Both can route a tool call, evaluate whether a guard condition is met, or score an action. Neither replaces authorization, input validation, or explicit tool permissions. For visual automation, OpenAI’s native image support simplifies the pipeline; for pure text routing, Jev’s lower base cost can be attractive.
Output handling differs at the response boundary. OpenAI returns an answers array, with names identifying questions; Jev returns an answers object keyed by question ID. Normalize these structures before applying shared business rules. Jev derives confidence from its probability distribution; do not assume identically named fields have equivalent meanings across providers. Validate labels and calibrate review thresholds on application data.

Source: Introducing System One Models & Jev; original image. This illustrates workflow composition, not a matched benchmark against OpenAI Decisions API.
How API Usage Differs: OpenAI Decisions API vs Jev
Access must be configured separately for each provider: each example below uses its own host and API key. OpenAI documents Decisions as a public-beta endpoint. For Jev, confirm current access and credentials with TypeSafe before deployment. For either service, verify account permissions, regional availability, quotas, and service terms; an example request does not guarantee production access. Third-party access to a generative model does not by itself confirm support for its native decision endpoint.
How to use OpenAI Decisions API
The concepts overlap, but the request schemas differ. OpenAI sends input and an array of named questions; Jev uses state and a questions object keyed by question ID. Implement a provider-specific adapter before applying a shared decision policy.
Route a support ticket with OpenAI Decisions API.
curl https://api.openai.com/v1/decisions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-luna",
"input": "I was charged twice for my order.",
"questions": [{
"type": "choice", "name": "department",
"instructions": "Which team should handle this?",
"choices": [
{"value":"billing","description":"Charges and refunds"},
{"value":"technical","description":"Product errors"},
{"value":"other","description":"Other requests"}
]
}]
}'
How to use Jev API
The following cURL request uses Jev’s System One endpoint to classify a support ticket. Set TYPESAFE_API_KEY in your environment, place the ticket in state, and define department inside the questions object. Its criteria map lists the allowed routing labels and their descriptions. After the request succeeds, read the department entry in answers and validate the selected label before routing the ticket. Confirm that the model identifier is available to your account.
Route a support ticket with TypeSafe Jev.
curl https://api.typesafe.ai/v1/systemone \
-H "Authorization: Bearer $TYPESAFE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jev-1.13.0",
"state": "I was charged twice for my order.",
"questions": {
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing":"Charges and refunds",
"technical":"Product errors",
"other":"Other requests"
}
}
}
}'
| Integration element | OpenAI | Jev |
|---|---|---|
| Input | input | state |
| Questions | Array | Keyed object |
| Question ID | name | Object key |
| Binary question | predicate | noul |
| Choices | choices | criteria |
| Answer shape | answers array | answers object |
Shared Review Policy for Selected-Class Probabilities
Apply an explicitly calibrated threshold to a selected-class probability.
from dataclasses import dataclass
from math import isfinite
@dataclass
class NormalizedDecision:
label: str | None
selected_probability: float | None
provider: str
needs_review: bool
def apply_review_policy(label, selected_probability, provider, threshold):
if not isfinite(threshold) or not 0.0 <= threshold <= 1.0:
raise ValueError("threshold must be between 0 and 1")
valid_probability = (
selected_probability is not None
and isfinite(selected_probability)
and 0.0 <= selected_probability <= 1.0
)
return NormalizedDecision(
label=label,
selected_probability=selected_probability,
provider=provider,
needs_review=(
not label
or not valid_probability
or selected_probability < threshold
),
)
This Python 3.10+ example is an application policy layer, not an API-response parser. Each provider adapter must validate the response and extract the selected class probability. Do not pass Jev’s raw confidence field as selected_probability. Supply a threshold calibrated for that provider, question, and evaluation dataset; handle refusals and transport errors before calling the policy.
OpenAI Decisions API vs Jev: How to choose
Choose in two stages. First, screen for deployment requirements: image input, account access, input limits, and integration effort. Then benchmark the eligible services on the same labeled workload. For text-only routing, test whether Jev’s lower published input price translates into lower total cost; for image-dependent decisions, evaluate OpenAI’s native image path. Compare misroutes, calibration, tail latency, retries, and human review at an agreed quality target. The table below is a starting shortlist, not evidence of an overall performance winner.
| Use case | OpenAI Decisions API | Jev | Practical recommendation |
|---|---|---|---|
| Support routing | Supported | Supported | Benchmark Jev first for cost |
| Text categorization | Supported | Supported | Compare calibration |
| Screenshot inspection | Native | Requires vision preprocessing | OpenAI |
| Agent tool selection | Supported | Supported | Measure end-to-end outcomes |
| Multimodal moderation | Text and images | Text only | OpenAI |
| Existing OpenAI stack | Native | New integration | OpenAI |
For high-volume business automation, such as support routing and text classification, Jev is worth prioritizing when input cost and throughput are key concerns. For multimodal applications, including screenshot inspection, visual moderation, and image-based decisions, OpenAI Decisions API is the more practical option because of its native image support. For AI agents and enterprise workflows, the choice depends on existing infrastructure, integration complexity, and the consequences of incorrect decisions. OpenAI may offer a smoother path for teams already using its ecosystem, while Jev deserves consideration for large-scale, text-heavy workloads. In all scenarios, the final decision should be based on measured accuracy, probability calibration, latency, and total operating cost rather than headline pricing alone.
How Should You Benchmark OpenAI Decisions API Against Jev?
Run both services on the same labeled real-world inputs, with matched question definitions and client regions. Track accuracy, macro F1, ECE, Brier score, p50/p95/p99 latency, timeouts, refusals, review rate, and dollar cost per correct accepted decision.
| Dimension | Recommended metrics | Why it matters |
|---|---|---|
| Classification | Accuracy, precision, recall, macro F1 | Quality of labels |
| Calibration | ECE, Brier score | Reliability of probabilities |
| Latency | p50 / p95 / p99 | Operational responsiveness |
| Reliability | 429 / timeout / refusal rate | Production behavior |
| Economics | Cost per accepted correct decision | Real operating expense |
Suggested procedure: build a representative labeled set; include ambiguous and out-of-distribution cases; send semantically identical tasks; repeat requests enough to measure variance; calibrate each system’s thresholds independently; and compare end-to-end cost including escalation and retries.
Conclusion
Choose OpenAI Decisions API when the decision depends on image evidence or when an existing OpenAI integration reduces deployment work. Evaluate Jev for text-only decision workloads where its lower published input-token rate can reduce inference spend. Measure label quality, calibration, tail latency, and review workload on the same application data before choosing.
Jev has the lower published base input-token price; OpenAI Decisions API has native image input. The cited vendor figures do not establish an overall accuracy or speed winner. The best choice depends on the cost and quality of accepted decisions in the complete workflow.
Developers can use the GPT-6 Luna API in CometAPI to prototype lightweight classification in a broader multi-model workflow. The linked model page provides a Responses API example. Access to that generative endpoint does not establish support for the dedicated /v1/decisions endpoint. This is a conventional text-generation prototype. It does not return the native Decisions answer schema or a calibrated class-probability distribution. Validate the returned label against the allowed categories and handle API errors before connecting it to downstream actions. Confirm native /v1/decisions support separately if that endpoint is required.
