<!-- https://zerolog.ch/docs/models · Docs / Chat -->
# Choosing a model

The picker above the input lists the models available to your account. Every row carries the same two numbers.

Every row shows

- **Price**: per million tokens
- **Context**: length

Switch mid-conversation and the thread comes with you.

Kinds

## Three kinds worth telling apart

Costs little

### Low-cost models

They cost little per request. The picker shows each model's price and context length, so you can compare before you choose.

Costs more

### Reasoning models

They think before answering. Worth it on hard problems, not on simple ones.

Longer context

### Long-context models

They matter when you paste a big file or work a long thread.

Where the catalogue has them, a row also shows a class label (a rough family tag) and a concurrency cost: how many of the shared inference slots one request to that model uses. Heavier models use more, which is why they can hit a busy limit sooner under load.

Full catalogue

## Recommended picks, or search everything

The picker has two views: **Recommended**, a short curated list, and **All Featherless models**, which searches the complete catalogue (tens of thousands of models). In the full view you can sort and filter by model type, and **Load more** brings further results.

ZeroLog keeps the previous model list when an incomplete Featherless catalogue would hide many models. Small retirements and returning models still update normally.

For more control, open **Models** in the navigation. The same toggle is there, plus filters for class and minimum context, sorting (context and price, popularity, downloads, newest, model size, price, context, name), a model-type filter, and tags such as vision, reasoning and long context so you can spot what a model is built for at a glance.

In practice

## Cheap to explore, strong for the hard step

One pattern that holds up:

1. 01

   Cheap model to explore.
2. Switch 02

   Strong model for the hard step.
3. Switch back 03

   Cheap again to tidy up.

If a model fails

## When the model you picked cannot answer

If the selected model cannot handle a request, the chat shows an error. Check the message, then retry or choose another model shown in your picker.

Malformed request

You see the error; another model may reject it too.

Device tools

The CLI engines (Claude Code and Codex) cannot call the tools of a connected device such as the Android app. The thread says so when it happens.

Availability

## Use models shown in your picker

ZeroLog checks model access across chats and automated features. Agents, Ultracode, automatic model choice and usage limits use models available to your account.

When you explicitly request a model that is not available to you, ZeroLog returns `model_not_available`. Choose a model from your picker and try again.

Featherless models are available to existing accounts. See [Model availability](https://zerolog.ch/docs/provider-pause) for the current access policy and the earlier pause.

Providers sometimes retire models, so the list and prices in your picker can change. In ZeroLog Code, a saved model choice that has been retired may be routed to a replacement. The response identifies both models and includes a notice, whether it streams or arrives all at once. Choose a current model in the picker to set a different one.

Price

## What the quoted price already includes

On ZeroLog credit

Every price you see already includes the service margin (2% at the shipped rate), so what is quoted is what is charged.

On your own key

Usage on [your own API key](https://zerolog.ch/docs/byok) carries no margin at all, because that money never passes through here.

Plan prices and credit packs: [Pricing](https://zerolog.ch/pricing). Model changes are announced in the [Newsroom](https://zerolog.ch/news).

One model in detail: [MiniMax M3 in your coding agent](https://zerolog.ch/minimax-m3-coding-agent).

## How a model is chosen

Mermaid source of the diagram on this page:

```mermaid
%% Choosing a model: picker views and what happens when a model is not available to you. Facts from web/apps/web/components/model-picker.tsx, app/(app)/catalog/page.tsx, server/kundenmodelle.js (model_not_available), server/pricing.js (margin).
flowchart TB
  pick["Model picker above the input"]
  rec["Recommended:<br/>short curated list"]
  all["All Featherless models:<br/>search, sort, model type,<br/>Load more"]
  avail{"Available to<br/>your account?"}
  use["Chat uses the model.<br/>Price shown includes<br/>the service margin"]:::hot
  err["model_not_available:<br/>pick a model from your picker"]

  pick --> rec
  pick --> all
  rec --> avail
  all --> avail
  avail -->|yes| use
  avail -->|no| err

  linkStyle 4 stroke:#8f7ac9
```
