What it does
The/v1/scaledown endpoint answers typed questions about a piece of text or a document, in the same request/response shape as TypeSafe’s Jev Decisions API (POST /api/alpha/decisions on OpenRouter). If you already have integration code written against Jev, it should work against /v1/scaledown with only the base URL changed.
You send a state object (the item being decided on) and a questions map, where each question is one of three typed primitives:
choice- pick exactly one option from a set of criteria. Backed by the same calibrated single-label decode as/classify.noul- an independent yes/no question, answered as a probability. Backed by the same calibrated binary decode/classifyuses in multi-label mode.score- an ordered-scale question, e.g. rating severity or quality. Answered with the same calibrated decode aschoice, over an ordered list of levels, then reduced to a probability-weighted expected value - see Howscoreis calculated.
state, concurrently.
When to use it
You’re porting an existing Jev integration./v1/scaledown accepts the same request shape and returns the same response shape, so a Jev-based routing or tagging layer can point at api.scaledown.xyz instead with minimal changes.
You want several classification decisions from one request. Mix choice, noul, and score questions in a single call - e.g. pick a category, check an independent tag, and rate severity - instead of making separate /classify calls.
You don’t need our classify-specific features. /v1/scaledown is a thin, standard-shaped layer over /classify. If you need batching (chunks), image-direct multimodal input, or the free-form reasoning explanation, use /classify directly - /v1/scaledown intentionally doesn’t expose those.
How it fits into your workflow
choice question becomes one single-label classify call (its criteria become labels), each noul question becomes one binary yes/no classify call, and each score question becomes one single-label classify call over its ordered levels (reduced afterward to an expected value). All run concurrently against the shared state, and the response’s usage is the sum of every internal call’s tokens.
Model
The only supportedmodel value is "classify-1", which is also the default when the field is omitted. Sending any other value returns 422. There’s currently no way to select a different backend model through this endpoint.