Model comparison · 2026-09-08

EU-Hosted LLM Models: Reading a 38-Row Catalog

See what the 38 rows in the EU-hosted category offer, which capabilities were actually measured, and how to choose a row for the task you have in front of you.

Catalog diagram separating 38 EU-hosted model rows into chat, embedding and reranking groups and showing the measured capabilities.

What the category covers

The EU category holds 38 rows: 34 chat models, 3 embedding models and 1 reranking model. All of them are called with a single API key from your existing OpenAI-compatible client; there is no separate endpoint and no separate credential.

For the models in this category, processing inside the European Union is what the provider states; LLMTR has not independently verified it. The whole category comes from one provider, so your assessment will be about one provider too.

Measured capabilities, not copied ones

The capability information in the catalog was not taken from the provider's marketing page — every row was run and tried before it was listed. In this category that distinction is not theoretical: the provider's own model card listed two models as image-capable, and in testing those models never processed an image.

The measurements came out as follows, and the catalog's capability lists were written from them.

  • Tool calling works on all 34 chat rows, verified over a full two-turn loop with the tool result consumed.
  • 14 rows genuinely process images; the image capability appears on those rows only.
  • 18 rows return cache hits on repeated prefixes; 17 of them carry a discounted cache rate.
  • Response streaming works on all 34 chat rows, with complete usage in the final frame.

Choosing by task type

Rows in this category are not interchangeable. 26 of the chat rows reason whether you ask them to or not, and those hidden tokens bill as output; since output costs two to six times input on most rows, that decides the bill even on short requests.

For batch work where output cost has to be predictable, prefer the eight rows that spend no reasoning tokens. If you need a row that reads images, pick one of the 14 that carry the image capability; send an image to a model without it and the request never reaches the provider — LLMTR refuses it without charging you.

Three embeddings and one reranker for retrieval

The category has three embedding rows with measurably different output sizes: one returns 2560 dimensions, one 4096, one 3584. The price gap is wide too; the cheapest row costs a fifth of the most expensive. Measure on your own collection which works best, because we ran no retrieval-quality comparison between the three.

The reranking row scores and orders the candidates an embedding search returns. Evaluate ranking quality on your own set as well: in the one sample we have, on a three-document set, the model gave its highest score to a document unrelated to the query. That single observation is not a benchmark, but it is reason enough not to ship it without comparing against your own baseline.

Where to start

Turn on the European Union filter in the catalog; only these 38 rows are listed and the filter appears in the address bar, so you can share the link with your team. A row's detail page shows its measured capabilities, context window and data policy note together.

Keep the first trial narrow: one task type, one row, and your own acceptance criterion. If the result meets it, widen the workload; if it does not, try a second row on the same task. Moving between rows in this category is a change of model identifier and nothing else.

Frequently asked questions

Do all 38 rows come from the same provider?

Yes. The whole category comes from a single provider and runs on a single API key. That simplifies your assessment, but it also means dependence on one provider.

What happens if I send an image to a model without the image capability?

LLMTR refuses the request before it reaches the provider, and you are not charged. The error code is unsupported_input, so it says plainly that the model does not accept images.

Do I need a separate API key for these rows?

No. You call them with your existing LLMTR key by changing only the model identifier. There is no separate endpoint either.

Related posts