Launch offer+40%Claim →

Jev Box: find where something is in an image

Box is the experimental image question in Jev 1.14. We drew scenes with known edges, ran 15 calls, and wrote down how close it got, what an image costs in tokens, and where it goes wrong.

Independent and unofficial. Jev is a model by TypeSafe AI; Jagent is not affiliated with or endorsed by them. Measured 2026-11-12; reference at docs.typesafe.ai, linked below.

What is Jev Box?

Jev Box is a question type: you send an image and name one thing in it, and Jev returns the smallest rectangle around that thing as four edges, each a fraction of the image's width or height, plus a confidence. It is the only Jev answer that is a location rather than a choice, a score or a probability. TypeSafe calls it experimental and changeable, so treat it as a prototype tool.

Modeljev-1.14.0 — jev-1.13.0 rejects it
HeaderTypeSafe-Danger-Zone-Images: true
StatusDreamer-ready — not production-ready, per TypeSafe
ImagePNG or JPEG, 280 to 1,568 px a side
AnswerFour edges, 0 to 1 — two decimals in every run
1280 × 800~2,980 input tokens — about $0.000125, measured

Quick answer · verified 2026-11-12

Can you run Jev Box on this site?

No. This site's API and MCP server send text only; they do not pass images to Jev, so there is no live box to try here. Box calls go straight to TypeSafe with your own key. How images fit into Jev in general is a short section on the Jev AI page, and the request shape for every question type is in the API reference.

This is the call we used, as a multipart upload. It asks for the button and, in the same request, whether the button can actually be seen — the pairing the results below argue for:

bash
curl https://api.typesafe.ai/v1/systemone \
  -H "Authorization: Bearer $TYPESAFE_API_KEY" \
  -H "TypeSafe-Danger-Zone-Images: true" \
  -F 'request={
    "model": "jev-1.14.0",
    "state": {"screen": "f3a9c1d0-signup"},
    "assets": {"f3a9c1d0-signup": {"type": "image", "part": "shot"}},
    "questions": {
      "button":  {"type": "box",  "instructions": "the Sign up button in `screen`"},
      "visible": {"type": "noul", "instructions": "Is the Sign up button in `screen` fully visible, not covered by anything?"}
    }
  };type=application/json' \
  -F 'shot=@signup.png;type=image/png'

Our runs sent the same body as base64 JSON instead; the answers have the same shape either way. Pin jev-1.14.0 rather than jev-latest: with an experimental type, the next release is the most likely thing to move your numbers.

How accurate is Jev Box? Our measured runs

We rendered three 1280 × 800 scenes in headless Chrome: a sign-up form, the same form under a cookie banner, and a desk drawn from CSS rectangles with a laptop, mug, phone, pen, potted plant and notebook. Because we placed every shape, we know each true edge to the pixel. Each figure below is one call to jev-1.14.0 on 2026-11-12; edges are listed top / bottom / left / right.

TargetTrue edgesBox answerWorst edge off byConfidence
Sign-up button0.650 / 0.715 / 0.422 / 0.5780.64 / 0.73 / 0.42 / 0.580.0150.90
Laptop0.325 / 0.700 / 0.180 / 0.5700.32 / 0.70 / 0.18 / 0.570.0050.70
Coffee mug0.413 / 0.575 / 0.641 / 0.7500.41 / 0.57 / 0.63 / 0.750.0110.77
Phone0.750 / 0.913 / 0.109 / 0.1640.74 / 0.92 / 0.11 / 0.190.0260.87
Pen (12 px tall)0.813 / 0.828 / 0.813 / 0.9380.79 / 0.86 / 0.80 / 0.930.0320.33
Potted plant0.275 / 0.600 / 0.820 / 0.9140.27 / 0.51 / 0.81 / 0.920.0900.73
A desk scene with five Jev Box answers drawn in amber over dashed white true edges: laptop, mug, phone and pen boxes sit on or near their outlines, while the potted plant's box stops at the leaves and leaves out the pot
Five Box questions on one desk image, one request: 3,034 input tokens.

