Skip to main content

Model Catalog

Openference maintains a curated list of models.
  • The public Models page shows the current catalog with pricing and descriptions.
  • GET /v1/models returns the models your key is allowed to use (filtered by key restrictions, and — when the key’s ZDR mode is on — by ZDR provider availability).
  • We regularly evaluate quality and add/remove models.

Discovering models at runtime

The response is an OpenAI-compatible model list — use each entry’s id as the model value in your requests. See GET /v1/models for the exact shape.

Context windows

Each entry in GET /v1/models advertises the model’s total context window (context_length) and maximum output tokens (max_output_tokens).

Dynamic context stacking

Openference models use a dynamic context stacking model where input and output dynamically share the total context window (context_length):
  • estimated_input + requested_output <= total_context_window
  • requested_output <= max_output_tokens
Because input and output share the total context budget, shorter outputs automatically leave more room for larger prompts. For example, on GLM-5.2 (262,144 total context):
  • If your request needs only 4,000 output tokens, your input prompt can scale up to ~258,000 tokens.
  • If your request requests 131,072 output tokens, your input prompt can use up to ~131,000 tokens.
Current flagship values: DeepSeek-V4-Pro is accepted as an alias for DeepSeek-V4-Pro-0813. DeepSeek-V4-Flash, deepseek-chat, and deepseek-v4-flash-vision-exp are accepted as aliases for DeepSeek-V4-Flash-0731. If your coding client has a context window setting (OpenCode limit.context, Cline/Roo/Kilo “Context Window Size”), set it to the model’s context_length. Clients that are left on their default (often 128k) begin compacting conversations around ~100k tokens, well below what these models support.

Pricing

Each model lists input and output price per million tokens. Each model also carries a quota multiplier — how much of your plan allowance one call to it uses. It is returned as quota_multiplier on GET /v1/models. Auto and flash models are the 1.0 floor; GLM-5.2 costs 2.0; mid-tier and premium models cost more. See Model Request Ratios for the full table, and Pricing for on-demand token rates.

Reasoning and thinking

Thinking-capable models expose metadata on GET /v1/models:
  • reasoning.supported: true — the model can return chain-of-thought in reasoning_content.
  • reasoning.supported_efforts — optional list of effort levels (max, high, medium, low) you can pass as reasoning_effort or derive from Anthropic thinking controls.
Always-on models (for example Kimi K2.7 Code, MiMo-V2.5) include reasoning.supported but omit supported_efforts — reasoning is always emitted; there is no off switch or effort knob. Qwen3.8 27b does not honor off/disable flags for typical prompts — chain-of-thought may still appear inline in content even when you send thinking.type: "disabled", reasoning_effort: "none", or enable_thinking: false. Setting enable_thinking: true (or a reasoning_effort level) moves reasoning into the separate reasoning_content field instead. For minimum latency without reasoning overhead, pick a model where the thinking toggle works, such as DeepSeek-V4-Flash-0731 or GLM-4.7-Flash. Toggle-only models (for example MiniMax M3, Kimi K2.6) support thinking on/off via thinking.type or equivalent client controls, but do not advertise separate effort levels. Effort-level models (for example GLM-5.2, DeepSeek-V4-Pro-0813, DeepSeek-V4-Flash-0731, Qwen3.7 Plus) list the efforts they accept. DeepSeek Pro accepts max and high only; DeepSeek Flash also accepts low. Send reasoning_effort and/or Anthropic-style thinking on POST /v1/chat/completions — Openference maps them to each model’s native parameters. Full parameter reference: GET /v1/models — Reasoning.