Skip to content

Jev on the Gateways: Vercel, Workers AI, and OpenRouter

The request shape barely changes across surfaces; the surrounding contract does. When to call the API directly and when a gateway, a Worker binding, or a router entry earns its extra hop.

Published
Category
Jev Tools & CLIs
Resources cited
8
Reading time
3 min
Tags#gateway#vercel#cloudflare#openrouter

You rarely call Jev from the same place twice. A prototype hits the TypeSafe API directly, a Next.js app goes through the Vercel AI Gateway, a Worker calls it from Cloudflare, and a framework user reaches it through OpenRouter. The request shape barely changes; the surrounding contract does. Here is the current map.

The direct API is the reference

Everything else is a wrapper around POST /v1/systemone with a state and a questions map, documented in the API reference. If you can call this, you can call any of the gateways, because they all preserve the typed request and the typed answer. Access starts at the TypeSafe console.

Vercel: gateway plus a first-party SDK provider

Vercel ships Jev as a model on the AI Gateway and as an AI SDK provider. For a Next.js app already on the AI SDK, that means the decision call goes through the same transport as your other models, and the Vercel guide covers the wiring. The gateway also gives you the provider's own retries, caching, and keys.

One trade-off: a gateway adds a hop. When the decision sits in a tight loop, call the API directly; when it sits beside other model calls, the one transport is worth it.

Cloudflare: Jev in the Workers AI catalog

Cloudflare lists typesafe/jev in Workers AI, callable with env.AI.run inside a Worker or over the REST API with an account ID and an AI token — the Workers AI entry documents the binding and the envelope shape. The card flags it third-party and lists zero data retention. The same catalog now carries Cloudflare's own Clef decision models, which answer the same typed shape, so a Worker can compare them behind one interface.

OpenRouter: a router entry with a comparison surface

OpenRouter lists Jev and a decision-model family alongside it, which makes it the fastest way to try Jev against the rivals on identical questions. It is a router, so it adds a hop and its own terms; it is best for evaluation and comparison, not the hot path.

The common thread: the base URL

All of these reduce to a base URL and a key. The serving locally article makes the same point for self-hosted servers, and the open reimplementations answer the identical request. That portability is why moving between gateways, and even to an open model, is a configuration change rather than a rewrite.

SurfaceBest forCost of the hop
Direct APITight loops, lowest latencyNone
Vercel GatewayNext.js and AI SDK appsOne network hop
Cloudflare Workers AIEdge and Worker workloadsOne hop, edge-local
OpenRouterComparing Jev against rivalsOne hop, shared rate pool
Local serverData residency, offline, fixed versionYour hardware

Choose by where the decision runs

If the decision runs in a Next.js route, use the Vercel gateway. If it runs at the edge, use Workers AI. If you are still choosing a model, use OpenRouter to compare. If it runs in a tight control loop, call the API directly, because no wrapper earns its latency there.

Same request, same answer, different contract. Pick the surface that matches where your code already lives.

From the Jev directory

The resources behind this article.

The raw HTTP contract behind every SDK: POST a state plus typed noul, choice, and score questions to /v1/systemone, and get one answer per question, with error codes and retry guidance.
Jev Guides & ArticlesDocs#official#docs#api
Official
Get an API key, manage models, and try the playground: three walkthrough lessons plus realistic use cases like resume screening and ticket routing.
Jev Tools & CLIsPlayground#official#playground#api-keys
Official
Model card for `typesafe-ai/jev`: evaluation type, $0.042 per 1M input tokens, zero output token charge, and a hosted playground.
Jev Tools & CLIs#community#vercel#pricing
Community
@ai-sdk/typesafe-ai adds an evaluation model to the Vercel AI SDK: one experimental_evaluate call sends a state with choice, score, and boolean questions and returns typed answers, probabilities, confidence, and usage.
Jev Tools & CLIsDocs#community#vercel#integration
Community
End-to-end guide to a ticket-routing workflow with confidence thresholds, zero-data-retention options, and mock-based tests that need no network call.
Jev Guides & ArticlesArticle#community#vercel#tutorial
Community
Cloudflare Workers AI's model page for typesafe/jev: run the structured evaluation model through an env.AI.run binding or the REST /ai/run endpoint, with typed Noul, Choice, and Score questions and worked examples.
Jev Tools & CLIsDocs#community#cloudflare#integration
Community
Cloudflare's first open decision models on Workers AI: Clef, a 27B model that reads text, JSON, images, or video, and Clef-flash, a 9B model for the latency-sensitive hop, each returning a probability per option.
Jev Models & Reimplementations#community#cloudflare#decision-model
Community
Access Jev through OpenRouter's decisions endpoint, an alternative route to early access that still uses TypeSafe's question and answer shapes.
Jev Tools & CLIs#community#openrouter#api
Community
Back to all articles

More Jev articles

Most Jev accuracy problems are state problems. What belongs in a state, what is a pre-made judgment to leave out, and why naming the slice you ask about matters more than the wording.
Jev Practices & Patterns#state#design#primitives
Read article
A Noul returns one number and no separate confidence. How to read the value, pin its boundary with criteria, split compound questions, and set a per-action threshold that matches the cost of being wrong.
Jev Practices & Patterns#noul#primitives#confidence
Read article

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai