Skip to content

Jev on Cloudflare Workers AI (typesafe/jev)

Last checked · Independent guide, not affiliated with TypeSafe AI

ANSWER

Cloudflare lists Jev in its Workers AI catalog as typesafe/jev, a third-party model with a 32,000-token context window. You call it with env.AI.run('typesafe/jev', { state, questions }) inside a Worker, or through the Workers AI REST API with the same body wrapped in an input field. Pricing is only shown in the Cloudflare dashboard.

Cloudflare added Jev to its AI model catalog on September 19, 2026, four days after TypeSafe’s launch. When we checked, Google dated the catalog page to only a few hours earlier. This page summarizes Cloudflare’s documentation; we have not called Jev through Cloudflare yet, and we mark the parts we could not verify.

Item Value
Model ID typesafe/jev
Label in the catalog Third-party model from TypeSafe
Context window 32,000 tokens
Price “View pricing in the Cloudflare dashboard”; not published on the docs page
Question types noul, choice, score, same names and shapes as TypeSafe’s API
Returned model Cloudflare’s example response reports jev-1.13.0

The catalog entry sits under Cloudflare’s text generation heading, which is misleading: Jev does not generate text. It returns the same typed answers as TypeSafe’s own API.

With a Workers AI binding named AI, the call takes the state and questions directly:

src/index.js
export default {
async fetch(request, env) {
const result = await env.AI.run('typesafe/jev', {
state: 'My invoice lists two seats, but only one of us can sign in.',
questions: {
wantsRefund: {
type: 'noul',
instructions: 'Is the customer asking for money back?',
},
queue: {
type: 'choice',
instructions: 'Which team should handle this message?',
criteria: {
billing: 'Charges, invoices, refunds, seats on the bill',
technical: 'Bugs, outages, login problems',
},
},
},
});
return Response.json(result);
},
};

Outside a Worker, the Workers AI REST endpoint takes the model in the body and wraps the state and questions in an input object:

Terminal window
curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \
-H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe/jev",
"input": {
"state": "My invoice lists two seats, but only one of us can sign in.",
"questions": {
"wants_refund": { "type": "noul", "instructions": "Is the customer asking for money back?" }
}
}
}'

The API token needs Workers AI permission on the account.

What Cloudflare’s example response shows

Section titled “What Cloudflare’s example response shows”

Cloudflare’s documentation includes a sample response with answers in exactly TypeSafe’s shape (a noul value for yes/no, choice with probabilities and confidence, score with legend), a model field of jev-1.13.0 and a usage block with input and output tokens. That suggests Cloudflare passes requests through to TypeSafe’s current model rather than serving a different build, but Cloudflare does not state this.

  • Price. Workers AI usually bills in its own units; Jev’s rate is only shown after you log in. Compare it with $0.042 per million input tokens on TypeSafe and OpenRouter before you commit.
  • Rate limits and free allocation. The model page does not list Jev-specific limits.
  • Error messages. We have not seen Cloudflare’s errors for Jev, so the errors index does not include Cloudflare-specific entries yet.

If your application already runs on Cloudflare Workers, the binding saves you from managing a separate TypeSafe key and keeps the call on Cloudflare’s network. If you need the largest context budget, model version pinning or the official SDKs, TypeSafe’s own API is the better fit. See Jev channels compared.

Sources

  1. Jev (typesafe), Cloudflare AI docs
  2. API reference (TypeSafe docs)