* 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
259 lines
6.1 KiB
TOML
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 = []
|