Jev 1.14 adds images, a box type and long context behind danger-zone flags, and the fine print matters
TL;DR
TypeSafe released Jev 1.14.0 on 14 October with experimental image input, a bounding-box question type and optional long context, each behind a header flag. The model now competes with Cloudflare's open-weight Clef, OpenAI's Decisions API on GPT-6 Luna and several open models.
On this page
What happened
TypeSafe AI posted Jev 1.14.0 and a set of "danger zone" features on 14 October 2026. Jev is what TypeSafe calls a System One model. It reads a piece of state, such as a support ticket, and answers typed questions with probabilities instead of writing text, so code can branch on the numbers. There are three question types: Noul (a yes or no, returned as a probability), Choice (pick one option) and Score (a place on an ordered scale).
Jev: For the builders AND dreamers (TypeSafe)TypeSafe's release post. Images, a box type, long context and the 1.14 version timeline.typesafe.ai →TypeSafe's models page lists Jev 1.13 at $0.042 per million input tokens, with output free. Jev launched on 15 September, and rivals followed within weeks, per eesel's tracking: Cloudflare's Clef on 1 October, OpenAI's Decisions API in public beta on 6 October and Microsoft-Decision-1 on 9 October.
What 1.14 adds
TypeSafe splits its release into production features and experiments. The experiments sit behind request headers, and the post says they are not yet reliable enough to vouch for in production.
- Images. A request can carry images in the state, in a question's instructions or in its criteria. TypeSafe says Jev 1.13 accepted images all along, and warns that every model does worse on images than on text. The header is
TypeSafe-Danger-Zone-Images: true. - A box type. It returns one bounding box for something in an image and is the first Jev type that is not a plain decision. It works on 1.14 only.
- Long context. TypeSafe says Jev supports much longer context than it enables in production, and gives no number. The header is
TypeSafe-Danger-Zone-Long-Context: true. - A data opt-in. Users can let TypeSafe see their queries to find weak spots. TypeSafe says it still does not train on them.
- A quiet model update. jev-1.14.0 has small gains across the board, with the largest expected in multilingual use. It sits under jev-preview, jev-latest moves to it in a week, and 1.13.0 stays available. TypeSafe plans 60 days' warning before retiring 1.13.0 and 30 for 1.14.0, with a deprecation policy to come.
The post also shares TypeSafe's internal accuracy charts for the first time. It includes only open-weight models, says the numbers are likely biased toward Jev, and tells readers to run their own evals.
How Jev compares with the field
The table uses vendor documentation. Jev's row describes 1.13 and the 1.14 post, because TypeSafe's docs have not caught up with every change.
| Model | Weights | Input price per 1M tokens | Context | Images | Question types | Status |
|---|---|---|---|---|---|---|
| Jev (TypeSafe) | Closed | $0.042 | 64k per request, 32k for state plus the longest question | Experimental, PNG and JPEG | Noul, Choice, Score, plus Box on 1.14 | Text in production, images, Box and long context behind flags |
| Clef (Cloudflare) | Open, Apache 2.0 | $0.24 | 65,536 | Up to 4 per request | Noul, Choice, Score | Available on Workers AI |
| Clef-flash (Cloudflare) | Open, Apache 2.0 | $0.038 | 24,576 | Up to 4 per request | Noul, Choice, Score | Available on Workers AI |
| GPT-6 Luna Decisions (OpenAI) | Closed | $0.10 | 1,050,000 | Yes, inline base64 only | Predicate, Choice, Score | Public beta, general release expected within weeks |
The open field is wider than Cloudflare. Per eesel's 11 October comparison, Perplexity Decider v1.1 (27B, Apache 2.0) reads only 8,192 tokens per decision, Rune 26B-A4B claims a 262k context, and AWS's Strands Decider 2B (1.9B parameters) runs on a laptop GPU with no hosted version. On the community Decision Index of 10 October, Perplexity ranks first at 62.75, Jev's reference score is 60.11, Rune is at 57.43 and Clef at 53.08. Cloudflare's own copy of the board shows Clef first at 61.2, marked self-reported.
Speed claims are not like for like. Cloudflare measured medians of 39 ms for Clef-flash, 209 ms for Clef and 524 ms for Jev, but Jev's number is a round trip to TypeSafe's hosted API while the others ran on Cloudflare's own stack. OpenRouter shows a 0.15 second median for Luna Decisions.
What Jev brings, and where the clones lead
Jev's edge is a short list. Its 1.14 additions are the most distinctive part, and they are the least finished.
- A fourth question type. The Clef and OpenAI documentation list only the three shared types, so Box has no counterpart in the pages reviewed.
- No stated cap on image count. Clef allows 4 images per request. Jev's limits are about size and context, though images stay experimental.
- Stronger on reasoning-heavy tests. In the full Cloudflare table reported by Flavio Copes, Jev scores 78.3 on GPQA Diamond to Clef's 48.0, 82.7 on MMLU-Pro to 65.9, and 92.9 on BBH to 73.7.
- A lower price than Clef or Luna. Jev is about 5.7 times cheaper per input token than Clef and 2.4 times cheaper than Luna Decisions. Clef-flash now undercuts it at $0.038.
- Wide tooling. The SDKs cover Python and JavaScript, Jev is also served by Cloudflare Workers AI, Vercel's AI Gateway and OpenRouter, and a community list names integrations with LangChain, Pydantic AI and LiteLLM.
Where rivals lead:
- Open weights. Clef, Perplexity Decider, Rune and Strands Decider can be downloaded and self-hosted, and Jev cannot.
- Context. Luna Decisions reads 1.05M tokens, and Jev's long-context mode has no published length.
- Classification-heavy tests. Cloudflare's table shows Clef ahead on BANKING77, 94.2 to Jev's 79.7, though Cloudflare ran those numbers itself.
- The open ranking. Perplexity Decider sits above Jev's reference score on the community index.
- Stability. TypeSafe warns its rate limits are adjusting dynamically, and calls images, Box and long context unready for production.
Fine print on images
Jev's image rules come from the images page of its docs. They are strict, and one bad image fails the whole request. Clef's figures come from Cloudflare's model page and Flavio Copes's tests.
| Jev | Clef | |
|---|---|---|
| Formats | PNG or JPEG, still images only. Animated PNG is rejected | PNG, JPEG or WebP |
| Size per file | 16 MiB | 4 MiB and 16 megapixels |
| Dimensions | 256 to 1568 pixels per side, and 78,400 to 2,458,624 pixels in total. A 256 by 256 image is too small | Resized to fit rather than rejected: small images are scaled up, and images over about 1 megapixel are scaled down |
| Count | No cap stated | 4 per request |
| Request size | 32 MiB body, 32 MiB for all processed images, and 32 MiB once references are expanded | 13 MiB body, 8 MiB of images when decoded |
| Delivery | Multipart, which is recommended, or base64, which adds about a third | Base64 only. Remote URLs are not accepted |
| Token cost | Billed as input tokens at the text rate. No formula published yet | Width over 32 times height over 32, plus 3 marker tokens, capped at 1,024 per image |
OpenAI's Decisions API accepts images as inline base64 data URLs only, and its guide gives no size or count limits.
The gotchas worth knowing for Jev:
- Every use of an image reference adds the image again. A 10 MiB image used in four questions counts as 40 MiB against the expanded limit. Put a shared image in the state once.
- Processing re-encodes each image and can make it larger than the file you sent, so many small uploads can still go over 32 MiB.
- The API strips all metadata and does not apply EXIF rotation. A photo that looks upright in a viewer can arrive sideways, so rotate the pixels first.
- An image outside the limits is rejected and never resized. Resize to 1568 pixels on the longest side before sending. A 12-megapixel phone photo becomes 1568 by 1176.
- Images count toward the context length. Too many return a 400
max_tokens_exceedederror, and size breaches return 413. - Images have no separate rate limit. They count against the same 100K tokens and 80 requests per second as text on 1.13.
- Every asset must be referenced somewhere or the request fails. A short reference such as
catcan match insidecategory, so TypeSafe advises a fresh UUID per image. - The header is needed on every request that contains an image or a Box question.
On cost, TypeSafe says guidance on estimating image tokens is coming. The pixel limits hint at an answer. Both are multiples of 28 squared: 280 by 280 and 1568 by 1568. If Jev counts one token per 28 by 28 block, an image costs 100 to 3,136 tokens, which is at most about $0.00013 at $0.042 per million, and about ten full-size images would fill a 32k state. That is my arithmetic from the published limits and TypeSafe has not confirmed it. For comparison, the most a Clef image can cost is about 1,027 tokens, roughly $0.00004 on Clef-flash and $0.00025 on Clef.
Fine print on Box, versions and access
The Box page holds several details that change how the type behaves in code.
- A Box question always returns a box. There is no "not found" answer, so TypeSafe says to ask a Noul in the same request whether the target is in the image, and to ignore the box when that answer is low.
- Each question returns one box. Several targets need several questions, and duplicates need a description such as the one nearest the sink.
- The four edges are fractions of the image's width and height from the top-left corner, so one answer works at any resolution.
- There is no recommended confidence threshold yet. TypeSafe suggests tuning on your own images, padding the box, or asking again on a larger crop.
- Small targets in large images can be missed. The advice is to find the region first, for example with a Choice whose options are tiles, then ask on that tile.
- In TypeSafe's test on 36 painting crops with a known part cut off, four per-edge questions caught 30 of the cuts, one "is it all inside" question caught 26, and an outlined box on the full image caught 20.
- Box needs jev-1.14.0 or jev-preview.
On versions and docs:
- The docs disagree with themselves. The models page still lists Jev 1.13 as text only and says jev-preview points to the same model as jev-latest, while the images page and the blog say 1.13 accepts images and 1.14 sits under jev-preview.
- Aliases move. jev-latest switches to 1.14.0 in about a week, and the models page advises pinning a versioned ID if you tuned thresholds against one version. The response's model field reports which version answered.
- Jev is not fine-tuned per customer. The same weights serve every account, and English is where accuracy is best.
- TypeSafe says rate limits are adjusting dynamically, with higher limits on enterprise plans.
- Jev is also listed on Cloudflare Workers AI, Vercel's AI Gateway, OpenRouter and Netlify, per a community list. The pages read do not say whether the danger-zone headers pass through those gateways.
- TypeSafe says it does not train on customer requests or responses. Enterprise customers can get zero data retention.
What to watch
- The long-context length. TypeSafe has not published it, so the first real test against Luna's 1.05M window is still to come.
- Independent scores for 1.14. The 60.11 reference figure on the community index is for 1.13, and TypeSafe's own charts include only open-weight models.
- Image token guidance. TypeSafe promises a way to estimate image cost, and the 1.14 post states no new price.
- Fast-moving specs. Within ten days of launch Cloudflare cut Clef-flash to $0.038 and a 24,576-token context, per its docs.
- OpenAI's general release. The Decisions API is in public beta, and long-context pricing multipliers and regional premiums already apply.
- Whether rivals copy Box. The competing documentation reviewed lists no such type.
Sources
- Jev: For the builders AND dreamers (TypeSafe, 14 Oct): the 1.14 release, danger-zone flags, version timeline.
- Images, Box and Models (TypeSafe docs): limits, error codes, price, context, aliases. System One: how the model differs from an LLM.
- Lies, Damned Lies, and Benchmarks (TypeSafe): why TypeSafe publishes no standard benchmark table.
- Clef-flash model page (Cloudflare): current price, context, image limits and token formula.
- A deep dive into Clef (Flavio Copes): launch-week Clef specs, tests, the full benchmark comparison with Jev.
- Cloudflare Clef explained, Decision models explained and Microsoft-Decision-1 alternatives (eesel): the wider field, dates, prices and Decision Index scores. A vendor blog.
- Decisions guide (OpenAI) and GPT-6 Luna Decisions on OpenRouter: price, image rules, question types, context and latency.
- Awesome Jev list (community): gateways and integrations.
Continue reading
sgrep cuts agent search cost 21% on SWE-bench, and the accuracy gain is within noise
Context.dev's open-source sgrep, a local semantic layer on top of ripgrep, cut LLM API spend by 21.3% in a 100-attempt SWE-bench Verified test while solving 70 attempts to ripgrep's 68. The authors' own confidence interval on that accuracy gap runs from minus 3 to plus 8 points.
Top 10 AI visibility players in 2026: revenue, users, marketing spend and moat
Profound raised $180M at a $1.8B valuation, Adobe paid $1.9B for Semrush and Sitecore bought Scrunch AI for about $225M. Meanwhile bootstrapped tools such as Rank Prompt and AEO Engine show $43K and $135K of verified monthly revenue on TrustMRR.
An off-the-shelf AI model helped XBOW build a Chrome full-chain exploit in six days for $40,000
XBOW says one researcher and AI agents running on OpenAI's publicly available GPT-5.6 Sol built a three-bug Chrome exploit chain in six days, using about $40,000 of compute. Google paid a $250,000 reward, and the bugs are fixed.