# Models

layahost serves two checkpoints of Laya, an English one and a multilingual one, plus `laya-auto`, which picks between them for each request.

Laya is an open-source typed-decision model by Convai Innovations, released under the Apache-2.0 licence. layahost hosts it as an unofficial service and is not affiliated with Convai Innovations or TypeSafe AI.

## Available models

| Model | Description |
| --- | --- |
| `laya-auto` | The default for `/v1/decide`. Sends each request to `laya-english` or `laya-multilingual` based on the language of the text. |
| `laya-english` | The English checkpoint, built on ModernBERT-large. For English text. |
| `laya-multilingual` | The multilingual checkpoint, built on mmBERT-base. For text in other languages or mixed languages, and the faster of the two. |
| `jev-latest` | An alias of `laya-auto`, so Jev clients and the SDKs' default model work unchanged. Any other `jev-*` name is accepted the same way. |

All models cost the same: $0.000005 per decision.

## How laya-auto routes

`laya-auto` detects the language of the text. Only text detected as English goes to `laya-english`. Everything else, including text whose language is unclear, goes to `laya-multilingual`, which copes better with mixed and non-English input.

The response tells you which checkpoint answered: `model` is `laya-english` or `laya-multilingual`, never `laya-auto`. On `/v1/systemone`, `meta.checkpoint` says the same.

If you already know the language, pass `lang` (for example `"lang": "de"`) to skip detection. `en` selects the English checkpoint, any other code the multilingual one. `lang` has no effect when you name a checkpoint directly.

## Choosing a model

- Start with `laya-auto`. It suits most traffic, including a mix of languages.
- Pin `laya-english` if all your text is English and you want every request answered by the same checkpoint.
- Pin `laya-multilingual` for non-English text, or when speed matters more than the last bit of accuracy on English.

The two checkpoints are different models and return different probabilities for the same input. If you compare probabilities with thresholds, tune them per checkpoint, or pin one model.

The `language` template does not use Laya: it runs a dedicated language detector and reports `model` as `lingua`. See [Language detection](https://layahost.com/docs/templates#language).

## List models

`GET /v1/models` returns the models you can use, in the Jev format. The SDKs expose it as `client.models.list()`.

GET /v1/models

```bash
curl https://layahost.com/v1/models \
  -H "Authorization: Bearer $LAYAHOST_API_KEY"
```

Response · 200

```json
{
  "models": [
    {
      "name": "laya-auto",
      "description": "Routes each request to the best Laya checkpoint for its language.",
      "release_date": "2026-09-18"
    },
    {
      "name": "laya-english",
      "description": "Laya English checkpoint (ModernBERT-large), best accuracy on English text.",
      "release_date": "2026-09-18"
    },
    {
      "name": "laya-multilingual",
      "description": "Laya multilingual checkpoint (mmBERT-base), 100+ languages, fastest.",
      "release_date": "2026-09-18"
    },
    {
      "name": "jev-latest",
      "description": "Alias of laya-auto for drop-in Jev compatibility.",
      "release_date": "2026-09-18"
    }
  ]
}
```

Listing models is free and counts towards your [rate limit](https://layahost.com/docs/rate-limits).
