Jev is an AI model made by TypeSafe. Instead of writing long text, it is built to pick an option, give a score, or return a yes/no probability, much like answering a multiple-choice test. That is why it is sometimes called a "decision AI."
Until now, Jev only read text. With version 1.14, released on October 14, 2026, you can send it images. It also gained a new question type, Box, which returns where something is in a photo as a rectangle. So we tried it.
This post covers:
- What changed in 1.14
- How people are already using it (six examples)
- Our own test with 11 parcel photos
- A just-for-fun "proper Malfoy classifier"
- Things to know before you use it
How to read the numbers. [Official] means TypeSafe's own announcement and docs. [Community] means posts and videos published by other companies and developers. [Measured] means results we got by running
jev-1.14.0ourselves.
1. What changed in 1.14
Three places to put an image
A request to Jev has two main parts: the material to judge (state) and the questions (questions). An image can go in three places. [Official] (Images)
- In the state: "look at this photo and decide"
- Inside a question's text: an image embedded in the question itself
- As an example for an option: for instance, defining a "thumbs up" option with a single photo of a thumbs up
A new question type: Box
Ask "where is the mug in this photo?" and you get the top, bottom, left and right edges as fractions between 0 and 1, so the answer works regardless of image size. Box works only on 1.14. Both 1.13 and 1.14 accept images, but Box questions need 1.14. [Official] (Box, Images)
Still experimental
Images and Box are off by default. You turn them on by sending the TypeSafe-Danger-Zone-Images: true header with each request. TypeSafe calls features like this "dreamer-ready": worth trying in prototypes, but too early to drop straight into a production service. [Official] (Jev 1.14 announcement)
One fun detail: according to the announcement, the previous version, jev-1.13.0, was "multimodal all along", meaning it could already see images. This release simply opened that up. [Official]
Cost and size limits
- There is no separate charge for images. They count as input tokens, at the same price as text. [Official]
- Each side of the image must be between 280 and 1,568 pixels. Images outside that range are rejected, not resized for you, so shrink phone photos before sending them. [Official] (Images)
2. Six real-world examples
We collected examples published after the release. All of these are [Community].
- Smart cropping — Sanity. Sanity, a content management tool for websites, published a demo where you upload a photo, type "Yahtzee," and Jev finds the game box and picks the crop area. The screen shows 807 milliseconds. They also showed warnings when a square or 16:9 crop would cut off the subject, and flags when a photo's alt text does not match the image. Checking the alt text for 702 blog images reportedly cost 4.5 cents. (Sanity, Knut Melvær)
- Finding things on screen. One developer had Jev keep locating five menus on the screen, four times per second, and described it as a fast and cheap way to recognize what is on screen. (source)
- Tracking a moving object. Calling Jev on every frame would be slow, so a public repository uses Box only to find the starting position and then follows the motion with classic video-processing techniques. (BenCaunt/jev-box-tracking)
- Screenshot → spreadsheet. You give it a screenshot; Jev decides whether there is a table and where it is, code crops just that area, and a text AI extracts the rows into Excel. Fixed steps go to code, judgment to Jev, and text to a text AI. (source)
- Code review. When an AI agent opens a PR (a code change request) that changes the UI, screenshots get attached. Jev looks at the screenshot and matches it to the part of the system diagram that changed, so you check the visible change before reading the code. (source)
- Finding things by grid. Box returns only one rectangle at a time. So you split the photo into cells, ask which cell contains the object, then split that cell again to find multiple objects. This developer said plain object detection is slower than dedicated vision models, but Jev is good at searches that need judgment, like "the sheep that looks like it would make a cowboy noise." (source)
There is a common thread. Jev shines less as a precise object finder and more as a tool that looks at a photo and makes a judgment.
3. Hands-on: 11 parcel photos
Setup
We prepared 11 AI-generated example parcel photos.
- 4 intact boxes — with traps such as shadows and stains
- 4 damaged boxes — a crushed corner, a torn hole, a dented side, a box split open from water
- 3 photos with no box — an empty doorstep, a plastic mailer, a shopping bag
Code
The code is short. Wrap the photo in Image, put it in the state, turn on the header, and send three questions together.
QUESTIONS = {
"damaged": Noul(instructions="Is there a crushed or torn spot on the box in `photo`? Shadows and stains are not damage."),
"where": Box(instructions="The crushed or torn part of the box in `photo`"),
"has_box": Noul(instructions="Is there a cardboard shipping box in `photo`?"),
}
with TypeSafeClient() as client:
a = client.system_one(
model="jev-1.14.0",
state={"photo": Image(path)},
questions=QUESTIONS,
extra_headers={"TypeSafe-Danger-Zone-Images": "true"},
).answers
(We wrote the prompts in Korean; they are translated here.)
Noulis a question that returns a yes/no probability.- The first question asks "is it damaged?", the second "where? (Box)", and the third "is there a cardboard box at all?"
- The third question is a safety check. It tells us whether to trust the Box answer.
Result: all 11 correct
We sent one request per photo, and all 11 took under 10 seconds. The result was 11/11 correct. [Measured]
| Photos | Damaged probability | Has-box probability | Verdict |
|---|---|---|---|
| 4 damaged | 0.95–0.98 | 0.88–0.94 | all damaged |
| 4 intact (incl. shadow, stain) | 0.11–0.16 | 0.76–0.94 | all intact |
| 3 with no box | 0.07–0.36 | 0.04–0.20 | all no box |
It was not fooled by shadows or stains, and it correctly said the plastic mailer and the shopping bag had no box.
But it draws a box on an empty doorstep
On damaged boxes, Box found the crushed spot well. But Box also drew a rectangle on the empty doorstep photo. Box never says "nothing here"; it always points somewhere. [Measured]
So we added a rule in code: if the damaged or has-box probability is low, throw away the Box answer. The empty doorstep had a has-box probability of 0.04, so it is discarded right away. The key is not to trust Box alone, but to send a yes/no question alongside it as a filter.
Compared with 1.13
We also sent the same photos to 1.13. [Measured]
- Without Box, 1.13 also judged damage correctly (3/3).
- With Box, the request was rejected (a 400 error).
- Without the header, both versions refused, saying "images are experimental."
4. Just for fun: a "proper Malfoy" classifier
Gender-swapped drawings of Draco Malfoy from Harry Potter, nicknamed "Malfoy TS," are a trend right now. So we flipped the meme: female Malfoy is "proper," and the original male Malfoy is "improper." All the images are original AI-generated characters.
We described the three options in text only: proper Malfoy, improper Malfoy, not Malfoy. As traps we added a smiling blonde student, a dark-haired student, and a white ferret wearing a green scarf.
The result was 9 out of 10 correct. [Measured]
- 3 female Malfoys: all "proper," probability 0.89–0.91
- 4 traps: all "not Malfoy," including the ferret
- It got 1 of the 3 original Malfoys wrong (the long-haired one). It was nearly a coin flip — proper 0.48, improper 0.47 — and it picked proper.
Hand low-confidence answers to a human
This is where confidence helps. Jev returns how sure it is along with the answer. We sent anything below 0.5 confidence to a human, and the wrong answer (confidence 0.22) went straight to "human review."
Coin-flip photos can change answers between runs. Our first run scored 8/10; both misses were the original male Malfoy, with confidence of 0.31 or lower. What matters is that every wrong answer came with low confidence. A confidence threshold lets you split what can be automated from what a person should check. [Measured]
5. Things to know before you use it
- It is still experimental. You must turn on a header, and TypeSafe itself says it is for prototypes.
- Box does not know "nothing." It always points somewhere, so filter first with a yes/no question.
- Box finds one thing at a time. For several objects, use the grid trick.
- Images must be 280–1,568 pixels per side. Anything else is rejected, so resize first.
- Coin-flip images give unstable answers. Set a confidence threshold and hand those to a person.
In short, Jev's image feature is fast and cheap, which makes it a good fit for a first-pass filter on photos. Use it for judging what is in a photo rather than precisely locating objects.
Limits of this test
- The sample is small (11 parcel photos, 10 Malfoy images), and all are AI-generated examples, which may differ from real phone photos.
- We used a single version,
jev-1.14.0, and ran each set only once or twice. Coin-flip images may give different results on other runs. - The six real-world examples summarize public posts and videos; we did not re-measure them under the same conditions.
Watch the video
We covered the same material with real run footage in a video. The video is in Korean.
Sources
- TypeSafe, Jev: For the builders AND dreamers (2026-10-14)
- TypeSafe docs: Images · Box · Models
- Sanity: demo · Knut Melvær
- Finding things on screen: post on X
- Real-time tracking: BenCaunt/jev-box-tracking
- Screenshot → spreadsheet: post on X
- PR screenshot review: post on X
- Finding things by grid: post on X






