Tchavi
Why TchaviModelsPricingDocumentationBlog
TchaviTchavi

Frontier AI, paid with mobile money. No card, no KYC.

Product

  • Why Tchavi
  • Pricing
  • Models

Resources

  • Documentation
  • API Reference
  • Blog
  • Support

Legal

  • Privacy
  • Terms of Service

© 2026 Tchavi. All rights reserved.

We use cookies to enhance your experience, provide personalised content, and analyse our traffic; see our Cookie Policy.

Back to models

Jev 1.13 API — pricing, code sample and mobile money payments

Ttypesafe/jev-1.13

Jev 1.13 — structured decisions, not prose

Context window
64K
per 1,000 tokens
0.101 / 0 cr
Ideal forRouting support tickets to the right teamScoring urgency or sentiment on inbound messagesContent moderation flags with a confidence you can thresholdLead qualification against criteria you defineAny classification where you need the probability, not just the label

Input

Output

The text or context to analyse — a message, a ticket, a document excerpt.

Each key becomes one answer. Keys must be unique.

Optional when criteria are set, but it sharpens the answer.

Each option and what it means. The model picks one.

A yes/no likelihood: no criteria, only the instructions matter.

Optional when criteria are set, but it sharpens the answer.

Lowest to highest. The model returns a score in between.

low
1
2
high
recorded example
teambilling100% confidence
billing
100%
technical
0%
blocked64%
urgency2.22 · urgent78% confidence
urgent
78%
critical
22%
not urgent
0%
normal
0%
import Tchavi from '@tchavi/sdk';

const client = new Tchavi({ apiKey: 'API_KEY' });

const result = await client.decisions.create({
  "model": "jev-1.13",
  "state": "Customer writes: 'My API key stopped working after I rotated it.'",
  "questions": {
    "team": {
      "type": "choice",
      "instructions": "Which team should handle this?",
      "criteria": {
        "billing": "payments or credits",
        "technical": "API, keys"
      }
    },
    "urgency": {
      "type": "score",
      "instructions": "How urgent is this?",
      "criteria": [
        "not urgent",
        "normal",
        "urgent",
        "critical"
      ]
    },
    "blocked": {
      "type": "noul",
      "instructions": "Is the customer unable to use the product?"
    }
  }
});

// Answers are discriminated on `type`.
if (result.answers.team.type === 'choice') {
  console.log(result.answers.team.choice, result.answers.team.probabilities);
}
if (result.answers.blocked.type === 'noul') {
  console.log('blocked likelihood:', result.answers.blocked.noul);
}

API parameters

Every parameter this model accepts on the API. Check the SDK for full typings.

modelRequired
string

ID of the decision model (e.g. `jev-1.13`).

stateRequired
string | object

What is being judged: free text, or any JSON object.

questionsRequired
object

An object keyed by your own answer names — the same keys come back in `answers`. Not an array.

questions.*.typeRequired
"choice" | "score" | "noul"

`choice` picks one option, `score` rates on an ordered scale, `noul` returns a yes/no likelihood.

questions.*.instructionsRequired
string

The question itself, in plain language.

questions.*.criteria
object | string[]

A map of option to meaning for `choice`, an ordered array low-to-high for `score`. Omitted for `noul`.

per 1,000 tokens
0.101 credits
Real-world scenarios
Per day
Per week
Per month

Estimated over 30 days, ~1000 tokens per request (input + output).

💡 A 10 000 F CFA top-up gives you about ~594 118 questions. Pay with Orange Money, MTN MoMo or M-Pesa — no Visa card needed.

Jev 1.13

Jev is not a chat model. You send it a state — a message, a ticket, a JSON record — plus the questions you want answered, and it returns each answer with a probability distribution and a confidence. Three question types: a choice between options you define, a score on a scale you define, and a yes/no likelihood. Use it where you would otherwise ask an LLM to 'reply with only one word' and then parse the word. On /v1/decisions, not /v1/chat/completions. One thing to expect on your bill: your questions are expanded into the prompt before the model sees them, so a short state with three questions is typically billed around 300-400 input tokens rather than the 30 or so you wrote. You are charged on what the provider reports. Output tokens are free.

What this model does

Routing support tickets to the right teamScoring urgency or sentiment on inbound messagesContent moderation flags with a confidence you can thresholdLead qualification against criteria you defineAny classification where you need the probability, not just the label

What this model does well

  • Three question types — Choice, score and yes/no likelihood, in one call
  • Probabilities — Every answer carries a distribution and a confidence
  • No parsing — Structured answers by design, not a prompt trick
  • Output is free — Billed on input tokens only

Technical specifications

Author
TypeSafe
API identifier
jev-1.13
Category
Decision
Context window
64 000 tokens
Billing unit
token

Ready to use Jev 1.13?

Create your accountAPI Documentation

+150 bonus on your first top-up · No card to sign up