Get started / Model types

# Model types

Chat, image, video, speech, transcription, embeddings, rerank and decision models — one key, one evidence trail, a route per type.

## Output modality decides the route

A model's output modality says what it produces, and that decides which gateway route serves it. The catalog and `GET /v1/models` carry `output_modalities` and `operations` on every model, and `GET /api/v1/catalog/models?operation=…` filters by operation.

| Output modality | Operation | Route |
| --- | --- | --- |
| text (with or without image / audio) | chat | [/v1/chat/completions](https://yelno.ai/docs/quickstart) · /v1/responses · /v1/messages |
| image (alone) | images | [/v1/images/generations](https://yelno.ai/docs/images) |
| video | videos | [/v1/videos](https://yelno.ai/docs/videos) · async |
| speech | speech | [/v1/audio/speech](https://yelno.ai/docs/speech) |
| transcription | transcriptions | [/v1/audio/transcriptions](https://yelno.ai/docs/transcriptions) |
| embeddings | embeddings | [/v1/embeddings](https://yelno.ai/docs/embeddings) |
| rerank | rerank | [/v1/rerank](https://yelno.ai/docs/rerank) |
| decisions | decisions | [/v1/decisions](https://yelno.ai/docs/decisions) |
| realtime (the marker; alone, or beside text / audio) | realtime | [/v1/realtime](https://yelno.ai/docs/realtime) |

Sending a model to a route it is not served on answers `422` `capability_unsupported` with `code: "operation_unsupported"` and a message naming the route that serves it. Every model in the [catalog](https://yelno.ai/catalog?type=images) shows its type and route.

## How they are priced

Every model is priced at its **listed final price** — the figure on its catalog page is what a request costs, with nothing added on top.

- **Chat** — per million input and output tokens.
- **Images, speech, transcription, embeddings, decisions** — the model's unit prices as listed, each in the unit it counts: per million characters (most text-to-speech), per minute of audio (some speech, most transcription), per million text, image or audio tokens, per image or per request.
- **Models without a fixed unit price** (most video, some rerank) — billed per request. The exact charge of each request comes back with the response in `yelno.cost` (`Yelno-Charge-Nanos` for speech, whose body is audio).

Before dispatch a hold is placed and then released down to the final charge. When a charge is reported after the response, the request settles once — it is never charged a guess.

## What is not offered yet

Stated so nothing is silently dropped:

- No streaming for images or speech yet — the gateway buffers the response.
- No voice cloning, `callback_url` webhooks or video continuation (`previous_job_id`). Any field a route does not list is refused with `400 invalid_request`, `code: "unsupported_parameter"` — never forwarded, never ignored.
- No latency, quality or availability figure is published for these models.

Source: https://yelno.ai/docs/models
