Fast AI decisions with the odds attached.

Always one of your required answers.

A system one model: send text or JSON with up to 64 questions. Every answer is one of your options, with a probability, in one forward pass. Nothing is generated, so nothing is made up.

SeaCat mascot: a cat in a diving suit
Price
$0.20 per million input tokens
Context
32,768 tokens
Questions
Up to 64 per request

Example: qualify an inbound lead

The state is the one thing you want decisions about: here, a message from a sales lead. The questions are what you want to know about it. For each one you get back one of your options, with probabilities.

  1. State: the lead's message
  2. Questions: stage, fit, wants pricing?
  3. Answers: one option each, with odds
Request
curl https://seacat.dev/v1/decide \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "state": "Hi, I run operations at a 40-person logistics company. We are moving dispatch off spreadsheets and need something live before our peak season in November. Budget is approved for this quarter. Could someone walk me through pricing for 25 seats?",
  "questions": {
    "stage": {
      "type": "category",
      "text": "How far along is this lead in buying?",
      "options": {
        "researching": "Early research, no timeline or budget yet",
        "evaluating": "Comparing options, with a rough timeline",
        "ready": "Budget approved and a firm deadline"
      }
    },
    "fit": {
      "type": "scale",
      "text": "How well does the company in this message match our target customer: logistics or retail companies with 20 to 500 employees?",
      "options": [
        "Poor match",
        "Partial match",
        "Strong match"
      ]
    },
    "wants_pricing": {
      "type": "yes_no",
      "text": "Does the message ask about prices or plans?"
    }
  }
}'
Response
{
  "model": "seacat-1",
  "answers": {
    "stage": {
      "type": "category",
      "answer": "ready",
      "probabilities": {
        "researching": 0.0228,
        "evaluating": 0.1786,
        "ready": 0.7986
      },
      "certainty": 0.478
    },
    "fit": {
      "type": "scale",
      "answer": "Strong match",
      "probabilities": {
        "Poor match": 0.0175,
        "Partial match": 0.1077,
        "Strong match": 0.8748
      },
      "certainty": 0.6106,
      "mean": 1.8573
    },
    "wants_pricing": {
      "type": "yes_no",
      "answer": "yes",
      "probabilities": {"yes": 0.9891, "no": 0.0109},
      "certainty": 0.9132
    }
  },
  "usage": {"input_tokens": 251, "cost_usd": 5.1e-05}
}

Illustrative values. answer is the most likely option. certainty runs from 0 when the probabilities are evenly split to 1 when one option has all of it. mean is a scale answer's expected position, counting from 0. The request is billed as 251 input tokens: the message once, plus each question's own text.

What a system one model is

Psychologists describe two modes of thought, in what they call dual-process theory: system one, fast and intuitive, and system two, slow and deliberate. Chat models are built for system two: they write, reason and explain. SeaCat is built for system one: a fast, direct judgement your code can call like a function. It answers the question you asked, from the options you gave, and tells you how sure it is.

Fast

One forward pass answers every question at once. No tokens are generated, so the model answers in tens of milliseconds, not seconds.

Cheap

$0.20 per million input tokens, and no output tokens to pay for. The state is billed once however many questions you ask.

Always one of your answers

Every answer is one of the options you listed, with a probability for each. The model can be unsure, and it tells you when it is, but it can never invent an answer.

Why SeaCat?

Nothing to parse

Every answer is one of the options you listed, in a fixed JSON shape. There is no free text to pattern-match, no malformed output and no retry loop.

Probabilities you can act on

Each answer carries the model's probability for every option and a certainty score. Automate the clear cases and send the uncertain ones to a person.

One forward pass

The state is read once and shared by every question. Each answer comes from the next-token probabilities of its labels (A to Z, or Yes and No). Nothing is sampled.

Independent questions

Each question sees the state and itself, never the other questions or their answers, so asking one more question can't sway the others.

You pay for input only

There are no output tokens. The state is billed once however many questions you ask, plus each question's own text.

Dedicated GPUs

SeaCat runs on GPUs dedicated to it.

What it's for

Routing

Send each ticket, email or lead to the right queue with a category question. Anything below your certainty floor goes to a person.

Classification

Tag intent, topic, language or tone. With up to 64 questions per request, one call can label a document on every axis you track.

Moderation

Ask one yes_no question per policy and give each its own threshold: strict for anything unsafe, looser for off-topic posts.

Extraction checks

Send a document together with the fields you extracted from it, and ask whether the source supports each one before it reaches your database.

Evals and judging

Grade model outputs against a rubric with scale questions. You get the whole distribution over your levels, not a number parsed out of prose.

Agent control flow

Pick an agent's or workflow's next step with a category question. The answer is always one of your branches.

Three question types

category

Which of these fits? options is 2 to 26 names, as a list or as a map of name to description.

You get answer, probabilities and certainty.

scale

Where does it fall? options is 2 to 26 ordered levels, lowest first.

You get the same, plus mean: the expected position.

yes_no

Is this true? No options.

You get answer (yes or no), probabilities and certainty.

Each question has a type, its text and, except for yes/no, its options. Every question in a request is about the same state. The docs cover writing good questions, limits and errors.

Pricing and limits

Pricing

$0.20

per million input tokens

  • No output tokens to pay for, and no subscription or minimum. Buy prepaid credits and top up when you need to.
  • The state is billed once, plus each question's own text.
  • The example above is 251 input tokens: $0.000051 per request, or $51 per million requests like it.

Limits

  • 32,768 tokens for the state plus any one question
  • 64 questions per request
  • 2 to 26 options per category or scale question
  • Queueing: a queued request can take a minute or two (see below)

Get started

Sign in with your email, add credits, create an API key on your dashboard, and send your first request. SeaCat is a new service in early access and runs on a small scale; the Terms of Service explain what that means.

Call it with curl, or with a client library for Python or TypeScript. Both have no dependencies and are MIT licensed.

pip install seacat
npm install seacat-ai

One thing to plan for: requests are sometimes queued while GPU capacity comes online, and a queued request can take a minute or two. Once it's running, a request is fast. Give your HTTP client a timeout of at least 3 minutes.

Want help building it in?

SeaCat is built and run by Ship Systems, an AI engineering team that builds production agents for companies. If you'd rather not wire it up yourself, we can design the questions, integrate SeaCat into your workflow and ship it with you.