Models

Heiryn supports a range of AI models organized by size categories. The available models depend on the active provider and your server or personal configuration.

Size Categories #

Chat models are grouped into size categories that reflect both their intended role and their standard text-token price ceiling:

Size Label Intended role Maximum input Maximum output
XS Extra Small Lightweight, fastest responses $0.15 / 1M tokens $0.50 / 1M tokens
S Small Fast models with good general performance $0.50 / 1M tokens $3 / 1M tokens
M Medium Balanced speed and capability $2 / 1M tokens $6 / 1M tokens
L Large Powerful models for complex tasks $3 / 1M tokens $15 / 1M tokens
XL Extra Large Most capable regular models $5 / 1M tokens $25 / 1M tokens
Z Experimental Special or experimental models No fixed ceiling No fixed ceiling

Both ceilings must be satisfied when a regular chat alias is assigned or updated. They use the provider's published base USD rates for one million uncached text input and output tokens at the time of assignment. They do not include separate charges for requests, reasoning, cache writes, long-context tiers, images, audio, video, web search, tools, credit purchases, taxes, or other provider fees. Actual charges can therefore differ. Image and transcription categories remain relative product tiers because those services use different billing units.

The same per-token ceilings are also enforced on every request: a catalog alias is only routed to providers whose current input and output prices fit its category. If no provider qualifies, the request fails instead of being billed above the category, unless the alias has an availability fallback. Z aliases and custom models have no ceiling.

Available Chat Models #

Size Alias Model
XS xs:deepseek DeepSeek V4.1 Flash 1017 (deepseek/deepseek-v4.1-flash-1017)
XS xs:glm GLM 5.3 Flash (z-ai/glm-5.3-flash)
XS xs:qwen Qwen3.8 Flash (qwen/qwen3.8-flash)
XS xs:step Step 3.5 Flash (stepfun/step-3.5-flash)
S s:claude Claude Haiku 5.5 (anthropic/claude-haiku-5.5)
S s:deepseek DeepSeek V4.1 Flash 1017 (deepseek/deepseek-v4.1-flash-1017)
S s:gemini Gemini 3.5 Flash Lite (google/gemini-3.5-flash-lite)
S s:gpt GPT 6 Luna (openai/gpt-6-luna)
S s:mimo MiMo V2.6 Flash (xiaomi/mimo-v2.6-flash)
S s:minimax MiniMax M3.1 Flash (minimax/minimax-m3.1-flash)
M m:gemini Gemini 3.8 Flash (google/gemini-3.8-flash)
M m:glm GLM 5.3 (z-ai/glm-5.3)
M m:mimo MiMo V2.6 Pro (xiaomi/mimo-v2.6-pro)
M m:muse Muse Spark 1.3 (meta/muse-spark-1.3)
M m:qwen Qwen3.8 Max (qwen/qwen3.8-max-0902)
M m:mistral Mistral Large 4 (mistralai/mistral-large-4-0)
L l:claude Claude Sonnet 5.5 (anthropic/claude-sonnet-5.5)
L l:gemini Gemini 4 Argon (google/gemini-4-argon)
L l:gpt GPT 6.1 Sol (openai/gpt-6.1-sol)
L l:grok Grok 4.7 (x-ai/grok-4.7)
L l:kimi Kimi K3.1 Pro (moonshotai/kimi-k3.1-pro)
XL xl:claude Claude Opus 5.5 (anthropic/claude-opus-5.5)
Z z:gpt GPT 6 Astra (openai/gpt-6-astra)

Model Aliases #

Chat and image catalogs are separate, but every entry uses the same model shape: a size-prefixed alias, a friendly name, and the provider's API model ID. The shorthand format is size:alias; the size is the category code from the table above and the alias is a stable service-level selector. For example:

  • m:gemini refers to a Medium-sized Gemini model.
  • s:gpt refers to a Small-sized GPT model.

You can use these shorthands in commands like /community_chat_model and /personal_image_model instead of typing the full model identifier. The active provider template is the source of truth for chat models; each image provider template supplies its own image list.

An alias does not guarantee a particular provider model, model ID, version, release date, or continued vendor family. Heiryn may update the model behind an alias without changing saved preferences. For regular chat aliases, the replacement must still fit the alias's size category and both price ceilings above when the mapping is updated. The friendly name and model ID in the catalog describe the current mapping only. Where practical, aliases avoid version numbers so routine upgrades do not require users to change settings.

An operator-enforced raw model ID is not a service alias. It can request a specific upstream model, but remains subject to that provider's availability, pricing, routing, and retirement decisions.

Each listed chat model also carries a provider-maintained request profile for its supported reasoning and sampling controls. The profile is applied after Auto resolves the actual model, so aliases and canonical model IDs behave the same way. Explicit owner-defined IDs that are not in the catalog remain available, but use the provider's conservative compatibility defaults instead of guessing settings from a similar model name.

OpenRouter Request Profiles #

OpenRouter currently uses these profiles for the default DeepSeek model, GLM, Qwen3.8, and GPT 6 models:

