Files
librefang-registry/providers/openrouter.toml
T
Evan 85db9c8d78 feat(providers): add supports_thinking to thinking-capable models (#53)
* feat(providers): add supports_thinking field to thinking-capable models

Mark models that support extended thinking / reasoning with
supports_thinking = true so the dashboard can conditionally show
thinking toggles.

Providers updated: anthropic (8), codex-cli (7), gemini (6),
openai (3), qwen (2), deepseek (1). Schema updated accordingly.

* feat(providers): add supports_thinking to remaining thinking-capable models

Cover 19 additional providers: alibaba-coding-plan, allenai, arcee-ai,
fireworks, gemini-cli, groq, liquid, nvidia-nim, ollama, openai (codex),
openrouter, perplexity, qwen-code, replicate, sambanova, tngtech,
venice, vertex-ai, xai.

Total: 62 models across 24 providers now have supports_thinking = true.

* feat(providers): add supports_thinking to chutes, huggingface, together

Missed in prior commits: DeepSeek-R1 on chutes/huggingface/together,
Qwen3-235B on chutes. Total now 66 models across 27 providers.

* feat(providers): add supports_thinking to bedrock, claude-code, aider, moonshot, stepfun

- bedrock: all 5 Claude models
- claude-code: all 3 models (opus/sonnet/haiku wrappers)
- aider: aider/sonnet (Claude-backed)
- moonshot: kimi-k2.5 (reasoning mode)
- stepfun: step-1o-turbo-vision (reasoning model)

Total: 77 models across 32 providers.

* feat(providers): add supports_thinking to alibaba kimi-k2.5, openrouter claude-sonnet-4
2026-04-15 00:46:51 +09:00

259 lines
6.1 KiB
TOML

# OpenRouter — https://openrouter.ai
# Models: 18 (10 paid + 8 free)
[provider]
id = "openrouter"
display_name = "OpenRouter"
api_key_env = "OPENROUTER_API_KEY"
base_url = "https://openrouter.ai/api/v1"
key_required = true
# Default for the provider: the first [[models]] entry is returned by
# default_model_for_provider("openrouter") when no alias override is set.
[[models]]
id = "openrouter/qwen/qwen3.6-plus:free"
display_name = "Qwen 3.6 Plus Free (OpenRouter)"
tier = "smart"
context_window = 1000000
max_output_tokens = 65536
input_cost_per_m = 0.0
output_cost_per_m = 0.0
supports_tools = true
supports_vision = true
supports_streaming = true
supports_thinking = true
aliases = []
[[models]]
id = "openrouter/google/gemini-2.5-flash"
display_name = "Gemini 2.5 Flash (OpenRouter)"
tier = "smart"
context_window = 1048576
max_output_tokens = 65536
input_cost_per_m = 0.15
output_cost_per_m = 0.60
supports_tools = true
supports_vision = true
supports_streaming = true
supports_thinking = true
aliases = []
[[models]]
id = "openrouter/anthropic/claude-sonnet-4"
display_name = "Claude Sonnet 4 (OpenRouter)"
tier = "smart"
context_window = 200000
max_output_tokens = 64000
input_cost_per_m = 3.0
output_cost_per_m = 15.0
supports_tools = true
supports_vision = true
supports_streaming = true
supports_thinking = true
aliases = []
[[models]]
id = "openrouter/openai/gpt-4o"
display_name = "GPT-4o (OpenRouter)"
tier = "smart"
context_window = 128000
max_output_tokens = 16384
input_cost_per_m = 2.5
output_cost_per_m = 10.0
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = []
[[models]]
id = "openrouter/deepseek/deepseek-chat"
display_name = "DeepSeek V3 (OpenRouter)"
tier = "smart"
context_window = 128000
max_output_tokens = 32768
input_cost_per_m = 0.14
output_cost_per_m = 0.28
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = []
[[models]]
id = "openrouter/meta-llama/llama-3.3-70b-instruct"
display_name = "Llama 3.3 70B (OpenRouter)"
tier = "balanced"
context_window = 128000
max_output_tokens = 32768
input_cost_per_m = 0.39
output_cost_per_m = 0.39
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = []
[[models]]
id = "openrouter/qwen/qwen-2.5-72b-instruct"
display_name = "Qwen 2.5 72B (OpenRouter)"
tier = "balanced"
context_window = 128000
max_output_tokens = 32768
input_cost_per_m = 0.36
output_cost_per_m = 0.36
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = []
[[models]]
id = "openrouter/google/gemini-2.5-pro"
display_name = "Gemini 2.5 Pro (OpenRouter)"
tier = "frontier"
context_window = 1048576
max_output_tokens = 65536
input_cost_per_m = 1.25
output_cost_per_m = 10.0
supports_tools = true
supports_vision = true
supports_streaming = true
supports_thinking = true
aliases = []
[[models]]
id = "openrouter/mistralai/mistral-large"
display_name = "Mistral Large (OpenRouter)"
tier = "smart"
context_window = 128000
max_output_tokens = 8192
input_cost_per_m = 2.0
output_cost_per_m = 6.0
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = []
[[models]]
id = "openrouter/google/gemma-2-9b-it"
display_name = "Gemma 2 9B (OpenRouter)"
tier = "fast"
context_window = 8192
max_output_tokens = 4096
input_cost_per_m = 0.03
output_cost_per_m = 0.09
supports_tools = false
supports_vision = false
supports_streaming = true
aliases = []
[[models]]
id = "openrouter/deepseek/deepseek-r1"
display_name = "DeepSeek R1 (OpenRouter)"
tier = "frontier"
context_window = 128000
max_output_tokens = 32768
input_cost_per_m = 0.55
output_cost_per_m = 2.19
supports_tools = false
supports_vision = false
supports_streaming = true
supports_thinking = true
aliases = []
# Free models — verified against openrouter.ai/api/v1/models on 2026-04-10.
# Previous entries (stepfun/step-3.5-flash:free, gemma-2-9b-it:free,
# llama-3.1-8b-instruct:free, qwen-2.5-7b-instruct:free, mistral-7b-instruct:free,
# zephyr-7b-beta:free, deepseek-r1:free) have all been delisted by OpenRouter
# and replaced below. See librefang#2283.
[[models]]
id = "openrouter/meta-llama/llama-3.3-70b-instruct:free"
display_name = "Llama 3.3 70B Free (OpenRouter)"
tier = "balanced"
context_window = 65536
max_output_tokens = 8192
input_cost_per_m = 0.0
output_cost_per_m = 0.0
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = []
[[models]]
id = "openrouter/qwen/qwen3-next-80b-a3b-instruct:free"
display_name = "Qwen3 Next 80B Free (OpenRouter)"
tier = "smart"
context_window = 262144
max_output_tokens = 8192
input_cost_per_m = 0.0
output_cost_per_m = 0.0
supports_tools = true
supports_vision = false
supports_streaming = true
supports_thinking = true
aliases = []
[[models]]
id = "openrouter/openai/gpt-oss-120b:free"
display_name = "GPT-OSS 120B Free (OpenRouter)"
tier = "smart"
context_window = 131072
max_output_tokens = 32768
input_cost_per_m = 0.0
output_cost_per_m = 0.0
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = []
[[models]]
id = "openrouter/z-ai/glm-4.5-air:free"
display_name = "GLM 4.5 Air Free (OpenRouter)"
tier = "balanced"
context_window = 131072
max_output_tokens = 32768
input_cost_per_m = 0.0
output_cost_per_m = 0.0
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = []
[[models]]
id = "openrouter/google/gemma-3-27b-it:free"
display_name = "Gemma 3 27B Free (OpenRouter)"
tier = "fast"
context_window = 131072
max_output_tokens = 8192
input_cost_per_m = 0.0
output_cost_per_m = 0.0
supports_tools = false
supports_vision = true
supports_streaming = true
aliases = []
[[models]]
id = "openrouter/nvidia/nemotron-nano-9b-v2:free"
display_name = "Nemotron Nano 9B Free (OpenRouter)"
tier = "fast"
context_window = 128000
max_output_tokens = 8192
input_cost_per_m = 0.0
output_cost_per_m = 0.0
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = []
[[models]]
id = "openrouter/meta-llama/llama-3.2-3b-instruct:free"
display_name = "Llama 3.2 3B Free (OpenRouter)"
tier = "fast"
context_window = 131072
max_output_tokens = 4096
input_cost_per_m = 0.0
output_cost_per_m = 0.0
supports_tools = false
supports_vision = false
supports_streaming = true
aliases = []