Guides

Images

OpenJev reads images the way it reads text. Send them with the state and every question can look at them.

Sending an image

Add an images array to a normal System One request. Each image is either a data URL or an object with its type and base64 bytes:

curl
curl https://api.codiv.ai/v1/systemone \
  -H "Authorization: Bearer $TYPESAFE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openjev-latest",
    "state": "Answer about the photo.",
    "images": ["data:image/jpeg;base64,/9j/4AAQSkZJRg..."],
    "questions": {
      "hotdog": {"type": "noul", "instructions": "The photo shows a hot dog."},
      "condiment": {"type": "choice", "instructions": "Which condiment is on it?",
                    "criteria": {"mustard": null, "ketchup": null, "none": null}}
    }
  }'
Image object
{"content_type": "image/png", "base64": "iVBORw0KGgo..."}

The images are placed ahead of the state, in the order you send them, so a state like "The first photo is before the repair, the second after." can refer to them.

The TypeSafe SDKs don't know about images yet. Call the API directly, or add the field to the SDK's request body yourself.

Limits and cost

Images per request8
Size per image5 MB after base64 decoding
FormatsJPEG, PNG, WebP, GIF (first frame)
Request body8 MB in total
Costabout 280 input tokens per image, whatever its size

The model sees each image at a fixed budget of about 280 tokens, so large photos gain nothing. Downscale to about 1024 pixels on the long side and send JPEG; that keeps requests small and fast.

What works with images

steps and samples work with images. think and sequential need a text-only state, and a request that combines them with images returns 422. See Read options.

Try it

The Vision playground has sample photos with question sets, and takes your own uploads or a camera snapshot.