---
title: "Models, aliases, pricing, rate limits, context"
type: reference
tags: [models, pricing, rate-limits, context-length, jev]
created: 2026-09-17
updated: 2026-09-17
confidence: high
sources:
  - raw/docs/models.md
  - raw/site/openapi.json
  - raw/docs/api.md
jev_version: "jev-1.13.0"
summary: "Jev 1.13 model ID, aliases, $42/Btok pricing with free output tokens, 250k tok/s and 1,200 rpm limits, 64k/32k context rule, and text-only input."
---

# Models, aliases, pricing, rate limits, context

> **TL;DR** One current model: `jev-1.13.0`, reached by the aliases `jev-latest` and `jev-preview` (both currently resolve to `jev-1.13.0`). $42 per Btok / $0.042 per Mtok on **input tokens only** — output tokens are free. Limits: 250,000 tokens/second and 1,200 requests/minute, both returning `429`. Context: 64k tokens per request, 32k for `state` plus the longest single question. Text input only.

## Current models

| Jev 1.13 | `jev-1.13.0` |
|---|---|
| Price (per Btok / per Mtok) | $42 / $0.042 |
| Rate limits | 250,000 tokens per second / 1,200 requests per minute |
| Context length | 64k tokens per request; 32k tokens for `state` plus the longest question |
| Input | Text only. String, JSON object, or array of text values. No image, audio, or video input. |

(Table reproduced from raw/docs/models.md.) Every model is served by the same endpoint, `POST /v1/systemone`; the request's `model` field selects which one handles the call. See [[reference/http-api]].

## Aliases

| Alias | Points to | Meaning (verbatim) |
|---|---|---|
| `jev-latest` | `jev-1.13.0` | "The most recent stable, official release. The default in our client SDKs, and the name the examples in these docs use." |
| `jev-preview` | `jev-1.13.0` | "The most recent release, whether or not it is an official one. Moves ahead of `jev-latest` when a preview build is available." |

Warning from raw/docs/models.md: "`jev-preview` currently points to the same model as `jev-latest`. There is no preview build available right now."

Alias behavior:

- An alias moves when a new release ships, so the answers behind it can change without a change on your side.
- The response's `model` field reports the versioned ID that answered, so you can log which model produced each result.
- If you have tuned confidence thresholds against a specific version, pin that version's ID instead of the alias and move to the new one on your own schedule.
- `jev-latest` is the SDK default (`DEFAULT_MODEL = 'jev-latest'` in the Python SDK; `TYPESAFE_DEFAULT_MODEL` defaults to `jev-latest` in both SDKs — see [[reference/environment-variables]]).

## Pricing

| Item | Value | Source note |
|---|---|---|
| Price per Btok (billion tokens) | $42 | raw/docs/models.md |
| Price per Mtok (million tokens) | $0.042 | raw/docs/models.md |
| Billed on | Input tokens only | "Charged per input token." |
| Output tokens | Free | "Output tokens are free." Restated in raw/site/openapi.json: "Output tokens are currently free of charge." |
| Unit definitions | "A Btok is a billion tokens and an Mtok is a million tokens." | raw/docs/models.md |
| Where counted | `usage.input_tokens` / `usage.output_tokens` in the response | raw/site/openapi.json (`Usage`) |

Cross-check: the consistency cookbooks encode `TYPESAFE_PRICE = (0.042, 0.00)` — dollars per 1M input tokens and per 1M output tokens — labelled "Historical TypeSafe rate, as of 2026-08" (raw/docs/cookbooks__consistency_choice_cookbook.md, raw/docs/cookbooks__consistency_noul_cookbook.md). That matches $0.042/Mtok input and free output.

Currency and billing mechanics live in the MCA: Fees are in US dollars, usage is metered against TypeSafe-managed Credits, and "the rate at which Credits are consumed may vary based on account settings, including the model used" (raw/site/typesafe-ai-legal_mca.txt §8). See [[reference/legal-and-data]].

## Rate limits

| Limit | Value | On breach |
|---|---|---|
| Throughput | 250,000 tokens per second | `429 Too Many Requests` |
| Request rate | 1,200 requests per minute | `429 Too Many Requests` |

Verbatim: "Measured in tokens per second and requests per minute. A request over either limit returns `429 Too Many Requests`. Our client SDKs retry with backoff by default and honor the `retry-after` header when the response carries one."

**Warning — rate limits are adjusting dynamically** (verbatim from raw/docs/models.md): "We are serving a very large volume of demand, and the limits above can change without notice while we do, as upcoming large GPU deals land and we let in more users. Once things settle down more, we'll be able to offer more stable limits. Higher limits are available on custom and enterprise plans. Contact [sales@typesafe.ai](mailto:sales@typesafe.ai)."

Practical consequence: do not hardcode 250,000 tok/s or 1,200 rpm as a client-side budget; implement backoff and treat `429` as normal. Full retry semantics in [[reference/rate-limits-and-errors]].

## Context length

| Budget | Limit | Covers |
|---|---|---|
| Per request | 64k tokens | `state` plus **all** questions combined |
| Per question | 32k tokens | `state` plus the **single longest** question |

