
Guides
Where to call Jev
TypeSafe opened the console — no waitlist. Also checked: OpenRouter, Vercel evaluate, Cloudflare Workers AI, Venice Decisions, Netlify AI Gateway, AI/ML API, LiteLLM. None of them are chat completions. Independent — not affiliated with TypeSafe AI.
Where to call Jev is the first production question after what Jev is. The model does not live on jevpatterns.com. Jev Patterns only publishes request shapes. You still need a path, a model id, and a key. As of 21 September 2026 the first-party door is open: TypeSafe’s own console, no waitlist.
People still paste jev-latest into a chat playground. That fails for a boring reason. Jev does not sample tokens. Chat completions expect a message list and a reply string. Where to call Jev correctly is a decisions or evaluation API that accepts state plus typed questions.
Official TypeSafe System One API
First-party route, documented on docs.typesafe.ai and the quick start:
POST https://api.typesafe.ai/v1/systemone
Authorization: Bearer $TYPESAFE_API_KEY
Content-Type: application/json
{
"model": "jev-latest",
"state": { "ticket": "Password reset email never arrives" },
"questions": {
"department": {
"type": "choice",
"instructions": "Which queue owns this?",
"criteria": {
"account": "Login, identity, reset mail",
"billing": "Charges and invoices",
"technical": "Product bugs and outages",
"other": "None of the above"
}
}
}
}Public alias: jev-latest. Official product: typesafe.ai. Pin a versioned id if a threshold is a deploy gate.
OpenRouter
OpenRouter still lists ~typesafe/jev-latest and the pinned typesafe/jev-1.13(32k context, $0.042 / M input, $0 output on that page). Two official HTTP paths — neither is chat completions.
The model card and Decisions playground use POST https://openrouter.ai/api/alpha/decisions with model typesafe/jev-1.13. Treat that path as alpha.
OpenRouter’s TypeSafe SDK guide also documents a System One path that accepts TypeSafe’s request shape. Bare ids are mapped: jev-1.13 → typesafe/jev-1.13, jev-latest → ~typesafe/jev-latest.
POST https://openrouter.ai/api/v1/systemone
Authorization: Bearer $OPENROUTER_API_KEY
Content-Type: application/json
{
"model": "jev-1.13",
"state": "I was charged twice for my subscription.",
"questions": {
"refund": {
"type": "noul",
"instructions": "Is the customer asking for money back?"
}
}
}SDK: set baseURL: "https://openrouter.ai/api" on TypeSafeClient and pass an OpenRouter key. Docs: TypeSafe SDK on OpenRouter. client.models.list() will fail there — OpenRouter’s GET /api/v1/models is not TypeSafe’s shape.
Vercel AI Gateway
Call typesafe-ai/jev with AI SDK 7’s experimental evaluate API — not generateText, and not the OpenAI-compatible Gateway endpoints. Vercel uses boolean where TypeSafe says noul. Promo through 25 September 2026; re-read the card.
Cloudflare Workers AI
typesafe/jev via env.AI.run with state and questions. Noul, Choice, and Score — same names as TypeSafe. Context on that page: 32k tokens.
Netlify AI Gateway
Verified on Netlify’s 17 September 2026 changelog and the AI Gateway overview. Install @typesafe-ai/sdk in a Netlify Function. Netlify injects TYPESAFE_API_KEY and TYPESAFE_BASE_URL unless you already set them. Models served directly: jev-1.13.0, jev-latest, jev-preview. Changelog cites ~32k tokens for state plus questions. Node 20+. Usage bills to Netlify credits; their pricing table lists TypeSafe Jev at $0.04 / M input, $0 output — Netlify’s rounding, not TypeSafe’s $0.042 card.
import { TypeSafeClient } from "@typesafe-ai/sdk";
const client = new TypeSafeClient();
const { answers } = await client.systemOne({
model: "jev-latest",
state: { ticket: "Password reset email never arrives" },
questions: {
department: {
type: "choice",
instructions: "Which queue owns this?",
criteria: {
account: "Login, identity, reset mail",
billing: "Charges and invoices",
technical: "Product bugs and outages",
other: "None of the above",
},
},
},
});No extra provider config if you stay on the official SDK. Do not send chat messages.
Venice Decisions API
Venice’s model catalog lists Jev under Decisions as jev-latest (beta): $0.042 / M input, $0 output, 32k state, 64k total. The documented route is not chat completions:
POST https://api.venice.ai/api/v1/decisions
Authorization: Bearer $VENICE_API_KEY
Content-Type: application/json
{
"model": "jev-latest",
"state": "Help! My payouts have been failing for 3 days.",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does this message convey urgency?"
}
}
}Official page: docs.venice.ai decisions. Venice marks the API beta. Do not send messages.
AI/ML API
Official docs: docs.aimlapi.com · typesafe/jev. Model id typesafe/jev, 32k context, Noul / Choice / Score. The decisions path — not chat completions:
POST https://api.aimlapi.com/v1/decisions
Authorization: Bearer $AIMLAPI_KEY
Content-Type: application/json
{
"model": "typesafe/jev",
"state": "Help! My payments have been failing for 3 days.",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does this convey urgency?"
}
}
}AI/ML API’s model card lists $0.0577668 / M input, $0 output — their figure, not TypeSafe’s $0.042. Confirm on the card before you pick this wire for volume. Their marketing page mentions an OpenAI-compatible SDK; the working Jev route is still /v1/decisions.
LiteLLM pass-through
LiteLLM’s 20 September 2026 post ships Jev in v1.103.0-rc. You put a TypeSafe key on the proxy, then POST $LITELLM_PROXY_BASE_URL/typesafe/v1/systemone. Same body as first-party. Spend is logged under the versioned id TypeSafe reports (they cited typesafe/jev-1.13.0). This is a proxy you run, not a public gateway. Docs: TypeSafe Jev on LiteLLM.
Official TypeSafe agent skill
From docs.typesafe.ai/agent-skill:
npx skills add typesafe-ai/skills --skill typesafe-ai # Claude Code claude plugin marketplace add typesafe-ai/skills claude plugin install typesafe@typesafe-ai
Which wire should you use
TypeSafe direct is the default on-ramp: no waitlist, $5 starter credit, native Noul, full docs. If that console or API is 5xx, pick a gateway you already have a key for. Vercel if you already speak AI SDK 7 and the promo is still live. Netlify if the function already runs there. OpenRouter, Venice, or AI/ML API if those keys are already in the repo — watch AI/ML API’s higher list price. Cloudflare if the worker already has an AI binding. LiteLLM if you already proxy many providers. Catalog JSON on this site stays the same; only URL, auth, model slug, and sometimes the boolean/noul label change.
Still unchecked
Unofficial playgrounds still show up on X. They stay off this page. Third-party gateways are not Jev Patterns and not TypeSafe.
Jev Patterns is independent and not affiliated with TypeSafe AI. We do not sell keys or proxy traffic. After you pick a wire, read Choice, Score, Noul, then run a fixture in Jev Studio.
Where to call Jev — FAQ
- Is there still a TypeSafe waitlist for Jev?
- No. On 20 September 2026 TypeSafe said Jev is available to everyone, with no waitlist. Sign in at console.typesafe.ai/login. New users start with $5 in credit (~120 million tokens), per TypeSafe. Re-check the console; credits can change. If the console or first-party API returns 5xx, use a gateway key below.
- Is Jev free on Vercel AI Gateway?
- As of 21 September 2026, Vercel lists typesafe-ai/jev as free promotional pricing through 25 September 2026. You need a Vercel account. Jev Patterns does not proxy that traffic.
- Where do I call Jev on OpenRouter?
- Two documented routes: POST https://openrouter.ai/api/alpha/decisions with model typesafe/jev-1.13 or ~typesafe/jev-latest, and POST https://openrouter.ai/api/v1/systemone with a TypeSafe-shaped body (model jev-1.13 maps to typesafe/jev-1.13). Do not use chat completions.
- Where do I call Jev on Netlify?
- In Netlify Functions, install @typesafe-ai/sdk. Netlify injects TYPESAFE_API_KEY and TYPESAFE_BASE_URL. Models listed: jev-1.13.0, jev-latest, jev-preview. Usage bills to Netlify credits. Official changelog: 17 September 2026.
- Where do I call Jev on AI/ML API?
- POST https://api.aimlapi.com/v1/decisions with model typesafe/jev. 32k context. AI/ML API's model card lists $0.0577668 / M input, $0 output — their figure, higher than TypeSafe's $0.042. Not chat completions.
- Where do I call Jev on Venice?
- POST https://api.venice.ai/api/v1/decisions with model jev-latest. Venice lists it under Decisions, not chat completions. Treat it as beta.
- Where do I call Jev on Vercel AI Gateway?
- Use AI SDK 7 experimental_evaluate with model typesafe-ai/jev. Vercel docs say evaluation is not available on the OpenAI-compatible Gateway endpoints.
- Can I send Jev to a chat completions endpoint?
- No. Jev does not generate text. TypeSafe uses /v1/systemone. OpenRouter uses /api/alpha/decisions or /api/v1/systemone. Venice and AI/ML API use /v1/decisions. Vercel uses evaluate. Netlify uses the TypeSafe SDK against injected env. Cloudflare uses Workers AI run with questions, not messages.
Next
Next
Last reviewed 21 September 2026. Independent of TypeSafe AI.

