> ## Documentation Index
> Fetch the complete documentation index at: https://docs.levanto.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Images (beta)

> Send an image as content for Yes/No, Choice, Scale, and Tags decisions.

Yes/No, Choice, Scale, and Tags accept an image as `content`, on `/decide` and on each `/decide/batch` group. This is a beta and the first step towards a multimodal Sage.

## Request

```json theme={null}
{
  "content": {
    "kind": "image",
    "media": "data:image/png;base64,iVBORw0KGgo...",
    "text": "Ticket: the checkout button is missing on mobile."
  },
  "question": {
    "id": "shows_bug",
    "kind": "yesno",
    "instructions": "Does the screenshot show the reported problem?"
  }
}
```

| Field   | Description                                                                                                                                                    |
| ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `kind`  | `"image"`                                                                                                                                                      |
| `media` | Base64 `data:` URI (`image/png`, `image/jpeg`, or `image/webp`). Remote URLs are not accepted                                                                  |
| `text`  | Optional. Omit it to judge the image alone, or set it to judge the image together with its context (for example a screenshot plus the ticket that reported it) |

## Response

Results have the same shape as for text. `meta.usage` adds `image_count` and `image_tokens`.

```json theme={null}
{
  "id": "shows_bug",
  "kind": "yesno",
  "result": { "answer": "yes", "probability": 0.93 },
  "meta": {
    "model": "levanto-sage-v1",
    "latency_ms": 412.0,
    "usage": { "billed_input_tokens": 16, "image_count": 1, "image_tokens": 850 }
  }
}
```

On image content, Tags always decide: `applies` is `true` or `false`, never `null`. Yes/No and Choice can still answer `null` when Sage isn't sure.

## Supported kinds and limits

* Supported for Yes/No, Choice, Scale, and Tags.
* At most 4 MiB decoded, longest edge at most 8192 px, width × height at most 4096².
* Choice with an image accepts at most **20 options**, because each option costs its own pass over the image. Text-only Choice still allows 120.
* Not supported with `sort`, inside a `list` item, or together with [grounding](/decision-model/grounding). Those combinations return `400`.

## Pricing

<Note>
  Each unique image counts as one extra document: **one decision unit** on top of the question/token count. One question about text plus one image is 2 units; the same image repeated in a request or batch call counts once. See [Pricing](/pricing).
</Note>