Model Temperature Reasoning Total output limit
DeepSeek V4.1 Flash 1017 (xs:deepseek, s:deepseek) Provider default Low effort 8,192 tokens
GLM 5.3 Flash 1.0 Low effort 8,192 tokens
GLM 5.3 1.0 Provider default (maximum) 8,192 tokens
Qwen3.8 Flash 0.6 Maximum 1,536 reasoning tokens per provider round 8,192 tokens
Qwen3.8 Max 0.6 Medium effort 8,192 tokens
GPT 6 Luna / GPT 6.1 Sol Provider default Medium effort 8,192 tokens
GPT 6 Astra Provider default High effort 8,192 tokens

The Qwen3.8 Flash reasoning ceiling is part of the total output allowance, so the model retains substantial room to finish its visible answer. Every other catalog model has its own explicit compatibility profile in the OpenRouter provider template. An unknown owner-defined model instead receives the conservative provider fallback: temperature 0.4, low reasoning effort, and an 8,192-token total output limit.

Some aliases route the same provider model with different provider constraints. Like every Extra Small alias, xs:deepseek only uses providers priced within $0.15 input and $0.50 output per million tokens, while s:deepseek only uses providers serving the model at 16-bit precision or without a reported quantization, within the Small ceiling. A bare provider model ID shared by several aliases resolves to the largest one.

xs:deepseek has GLM 5.3 Flash as an internal availability fallback, used for one request when no provider within its price ceiling can serve it or when a provider returns HTTP 429 without a usable retry or reset hint.

The GLM 5.3 Flash route has MiMo V2.6 Flash as an internal availability fallback. It activates only when a provider returns HTTP 429 without a usable retry or reset hint. If the provider supplies a delay, Heiryn keeps GLM selected and honors that delay instead. This temporary fallback uses MiMo's own request profile and does not modify the saved alias. Explicit Qwen3.8 Flash selections use the same MiMo availability fallback.

Model Override Suffix #

You can change the model used for a single query by adding a suffix at the end of your message. The suffix is removed before the message is sent to the AI.

  • % followed by a model shorthand (e.g. %m:gemini) uses that model for the current query only, without changing your saved preference.
  • % on its own ignores your personal model for the current query and uses the server model or Auto mode instead.

For example, sending What is the weather? %m:gemini answers that message with the model currently mapped to the Medium Gemini alias. The suffix only accepts catalog aliases. To keep a model for every query, set your personal model with /personal_chat_model or from the dashboard.

Custom Models #

If you have a personal provider key, you can set any chat model from the provider's public catalog as your personal model, using its full model ID (for example vendor/model-name) instead of an alias. The model must generate text and support tool calls, because every request includes tools. Custom models have no size category and are always billed to your personal key, including in servers that have a community key. Deleting your personal key, or opting out of the AI feature, clears your custom model.

Custom models use the provider's conservative request defaults described above and the context window that the provider catalog advertises.

Model Selection #

The chat model used for a query is determined in this order:

  1. One-message suffix: % followed by an alias (see above).
  2. Personal model: set with /personal_chat_model or from the dashboard.
  3. Server custom model: set by a server admin with /community_chat_model.
  4. Automatic provider default: Auto mode starts on DeepSeek V4.1 Flash 1017 (xs:deepseek) and may switch to DeepSeek V4.1 Flash 1017 (s:deepseek) for a loaded dangerous tool, image tool recovery, or a Retry after an interrupted query.

A personal model or suffix alias that exceeds the server's maximum model size is billed to your personal key; without one, the request is refused.

Explicit model choices stay fixed for that request. The dynamic pro-model switch is only available when no personal or server custom chat model is set, and conversation compaction never overrides an explicit choice.

The free model is only used when you or a server admin select it; see below.

Free Model #

On OpenRouter, anyone can select the free model (openrouter/free) without an API key. It routes each request to one of the free models available on OpenRouter, through the deployment's key. Free providers log prompts and responses for analysis and model training, so do not share personal or sensitive information with it.

  • Selection: choose free with /personal_chat_model or /community_chat_model, or the Free model option in the dashboard. It is not available through the % suffix.
  • Consent: before your first free model request, Heiryn asks you to accept that free providers log your conversations. Selecting the model does not count as consent; only the Accept and continue button does. Your acceptance lasts until you revoke it with /free_model_consent or from the dashboard, and is removed if you opt out of the AI feature.
  • Where it applies: a personal free model applies in direct messages with Heiryn and in servers that use the free model. Other servers ignore it and use their own model, because their conversation history may contain messages from members who did not consent.
  • Free servers: switching a server to the free model asks for confirmation and deletes every AI conversation history in that server. From then on, any request that adds to a channel history requires its requester's consent, even with a personal model or a % suffix billed to an API key. /ask does not use channel history and does not require it.
  • Other members' messages: the free model refuses to process an Ask on another member's message, or a reply to another member's message, unless that member also accepted the free model terms.
  • Limits: each person can send 20 free model requests per rolling 24 hours. Free requests cannot use web search, image generation, or Discord tools that read message content. OpenRouter's own free usage limits also apply, and are shared by everyone using the free model.

Model Size Limits #

The owner of a community provider key sets its maximum chat model size with /community_provider_key. Members may use the community key for suffixes and personal models up to that size, and server admins may choose a server model within it. With no category, the default None, the key only pays for the server chat model or Auto. Image size labels are informative and are not filtered by this setting.

For example, setting max_size to M lets members use XS, S, and M models with the community key. See Community Keys for who can change the category and the server model.