Crossroads

A decision model for software

Request early access →

  1. 1Abstract
  2. 2Try it out
  3. 3Results
  4. 4Interface
  5. 5Pricing
↓

Crossroads answers a question about a piece of context with a value your code can use: one option from a list, a boolean, or a number on a scale. Send the context and the questions in one request; receive the answers, checked against the questions you asked, each with the probability of every option, and the token count. The model scores the options rather than writing about them, in one pass.

Try it out

Options

Results

BTZSC scores zero-shot text classifiers on 22 datasets. Trained without any of them, our recipe places above all 35 systems on the benchmark's leaderboard from 4B parameters on, at half the size of the best of them, Qwen3-Reranker-8B. At 8B, the size of the default Crossroads model, it scores 0.745 macro-F1 against that system's 0.722.

0.6B1.7B4B8B14B
Figure 1. Macro-F1 over the 22 BTZSC datasets against parameters. In grey, the 35 leaderboard systems and their best score at or below each size. Hover over our points for their scores.

Interface

One endpoint. The context is state, as text or JSON, the questions are keyed by name, and the answers come back under the same names with the usage. Keys stay on your server; each request carries an idempotency key so a retry cannot be billed twice.

Every question names its answer type, and the type fixes the shape of the reply. A request carries up to sixteen questions about the same context.

Three question types, one request.
TypeFieldsAnswer
choiceinstruction, options (2 or more)one of the options, with each option’s probability
booleaninstructiontrue or false, with the probability of true
scoreinstruction, min, maxthe expected score in its range, with each level’s probability
Listing 1. POST /v1/decisions
{
  "state": "Hi! We were charged twice for our team's plan this month. Could you help us sort this out?",
  "questions": {
    "route": {
      "type": "choice",
      "instruction": "Which team should handle this request?",
      "options": [
        "billing",
        "engineering",
        "sales"
      ]
    },
    "needs_reply": {
      "type": "boolean",
      "instruction": "Does this message need a reply?"
    },
    "urgency": {
      "type": "score",
      "instruction": "How urgent is this request?",
      "min": 1,
      "max": 5
    }
  }
}
Listing 2. The response.
{
  "id": "5f1c…",
  "model": "crossroads-8b",
  "answers": {
    "route": {
      "choice": "billing",
      "probabilities": {
        "billing": 0.91,
        "engineering": 0.06,
        "sales": 0.03
      }
    },
    "needs_reply": {
      "value": true,
      "probability": 0.94
    },
    "urgency": {
      "score": 3.48,
      "probabilities": {
        "1": 0.02,
        "2": 0.08,
        "3": 0.41,
        "4": 0.38,
        "5": 0.11
      }
    }
  },
  "usage": {
    "input_tokens": 96,
    "output_tokens": 0
  }
}

Full documentation →

Pricing

$0.040 USD per million input tokens for Crossroads 8B and $0.080 for Crossroads M. Output tokens are free. Billed monthly for successful requests.

USD per million tokens
ModelInputOutput
Crossroads 8B$0.040$0.000
Crossroads M$0.080$0.000
Jev 1.14$0.042$0.000
GPT-6 Luna$0.100$0.500
Gemini 3.5 Flash-Lite$0.300$2.500

Standard text rates, checked October 31, 2026. Model names link to provider pricing. Excludes caching, batch discounts and free tiers. Token counts and capabilities vary by model.

Request early access →