Models
Language LLMs, embeddings, re-rankers and voice (STT/TTS) — all EU-hosted.
SovrGPT processes every request within the European legal area. There is no US proxy and no US gateway in the critical path.
There are two operating modes, and for you the difference is mainly a question of waiting time:
- Self-operated — our own GPUs in EU regions. The endpoints scale down to zero when they are not needed. That keeps the price down, but it creates a cold start of a few minutes for the first request after a pause.
- Partner-operated — models that do not run on our own cards (or do not run economically) are operated by European partners: STACKIT (Schwarz Digital) in Germany and a European partner data centre in Ireland/Finland with contractually guaranteed zero retention of inputs and outputs. There is nothing to spin up here — the answer starts immediately.
Both are reachable through the same OpenAI-compatible API; the operating mode is listed with every model in the table.
The catalogue covers four model classes:
- Language models (LLMs) — six self-operated tiers (chat, reasoning, vision, code) and fourteen models in European partner operation. 🔧 Corrected 2026-09-11: this used to say "ten tiers … including the three-step coding ladder coder-mini / coder / coder-max". Of the three coding steps only
coder-miniremains;premiumanddefault-legacyhave been withdrawn as well. See the "Withdrawn" table below. - Embeddings & re-rankers — for retrieval-augmented generation (RAG).
- Text-to-Speech (TTS) —
supertonic-3, self-hosted in the EU. - Speech-to-Text (STT) — Voxtral (Mistral, Paris/EU).
All four are addressable through the OpenAI-compatible API and usable directly in chat.
The most important models
These seven appear in the first row of the model overview (Models in the sidebar). They cover everyday work; everything beyond that is specialisation.
The Particularly good for column tells you what to pick the model for — if you read only one column, read that one.
| Model | Model ID | Operation | Particularly good for | Can do | Waiting |
|---|---|---|---|---|---|
| Gemma 4 12B | gemma-4-12b | 🇪🇺 self-operated | images and long documents on our own hardware | text + image, 262k context, tools, thinking toggle | cold start ~5.5–9.5 min ᵐ |
| Qwen 3.8 27B | qwen3.8-27b | 🇪🇺 self-operated | everyday work, when it has to run on our own hardware | text, 131k context, tools, thinking toggle | cold start ~11 min ᵐ |
| Qwen 3.8 27B · no cold start | tensorx-qwen3.8-27b | 🇪🇺 partner DC (IE/FI) | everyday work without the wait | the same model as the row above | no cold start |
| GPT-OSS 120B | stackit-gpt-oss-120b | 🇩🇪 STACKIT | hard questions where you want to steer the thinking effort yourself | text, tools, adjustable thinking effort ⁸ | no cold start (129 ms ᵐ) |
| Qwen 3.8 Max | tensorx-qwen3.8-max | 🇪🇺 partner DC (IE/FI) | the best possible result, when price is secondary | text, very large context, tools, always thinks | no cold start |
| Kimi K3 | tensorx-kimi-k3 | 🇪🇺 partner DC (IE/FI) | long research with many tool steps | text, very large context, strong tool/agent behaviour, always thinks | no cold start |
| GLM 5.3 | tensorx-glm-5.3 | 🇪🇺 partner DC (IE/FI) | programming — the strongest openly published state of the art ¹⁰ | text, 131k context, tools, always thinks | no cold start |
⁸ Adjustable thinking effort means you can choose frugal, normal or
thorough per chat. With GPT-OSS 120B the measured difference in the length of
the chain of thought is a factor of 20 — the strongest result in the whole
catalogue. Through the API this is the reasoning_effort field; which models
support it is listed by GET /api/v1/models in the effort_levels field.
See Chat Completions.
🔑 Why exactly these seven? Two run on our own cards (sovereignty, at the price of a cold start), five in partner operation (immediate, but not on our own hardware). Each row covers a different purpose — everyday work, images, steerable thinking effort, best result, long tool chains, and since 2026-08 programming. If you would rather not choose, take Auto — then SovrGPT decides based on your first question.
🔑 Qwen 3.8 27B appears twice, and that is deliberate. It is the same model with the same capabilities; the only difference is where it runs. On our own card you wait around eleven minutes for the first answer after a pause, in the partner data centre not at all. Take the self-operated one if the processing has to happen on our hardware — and the other one if it has to be quick.
More models
Everything below appears in the overview inside the collapsible "More models" block and remains addressable through the API unchanged.
In partner operation (no cold start)
| Model | Model ID | Operation | Origin of the weights | Licence | Notable |
|---|---|---|---|---|---|
| Gemma 4 31B | stackit-gemma-4-31b | 🇩🇪 STACKIT | 🇺🇸 Google DeepMind | Apache 2.0 | image + text, operated in Germany — the only such combination in the catalogue ⁹ |
| Qwen 3.6 27B | stackit-qwen3.6-27b | 🇩🇪 STACKIT | 🇨🇳 Alibaba | Apache 2.0 | all-rounder, processing in Germany |
| DeepSeek V4 Flash | tensorx-deepseek-v4-flash | 🇪🇺 partner DC (IE/FI) | 🇨🇳 DeepSeek | MIT | cheapest entry in the catalogue |
| DeepSeek V4 Pro | tensorx-deepseek-v4-pro | 🇪🇺 partner DC (IE/FI) | 🇨🇳 DeepSeek | MIT | strong reasoning, very large context |
| Kimi K2.7 Code | tensorx-kimi-k2.7-code | 🇪🇺 partner DC (IE/FI) | 🇨🇳 Moonshot AI | Modified MIT | built for programming and tool chains |
| MiniMax M3 | tensorx-minimax-m3 | 🇪🇺 partner DC (IE/FI) | 🇨🇳 MiniMax | ⚠️ unverified | agentic, very large context, low price |
| GLM 5.2 | tensorx-glm-5.2 | 🇪🇺 partner DC (IE/FI) | 🇨🇳 Z.ai | MIT | strong at agentic tasks |
| GLM 5.3 | tensorx-glm-5.3 | 🇪🇺 partner DC (IE/FI) | 🇨🇳 Z.ai | GLM-5.3 (MIT-like) | strongest openly published model for programming ¹⁰ |
| GLM 5.3 Flash | tensorx-glm-5.3-flash | 🇪🇺 partner DC (IE/FI) | 🇨🇳 Z.ai | MIT | lean GLM 5.3 variant, very cheap ¹⁰ |
| Qwen 3.8 Flash | tensorx-qwen3.8-flash-next | 🇪🇺 partner DC (IE/FI) | 🇨🇳 Alibaba | Qwen Community 1.0 ¹¹ | cheapest input price in the catalogue, 262k context, thinking toggle |
⁹ Gemma 4 31B has been in the catalogue since 2026-08. Measured: all seven
test stages passed, first token after 208 ms, 65.8 tokens/s, thinking toggle
switchable, over 140 languages. It is the only entry that offers image
understanding and operation in Germany at the same time — among the
self-operated tiers only vision can read images (with a cold start).
¹⁰ GLM 5.3 and GLM 5.3 Flash have been in the catalogue since 2026-08. Both pass the tool test on all three paths (freely chosen, forced, streaming) and answer in under a second without a cold start. Both always think — this cannot be switched off in this family, which is why no thinking toggle appears in the model picker. That GLM 5.3 leads at programming rests on comparison figures from the vendor (Z.ai), not on an independent re-measurement; we verified the function, not the ranking. On the licences: GLM 5.3 Flash is plain MIT. GLM 5.3 is under its own, MIT-like licence — full rights to use, modify and redistribute, with a single condition that only takes effect above USD 10 bn annual revenue and does not apply to merely forwarding requests to externally hosted models anyway.
¹¹ Qwen 3.8 Flash has been in the catalogue since 2026-09. Measured: first answer after one second (no cold start), it produces tool calls reliably when forced and when streaming, it follows the system role, and the thinking toggle really works — with thinking off the reasoning part is empty rather than merely spilling into the visible answer. It is a large but frugal model: 125bn parameters, of which only 6bn compute per token. Hence the price. On the licence: this entry is the only one of the Qwen 3.8 line that is not under Apache 2.0 but under the Qwen Community License 1.0. It requires a separate licence from Alibaba if you run a model-as-a-service business yourself — but it explicitly excludes the mere relaying of requests to models hosted by third parties, which is exactly what happens here. Operating these weights ourselves would trigger the obligation; using them through this entry does not.
⚠️ "Licence unverified" means exactly that: we have not read the licence file of those weights ourselves. For commercial use with an intent to redistribute, please talk to us first. Corrected 2026-08: GLM 5.2 was listed as "unverified" here too — the licence file has since been read and it is MIT. The note therefore now applies only to MiniMax M3.
Self-operated (our own GPUs, with cold start)
| Tier | Model ID | HF source | Origin | Index ² | Licence | Cold start | Status |
|---|---|---|---|---|---|---|---|
default | gemma-4-12b | google/gemma-4-12B-it | 🇺🇸 Google DeepMind | 22 | Apache 2.0 | ~5.5–9.5 min ᵐ ⁶ | active ⁶ |
balanced | qwen3.8-27b | Qwen/Qwen3.8-27B-FP8 | 🇨🇳 Alibaba | not listed | Apache 2.0 | ~11 min ᵐ ⁴ | active ⁴ |
reasoning | qwen3.5-9b-deepseek-v4-flash | Jackrong/Qwen3.5-9B-DeepSeek-V4-Flash | 🇨🇳 community distill | not listed | Apache 2.0 | ~3.5 min ᵐ | active |
vision | gemma-4-26b-a4b | google/gemma-4-26B-A4B-it | 🇺🇸 Google DeepMind | 26 | Apache 2.0 | ~2–4 min ᵐ ⁷ | active ⁷ |
coder-mini | qwen3.6-35b-a3b | Qwen/Qwen3.6-35B-A3B-FP8 (MoE) | 🇨🇳 Alibaba | not listed | Apache 2.0 | ~8 min ᵐ | active |
llama | llama-3.1-8b | NousResearch/Meta-Llama-3.1-8B-Instruct | 🇺🇸 Meta | 8 | Llama Community | ~8 min ᵐ | legacy ³ |
🅿️ Withdrawn — and what your integration gets now
| Model ID | since | Reason | Your request lands on |
|---|---|---|---|
qwen3.5-35b-a3b (premium) | 2026-09-11 | Index 24 at 8,192 tokens of context — the smallest window in the catalog. Listed as deprecated by the source. | the default tier |
qwen3-coder-next-fp8 (coder) | 2026-09-11 | Overtaken by qwen3.6-35b-a3b: better coding scores at four times the context and a shorter cold start. | the default tier |
qwen3.5-9b (default-legacy) | 2026-09-11 | Quality index 22 — identical to the default — at 32,768 instead of 262,144 tokens of context. Its only advantage was the shortest cold start (205–215 s); since a new chat now starts on a model with no cold start, that no longer counts. | the default tier |
deepseek-v4-flash (coder-max) | 2026-09-07 | Operating cost without a return; the same model runs as tensorx-deepseek-v4-flash with no cold start. | the default tier |
🔑 The ROLE names, by contrast, point at the successors, not at the default. Sending coder,
coding, qwen-coder or qwen3-coder gets you qwen3.6-35b-a3b — still a model built for
coding. qwen-premium and the old 30B names point at qwen3.8-27b.
⚠️ Only the exact old model ID falls through to the default — and not silently: the response
carries x-sovrgpt-model-requested and x-sovrgpt-model-substituted (see
Chat Completions). Check that header if you have hardcoded
one of the three IDs.
ᵐ Measured at the live endpoint (2026-08-12, one run per tier; default
re-measured after the model change, three runs on 2026-08-08/15/16).
The figure is the time the user waits — so it includes waiting for a free EU GPU,
not just the pure spin-up time. When warm, every model answers in under
5 seconds (default in under 10).
⚠️ These used to be estimates, and they were not uniformly conservative:
default ("30–90 s") was too low by a factor of 2.3–7, llama ("60–180 s") by a
factor of 2.7, premium by a good third — whereas coder ("8–15 min") was too
high. That is why measurements stand here now instead of ranges.
¹ 🅿️ coder-max was withdrawn on 2026-09-07 — the footnote used to hang off
a catalogue row that no longer exists. It stays because the path here is
instructive: first it said "active (beta)" with a cold-start estimate, then
"currently unusable, waiting for free H200 capacity". Both were too kind. The
tier did get cards, did load the model, and crashed afterwards in the engine
init — with the full runtime billed. Four days at the end of August: 948 USD
against seven answered requests over its entire lifetime. The same model runs
as tensorx-deepseek-v4-flash with no cold start and at a fraction of the cost.
⁶ The default tier changed on 2026-08-16: from qwen3.5-9b (Alibaba) to
gemma-4-12b (Google DeepMind). The deciding factor was the context: 32,768 →
262,144 tokens, a factor of 8, at the same quality index (22) and the same
hardware class. It also puts a second weights vendor into the most-used tier
for the first time.
⚠️ One thing gets worse, and we say so: the cold start. Measured 332–574 s
against 205–215 s before. When warm the tier still answers in under
10 seconds — the longer wait only affects the first request after a pause.
🔧 Corrected on 2026-09-11. This used to say: "That is exactly why the
previous model remains selectable — as its own tier default-legacy
(qwen3.5-9b), with the shortest measured cold start in the entire catalogue."
That tier has been withdrawn. Its argument fell away rather than being
overruled: since a new chat starts on tensorx-qwen3.8-27b — no cold start at
all — the shortest cold start is no longer an advantage.
⚠️ model: "qwen" still resolves, but to qwen3.8-27b now. The exact id
qwen3.5-9b lands on the default tier (through the API: 404 model_withdrawn).
⁷ Since 2026-08-17 the vision tier additionally supports tools and has a
thinking toggle. Neither was down to the model, but to two missing start
parameters on the endpoint. It was re-measured on every path the chat actually
uses — including the streaming one, for which vLLM calls a different parser
method than for the non-streaming one.
In practice this means: web search, image/video generation, file export and MCP
connectors now work even when you have an image in the chat. Previously the
tools were silently dropped in this tier — the answer arrived, but the search
never happened. In "Auto" mode the system therefore fell back to a different
model; that is no longer necessary, and you keep the image understanding. The
cold-start figure is now given as a range from three measurements (131 s / 161 s /
232 s) instead of a single value.
⁴ balanced runs again — on a newly created compute node (2026-08-15). The
previous node accepted requests and assigned them to no worker at all: 137
failed against 30 successful jobs, latterly over 900 s without a single worker.
The cause lay with the GPU provider, not with the model — proven by the fact that
a node with an identical configuration answers immediately.
This also means the cold start has been measured for the first time ever:
487.8 s. The estimate that stood here before ("60–180 s") was too low by a factor
of 2.7 to 8.
² Index = Artificial Analysis Intelligence Index, as of 2026-08-08. It is the only source that measures these models in one test setup — which is the only reason the values are comparable with each other. "Not listed" means the source does not carry the model; we then do not estimate a value. ⚠️ The index is an aggregate over English-language tests and says nothing about German language quality.
³ Legacy means the model remains fully usable and addressable through the API, but is no longer the recommended choice for its role and will phase out in the medium term. There is no hard shutdown date; existing chats and integrations continue unchanged.
⁵ Correction 2026-08-15: this table listed premium as legacy. That
contradicted the product: in the catalogue and in GET /api/v1/models the tier is
carried as active, and that is the decision that was taken — it is the only
tier with a documented German language rating (Soofi paper, German aggregate 87.6,
the best value in the comparison field). It may become legacy later, but it is not
today.
The live state is available at any time via GET /api/v1/models — there the
fields quality_index, origin_vendor, origin_country and lifecycle provide
the same information machine-readably. See API reference.
Embedding & rerank models (RAG)
For retrieval-augmented generation pipelines there are additional embedding and
rerank models — likewise fully EU-sovereign on RunPod, without a US proxy.
Addressable through the OpenAI-compatible POST /api/v1/embeddings route and the
Cohere-compatible POST /api/v1/rerank route.
| Type | Model ID | HF source | Licence | Dimensions |
|---|---|---|---|---|
| Embedding | bge-m3 | BAAI/bge-m3 | MIT | 1024 |
| Embedding | nomic-embed-code | nomic-ai/nomic-embed-code | Apache 2.0 | 3584 |
| Rerank | bge-reranker-base | BAAI/bge-reranker-base | Apache 2.0 | — |
bge-m3— multilingual dense embedding with strong German retrieval quality. The default embedder; OpenAI aliases such astext-embedding-3-smallare mapped onto it automatically.nomic-embed-code— code-specialised embedding for repository search and code RAG.bge-reranker-base— cross-encoder that re-orders a candidate list by relevance to a query. Ideal as a second stage after an embedding search.
These models are scale-to-zero as well (cold start 1–4 min, model pull) and appear
with kind: "embedding" or kind: "rerank" in GET /api/v1/models.
Voice: speech-to-text & text-to-speech
SovrGPT speaks and listens — both EU-sovereign. In chat via the microphone icon (dictation instead of typing) and the speaker button ("read aloud") on every answer; programmatically via the OpenAI-compatible Audio API.
| Function | Model ID | Provider / hosting | Languages | Can do |
|---|---|---|---|---|
| TTS — fast | supertonic-3 | self-hosted, Railway europe-west4 | 31 incl. German | 10 fixed voices, no cold start |
| TTS — expressive + cloning | cosyvoice-3 | self-hosted, RunPod EU (GPU) | native German (+ en/fr/es/it/ru/…) | emotion, inline tags, clone your own voice |
| TTS — alternative | voxtral-mini-tts | Mistral, Paris (GDPR) | multilingual | fallback |
| Speech-to-text (STT) | voxtral-mini-transcribe | Mistral, Paris (GDPR) | multilingual incl. German | dictation/transcription |
- TTS — Supertonic 3 (default): a ~99M-parameter ONNX model running
entirely on SovrGPT infrastructure in the EU (no third-party SaaS).
Ten voices (
M1–M5male,F1–F5female), with expression tags (<breath>,<sigh>) inline. Outputwav/flac/ogg. No cold start — first choice for fast, fixed announcements. - TTS — CosyVoice 3 (expressive, Apache 2.0): GPU model on RunPod EU,
natively German (including a correct "ü"). It can do what Supertonic cannot:
- Inline tags in the middle of the text:
[laughter],[breath],<laughter>…</laughter>,<strong>…</strong>(emphasis). - Emotion / speaking style via a natural-language instruction
(
emotion: "Sprich sehr traurig und langsam."). - Zero-shot voice cloning: clone a voice of your own from one reference
clip (≤ 30 s) — no training. Built-in voice:
de-thorsten. - Opt in via
provider: "cosyvoice". Scale-to-zero: warm ~6 s, cold start possible. No built-in watermark → AI labelling happens at the application level. Fully documented in the Audio API.
- Inline tags in the middle of the text:
- STT — Voxtral (Mistral, Paris): multilingual transcription with strong
German quality, GDPR-compliant and hosted in the EU.
- Recognise proper nouns:
context_biaspulls recognition towards product, customer or domain terms (no spaces, max. 100 entries) — without additional response time. - Formatted transcript:
format_text=1returns paragraphs, a numbered list built from a spoken "first/second/third", a blank line after the salutation and a set-off closing formula. A second model with audio understanding runs in parallel for this; the raw transcript always comes along astext_raw, and any formatting that would change the wording is discarded rather than delivered. - A fully self-hosted STT path on RunPod EU has been evaluated but deferred: the transcription model in production has no open weights, so self-hosting would necessarily mean changing the model, and at our volume it would be 6 to 13 times more expensive than the EU provider.
- Recognise proper nouns:
- Provider choice:
supertonic(default),cosyvoice(expressive/cloning) andmistral(fallback) — selectable per request via theproviderfield; without a value the server default (Supertonic) decides. All appear withkind: "tts"orkind: "stt"inGET /api/v1/models.
Full API examples (curl + SDK): Audio API.
When a model is missing: the org selection
Owners and admins of an organisation can decide under Settings → Models which models their team sees — useful for keeping the picker manageable as the catalogue grows. If a model is documented here but does not show up for you, that is the most likely reason.
The selection takes effect server-side and therefore also applies to the API and to MCP clients. Running chats are unaffected: a chat that is already pinned to a model keeps running on it. Details: Orgs & teams.
Bringing your own models (BYO)
If the catalogue is not enough, an organisation can register its own OpenAI-compatible endpoints — under Settings → Providers, with its own address, its own model name and its own display name. Typical cases: a self-operated vLLM in your own data centre, a domain model from a service provider, an Azure OpenAI deployment.
The entry then appears only in the picker of that organisation, marked "⚠ external".
What you need to know about it — and what we therefore deliberately do not do:
- Requests to your own endpoint leave SovrGPT's EU sovereignty. They go directly to the registered address; that endpoint's privacy policy applies, not our guarantee. That is exactly what the "external" marker is for.
- Tools and the thinking control stay off. We have measured nothing about a third-party endpoint — and a tool call to a model without a matching parser fails hard instead of falling back to text. So we do not offer anything we have not verified.
- There is no keep-warm. There is no worker of ours that we could keep awake for you — availability is determined by your endpoint.
- Only
https, no internal addresses. Addresses on a local or private network and raw IP addresses are rejected; an endpoint needs a DNS name with a valid certificate. - A stored API key is saved encrypted (AES-256-GCM) and never leaves the server. Endpoints behind an IP allowlist work without a key at all.
Pausing and deleting is possible at any time — including after a plan change in which creating new entries is no longer included. A data outflow you can no longer switch off would not be an acceptable state. Chats bound to such an entry then answer with the default model again.
For the API: GET /v1/models lists the entries with
owned_by: "org" and the ID org-model:….
Which model for what?
- Default (
gemma-4-12b) — quick answers, boilerplate, simple code tasks, German texts. First choice for interactive chats. With 262k context it is the tier that takes long documents in one piece, and it understands images natively. - Balanced (
qwen3.8-27b) — dense 27B model of the newest Qwen generation, built for repository-wide code tasks and tool calling, with fluent German and a switchable thinking mode. 131k context. 🔧 Changed on 2026-08-18: this tier now carries Qwen 3.8 27B instead of Qwen 3.6 27B. The old model IDqwen3.6-27bstill works (it points at the successor) but delivers the new model from the switch onwards. Tool calls, streaming, the system role and the thinking toggle have been measured at the new endpoint; at 662 s the cold start is longer than the ~8 min of its predecessor — although the EU pool was tight during the measurement run (80×THROTTLED), so part of that is waiting for a free card. The 131k context value also determines how much of an uploaded PDF fits into the conversation. - Reasoning (
qwen3.5-9b-deepseek-v4-flash) — DeepSeek V4 distill on a Qwen backbone. Always thinks visibly; suited to mathematics, logic and step-by-step evaluations. 🔧 Changed on 2026-08-17: the chain of thought now arrives in its own fieldreasoning_contentinstead of as<think>…</think>inside the answer text — in chat as an expandable "chain of thought", through the API as a separate field. (This used to say "emits visible<think>…</think>steps". In reality the thought arrived through the API unseparated insidecontent, followed by a bare</think>with no opening counterpart — the opening tag is placed into the prompt by the chat template itself, and without aREASONING_PARSERon the endpoint nothing separated the two parts. Anyone who has been splittingcontentat the<think>tag must switch toreasoning_content.) - Vision (
gemma-4-26b-a4b) — reads images in chat (PNG and JPG). Very strong multimodally in English, very good in German. 262k context, tools usable (including together with an image) and thinking mode switchable — all three re-measured since 2026-08-17, see footnote ⁷. (This used to say 16k context with no note about tools; the catalogue had never picked up the endpoint's increase.) 🔧 Corrected on 2026-09-13: this also listed WebP — that format is not accepted by the upload at all, so a WebP image was always rejected. PNG and JPEG are the allowed formats. 🔴 And until 2026-09-13 no image reached the model at all — the upload accepted it, but the chat never sent it along. It works now; see Images in chat below. - Coder mini (
qwen3.6-35b-a3b) — fast, cheap coding step (MoE, 35 B total / 3 B active, FP8, 1× 48 GB GPU) with native tool calling and 131k context. First choice for agentic coding through IDE plugins when speed and cost matter. Thinking mode switchable (Qwen style). - Llama (
llama-3.1-8b) — Llama-specific workloads, re-train comparisons, or where a "Built with Llama" licence requirement applies.
And in partner operation — same API, but no cold start:
- GPT-OSS 120B (
stackit-gpt-oss-120b) — when you want to steer the thinking effort yourself. Operated in Germany. It always thinks; at thorough the answer needs a generous token budget, otherwise it all goes into the chain of thought. - Gemma 4 31B (
stackit-gemma-4-31b) — understanding images with processing in Germany. Thevisiontier can do that too, but it has a cold start. Over 140 languages, thinking toggle switchable. - Qwen 3.6 27B (
stackit-qwen3.6-27b) — all-rounder with processing in Germany, ready to answer immediately. - Qwen 3.8 27B (
tensorx-qwen3.8-27b) — exactly the same model as the self-operatedbalancedtier. Take this entry if the ~11 minutes of cold start bother you; take the self-operated one if the processing has to run on our own hardware. - Qwen 3.8 Max (
tensorx-qwen3.8-max) — the largest open model in the catalogue. Out of reach on our own cards (the weights alone take up around 2.4 TB). It always thinks —enable_thinking: falseis rejected here. - Kimi K3 (
tensorx-kimi-k3) — very large context, strong tool and agent behaviour. Always thinks. ⚠️ The most expensive entry in the catalogue. - Kimi K2.7 Code (
tensorx-kimi-k2.7-code) — coding and agentic tool chains without a cold start. The alternative to our own coding steps when waiting time is a problem. - DeepSeek V4 Flash (
tensorx-deepseek-v4-flash) — cheapest entry in the catalogue. The same model as the owncoder-maxtier withdrawn on 2026-09-07 — here with no cold start and at a fraction of the operating cost. - DeepSeek V4 Pro (
tensorx-deepseek-v4-pro) — the large model of the V4 family, strong reasoning. - GLM 5.3 (
tensorx-glm-5.3) — the strongest openly published state of the art for programming and agentic tool chains, without a cold start. The first address when code quality matters and waiting time is a problem. Always thinks. - GLM 5.3 Flash (
tensorx-glm-5.3-flash) — the same family, lean and very cheap: after DeepSeek V4 Flash the second-cheapest entry in the catalogue, and the cheapest one with tool chains and a cleanly separated thinking part. Good for bulk throughput. - Qwen 3.8 Flash (
tensorx-qwen3.8-flash-next) — the cheapest input price in the whole catalogue and at the same time the largest context of the Qwen 3.8 line (262k). A large model that computes only a small part of itself per token: 125bn parameters, 6bn of them active. Unlike GLM 5.3 Flash, thinking can be switched off here — take it when you send many requests with long prompts and want the answer fast and short. It is not the same model as “Qwen 3.8 27B”; if you need the measured tool and coding quality of the 27B, stay there. - MiniMax M3 (
tensorx-minimax-m3) / GLM 5.2 (tensorx-glm-5.2) — built for agentic use, very large context, low price. ⚠️ For MiniMax M3 the licence has not been verified by us.
Coding in the IDE (API-first)
The coding steps are primarily intended for agentic coding through IDE plugins (Cline, Continue, OpenCode, Roo-Code, …). They all speak the OpenAI-compatible API:
- Base URL:
https://sovrgpt.com/api/v1 - API key: create one under
/settings/api-keys(scopechat) and use it as a bearer token. - Model ID:
qwen3.6-35b-a3b— the sovereign coding step, 131k context. Without a cold start:stackit-qwen3.6-27bortensorx-kimi-k2.7-code.
🔧 Corrected on 2026-09-11. This listed
qwen3-coder-next-fp8anddeepseek-v4-flash— both are withdrawn, and until this correction the examples below carried them in every configuration file. Anyone who copied them gets a404 model_withdrawnnaming the successor. The full setup guide for every tool is in Coding in the IDE.
Cline (VS Code): API Provider → OpenAI Compatible · Base URL
https://sovrgpt.com/api/v1 · API Key sov_… · Model ID qwen3.6-35b-a3b
· Context Window 131072 (must be set by hand).
Continue (config.yaml):
models:
- name: SovrGPT Coder mini
provider: openai
model: qwen3.6-35b-a3b
apiBase: https://sovrgpt.com/api/v1
apiKey: sov_...
requestOptions:
timeout: 900000 # cold start, see aboveOpenCode (opencode.json):
{
"provider": {
"sovrgpt": {
"npm": "@ai-sdk/openai-compatible",
"options": { "baseURL": "https://sovrgpt.com/api/v1", "apiKey": "sov_..." },
"models": { "qwen3.6-35b-a3b": { "name": "SovrGPT Coder mini" } }
}
}
}Thinking level per request (reasoning_effort)
🔧 Corrected 2026-09-11. This used to say "Only
coder-maxthinks more deeply on demand" with an example ondeepseek-v4-flash— a model withdrawn on 2026-09-07. The sentence was too narrow even before that: the control has been translated from the catalogue since 2026-08-24 and applies to every model that carries measured levels.
🔑 Which models evaluate the control is stated by effort_levels in
GET /v1/models — an empty array means "no effective
control". Query it rather than inferring it from the model family: the levels
are measured per entry, and sibling models behave differently.
Steering is OpenAI-idiomatic through the top-level field reasoning_effort (in
the Python SDK via extra_body). There are three product-wide levels — low,
medium, high; the route handles what each becomes at the respective provider
(a token cap, a different scale).
curl https://sovrgpt.com/api/v1/chat/completions \
-H "Authorization: Bearer $SOVR_KEY" -H "Content-Type: application/json" \
-d '{
"model": "qwen3.6-35b-a3b",
"messages": [{ "role": "user", "content": "Refactor this module and explain the steps." }],
"reasoning_effort": "high",
"max_tokens": 8192
}'⚠️ With high, raise max_tokens too — the chain of thought counts against
the answer budget. Measured on qwen3.6-35b-a3b: with an unlimited thinking
budget and 2,000 max_tokens the answer text was empty.
If you want full control, pass chat_template_kwargs directly instead (e.g.
{"thinking": true, "reasoning_effort": "max"}) — it is forwarded verbatim and
wins over reasoning_effort. Details:
POST /v1/chat/completions.
Understanding cold starts
- Warm: the model is loaded on a GPU worker, answer < 5 s.
- Cold: a worker has to spin up, load the image and pull the model weights. Measured 2–9.5 minutes depending on the tier — the individual values are in the catalogue table above. (This used to say "30 s to 5 minutes". That was an estimate and was not the lower bound for a single model; the fastest measured cold start is a good 2 minutes.)
- Pay-per-use: during idle time the model costs nothing. But: the first request after a longer pause is slow. For production cron jobs we recommend sending a warm-up call first.
Tools in chat
- Web search — Brave Search API, 2,000 requests/month on the free tier. 🔴 The provider is
US-based (Brave Software, Inc.); zero data retention is committed in the data processing
addendum. Opt-in per chat, off by default — details under
Data protection. (This used to say "EU-compliant". That was wrong.)
The same switch also lets the model open and read a page (
fetch_url) — that request goes straight from our EU servers to the site, without Brave. 🆕 Since 2026-09-13 you decide how SovrGPT introduces itself (Organisation → Page fetch): discreet (default — SovrGPT presents itself as an ordinary browser, so pages with blanket bot blocks are more likely to serve content) or by name (SovrGPT names itself and rooom AG). ⚠️ "Discreet" only changes the headers — it hides neither our IP nor technical characteristics of the connection. Only owners and admins can change it, and every change is recorded in the audit log. - Image generation — Z-Image-Turbo (fast) or FLUX.2-klein (higher quality), both Apache 2.0, EU-hosted.
- Video generation — LTX-Video 2B (OpenRAIL-M), 5–8 s clips at 768×512.
- Marketplace connectors — over 20 preconfigured MCP servers (see Marketplace).
⚠️ Correction (2026-08-17): this used to say "these tools are available
independently of the model". That is not true. Tools require the endpoint of the
respective model to have been started with a matching tool parser — otherwise it
rejects every request carrying tools. SovrGPT therefore locks the switches in
the composer instead of letting an answer fail.
As things stand, every tier can use tools — with one exception: llama
(llama-3.1-8b). There the parser is set and a forced tool call does work, but
in automatic mode the model called nothing in 4 out of 4 measurements and answered
in prose instead — once even with a claimed web search and an invented result.
Enabling the switch there would therefore deliver a hallucination as a search
result.
Images in chat
Attach an image to your message (paper clip, or drop it into the window). PNG and JPG are accepted.
🔴 New since 2026-09-13 — and broken before that. Until then SovrGPT accepted an image and showed it in the transcript but never sent it to the model. The answer read as though the image had been there; in reality the model only knew the file name. The image path works now.
What applies:
| Formats | PNG, JPG — no WebP, no GIF, no image inside a PDF |
| Per image | 8 MiB |
| Per message | 4 images, 12 MiB in total |
| Vision-capable models | Default (gemma-4-12b), Vision (gemma-4-26b-a4b) and Gemma 4 31B with our partner |
⚠️ Not every model can look at images. If you pick one that cannot, SovrGPT says so before you send, above the input field — and the assistant points it out in its reply as well. It does not guess what the image shows. The image stays in the transcript; switching models is enough.
📌 Putting an image on a slide works regardless. That does not require the model to see it —
it only passes the file name to export_pptx, and the file is inserted on the server.
📌 An oversized image is rejected, not downscaled. Upload a smaller version instead; automatic downscaling is deliberately absent.
⚠️ None of these safeguards apply to the OpenAI-compatible API (/v1/chat/completions). That
route forwards the request body unchanged to the model, so an image_url part does get through —
but with no capability check, no size limit and no notice. Send an image there to a model
that does not read images and the request fails at the endpoint instead of returning an
explanation. 📌 We have not measured this path — the statement describes what the code does,
not a test that passed. For images through the API, pick one of the three vision-capable models
above.
Tokens, quotas and limits
- Standard plan: fair use, no hard token limit.
- Enterprise plan: dedicated GPU workers (no cold start), guaranteed latency, separate contract.
- API calls are billed per org — not per user.
The exact pricing tiers are available under /settings/usage (when logged in) and
in the contract with eNetworkers.
Getting started
From first login to first API call in five minutes.
Coding in the IDE
SovrGPT as a model backend for Kilo Code, Cline, Roo Code, Continue, OpenCode, Qwen Code, goose, Zed, Theia, OpenHands, Cursor and Aider — sovereign EU models right in your editor, with honest figures on latency, telemetry, permissions and limits.