Blog3 min read

Fast, Large or Base: which SolCard Inference model to use

Three models, one price list. What each is good at, what a request costs on each, and when turning on reasoning is worth it.

Start with Fast. Move to Large when the problem is hard. That’s most of it. Here’s the rest, with the numbers.

The three models

ModelBest forContextReasons
solcard-inference-fastAlmost everything. The default.~1M tokensWhen you ask
solcard-inference-largeHard problems: tricky code, long chains of logic1M tokensAlways
solcard-inference-baseGeneral-purpose work, a second opinion262k tokensWhen you ask

All three:

  • are open-weight models with their refusal training removed, so they answer questions a mainstream assistant turns down: security research, malware analysis for defense, red-teaming, hardening safety classifiers, synthetic training data;
  • write up to 32,768 tokens per answer;
  • take text only: no images, audio or files (the chat app reads your files into text first);
  • call tools, stream, and work through the OpenAI Chat Completions, OpenAI Responses and Anthropic Messages APIs.

What a request costs

USD per 1M tokens:

ModelInputCached inputOutput
Fast$1.25$0.125$2.50
Large$3.75$0.375$6.25
Base$1.25$0.125$3.75

Take one ordinary request: a 10,000-token prompt (a few files of code and a question) and a 1,000-token answer.

ModelInputOutputTotal
Fast$0.0125$0.0025$0.015
Base$0.0125$0.00375$0.01625
Large$0.0375$0.00625$0.04375, plus its thinking

Large costs about three times as much as Fast, before it thinks. Its reasoning tokens are billed as output too, so a hard question can cost several times the table.

In a long conversation, most of your input is cached, at a tenth of the price. A coding agent resends the whole conversation every turn, so this is where most of its input lands.

Reasoning: when to let it think

A reasoning model works the problem out in tokens you don’t see before it writes the answer. It’s slower and you pay for the thinking, but on hard problems it’s right more often.

Fast and Base don’t reason unless you ask. Turn it on per request:

{
  "model": "solcard-inference-fast",
  "reasoning_effort": "medium",
  "messages": [{ "role": "user", "content": "Find the race condition in this function." }]
}
APIFieldValues
Chat Completionsreasoning_effortnone, low, medium, high
Responsesreasoning.effortnone, low, medium, high
Messagesthinking.type, output_config.effortenabled, adaptive or disabled; low to max

Large always reasons. That’s what you pay for when you pick it.

With reasoning on, the answer gets at least 256 tokens of room, so the thinking can’t eat the whole budget. The reply’s usage tells you how many tokens went to reasoning.

Picking one

  • Chat, drafting, summaries, extraction, most code: Fast.
  • Fast got it wrong, or the problem needs several steps held in mind at once: Fast with reasoning_effort: "medium", then Large.
  • A long agent session on a big codebase: Fast for the routine turns, Large for planning and the hard bugs. Caching keeps the long context cheap on both.
  • You want a different model’s take on the same prompt: Base.

You can switch on every request. One balance pays for all three, and GET /v1/models always has the live list and prices.

Bring the prompt that got refused.

Private. No refusals. In the app, or in the tools you already use.

Pay in crypto. No KYC.