UPSTAGE / SYSTEM ONE

Solar Decide

Upstage's structured decision model, served on Solar Mini 4. Send a state and typed questions; receive a choice, score, or yes/no probability without generated prose.

New accounts get 100 credits. The playground and API share one balance.

Context window

524,288

tokens · provider-listed maximum

OpenRouter input price

$0.05 / 1M

per million input tokens

OpenRouter output price

$0 / 1M

output tokens are free upstream

This site's input rate

720

credits per million input tokens

/v1/systemone

Uses the Jev System One contract

OpenRouter lists Solar Decide as using the same /v1/systemone schema as Jev. The existing Jev playground sends the model, state, and typed questions through the same endpoint and validates the same structured answer fields.

TEXT → DECISION

Three structured answer types

Choose from named options, score against an ordered scale, or estimate the probability of a yes/no condition. The response includes model probabilities for your application to interpret.

choicescorenoul

Solar Decide is text-only. The playground accepts text or JSON state, up to 8 questions and 32 KiB per request; its request-size limit is below the provider-listed 524,288-token context window.

Try Solar Decide in the Jev playground

This page reuses the Jev workbench with Solar Decide preselected. Start with a recipe or replace the state and questions. Its browser draft is saved separately from the main playground and Kev page.

What do you want to decide?

Choose a task to load its input and rules. Loading examples uses no credits.

Kev 4B · model & pricing ↗Solar Decide · model details ↗Span · behavior evaluation ↗

Text or JSON evaluated independently by every question.

Questions 1/8

Which team should handle this ticket? Use other when no option fits.Choice

Options

Maximum credit budget: 1 credits

We reserve this budget before the model runs, then charge actual usage and return the difference. Failed calls are refunded.

New account? Receive 100 credits once. Short requests typically use 1 credit; longer inputs can use more.

100 welcome credits · one balance for web & API

Draft saved in this browser · Your draft will be restored after sign-in.

ILLUSTRATIVE EXAMPLE · NO CREDITS USED

“I was charged twice this morning. Please refund the duplicate payment today.”

One input → structured decisions

Choice

Billing

Route to the billing queue

Yes / no

96%

Probability of an urgent request

Score

2.8 / 3

Urgency on a 0–3 scale

Static illustration of the output format. Values are not a live model response or a measure of accuracy.

Web runs and saved configurations are private to your account. API history stores usage only.Usage ↗

Your draft will be restored after sign-in.

Use the same decision API

Send model, state, and questions to Jev AI Model's /v1/systemone endpoint with an API key created here. Set model to upstage/solar-decide; answers are in data.result.answers.

This site's rate is max(1, ceil(input_tokens × 720 / 1,000,000)) credits. Output tokens are not charged. This credit schedule is separate from OpenRouter's provider price.

// Server-side JavaScript (Node 20+ or Bun). Set JEV_API_KEY.
const response = await fetch("https://jevaimodel.net/v1/systemone", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.JEV_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "model": "upstage/solar-decide",
  "state": "I was charged twice for order A-4471. Please refund the duplicate payment.",
  "questions": {
    "route": {
      "type": "choice",
      "instructions": "Which team should handle this ticket? Use other when no option fits.",
      "criteria": {
        "billing": "Payments, charges and refunds",
        "technical": "Bugs and product errors",
        "account": "Login and account access",
        "other": "None of these teams"
      }
    }
  }
}),
});
const body = await response.json();
if (!response.ok || body.code !== 0) throw new Error(body.message);
console.log(body.data.result.answers);
console.log(body.data.creditsUsed);