← All models

TypeSafe: Jev Router

typesafe/jev-router
textVisionFilesVideoAudio
Jev Router picks the best model and reasoning effort for each request, balancing quality, speed, and cost. It runs on [Jev](https://openrouter.ai/~typesafe/jev-latest), TypeSafe's first System One model, and adapts as your conversation evolves. One endpoint gives you the whole model ecosystem, leveraging the ecosystem's token and spend share.
Context
1M
Released
Sep 25, 2026

Parameters

messagesrequired
max_tokensoptional · alias max_completion_tokens
streamtrue · false
stream_options{"include_usage": true}
pluginsjev-router · models / allowed_models / excluded_models / cost_tier
reasoning_efforthint: the router may override · low · medium · high
image_urlimage (data: URL)
filePDF · DOCX · TXT · CSV · XLSX · PPTX (data: URL)

Top models used by the router

Where the router sends requests (share of tokens, live statistics)

  1. 1.DeepSeek V4.1 Flash33.4B · 27.6%
  2. 2.GPT-6.1 Sol20.0B · 16.5%
  3. 3.GLM 5.39.7B · 8%
  4. 4.GPT-6 Luna9.4B · 7.8%
  5. 5.GLM 5.3 Flash8.6B · 7.1%
  6. 6.Others39.9B · 33%

How to use via API

from openai import OpenAI

client = OpenAI(base_url="https://api.mixen.ai/v1", api_key="mxn-...")
resp = client.chat.completions.create(
    model="typesafe/jev-router",
    messages=[{"role": "user", "content": "Привет"}],
    max_tokens=1024,
    stream=False,
)
print(resp.choices[0].message.content)

# Стриминг: stream=True — ответ приходит чанками
for chunk in client.chat.completions.create(
    model="typesafe/jev-router",
    messages=[{"role": "user", "content": "Привет"}],
    stream=True,
):
    print(chunk.choices[0].delta.content or "", end="", flush=True)

# свой пул моделей роутера: Jev выбирает только из них
pooled = client.chat.completions.create(
    model="typesafe/jev-router",
    messages=[{"role": "user", "content": "Привет"}],
    extra_body={"plugins": [{"id": "jev-router",
                             "models": ["anthropic/*", "openai/gpt-6*"]}]},
)

# reasoning_effort — ПОДСКАЗКА: роутер выбирает уровень сам и может переопределить
hinted = client.chat.completions.create(
    model="typesafe/jev-router",
    messages=[{"role": "user", "content": "Привет"}],
    reasoning_effort="high",
)

# с файлом (PDF · DOCX · TXT · CSV · XLSX · PPTX)
doc = client.chat.completions.create(
    model="typesafe/jev-router",
    messages=[{"role": "user", "content": [
        {"type": "text", "text": "Кратко перескажи документ"},
        {"type": "file", "file": {
            "filename": "doc.pdf",
            "file_data": "data:application/pdf;base64,JVBERi0...",
        }},
    ]}],
)
API docsTry in the bot