# Model capabilities

https://omnimodel.me/docs/capabilities

Every model in the [catalog](/catalog) lists its capabilities, status, input limits and prices. Check that a model has the capability you need before calling it, or the request will be refused.

## Capabilities and endpoints

| Capability | Meaning | Endpoints |
| --- | --- | --- |
| Text (chat) | Chat and text generation | `/v1/chat/completions`, `/v1/responses`, `/anthropic/v1/messages`, `/v1beta/models/{model}:generateContent` |
| Vision | Understanding images in a chat | Same as text, with images in the messages |
| Embedding | Text embeddings | `/v1/embeddings`, `/v1beta/models/{model}:embedContent` |
| Image | Image generation and editing | `/v1/images/generations`, `/v1/images/edits` |
| Audio | Speech transcription | `/v1/audio/transcriptions` |
| Speech | Text to speech | `/v1/audio/speech` |
| Video | Asynchronous video generation | `/v1/modelhub/video/tasks`, then poll the task endpoint |

Embedding, image and audio endpoints check the model's capability first and return `model.unavailable` if it is missing. Image endpoints wait up to 120 seconds, then return 202 with a polling URL; video always runs as an asynchronous task.

## Model status

| Status | Callable | Notes |
| --- | --- | --- |
| Available | Yes | Normal service |
| Degraded | Yes | May be slower or fail more often; see [service status](/status) |
| Retiring | Yes | Stops on the retirement date, so migrate early |
| Maintenance | No | Returns `model.unavailable` |
| Retired | No | Returns `model.unavailable` and will not come back |

When a model starts retiring, an announcement is published and users who called it in the last 30 days are emailed.

## No silent replacement

The model ID you request is the model that runs. If it is unavailable the request fails with an error instead of being switched to another model, so you decide whether to fall back.

## Input limits and parameters

The input limits (such as context length and maximum output) and parameter notes on a model page are curated for choosing a model. The model itself sets the real limits, and requests beyond them may be rejected by the model.

## FAQ

### How long can I use a retiring model?

Until the retirement date on its model page. After that calls return model.unavailable, so migrate before then.

### Will a model in maintenance be swapped for another?

No. The platform never silently replaces the model you request; calls during maintenance return model.unavailable.

### How do I know whether a model accepts images?

Check the capability tags in the catalog. Only models tagged Vision understand images in a chat.

