Stelladocs
API Providers

Model guide

The master model catalog — context windows, list prices per million tokens, release timing, and which model to use for which role in the pipeline.

This is the master list. Every model Stella seeds into its catalog, with the numbers you need to make a decision — context window, list price, and what the model is actually good at. The pricing figures come from Stella's seed catalog; prices are list $/Mtok (input / output / cached-input). The Released and Best for columns are editorial — context these docs add, not fields the catalog stores or syncs. Verify with your provider before budgeting — prices and lineups drift.

The seed below is only the offline floor. stella models refresh syncs the live master list — every valid provider/model slug and its current pricing, from the public models.dev catalog (no API key) — into a local model-card database, and stella models list browses it. See the live model catalog below.

The catalog

ModelProviderContextIn $/MtokOut $/MtokCached-in $/MtokReleasedBest for
claude-fable-5anthropic200k3.0015.000.302026The strongest coding/agentic model in the catalog — first of the Claude 5 family. Best-in-class worker for hard multi-file changes; superb judge.
gpt-5.5openai400k1.2510.000.125late 2025Top-tier reasoning with a 400k window at a mid price. Excellent cross-family judge over a Claude or GLM worker; strong worker.
gemini-3-progemini (also vertex)1M1.2510.000.31Q4 2025The 1M-token window: whole-repo comprehension, long-log analysis. Solid worker, good judge.
grok-4xai256k3.0015.000.75Q3 2025Strong reasoning; a distinct model family, useful as an alternate judge.
deepseek-chatdeepseek128k0.271.100.07Q4 2024 (V3 line, revised through 2025)The price/performance outlier. Ideal triage model; a very capable budget worker.
glm-5.2zai200k0.602.200.112026Excellent coding at a fraction of flagship price — Stella's default worker tier. The coding-plan endpoint makes it a subscription workhorse.
us.anthropic.claude-sonnet-4-5-20250929-v1:0bedrock200k3.0015.000.30Sep 2025Claude under AWS governance — for orgs that must keep inference inside their cloud account.
openrouter/autoopenrouter128kgateway-pricedgateway-pricedrollingOpenRouter's meta-router; and any vendor/model slug on the gateway routes verbatim (one key, every vendor).

Which model for which role

Stella's pipeline runs three distinct roles, and they want different things from a model:

  • Worker — writes the code. It wants the strongest coding model you can afford; this is where quality is bought. Worker tokens dominate a run, but most of them are cached-input tokens (see below), so the effective price gap between tiers is smaller than the list price suggests.
  • Judge — verifies the work at high effort. It wants a different family than the worker: cross-family judging resists same-model bias, where a model forgives the mistakes it would itself have made. A Claude worker with a GPT judge (or vice versa) catches more than either family judging itself.
  • Triage — classifies the task. It emits one token under a 10-second ceiling, so it wants the cheapest fast model you have a key for. Paying flagship prices here buys nothing.

Three named lineups, ready to copy:

LineupWorkerJudgeTriage
Max qualityclaude-fable-5gpt-5.5deepseek-chat
Balancedglm-5.2claude-fable-5 or gpt-5.5deepseek-chat
Dirt cheapdeepseek-chatglm-5.2deepseek-chat

Each links to a worked settings.json profile in Examples; wire any of them up per agent with agent_engine_config.

The live model catalog (stella models refresh)

The seed table above can't keep up with weekly model launches — and it used to mean an invalid slug was only caught for seeded providers (OpenRouter and custom gateways accepted anything and failed later, mid-run, on the wire). The live catalog fixes both:

stella models refresh                      # sync the master list (models.dev, no API key)
stella models list --provider anthropic    # browse valid slugs + live pricing
  • Master list, locally. One public, unauthenticated document covering every provider Stella can select (plus ~160 more) lands in a user-tier SQLite catalog (catalog.db, next to usage.db): model cards keyed per API provider, and model card versions holding each pricing configuration. A refresh appends a new version only when pricing actually changed — the version history is real change history, and the latest version is the pricing that displays everywhere (cost metering, stella models list, the deck's model picker).
  • Incremental. The HTTP ETag is persisted and replayed; an unchanged list is one conditional request, zero writes. After your first explicit refresh, Stella re-syncs a stale list (>24h) automatically at startup — never before your first refresh (the no-phone-home rule), and STELLA_CATALOG_AUTO_REFRESH=0 turns the re-sync off.
  • Strict slug validation, everywhere. Once a provider's master-list rows are synced, an invalid --model slug is a hard, immediate, named error with did-you-mean suggestions — before any wire call, for every provider including OpenRouter and settings.json-defined gateways. The seed always passes, and a custom endpoint the master list doesn't know stays endpoint-authoritative, exactly as before.
  • Exact telemetry. A model_aliases table joins every string form a model travels under — bare slug, provider/slug, date-stamped snapshots, region-prefixed Bedrock profiles, and any id a provider echoes on the wire (learned automatically from telemetry) — to (api provider, model provider, model version, model card), so per-model cost analytics never split one model across its spellings.

Prompt caching changes the math

The cached-input column is what most worker input actually costs mid-run. Stella keeps the prompt prefix byte-stable on purpose — the context engine appends rather than rewrites — so after the first turn, the bulk of every request is a cache hit billed at the cached-input rate: a 10x–20x discount depending on provider. This is why real per-run cost lands far below naive input-tokens-times-list-price math, and why a model's cached-input price matters more than its headline input price for long agentic runs.

stella models lists the full catalog with live key status per provider. And the Observatory's models view shows your observed $/resolved task per model — measured on your repo, your tasks, your prompts — which is the ultimate arbiter of what a model is worth. See The Observatory dashboard.

Stella is totally free and open source, dual-licensed MIT or Apache 2.0— your choice: MIT's three-paragraph simplicity, or Apache 2.0's explicit patent grant that enterprises prefer. Use it, fork it, embed it, ship it — no account, no phone-home, no strings. What that means →

On this page