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.
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 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.