How to get Jev: API key, free trial and every way in
You can try Jev in your browser right now without an account, get an API key in about a minute with 200 free credits, or join TypeSafe’s waitlist for direct access. This page walks through all three, with prices, steps and working code.
Try it on your own text
Edit the example and run it. No account needed — 3 free runs a day.
Scenario
Route a ticket to the right team, rate its urgency and flag churn risk.
Edit freely — Jev answers the scenario's questions about whatever you put here.
The three ways to use Jev
Jev is TypeSafe’s System One model. There is one public build, jev-1.13.0, and you can reach it three ways:
- JevStation no-signup trial — in the browser, no account, preset use cases only.
- JevStation account and API key — 200 free credits, then one-time credit packs.
- TypeSafe direct — the model’s own API, behind a waitlist.
1. JevStation trial on the playground
Steps. Open the playground, pick a preset such as the support triage example above, edit the text if you like, and run it.
Price. Free. Each IP address gets 3 runs a day.
Pros. No account, no card, no code. You see real probabilities from the real model within seconds.
Cons. The questions come from the presets and cannot be changed, and the editable text is capped at 2,000 characters. It is a way to see how Jev answers, not a way to test your own use case.
Suits anyone deciding whether Jev is worth a closer look.
2. JevStation account and API key
Steps. Sign up, open Settings › API Keys, create a key, and call POST https://jevstation.com/api/v1/systemone with it. The same account can use the playground with your own questions.
Price. New accounts get 200 free credits, valid for 30 days, with no card and no provider key required. After that, credits come in one-time packs, not subscriptions: $9.90 for 5,000 credits or $15.90 for 12,000, valid for 24 months. A standard evaluation — state up to 8,000 characters and up to 5 questions — costs 1 credit. A larger one, up to 24,000 characters and 12 questions, costs 3. A failed evaluation is refunded automatically. See pricing.
Pros. No waitlist. You pay per evaluation rather than per token, so a request’s price never depends on how the model tokenizes it. You also get a playground for designing question sets, saved evaluation threads and automatic refunds.
Cons. Per call, it costs more than raw tokens. A typical evaluation costs about $0.00002 at Jev’s list price; one credit costs $0.00198 in the small pack and $0.00133 in the large one. Throughput is capped per account, and the cap rises with the pack you buy; GET /api/v1/systemone returns your current limits. The deployment pins the model version, so the model field in your request is ignored.
Suits developers who want to call Jev today, teams that want a playground alongside the API, and anyone below very high volume.
3. TypeSafe direct
Steps. Join TypeSafe’s waitlist. Once admitted, call POST https://api.typesafe.ai/v1/systemone with your TypeSafe key. LangChain publishes an integration for it: langchain-typesafe for Python and @langchain/typesafe for JavaScript.
Price. Pay as you go at $0.042 per million input tokens; output tokens are free. There are no self-serve plans and no free usage. Higher limits and zero data retention go through TypeSafe’s sales team.
Pros. The lowest price per call, the highest rate limits (TypeSafe states 1,200 requests a minute and 250,000 tokens a second), and control over the model version, including the jev-latest and jev-preview aliases.
Cons. You wait to get in. TypeSafe also says its rate limits are adjusting dynamically and can change without notice.
Suits high-volume production workloads that can wait for access.
Call the JevStation API
Every example sends the support ticket from the trial above with two questions. Replace $JEVSTATION_API_KEY with the key you created.
cURL
curl -X POST https://jevstation.com/api/v1/systemone \
-H "Authorization: Bearer $JEVSTATION_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"state": "I have been trying to connect my Stripe account for 3 days and it keeps failing with invalid redirect. I am losing sales every hour.",
"questions": {
"category": {
"type": "choice",
"instructions": "Which team should handle this support ticket?",
"criteria": {
"billing": "Payments, invoices, refunds or plan changes",
"integrations": "Connecting or syncing a third-party service",
"bug": "The product behaves incorrectly",
"account": "Login, access or account settings"
}
},
"churn_risk": {
"type": "noul",
"instructions": "Is the customer at risk of churning?"
}
}
}'
Python (requests)
import os
import requests
resp = requests.post(
"https://jevstation.com/api/v1/systemone",
headers={"Authorization": f"Bearer {os.environ['JEVSTATION_API_KEY']}"},
json={
"state": "I have been trying to connect my Stripe account for 3 days "
"and it keeps failing with invalid redirect. I am losing sales every hour.",
"questions": {
"category": {
"type": "choice",
"instructions": "Which team should handle this support ticket?",
"criteria": {
"billing": "Payments, invoices, refunds or plan changes",
"integrations": "Connecting or syncing a third-party service",
"bug": "The product behaves incorrectly",
"account": "Login, access or account settings",
},
},
"churn_risk": {
"type": "noul",
"instructions": "Is the customer at risk of churning?",
},
},
},
timeout=30,
)
body = resp.json()
if body["code"] != 0:
raise RuntimeError(body["message"])
data = body["data"]
print(data["answers"]["category"]["choice"], data["answers"]["category"]["confidence"])
print(data["answers"]["churn_risk"]["noul"])
print("credits left:", data["credits"]["remaining"])
Node (fetch)
const res = await fetch('https://jevstation.com/api/v1/systemone', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.JEVSTATION_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
state:
'I have been trying to connect my Stripe account for 3 days and it keeps failing with invalid redirect. I am losing sales every hour.',
questions: {
category: {
type: 'choice',
instructions: 'Which team should handle this support ticket?',
criteria: {
billing: 'Payments, invoices, refunds or plan changes',
integrations: 'Connecting or syncing a third-party service',
bug: 'The product behaves incorrectly',
account: 'Login, access or account settings',
},
},
churn_risk: {
type: 'noul',
instructions: 'Is the customer at risk of churning?',
},
},
}),
});
const body = await res.json();
if (body.code !== 0) throw new Error(body.message);
const { answers, credits } = body.data;
console.log(
answers.category.choice,
answers.churn_risk.noul,
credits.remaining
);
What comes back
Responses use an envelope: code is 0 on success and -1 on an error, message is ok or the error text, and the result is under data. The values below show the shape only; your numbers will differ.
{
"code": 0,
"message": "ok",
"data": {
"model": "jev-1.13.0",
"answers": {
"category": {
"type": "choice",
"choice": "integrations",
"probabilities": {
"billing": 0.2,
"integrations": 0.7,
"bug": 0.08,
"account": 0.02
},
"confidence": 0.6
},
"churn_risk": { "type": "noul", "noul": 0.8 }
},
"usage": { "input_tokens": 180, "output_tokens": 0 },
"credits": { "charged": 1, "remaining": 199 },
"latency_ms": 400
}
}
A Choice answer carries the top option, every option’s probability and a confidence value. A Score answer carries a value along your levels, a legend and confidence. A Noul answer is a single probability from 0 to 1, with no confidence. Errors also set a real HTTP status: 401 for a missing or invalid key, 400 or 413 for a bad or oversized request, 402 when you are out of credits, 429 when you hit a rate limit, and 502 when the evaluation fails, in which case the credits are refunded. The docs cover every field.
Comparison at a glance
| Option | Account | Free usage | Paid price | Best for |
|---|---|---|---|---|
| JevStation trial | None | 3 runs a day per IP, presets only | — | A first look |
| JevStation API key | Instant sign-up | 200 credits, valid 30 days | $9.90 / 5,000 or $15.90 / 12,000 credits | Building now, with a playground |
| TypeSafe direct | Waitlist | None | $0.042/M input, output free | High-volume production |
Get an API key and make your first call
- Sign up. Create an account at /sign-up. It starts with 200 free credits, valid for 30 days.
- Create a key. Open Settings › API Keys and create a key. Store it as
JEVSTATION_API_KEYrather than in code. - Check it. Send
GET https://jevstation.com/api/v1/systemonewith the same Bearer header. It costs nothing and returns your plan, remaining credits and rate limits. - Make the first call. Run any of the examples above. It is a standard evaluation, so it costs 1 credit.
Before writing code, it is worth designing the questions in the playground first: it uses the same contract, and the answers you see there are what your code will get. Designing Questions Jev Can Answer covers how to phrase them, and What One Jev Evaluation Costs breaks down the token cost behind each call.
Frequently asked questions
- Is Jev free?
- You can try it for free. On JevStation, the playground gives 3 runs a day on preset use cases without an account, and a new account gets 200 free credits valid for 30 days, with no card required. After that you pay: credit packs on JevStation, or $0.042 per million input tokens (output free) through TypeSafe directly.
- Do I need the TypeSafe waitlist to use Jev?
- No. The waitlist is only for a direct account with TypeSafe. JevStation runs Jev for you, so you can sign up and create an API key immediately.
- How do I get a Jev API key?
- Create a JevStation account, open Settings › API Keys at /settings/apikeys, and create a key. Send it as a Bearer token to POST https://jevstation.com/api/v1/systemone.
- Is there a Jev AI login?
- Jev itself is a model, not an app, so there is no Jev login as such. To use it in a browser, sign in to JevStation and open the playground; to use it from code, use an API key from JevStation or TypeSafe.
- Which option is cheapest?
- At very high volume, paying per token through TypeSafe directly is cheapest: a typical evaluation costs about $0.00002 in tokens. JevStation charges per evaluation in credits instead, which costs more per call but needs no waitlist and includes the playground, saved history and automatic refunds.
Related
- Jev as a judgeCheck an LLM answer against reference facts and get a ship / revise / reject verdict with probabilities.
- Support ticket triageRoute a support ticket to the right team, rate its urgency and flag churn risk, each with a probability.
- Jev vs LLM classificationJev against a prompted GPT- or Claude-class model for classification: cost, latency, output shape, consistency and calibration.
Make it part of your pipeline
Sign up for 200 free credits, save your own question sets and call the same evaluation from the API.