---
title: "Modality"
---

Restrict to models for a modality surface: `text` / `image_output` match output modality, `image` / `audio` match input modality, and `tool_calling` keeps only rows that recorded at least one tool call. Exact dataset — cannot be combined with `category` or `language_type`.

## Example Usage

```python
from openrouter.operations import Modality

# Open enum: unrecognized values are captured as UnrecognizedStr
value: Modality = "text"
```


## Values

This is an open enum. Unrecognized values will not fail type checks.

- `"text"`
- `"image"`
- `"image_output"`
- `"audio"`
- `"tool_calling"`
