the wizard

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

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:

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:

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 two questions all three tools can answer, Jev 1.14 got every one right. YOLOX missed small or hidden objects and undercounted crowds.
Correct answers, of 41
ToolCorrect answers, of 41Details
Jev 1.1441No misses
Jev 1.1338Said no bowl in the lunch boxes, said there was a spoon, and saw no people in the bus
OpenCV YOLOX-S35Missed a traffic light, a backpack, an oven and a fork, and found 7 people in two photos with 12 and 13

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:

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:

Jev and YOLOX's best box both found 14 of the 20 objects. When code has to pick YOLOX's box with a simple rule, it gets 12.
Boxes with IoU 0.5 or more, of 20
ToolBoxes with IoU 0.5 or more, of 20Details
Jev 1.1414Missed the motorcycle, the handbag, the jar, the skateboard, the man on the ramp and the blue fork
YOLOX-S, best box14Found no box for the motorcycle (it called it a bicycle), the jar, the sink, the fork or the bread. Its nearest box to the boy at the front was another child
YOLOX-S, simple rule12As the best box, and two more objects lost because no rule can pick them

Size mattered for both. I split the 20 objects by how much of the photo they fill:

Small objects were hard for both tools. On large objects Jev found 8 of 9, YOLOX 6.
Boxes on target, Jev 1.14 vs YOLOX best box
4 vs 5of 8 small objects, under 1.5% of the photo
2 vs 3of 3 medium objects, 1.5% to 5% of the photo
8 vs 6of 9 large objects, over 5% of the photo

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.

Night street: Jev's box around the woman is close; its boxes for the small bicycle, handbag and motorcycle are offset or too big. YOLOX fits the woman, bicycle and handbag tightly and labels the motorcycle as a bicycle.

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

Bus in rain: both tools box the bus and the two cars on the left well.

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

Group of children: Jev boxes the boy holding the trophy, the boy at the front and the boy in the white cap from their descriptions. YOLOX fits the boy with the trophy and the boy in the white cap tightly, and has no box for the boy at the front.

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

Old kitchen: both tools box the cook well. Jev's sink box is on target and its jar box is near but loose; YOLOX finds neither.

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

Skateboarder in black and white: both box the skater. Jev's box for the man on the ramp covers only his lower half, and its skateboard box is too tall.

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

Lunch boxes from above: both box the plastic box on the right well. Jev's fork box also covers the blue knife; YOLOX finds no fork and no bread.

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:

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:

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.0 and jev-1.13.0 over the HTTP API (POST /v1/systemone, multipart, header TypeSafe-Danger-Zone-Images: true), the photo once in the state as photo, 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 "in photo".
  • YOLOX: OpenCV Zoo object_detection_yolox_2022nov.onnx (YOLOX-S; the zoo also has NanoDet, a smaller COCO detector I did not test), its yolox.py wrapper, 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.

← All writing