Mechanism (verbatim): "Jev ingests the `state` once and evaluates every question against it in parallel. The 64k budget covers the `state` plus all questions combined; the 32k budget applies to the `state` plus the single longest question."

Because `state` is counted in both budgets, a large `state` shrinks both the per-question headroom and the number of questions that fit. Packing many questions into one request is the [[patterns/fan-out]] pattern; accuracy changes as `state` grows are documented in [[concepts/jaggedness-jev-1-13]].

## Input modality

Text only: "String, JSON object, or array of text values. No image, audio, or video input." Verbatim guidance: "Jev evaluates natural-language text. Pre-process non-text inputs (images, audio, video, binaries) into text or structured fields before sending them as `state`." See [[concepts/state]].

## Language support

English is the primary training language and where accuracy is currently best. Other languages, including CJK scripts, are handled but not equally well; raw/docs/models.md advises testing on your own content before relying on Jev for a non-English workload and paying close attention to [[concepts/confidence]] when routing.

## Customizing Jev

Jev is not fine-tuned or LoRA-adapted with customer data; it is trained with RLCD to return calibrated decisions, and the same weights serve every account (raw/docs/models.md). You shape answers through the request:

- proprietary content, records, and reference material go in `state` ([[concepts/state]]);
- domain rules and boundary cases go in each question's `instructions` and `criteria` ([[concepts/advanced-structure]], [[concepts/how-to-build]]);
- broad judgments are decomposed into atomic questions and combined in code ([[patterns/composite-scoring]], [[cookbooks/autoresearch-feature-discovery]]).

## Data handling

"Jev is not trained on customer requests or responses." Zero data retention (ZDR) is offered for enterprise customers. Details and citations in [[reference/legal-and-data]].

## Listing models

`GET /v1/models` returns the names your account can send in the `model` field, with a description and release date for each. It currently lists the aliases; versioned IDs such as `jev-1.13.0` are accepted by the `model` field whether or not they appear in the list.

| Response field | Type | Required | Description |
|---|---|---|---|
| `models` | `array` | Yes | One entry per model or alias. |
| `models[].name` | `string` | Yes | The model ID or alias, as accepted by the `model` field. |
| `models[].description` | `string` | Yes | What the model is for. |
| `models[].release_date` | `string` | Yes | When the model or alias was released (`YYYY-MM-DD`). |

```bash
curl https://api.typesafe.ai/v1/models \
  -H "Authorization: Bearer $TYPESAFE_API_KEY"
```

```python
from typesafe_sdk import TypeSafeClient

with TypeSafeClient() as client:
    for model in client.models.list().models:
        print(model.name, model.release_date, model.description)
```

```typescript
import { TypeSafeClient } from "@typesafe-ai/sdk";

const client = new TypeSafeClient();
const models = await client.models.list();
for (const model of models) {
  console.log(model.name, model.release_date, model.description);
}
```

(All three snippets verbatim from raw/docs/models.md. Note the shape difference between the SDKs: the Python call returns an object with a `.models` list, the JS call returns an iterable of models directly.)

The OpenAPI example release date for `jev-latest` is `2026-09-15` (raw/site/openapi.json), which matches the Jev launch date.

## Deprecation policy

**No formal deprecation or end-of-life policy is stated in raw/docs/models.md.** What the sources do say:

- Aliases move silently when a new release ships; pin a versioned ID if you need stability (raw/docs/models.md).
- The MCA §2.5 (Updates): TypeSafe "may from time to time update the Services," which "may result in the API's becoming incompatible with a Customer Application," and TypeSafe "will use commercially reasonable efforts to provide advance notice of any updates to the API that TypeSafe believes will materially and adversely impact Customer's ability to integrate" (raw/site/typesafe-ai-legal_mca.txt).
- Precedent for a hard break: the preview endpoint `/preview/evaluation` was replaced outright by `/v1/systemone`, and the old `typesafe-client` Python package "no longer works against the API" (raw/docs/migrating-to-v1.md). See [[reference/migrating-to-v1]].

## Contacts

| Need | Contact | Source |
|---|---|---|
| Higher rate limits, custom/enterprise plans | sales@typesafe.ai | raw/docs/models.md |
| Zero data retention (ZDR) | privacy@typesafe.ai | raw/docs/legal.md |
| Support | support@typesafe.ai | raw/site/typesafe-ai-legal_mca.txt §3 |

## Related

- [[reference/http-api]] — how to send `model` and read it back
- [[reference/rate-limits-and-errors]] — what to do on `429` and `529`
- [[reference/legal-and-data]] — training, retention, credits
- [[entities/jev]] — the model as an entity
- [[concepts/jaggedness-jev-1-13]] — known failure modes of this version
- [[patterns/fan-out]] — packing many questions into one request
- [[concepts/state]] — what `state` may contain

## Sources

- raw/docs/models.md (https://docs.typesafe.ai/models)
- raw/site/openapi.json (https://docs.typesafe.ai/openapi.json)
- raw/docs/api.md (https://docs.typesafe.ai/api)
- raw/docs/legal.md (https://docs.typesafe.ai/legal)
- raw/site/typesafe-ai-legal_mca.txt (https://typesafe.ai/legal/mca)
