Sevren docsStart here

Models

The catalog lists every model with its price, context window, output limit and access rule. Read it from the API instead of copying ids or prices into your code.

Explore the models

Compare live prices, context windows and access rules. Search, filter or open a model's details before using it.

Sevren retains the existing sevren-* API identifiers for compatibility. Use the exact model ID from the catalog; the display name does not change the ID sent in a request.

Loading the model catalog…

Where your prompts go.

Abliterated models, served without refusals through the Sevren edge. Sevren servers never log prompts, completions or IP addresses.

The catalog

GET /v1/catalog is public: it needs no credentials and returns every enabled model.

CURL
curl https://api.example.com/v1/catalog
JSON
{
  "object": "list",
  "data": [
    {
      "id": "sevren-lite-27b",
      …,
      "access": "metered",
      "freeTokens": {"<plan id>": {"input": …, "output": …}},
      "trialTokens": {"input": …, "output": …}
    },
    …
  ],
  "trial": {"minSupplyBps": …}
}

Fields

Catalog fields
FieldTypeMeaning
idstringThe value to send as model.
labelstringDisplay name.
basestringBase model family, when the operator lists one. May be empty.
paramsstringParameter count as text, for example 27B. May be empty.
contextTokensintegerContext window: prompt and output together.
maxOutputTokensintegerAdditional output cap, thinking included. 0 means provider default, without an additional Sevren cap. Omit max_tokens to use that default.
uncensoredbooleanThe model is tuned to answer without the usual refusals.
abliteratedbooleanThe model's refusal behaviour was removed from its weights (abliteration).
descriptionstring, optionalOne line from the operator.
tagsstring[]Short labels from the operator. Show them as given.
pricePer1MInputdecimal stringUSD per one million prompt tokens.
pricePer1MOutputdecimal stringUSD per one million output tokens, thinking included.
accessstringopen, metered, token_gated or nft_gated.
gateobject, optionalFor gated models: chain, token, minimum balance, hold policy and whether the model is also paid per token.
gateIdstring, optionalIdentifier of the gate in the gate API.
freeTokensobject, optionalDaily free tokens on this model per holder plan: plan id (as in GET /auth/wallet/config) to {input, output}, the prompt and output tokens the plan gives per UTC day. Plans without any are left out; absent when no plan gets any. See Holder benefits.
trialTokensobject, optional{input, output}: the holder free try on this model, prompt and output tokens given once per wallet. Absent when the model has none. See Holder benefits.

Prices are exact decimal strings. Parse them with a decimal type, not a float, if you compute costs.

Next to data, the response has a trial object with minSupplyBps: the share of the token's total supply, in basis points, a wallet needs for the holder free try (0 means none is offered). See Holder benefits.

Model access

Paid models, such as sevren-lite-flash and sevren, have access metered. They need a session token from an account with free tokens left on that model, from the free try or the day's plan tokens, or enough credit. See Billing.

The web terminal offers 7 free questions a day on the available free models without an account, or 25 after wallet sign-in. One daily allowance is shared across the free models and resets at 00:00 UTC. API clients still need a key, and paid models need sign-in.

Access values
accessNeeds
openThe web terminal's free-question allowance. API clients still need a key.
meteredA session token (account credit and holder free tokens), or an operator-issued account key.
token_gatedAn entitlement in X-Sevren-Entitlement proving the holder owns enough of an ERC-20 token, plus a key when gate.alsoMetered is true.
nft_gatedThe same, for an ERC-721 or ERC-1155 token.

Reasoning models

sevren-lite-27b and sevren think before they answer. Their reasoning effort is fixed to high on the server and no request field changes it.

  • Streams carry the thinking in choices[0].delta.reasoning before the answer arrives in choices[0].delta.content. Non-streaming responses put it in choices[0].message.reasoning.
  • Thinking tokens are output tokens. They count against max_tokens and are billed at the output price, or paid from free tokens.
  • A small max_tokens can be used up by thinking alone, which ends the response with finish_reason: "length" and little or no answer. Leave room for both.

Context and output limits

The terminal uses the provider's default output settings. Sevren does not add a fixed input or output token cap to the free tier. Before a request runs, the edge estimates its prompt size; the model's context window and available credit still apply. A prompt that fills the context window answers 400 context_length_exceeded. When a limit is set, output is bounded by:

  • your optional max_tokens or max_completion_tokens (the smaller one if you send both); omit both for the provider default;
  • an operator output cap only when maxOutputTokens is greater than zero;
  • the context window minus the prompt;
  • for paid models, what your free tokens on that model and your credit can pay for.

The pre-check uses a conservative estimate of the prompt size. What you are billed for is the usage the model reports at the end of the request, which is returned in usage. Details are in Chat completions.

GET /v1/models

The OpenAI-style list of models your credentials can use. Without credentials it lists open models; with a session token it lists every model the account may use. Credentials that are present but not recognized are rejected with 401, not ignored. pricing is USD per single token and context_length may be lower than contextTokens when the serving backend reports a smaller window.

CURL
curl https://api.example.com/v1/models -H "Authorization: Bearer $SEVREN_API_KEY"

{
  "object": "list",
  "data": [
    {
      "id": "sevren-lite-27b",
      "object": "model",
      "created": 0,
      "owned_by": "sevren",
      "context_length": …,
      "pricing": {"prompt": "…", "completion": "…"},
      "access": "metered"
    },
    …
  ]
}