On solid, well-separated objects Box was within about 0.01 of every edge, which is roughly 13 pixels on a 1280-pixel-wide image. Two misses are worth knowing. The plant's box stopped where the leaves met the pot, so “potted plant” was read as the plant alone, with 0.73 confidence — confidence did not flag it. And the 12-pixel-tall pen got a box almost five times its height, at 0.33. Five Box questions in one request cost 3,034 tokens against 2,981 for one: the image is paid once, each extra question about 13 tokens.

How many tokens does an image cost in Jev?

TypeSafe says images are billed as input tokens at the text rate and that guidance on estimating them is still to come. So we sent the desk scene at four sizes with the same single Box question for the mug, and read usage.input_tokens. Costs are at $0.042 per million input tokens:

ImageInput tokensCostWorst edge off byConfidence
448 × 280632$0.00002650.0420.34
640 × 4001,004$0.00004220.0100.53
1280 × 8002,981$0.0001250.0120.71, 0.67
1568 × 9804,236$0.0001780.0110.60
400 × 250rejected——400: Invalid image dimensions.

The four accepted sizes fit a simple rule closely: about 350 tokens, plus one token for every 400 pixels of image area. A full-HD screenshot scaled down to the 1,568-pixel maximum (1568 × 882) works out at about 3,800 tokens, and a thousand such requests at about $0.16. The 400 × 250 copy was refused with a 400 and “Invalid image dimensions.”, not resized — one side under 280 pixels is enough.

Size bought confidence more than accuracy. Edges were as good at 640 × 400 as at 1568 × 980, but confidence on the same mug fell from 0.71 to 0.53 to 0.34 as the image shrank, and at 448 × 280 the box finally drifted by 0.04. Bigger was not always surer either: the 1568 × 980 copy scored 0.60. If you gate on confidence, tune the threshold at the size you will actually send. Usage also reported about 20 output tokens per Box answer; TypeSafe's published price is per input token, so the costs above count input only.

When the target is covered, missing or not unique

Two crops of a sign-up form. Left: the Sign up button visible, Jev Box draws an amber box on it, confidence 0.90, fully-visible question 0.99. Right: a cookie banner covers the button, Box still returns a thin strip over the password field, confidence 0.17, fully-visible question 0.01
Same question, same form; on the right the button is under a cookie banner.

Box always returns a box. With the button hidden under a cookie banner it answered with a thin strip over the last password field at 0.17 confidence; the companion Noul, “is the Sign up button fully visible?”, answered 0.01, against 0.99 on the clean form. Asked for a stapler that is not on the desk, Box boxed the pen at 0.22, and a Noul asking whether a stapler was present answered 0.24 — low, but not as low as the covered button, so do not set that gate at 0.5 and walk away.

Ambiguity behaves differently. We added a blue mug to the desk and asked again for “the coffee mug”: Box returned the red one, accurately, but confidence dropped from 0.71 to 0.23. Asking for “the blue mug” found it within 0.014 at 0.82. Low confidence on a target you know is present usually means your description fits more than one thing. A gate that combines both signals:

python
def usable_box(answers, visible_min=0.5, conf_min=0.5):
    """Return the Box edges only when the target is seen and the answer is sure."""
    box, visible = answers["button"], answers["visible"]["noul"]
    if visible < visible_min:
        return None          # covered or absent: the edges point at something else
    if box["confidence"] < conf_min:
        return None          # ambiguous description, tiny target or small image
    return box["box"]

Both thresholds are starting points from 15 calls on drawn scenes, not recommendations. Tune them on your own images, the same way you would for a Noul gate on text.

Gotchas we hit

When not to use Jev Box

Where it fits today: a UI test checking that a button rendered where it should, a prototype that crops a product out of a photo, or a first pass that tells a bigger vision model where to look, at about $0.000125 a screenshot.

Sources