Nace.AI: Drex v1.5 vs TypeSafe: Jev 1.14
A side-by-side comparison of Nace.AI: Drex v1.5 ($0.14 / 1M tokens) and TypeSafe: Jev 1.14 ($0.15 / 1M tokens) using current USD prices and capabilities from the api14 catalog. Both run through the same OpenAI-compatible API.
Specifications
| Nace.AI: Drex v1.5 | TypeSafe: Jev 1.14 | |
|---|---|---|
| Provider | Nace.AI | TypeSafe |
| Input | $0.14 / 1M tokens | $0.15 / 1M tokens |
| Context window | 131,072 | 262,144 |
| Max output | 117,964 | 235,929 |
| Input | text | text, image |
| Output | decisions | decisions |
| Tool calling | ||
| Structured output | ||
| Reasoning control | ||
| Added | Oct 9, 2026 | Oct 14, 2026 |
Key differences
- Both have about the same input price.
- TypeSafe: Jev 1.14 reads 2.0× more context (262,144 tokens).
- A request with 1,000 input and 500 output tokens costs $0.000140 with Nace.AI: Drex v1.5 and $0.000147 with TypeSafe: Jev 1.14.
In depth
Nace.AI: Drex v1.5 is a decisions model from Nace.AI, released on 2026-10-09. TypeSafe: Jev 1.14 is a decisions model from TypeSafe, released on 2026-10-14. Both sit in the same category, so neither is a general chat model or a coding assistant by label. They are built to take an input and produce a decision as output, which makes them a fit for classification, routing, gating and similar tasks where you want a discrete answer rather than a paragraph of prose.
The clearest split is context and input modalities. Jev 1.14 accepts text and images and carries a context window of 262144 tokens. Drex v1.5 accepts text only and carries 131072 tokens, so Jev 1.14 has the larger context by a wide margin and is the only one of the two that can look at an image. Both return decisions as their output modality, so on the output side they are alike. Neither lists supported parameters, and the qualitative notes do not mark either as the only one with tools, structured output or reasoning, so you should not assume a capability gap there. On price, the input side is about the same for both, and the output side is not meaningfully different or is unknown.
For a developer choosing between them, the deciding questions are how much text you need to feed in and whether any of it is an image. If your task is text only and fits comfortably inside 131072 tokens, Drex v1.5 covers it, and there is no reason to reach for the larger window. If you are classifying long documents, long threads or large retrieved contexts, or if the input includes a screenshot, scan, chart or photo, Jev 1.14 is the one to call, because Drex v1.5 cannot take images at all and will run out of context sooner. Where both would work, the input price is about the same, so the choice comes down to modality and context rather than cost.
Calling either model through api14 works the same way, because the gateway exposes an OpenAI-compatible API. You point your client at api14, send your request in the usual chat completions shape, and set the model field to the id you want. Switching between the two is a one line change: use "nace-ai/drex-v1.5" for Drex v1.5 and "typesafe/jev-1.14" for Jev 1.14. Your request and response handling stay as they are, since both take text in and return decisions out, and the surrounding code does not need to change when you swap the id.
There is one case where Drex v1.5 remains the better pick even though Jev 1.14 is larger and accepts images. If your inputs are plain text, they fit inside 131072 tokens, and you have no need for image input, then the extra context of Jev 1.14 buys you nothing, and the simpler text only model is enough. In that situation the two are about the same on input price, so there is no cost penalty either way, and you can keep the smaller window without losing anything you actually use.
Switch with one string
Both models use the same endpoint and request shape. Change the model value from "nace-ai/drex-v1.5" to "typesafe/jev-1.14" and prompts, streaming and tools keep working.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.post("/decisions", { body: {
"model": "typesafe/jev-1.14",
"state": "Customer: I was charged twice for my order and want my money back.",
"questions": {
"team": {
"type": "choice",
"instructions": "Which team should handle this message?",
"criteria": {
"billing": "Payments, refunds, invoices",
"support": "Product questions and bugs",
"sales": "Pricing and new purchases"
}
},
"urgent": {
"type": "noul",
"instructions": "Does this need a reply today?",
"criteria": {
"true": "Money, outage or legal risk",
"false": "Can wait"
}
}
}
} });
console.log(result.answers);
More comparisons
- LiquidAI: d1 Latest vs LiquidAI: d1-ultra Latest
- LiquidAI: d1 Latest vs Baseten: Joey 1
- LiquidAI: d1 Latest vs LiquidAI: d1.1
- LiquidAI: d1 Latest vs Morph: Reflex
- LiquidAI: d1-ultra Latest vs Baseten: Joey 1
- LiquidAI: d1-ultra Latest vs LiquidAI: d1.1
- LiquidAI: d1-ultra Latest vs Morph: Reflex
- Baseten: Joey 1 vs LiquidAI: d1.1