> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prem.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Models & Pricing

> Explore every model on the Prem API platform — confidential inference and Zero Data Retention — with prices, in one place.

This page shows the prices for all available models on the Prem API platform. All prices are pay-as-you-go, by usage.

Prem serves two inference modes:

* **Confidential inference** — the local proxy encrypts the inference end-to-end. See the [Confidential Proxy](https://docs.prem.io/confidential-proxy.md) guide.
* **Zero Data Retention (ZDR)** — the gateway at `https://gateway.prem.io` serves the inference without state. You need no client KEK and no local proxy. See the [ZDR overview](https://docs.prem.io/zdr/overview.md).

The tables that follow list the top models for each mode. The catalog changes with your API key and with the inference mode. Use `GET /rvenc/models` to get the confidential catalog and `GET /openai/models` to get the ZDR catalog.

## Confidential models

These are the top models available for confidential inference. Prices are per 1M tokens and match the `price_config` field of the models endpoint.

| Model | API ID | Type | Modalities | Pricing |
| :- | :- | :- | :- | :- |
| **Qwen 3.8** · 27B ([weights](https://huggingface.co/Qwen/Qwen3.8-27B)) | `qwen38-27b` | Chat | Text, Image, Video | \$0.30 in (\$0.00 cached\*\*) · \$2.40 out / 1M tokens |
| **DeepGram General Nova 3** | `deepgram/general-nova-3` | Audio Transcription | Audio | \$0.05 / audio minute |
| **DeepSeek V4.1 Flash · 1017** ([weights](https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017)) | `deepseek-v4.1-flash-1017` | Chat | Text, Image, Video | \$0.35 in (\$0.00 cached\*\*) · \$1.40 out / 1M tokens |

> [!NOTE]
>
> \*\* Promotional offer: cached prompt tokens for confidential inference are free (\$0.00) **until December 1, 2026.**

* **Qwen 3.8**: A dense architecture with Gated DeltaNet and Gated Attention layers. It gives frontier-level intelligence with low latency.
* **DeepGram General Nova 3**: A general-purpose ASR model with the highest performance. Use it for meetings, captions, and multilingual audio.
* **DeepSeek V4.1 Flash · 1017**: 763B multimodal MoE, frontier agentic coding at flash speed.

[Try in Playground](https://dashboard.prem.io)

## ZDR models

These are the top models available for Zero Data Retention inference. Prices are per 1M tokens and match the `price_config` field of the models endpoint.

| Model | API ID | Type | Modalities | Pricing | Region |
| :- | :- | :- | :- | :- | :- |
| **Qwen 3.8 2.4T A95B** | `qwen38-24t` | Chat | Text | \$2.50 in (\$0.25 cached) · \$6.00 out / 1M tokens | `eu` |
| **DeepSeek V4 Pro** | `deepseek-v4-pro` | Chat | Text | \$1.75 in (\$0.058 cached) · \$3.50 out / 1M tokens | `eu`, `uk` |
| **DeepSeek V4.1 Flash** | `deepseek-v4.1-flash` | Chat | Text, Image, Video | \$0.30 in (\$0.01 cached) · \$1.20 out / 1M tokens | `eu` |
| **DeepSeek V4.1 Flash · 1017** | `deepseek-v4.1-flash-1017` | Chat | Text, Image, Video | \$0.30 in (\$0.01 cached) · \$1.20 out / 1M tokens | `eu` |
| **GLM 5.2** | `glm-5.2` | Chat | Text | \$1.50 in (\$0.28 cached) · \$4.50 out / 1M tokens | `eu`, `uk` |
| **Kimi K3** | `kimi-k3` | Chat | Text | \$3.50 in (\$0.35 cached) · \$15.25 out / 1M tokens | `eu` |
| **DeepSeek V4 Flash** | `deepseek-v4-flash` | Chat | Text | \$0.25 in (\$0.005 cached) · \$0.30 out / 1M tokens | `eu` |
| **GLM 5.3 Flash** | `glm-5.3-flash` | Chat | Text, Image, Video | \$0.22 in (\$0.044 cached) · \$0.52 out / 1M tokens | `eu` |
| **Qwen3.8 Flash Next** | `qwen38-flash-next` | Chat | Text, Image, Video | \$0.22 in (\$0.022 cached) · \$0.52 out / 1M tokens | `eu` |
| **DiffusionGemma** · 26B A4B ([weights](https://huggingface.co/nvidia/diffusiongemma-26B-A4B-it-NVFP4)) | `dgemma` | [Decisions](https://docs.prem.io/guides/decisions.md) | Text, Image, Video | \$0.04 in · \$0.00 out / 1M tokens | `uk` |

[Try in Playground](https://dashboard.prem.io)

> [!NOTE]
>
> The prices above match the `price_config` field of the models endpoint. The `regions` field of `GET /openai/models` gives the current region of each model.

## Prompt caching

Prompt tokens served from prefix cache are automatically detected and billed at the cached input rate:

* **ZDR models**: cached prompt tokens are billed at discounted market rates (up to 98% discount compared to full input price).
* **Confidential models**: cached prompt tokens are **\$0.00 / 1M tokens** under a promotional offer ending on **December 1, 2026**.
* **Uncached prompt tokens**: billed at the standard input price per model.

When a request benefits from prefix cache, token usage details are reported in the OpenAI-compatible usage object:

```json theme={"system"}
{
  "usage": {
    "prompt_tokens": 1500,
    "completion_tokens": 250,
    "total_tokens": 1750,
    "prompt_tokens_details": {
      "cached_tokens": 1200
    }
  }
}
```

In this example, only the 300 uncached prompt tokens (1500 − 1200) are billed at the model's standard input rate, while the 1200 cached tokens are billed at the model's cached rate (or free under the confidential promotional offer).

> [!NOTE]
>
> You get access to all models by an OpenAI-compatible API. See the [Quickstart](https://docs.prem.io/quickstart.md) guide to start.

## Get the models your key can use

The catalog changes with your API key and with the inference mode. A model that is available for ZDR is not always available for confidential inference. The opposite is also true. Call the models endpoint with the same API key that you use for chat requests.

* `GET /rvenc/models` returns the confidential catalog.
* `GET /openai/models` returns the ZDR catalog.

```bash curl theme={"system"}
curl https://gateway.prem.io/rvenc/models \
  -H "Authorization: Bearer $PREM_API_KEY"
```

```bash curl-zdr theme={"system"}
curl https://gateway.prem.io/openai/models \
  -H "Authorization: Bearer $PREM_API_KEY"
```

```python Python theme={"system"}
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["PREM_API_KEY"],
    base_url="https://gateway.prem.io/openai",
)

for model in client.models.list():
    print(model.id, model.type, model.regions)
```

```typescript TypeScript theme={"system"}
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.PREM_API_KEY!,
  baseURL: "https://gateway.prem.io/openai",
});

for await (const model of client.models.list()) {
  console.log(model.id);
}
```

> [!NOTE]
>
> The `GET /openai/models` endpoint uses the OpenAI models list format. The standard `client.models.list()` method of an OpenAI SDK reads it. Prem adds more fields to each entry, and an OpenAI SDK ignores them.

Filter the catalog by the type of the model:

```bash theme={"system"}
curl "https://gateway.prem.io/openai/models?type=CHAT" \
  -H "Authorization: Bearer $PREM_API_KEY"
```

The `type` parameter accepts these values: `CHAT` and `AUDIO_TRANSCRIPTION`.

Send the exact model ID from the response. Do not add a provider prefix or a slash.

### The response fields

The response has `"object": "list"` and an array in `data`. Each entry has these fields:

| Field | Description |
| - | - |
| `id` | The model ID to send in a chat request |
| `object` | Always `model` |
| `created` | The Unix timestamp of the moment that Prem added the model |
| `owned_by` | The owner of the model |
| `name` | The display name of the model |
| `description` | A short description of the model |
| `type` | `CHAT` or `AUDIO_TRANSCRIPTION` |
| `input_modalities` | The input types that the model accepts |
| `price_config` | The price for each mode and region |
| `regions` | The regions that give this model for the endpoint's mode |
| `usage_mode` | The method that the platform uses to meter the model |

The first four fields are the standard OpenAI fields. The other fields are Prem fields, and an OpenAI SDK ignores them.

## Regions

The `regions` field shows the regions that give the model. The endpoint that you call decides the mode:

* `GET /openai/models` returns the ZDR catalog. The `regions` field shows the ZDR regions.
* `GET /rvenc/models` returns the confidential catalog. The `regions` field shows the confidential regions.

```json theme={"system"}
{
  "regions": ["eu", "uk"]
}
```

The ZDR partners operate in the European Union (`eu`), Switzerland (`ch`), and the United Kingdom (`uk`). The regions for one model can be different from the regions for another model. The `regions` field is the current source of truth for each model.

## Mode errors

The API rejects a model that the mode you chose does not give. The response has a 400 status and one of these messages:

| Message | Cause |
| - | - |
| `Model {model} is available for encrypted inference only.` | You sent a confidential-only model to `/openai/chat/completions`. Use the confidential routes. |
| `Model {model} is not available for confidential inference.` | You sent a ZDR-only model to a confidential route. Use `/openai/chat/completions`. |

Call the models endpoint again after you change the API key. Then remove each model that the new key does not return.

## Reasoning effort

Reasoning models generate a chain of thought before they answer. The `reasoning_effort` field controls how much the model reasons. The valid values depend on the model family. The table shows the values for each family.

| Family | Valid values |
| :- | :- |
| Qwen | `xhigh`, `medium`, `low` |
| DeepSeek | `low`, `high`, `max` |
| Z.ai (GLM) | `max`, `xhigh`, `high`, `medium`, `low`, `minimal`, `none` |
| Kimi | `low`, `high`, `max` |

The proxy sends the value to the model unchanged. The model rejects a value that it does not support. To reduce reasoning, use the lowest value that the family accepts.

## Deployment Strategies

| Feature | Explorer | Developer | Enterprise |
| - | - | - | - |
| **Rate Limit** | 10 req / sec | Scalable | Dedicated |
| **API Deployment** | Multi-Tenant APIs | Dedicated APIs | Dedicated APIs |
| **Model Deployment** | Curated Models | Custom Model Choice | Custom Model Choice |
| **Infrastructure** | Shared Instances | Dedicated Instances | air-gapped / on-prem |

> [!TIP]
>
> See the [Tiers](https://docs.prem.io/tiers.md) page for the limits of each usage tier. The page covers the request rate, the token limit (TPM), the audio limit, and the monthly budget.

> [!TIP]
>
> Prem serves all APIs in agreement with its security model. For more information, see the [Security Model](https://docs.prem.io/security-model.md) page.

## Get Started

> [card] [Create Account](https://dashboard.prem.io)
>
> Register. Then start to use the Confidential APIs.

> [card] [Quickstart](https://docs.prem.io/quickstart.md)
>
> Make your first API call in minutes.

> [card] [ZDR Overview](https://docs.prem.io/zdr/overview.md)
>
> Set up your first ZDR request.

> [card] [Contact Sales](mailto:sales@premai.io)
>
> Contact Prem for enterprise features, custom models, or dedicated infrastructure.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.