Early access: sign-ups are open

Typed decisions from an LLM, in one forward pass

Send any text or JSON with up to 64 questions: multiple choice, rating scale or yes/no. Every answer is one of your options, with probabilities read straight from the model's next-token distribution. Nothing is generated, so there is nothing to parse.

Price
$0.20 per million input tokens
Model
Qwen3.5-35B-A3B
Context
32,768 tokens
Questions
Up to 64 per request

One request, three decisions

A marketplace listing, sent as JSON, with three questions for moderation. The API answers them together and returns JSON your code can branch on.

Request
curl https://seacat.dev/v1/decide \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "state": {
    "title": "Phone, 256 GB, like new",
    "price_usd": 180,
    "seller_account_age_days": 2,
    "description": "Barely used, comes with the box. Gift cards only, and text me to pay outside the app for a discount."
  },
  "questions": {
    "section": {
      "type": "category",
      "text": "Which section should this listing appear in?",
      "options": {
        "phones": "Phones and tablets",
        "computers": "Laptops and desktops",
        "accessories": "Cases, chargers and cables",
        "other": "Anything else"
      }
    },
    "scam_signs": {
      "type": "yes_no",
      "text": "Does the listing show signs of a scam, such as asking to pay outside the platform?"
    },
    "risk": {
      "type": "scale",
      "text": "How risky is this listing for buyers?",
      "options": [
        "Safe to publish",
        "Worth a look",
        "Likely fraud"
      ]
    }
  }
}'
Response
{
  "model": "Qwen/Qwen3.5-35B-A3B",
  "answers": {
    "section": {
      "type": "category",
      "answer": "phones",
      "probabilities": {
        "phones": 0.97,
        "computers": 0.01,
        "accessories": 0.01,
        "other": 0.01
      },
      "certainty": 0.879
    },
    "scam_signs": {
      "type": "yes_no",
      "answer": "yes",
      "probabilities": {"yes": 0.94, "no": 0.06},
      "certainty": 0.6726
    },
    "risk": {
      "type": "scale",
      "answer": "Likely fraud",
      "probabilities": {
        "Safe to publish": 0.02,
        "Worth a look": 0.21,
        "Likely fraud": 0.77
      },
      "certainty": 0.4473,
      "mean": 1.75
    }
  },
  "usage": {"input_tokens": 264, "cost_usd": 5.3e-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 264 input tokens: the listing once, plus each question's own text.

Why not ask a chat model for JSON?

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.

An open-weights model

It runs Qwen3.5-35B-A3B, an open-weights model, on dedicated GPUs.

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.

Measured speed and accuracy

Time per request on one H100 with the model loaded, bf16 weights, one request at a time. Timed inside the GPU container, so network, the web tier and queueing are not included.

State tokensQuestionsBilled tokensMedianp95
200546539 ms40 ms
2,000102,48679 ms80 ms
8,0005010,254227 ms230 ms

Accuracy: 86.5% on 400 held-out items from five public tasks (customer-intent routing, entailment, five-level sentiment, reading comprehension, and questions about JSON records). The probability it gave its top answer averaged 3 points above its actual accuracy, so its probabilities are close to honest. Still, tune any threshold on your own data.

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 264 input tokens: $0.000053 per request, or $53 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
  • Model: Qwen/Qwen3.5-35B-A3B
  • 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.

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.