Jev images and Box: a practical integration checklist
Experimental image inputs, normalized bounding boxes and the checks needed before acting on a visual judgment.
Enable the experimental interface
The Images documentation requires TypeSafe-Danger-Zone-Images: true on every image or Box request. Images work with Jev 1.13 and 1.14; Box requires jev-1.14.0 or the current preview alias. Neither feature meets TypeSafe's production standard yet. Keep API credentials on your server.
Prepare and reference the image
Use a still PNG or JPEG, up to 16 MiB per file. Each dimension must be 256โ1568 pixels, and total area must be at least 78,400 pixels: a 256 ร 256 image is too small. The request body limit is 32 MiB. Check the full documentation for aggregate and expanded-image limits too.
Rotate pixels upright and resize before uploading; the API does not resize rejected images. Send a multipart file, or base64 with a format field. Put each image in assets, then reference its key in state, instructions or criteria. For shared questions, reference the image once in state.
A Box is one location, not a presence test
A Box question uses type: "box" and instructions naming the target and image, without criteria. It returns top, bottom, left and right as fractions from 0 to 1, plus confidence.
Box always returns a box, even when the target is absent. Ask a Noul presence question alongside it and use that answer to decide whether to consume the box. Tune thresholds on your images; there is no universal recommended value.
Checked October 16, 2026. This site has no image upload or live inference; explore local decision examples.