hostjev

Jev alternative, hosted in the EU.

The Decision API answers the same /v1/systemone requests your clients already send, on GPUs in EU regions, and retains no state by default.

TYPESAFE_BASE_URL=https://api.hostjev.com
EU GPU regions
3
Prefill per request
1 pass
Choice options
255
State retained by default
None

One ticket, three typed answers

One state, three questions, one prefill pass. The figures are illustrative.

ticketstate · 2 fields · 21 tokens

Duplicate charge

I was billed twice for September. Please refund one.

state → answers

departmentbilling0.91

billing 0.91 · technical 0.03 · other 0.06

frustration1.32
Calm 0.12Frustrated but civil 0.44Very angry 0.44
refund_requested0.97
yes 0.97

model decision-35b-2026-09 · mode packed · Illustrative

TYPESAFE_BASE_URL

your-current-endpointhttps://api.hostjev.com

Use a hostjev key; your code stays the same.

Why teams switch

Three claims, in the order legal and engineering ask about them.

The data path stays in the EU

GPU inference runs only in EU regions, and the DPA names every sub-processor. No state is retained by default, so there is nothing to ask for later.

EU-RO-1 · EU-SE-1 · EUR-IS-2

Your client does not change

Same paths, same request body, same response fields. TypeSafe SDKs and the clients you already wrote keep working once the base URL points here and requests carry a hostjev key.

POST /v1/systemone · GET /v1/models · GET /v1/limits

Confidence you can audit

Temperature scaling is fitted per primitive, and figures are published with the model version they belong to. No figures published yet.

temperature scaling · per primitive · per model version

How it works

No text is generated. One prefill pass, then the token probabilities are read straight off the model.

  1. 1

    Send state and questions

    One POST carries the state and a map of questions. State can be a string, a JSON object or an array of strings.

  2. 2

    One prefill pass reads the logits

    The state is prefilled once, and each question is answered from the model's own token probabilities.

  3. 3

    Typed answers come back

    Every answer is a Choice, a Score or a Noul with its probabilities, next to the model version that answered.

POST/v1/systemonejson
{
  "state": {
    "ticket": {
      "subject": "Duplicate charge",
      "messages": ["I was billed twice for September. Please refund one."]
    }
  },
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "Which team should handle this",
      "criteria": {
        "billing": "Charges, refunds, invoices",
        "technical": "Bugs, outages, integrations",
        "other": "Nothing fits"
      }
    },
    "frustration": {
      "type": "score",
      "instructions": "How frustrated the customer appears",
      "criteria": ["Calm", "Frustrated but civil", "Very angry"]
    },
    "refund_requested": {
      "type": "noul",
      "instructions": "The customer explicitly asks for a refund"
    }
  }
}
200 OK · Illustrativejson
{
  "model": "decision-35b-2026-09",
  "mode": "packed",
  "usage": { "input_tokens": 187 },
  "answers": {
    "department": {
      "choice": "billing",
      "probabilities": { "billing": 0.91, "technical": 0.03, "other": 0.06 },
      "confidence": 0.91
    },
    "frustration": {
      "score": 1.32,
      "probabilities": [0.12, 0.44, 0.44],
      "confidence": 0.68
    },
    "refund_requested": {
      "noul": 0.97
    }
  }
}

The packed mode is the default: every question shares one prefilled state. In separate mode each question is answered alone, and roughly 6–9% of answers differ.

The questions legal will ask

Where does our data go?
GPU inference runs only in EU regions: EU-RO-1, EU-SE-1 and EUR-IS-2.
What is retained?
No state, by default. Counts, latency and token totals are kept so that usage can be billed.
Who are the sub-processors?
RunPod Secure Cloud, named in the DPA. The company is US-headquartered and the data centres in use are in the EU. A strict-EU provider is being evaluated.
What changes in our code?
Nothing in the code itself. Point TYPESAFE_BASE_URL at api.hostjev.com, use a hostjev key, and the existing client keeps working.

The details

The API surface, the model and the data rules, in one place.

API surface

Wire format
POST /v1/systemoneGET /v1/modelsGET /v1/limits
Unchanged from the reference API.
Primitives
ChoiceScoreNoul
Choice (up to 255 options) and Score (2–10 levels) return probabilities and confidence; Noul returns one calibrated probability.
Modes
packeddefaultseparate
Answers in separate mode may differ from packed by roughly 6–9%.

Model

Model
Qwen/Qwen3.6-35B-A3B
Licence
Apache-2.0
Ids
decision-35bdecision-27bdecision-4bdecision-latest
Stock weights. Every response carries the versioned id that answered.

Data and limits

Regions
EU-RO-1EU-SE-1EUR-IS-2
Sub-processors
RunPod Secure Cloud
US-headquartered, EU data centres, named in the DPA.
Retention
None by default
Counts, latency and token totals are kept for billing.
Limits
64k tokens state + questions32k state + longest question255 Choice optionstext only

Pricing

Billed per input token. Output is free: answers are read from the model's probabilities, not written as text. Figures may change before general availability.

Every account

Preview pricing

€0.042

per 1M input tokens

Output tokens are free

  • Prepaid credits, top up from €25
  • Credits never expire
  • No plans, no monthly minimum

Input tokens per month

€0.42

a month for 10M input tokens

≈ 20,000 decisions at about 500 tokens each

€4.20

a month for 100M input tokens

≈ 200,000 decisions at about 500 tokens each

€42.00

a month for 1B input tokens

≈ 2,000,000 decisions at about 500 tokens each

€420.00

a month for 10B input tokens

≈ 20,000,000 decisions at about 500 tokens each

≈ 2.4B input tokens per €100

€5 trial credits for new accounts · Illustrative

Join the waitlist

Point your base URL at the EU, swap in a hostjev key, and leave your code as it is.

Join the waitlist