Jev API Channels: Official API vs OpenRouter (How to Choose)
Jev reaches you through two doors: the official TypeSafe AI channel and OpenRouter, the model’s main demo channel. Both speak the OpenAI-compatible request/response dialect, so neither choice locks you in — but they differ meaningfully in setup speed, billing and how early you see new versions. This guide compares them and ends with a concrete recommendation for each stage of a project.
TL;DR: Start on OpenRouter: it is the fastest path, priced per token (about $0.0462 per 1M input tokens per third-party listings — confirm on the model page). Consider the official channel when you need enterprise terms, direct support or version guarantees; its endpoints are documented at typesafe.ai. Keep all Jev calls behind one client function and switching later is an afternoon, not a rewrite.
The two channels compared
| Dimension | OpenRouter (demo channel) | Official TypeSafe AI API |
|---|---|---|
| Setup speed | Minutes: account, credits, key | Slower: account/provisioning per official docs |
| Request format | OpenAI-compatible chat completions | Confirm the documented format at typesafe.ai |
| Pricing | Per-token; listed around $0.0462 / 1M input tokens (third-party data, confirm on the model page) | Per the official terms; check typesafe.ai |
| Billing | Prepaid credits on OpenRouter, spend caps per key | Per the official billing arrangement |
| Version availability | Listed on the model page; slug may lag or lead the official docs | First-hand; confirm release notes officially |
| Support | Marketplace-level | Direct, per official channels |
| Best for | Prototyping, small-to-mid production, quick experiments | Enterprise workloads, compliance needs, volume commitments |
Two honest caveats. First, the exact model id can differ between channels — typesafe/jev-1.13 is the OpenRouter listing at the time of writing, and slugs change with versions, so confirm on the model page. Second, this guide deliberately does not invent official endpoint URLs; whatever the official channel offers, its documentation at typesafe.ai is the source of truth, as is the announcement post introducing System One models and Jev.
What OpenRouter looks like in practice
One call, one key, the endpoint you already know:
# Confirm the exact model slug on the OpenRouter model page
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe/jev-1.13",
"messages": [{"role": "user", "content": "Choice question: route this email to sales, billing or support? Email: \"...\""}]
}'
A standard chat completions request — the routing semantics live in the question phrasing.
The parsed answer — example fixture, confirm exact field names in the official documentation:
{
"answer": "billing",
"confidence": 0.94,
"rationale": "The email disputes a subscription charge, which maps to the billing queue."
}
This shape is why OpenRouter is the recommended first channel: your existing OpenAI client library, retry logic and observability all work unchanged.
Migration cost: low, if you architect for it
The switching cost is mostly self-inflicted, which means it is mostly avoidable:
- One client function. All Jev calls go through a single wrapper that takes a question and returns the parsed answer.
- Config-driven base URL, key and model id. Environment variables, not literals.
- Fixture-tolerant parsing. Parse the message content defensively; treat unknown extra fields as ignorable rather than fatal.
With that structure, moving from OpenRouter to the official channel is changing three configuration values and re-checking field names against the official docs — the response shape above is an example fixture, and the official channel’s exact field names should be confirmed in its documentation.
Recommendation by project stage
| Stage | Channel | Why |
|---|---|---|
| Evaluation / prototype | OpenRouter | Fastest path to a working call |
| Early production | OpenRouter | OpenAI-compatible tooling, per-key spend caps |
| Scaling / enterprise | Official API (evaluate) | Support, terms, version guarantees — verify on typesafe.ai |
| Hybrid | Either | Keep the wrapper; route by workload |
The email routing case shows the OpenRouter path powering a three-team setup in production. For the money side of the comparison, the cost-and-latency guide puts real numbers on the per-token economics.
This guide applies to Jev 1.13.