Jev 1.14 vs OpenCV YOLOX: image questions and bounding boxes
I tested Jev 1.14's image input and new Box answers on 6 photos and compared the boxes with OpenCV's YOLOX detector. Accuracy, box fit, speed and cost.
TypeSafe released Jev 1.14 on 14 October 2026. The same day, its SDKs added two things: images in a request, and a new question type, Box, which answers where something is in an image. Images also work with Jev 1.13; Box needs Jev 1.14. Both are a preview. You turn them on with a request header, and TypeSafe's docs say the request format and the accuracy can change between releases.
I tested both the day after the release. I asked questions about six photos and checked the answers. Then I asked Jev for boxes around 20 objects in the same photos, and compared them with the boxes from YOLOX, the object detector in OpenCV's model zoo.
The short answer
- Questions about a photo: Jev 1.14 answered 97 of 99 correctly. Jev 1.13, which also takes images, answered 94.
- Boxes: Jev put 14 of 20 boxes on the object. YOLOX also got 14, but they missed different objects.
- Box fit: when both tools found the object, YOLOX's box was tighter 9 times out of 11.
- Finding by description: Jev takes a description, such as "the boy holding a trophy". YOLOX finds 80 kinds of object, and your code picks which box you want.
- Confidence: a low confidence on a Choice answer marked Jev's misses. The confidence on a Box answer did not separate good boxes from bad ones.
- Cost and speed: the whole test cost less than half a US cent. A photo with about 20 questions took 0.4 to 0.6 seconds. YOLOX took about 0.5 seconds per photo on one CPU core, for free.
The six photos
The photos come from the COCO 2017 validation set. In each COCO photo, people drew boxes around the objects of 80 common kinds, so there is a correct answer to measure against. I picked six photos that are hard in different ways:

Night street Low light, small objects far away

Bus in heavy rain Rain, spray and glare

Group of children Twelve people standing close together, bright sun

Old kitchen Warm, dim indoor light and a lot of clutter

Skateboarder Black and white, taken from below

Lunch boxes Taken from straight above, with text and arrows drawn on
COCO photos are small: 640 pixels on the long side. Jev accepts images up to 1,568 pixels, so a larger photo may give it more to work with. I did not test that.
Job 1: what is in the photo?
Jev answers with typed answers. A Noul is a yes/no probability, and a Choice picks one option from a list you give it. Each photo got one request with about 20 questions:
- Is there a … ? for two or three objects that are in the photo and three that are not (a Noul each).
- Lighting, camera angle, colour or black and white, and how many people (a Choice each).
- Details: "What is the woman doing?", "What route number is on the bus?"
- Where: "In which part of the photo is the bicycle?", with nine parts as the options.
Then a second request per photo with three harder questions: exact counts ("How many blue arrows are drawn on the photo?"), small text ("Which maker's name is on the front of the bus?"), small details, and left or right of another object.
YOLOX can answer two of these questions too: whether an object is there (it finds a box for it or not), and how many people there are (count its person boxes).
On the 58 questions only Jev can take (lighting, angle, details, text, counts, where things are), both Jev versions got 56 right. Two answers were wrong in each:
- Both versions said there were five arrows on the lunch-box photo. There are four.
- Jev 1.14 put the blue fork in the middle of the photo. Its centre is in the left third.
- Jev 1.13 said there were two bicycles on the night street. There is one bicycle and a motorcycle.
Confidence marked the doubtful answers. Every Choice answer comes with a confidence. Jev 1.14 gave 0.65 to its wrong arrow count and 0.73 to the wrong fork position. Suppose your code acts on answers with a confidence of 0.9 or more and sends the rest to a person. Of Jev 1.14's 64 Choice answers here, that sends 15 to a person: both wrong answers and 13 right ones, such as the night bicycle count, right at only 0.29. Six photos are too few to set that number for your own images.
Job 2: where is it?
A Box question takes a description, such as "the boy in the white cap at the far right", and returns four edges as fractions of the image's width and height. I asked for 20 objects across the six photos, and compared each box with the box a person drew for COCO.
How the fit is measured. Take the area that two boxes share, and divide it by the area they cover together. This is called IoU (intersection over union). 1 is a perfect match. Object detection usually counts 0.5 or more as "found it".
YOLOX returns boxes for every object it detects, each with one of 80 labels. To compare it fairly, I scored it two ways:
- Best box: of all YOLOX's boxes with the right label, the one that fits best. This is the most YOLOX can do, but your code can't know which box that is.
- With a simple rule: the box your code would pick, such as the largest person or the leftmost car. For 3 of the 20 objects no simple rule works, because the description needs words: "the boy holding a trophy".
Size mattered for both. I split the 20 objects by how much of the photo they fill:
In the photos below, white is the box a person drew for COCO, pink is Jev's box, and amber is YOLOX's best box. Where amber is missing, YOLOX found nothing with that label. Tap a photo to see it full size.
Under each photo, the numbers are the IoU of each box with the box a person drew. Bold is on
target (0.5 or more). "No box" means YOLOX returned no box with that label. Jev was asked for the
words in the first column, followed by "in photo". YOLOX gives every box one of 80 labels, shown in
brackets; "YOLOX + rule" is the box a simple rule picks, such as the largest person.
| Asked for (YOLOX label) | Jev | YOLOX best | YOLOX + rule |
|---|---|---|---|
| The woman standing on the pavement (person) | 0.73 | 0.90 | 0.90, largest |
| The bicycle (bicycle) | 0.50 | 0.85 | 0.85, highest score |
| The motorcycle parked on the right (motorcycle) | 0.36 | no box | no box |
| The handbag the woman is carrying (handbag) | 0.35 | 0.85 | 0.85, highest score |
| Asked for (YOLOX label) | Jev | YOLOX best | YOLOX + rule |
|---|---|---|---|
| The bus (bus) | 0.82 | 0.79 | 0.79, highest score |
| The silver car with its headlights on, just left of the bus (car) | 0.63 | 0.88 | 0.88, largest |
| The white car cut off at the left edge of the image (car) | 0.74 | 0.72 | 0.72, leftmost |
| Asked for (YOLOX label) | Jev | YOLOX best | YOLOX + rule |
|---|---|---|---|
| The boy in the red shirt holding a trophy (person) | 0.81 | 0.96 | no rule fits |
| The boy in the red and white football shirt at the front (person) | 0.90 | 0.09 | no rule fits |
| The boy in the white cap at the far right (person) | 0.88 | 0.98 | 0.98, rightmost |
| The tennis racket (tennis racket) | 0.67 | 0.91 | 0.91, highest score |
| Asked for (YOLOX label) | Jev | YOLOX best | YOLOX + rule |
|---|---|---|---|
| The cook in the white shirt and black apron (person) | 0.94 | 0.95 | 0.95, largest |
| The jar with a red lid on the table (bottle) | 0.40 | no box | no box |
| The sink (sink) | 0.63 | no box | no box |
| Asked for (YOLOX label) | Jev | YOLOX best | YOLOX + rule |
|---|---|---|---|
| The skateboarder doing the trick (person) | 0.87 | 0.93 | 0.93, largest |
| The skateboard (skateboard) | 0.35 | 0.88 | 0.88, highest score |
| The man in a dark shirt standing at the top of the wooden ramp (person) | 0.44 | 0.94 | no rule fits |
| Asked for (YOLOX label) | Jev | YOLOX best | YOLOX + rule |
|---|---|---|---|
| The blue fork (fork) | 0.47 | no box | no box |
| The slice of bread with cheese on it (sandwich) | 0.61 | no box | no box |
| The plastic box on the right, with tomato and grated cheese (bowl) | 0.95 | 0.98 | 0.98, rightmost |
What the photos show:
- YOLOX fits tighter when it finds the object. On the 11 objects both found, the middle IoU was 0.91 for YOLOX and 0.81 for Jev.
- Jev's boxes on small objects were often loose or offset. The handbag box was more than twice the size of the real handbag.
- Jev found things YOLOX did not. YOLOX had no box for the jar, the sink, the fork or the bread at its default threshold, and called the motorcycle a bicycle. Jev's boxes were on target for the sink and the bread, and near misses for the jar (IoU 0.40) and the fork (0.47).
- Jev picks one object from a description. It found the boy holding the trophy and the boy at the front with an IoU of 0.81 and 0.90. YOLOX had good boxes for some of these people, and no way to say which one matched the words.
Box confidence did not predict a good box
Every Box answer comes with a confidence. On these 20 objects it did not tell a good box from a bad one. The boxes that were on target had confidences from 0.38 to 0.92. The six that missed had 0.43 to 0.84. TypeSafe's docs say there is no recommended threshold yet and that you should tune one on your own images.
A Box always returns a box
TypeSafe's docs say a Box answer is always a box, with no "not found" answer. I checked by asking for one object that is not in each photo: a dog on the night street, a cat in the kitchen. Each got a box, with confidences from 0.03 to 0.29. The boxes for real objects all scored 0.38 or more. That gap held on 26 boxes, which is too few to rely on.
The docs suggest a Noul next to the Box: "Is there a dog in the photo?" Jev 1.14 got all 35 of those right in this test, so ask it, and ignore the box when the answer is no.
The same request twice
I sent every request twice. Every Choice answer came back the same, and every Noul within 0.02. Of the 20 boxes for real objects, 16 moved, by at most 2% of the photo's width or height, and the same 14 were on target both times. The made-up box for the missing dog moved by 30% of the photo.
Speed and cost
| Jev 1.14 | OpenCV YOLOX-S | |
|---|---|---|
| Where it runs | TypeSafe's API | Your own machine |
| Time per photo | 0.4 to 0.6 s for about 20 questions, network included | About 0.5 s on one CPU core |
| Cost | About $0.0001 per photo, at $42 per billion input tokens | Free |
| What it can find | Anything you can describe | 80 kinds of object |
| Other questions in the same call | Yes | No |
A request with one 640-pixel photo and three short questions used about 1,300 input tokens. The whole test, with every rerun, used about 101,000 input tokens: $0.004.
Which one should you use?
These are six photos and 20 objects, so treat them as a first look:
- A detector like YOLOX fits when you need tight boxes around common objects (people, cars, animals, everyday things), for many images or video frames, on your own hardware. Check that the objects you need are among its 80 kinds.
- Jev's Box fits when the target is described in words, when you also need other answers about the same photo, or when a rough box is enough, such as to crop or to point a person at the right area. Ask a Noul to check that the object is there. It is a preview, so pin the model version and test again when it changes.
- For "what is in this photo" questions, such as lighting, text and what someone is doing, Jev answered almost everything right here. Read the confidence: in this test, low confidence marked the answers worth checking.
Technical details: how I measured
- Photos: COCO 2017 validation images 119516, 84170, 1000, 397133, 365521 and 369771, at their original size (640 pixels on the long side), sent as JPEG. Correct answers for "Is there a … ?", "how many people" and every box come from COCO's annotations (crowd regions excluded). Lighting, angle, colour and the detail questions I checked by eye; for the lunch-box photo, lighting was unclear, so it was left out (5 lighting questions, not 6).
- Jev:
jev-1.14.0andjev-1.13.0over the HTTP API (POST /v1/systemone, multipart, headerTypeSafe-Danger-Zone-Images: true), the photo once in the state asphoto, every question referring to it. Box questions were in the same request as the other questions; Jev 1.13 got the same requests without them. Box instructions were the description plus "inphoto". - YOLOX: OpenCV Zoo
object_detection_yolox_2022nov.onnx(YOLOX-S; the zoo also has NanoDet, a smaller COCO detector I did not test), itsyolox.pywrapper, OpenCV 5.0.0 on CPU, input letterboxed to 640 × 640, confidence threshold 0.35 (the wrapper's default; the demo script uses 0.5, which finds fewer boxes) and NMS 0.5. The zoo reports AP 0.405 on COCO 2017 val, and 0.232 on small objects. - Fairness: YOLOX was trained on COCO's training photos, so it learned the same 80 kinds and the same way of drawing boxes that the correct answers use. I could not find what Jev was trained on.
- IoU: intersection area over union area, with boxes as fractions of width and height. "On target" is IoU 0.5 or more. "Small" is a correct box under 1.5% of the photo's area, "large" over 5%.
- Where questions: nine parts (a 3 × 3 grid). I scored only the 11 objects whose centre is clear of the grid lines, so that a fair answer has only one correct part.
- Simple rules for YOLOX: the highest-scoring box for a label with one object; the largest, leftmost or rightmost box for the others; none for "the boy holding a trophy", "the boy in the football shirt at the front" and "the man standing at the top of the ramp".
- Times: Jev from a cloud server, network included, one request at a time. YOLOX on one core of an AMD EPYC-Rome server at 2.0 GHz, median of 5 runs after one warm-up run.
- Not tested: larger photos, cropping before asking for a small object (TypeSafe's docs suggest it), other detectors, and video.
Every answer, box and YOLOX detection is in jev-images-boxes-results.json. Measured 2026-10-15.
Photo credits (each shown as taken and with boxes drawn on): night street by Jacob Bøtter, bus by SgTransport, children by Oleg Klementiev, kitchen by Maggie Stephens and lunch boxes by goblinbox, all CC BY 2.0. Skateboarder by Roland Szilagyi, CC BY-SA 2.0; the version with boxes is shared under the same licence.





