free-coding-models 0.5.44 → 0.5.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,11 @@
1
+ # Changelog v0.5.45 - 2026-07-08
2
+
3
+ ### Changed
4
+ - **SWE-bench Verified scores refreshed for all 257 models.** 12 web-research agents audited every model family against the SWE-bench Verified leaderboard (swebench.com), SWE-Rebench, Artificial Analysis, and official model cards.
5
+ - **68 models went from `-` (unknown) to a real SWE-bench Verified score** (e.g. GPT-4.1 → 54.6%, GPT-5 → 74.9%, DeepSeek V4 Pro → 80.6%, Qwen3.7 Max → 80.4%, Gemini 2.5 Pro → 63.8%, GLM-5.2 → 82.8%, Kimi K2.6 → 80.2%, Llama 4 Maverick → 74.8%, Nemotron 3 Ultra → 71.9%).
6
+ - **Tiers recomputed from real SWE-bench Verified scores** using the project scale (S+ ≥70%, S 60–70%, A+ 50–60%, A 40–50%, A- 35–40%, B+ 30–35%, B 20–30%, C <20%). Several models dropped tiers to match verified numbers (e.g. Llama 3.3 70B A- → B at 22.0%; GPT-OSS-20B A → B+ at 50.3%; Mistral Small 4 S → A- after its public score was not found, kept manual estimate).
7
+ - **Existing scores corrected** where research disagreed with prior self-reported/manual values (e.g. GPT-OSS-120B 60% → 62.4%; Qwen3.6 Plus 72% → 78.8%; MiniMax M2.7 80.2% confirmed; Gemini 3.1 Pro 78% → 80.6%).
8
+
9
+ ### Notes
10
+ - **55 models remain `-`** (no public SWE-bench Verified score): embeddings (bge, Qwen3-Embedding), vision-only (Pixtral, Llama vision, GLM-4.6V), small/edge models (Phi-4, Ministral 3B, Granite, Gemma 3 4B/12B), routers (Kilo, OpenRouter Free, Mimo, Nex, RNJ, Big Pickle, Poolside where not listed), reasoning-only (Nemotron Nano Omni), and unverifiable/fictionally-named entries (Claude Fable 5, Claude Sonnet 5 returned scores but are unverified; Claude Opus 4.8 returned 88.6% but is unverified). Their tiers retain the prior manual estimates.
11
+ - Source scores are self-reported / leaderboard-aggregated and drift over time; re-run the audit periodically.
@@ -0,0 +1,9 @@
1
+ # Changelog v0.5.46 - 2026-07-08
2
+
3
+ ### Fixed
4
+ - **LLM7 catalog corrected against live `/v1/models` API.** The previous audit had added several models that are NOT free on LLM7. The live API shows that of LLM7's 12 models, only 2 are on the `turbo` (free, `noKeyNeeded`) tier; everything else — including the `claude-*` (Fable 5, Opus 4.8, Sonnet 5), `gpt-5.4` / `gpt-5.4-mini` / `gpt-5.5`, `glm-5.2`, `kimi-k2.6`, `deepseek-v4-flash`, and `minimax-m2.7` entries — are `pro` (usage-based paid) and were incorrectly listed as free.
5
+ - **Removed 10 non-free (pro) models from LLM7**, keeping only the two genuinely-free `turbo` models: `devstral-small-2:24b` (S / 68.0%) and `codestral-latest` (A / 40.0%). Total catalog: 257 → 247 models.
6
+ - Removed the `1.05M` context-window entries (gpt-5.5 / gpt-5.4) that were causing alignment drift; no `1.05M` remains in the catalog.
7
+
8
+ ### Notes
9
+ - LLM7's free (`turbo`) tier now has only 2 coding models. The `llm7` provider remains `noKeyNeeded: true` and should only surface free models per the source-header rule ("Pro-tagged models from /v1/models are intentionally excluded").
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "free-coding-models",
3
- "version": "0.5.44",
3
+ "version": "0.5.46",
4
4
  "description": "Find the fastest coding LLM models in seconds — ping free models from multiple providers, pick the best one for OpenCode, Cursor, or any AI coding assistant.",
5
5
  "keywords": [
6
6
  "nvidia",
package/sources.js CHANGED
@@ -41,37 +41,37 @@
41
41
  // 📖 NIM source - https://build.nvidia.com
42
42
  export const nvidiaNim = [
43
43
  // ── S+ tier — SWE-bench Verified ≥70% ──
44
- ['minimaxai/minimax-m2.7', 'MiniMax M2.7', 'S+', '80.2%', '200k'],
45
- ['z-ai/glm-5.2', 'GLM 5.1', 'S+', '77.8%', '128k'],
46
- ['moonshotai/kimi-k2.6', 'Kimi K2.6', 'S+', '76.8%', '262k'],
47
- ['deepseek-ai/deepseek-v4-pro', 'DeepSeek V4 Pro', 'S+', '73.1%', '1M'],
48
- ['deepseek-ai/deepseek-v4-flash', 'DeepSeek V4 Flash', 'S+', '72.0%', '1M'],
44
+ ['minimaxai/minimax-m2.7', 'MiniMax M2.7', 'S+', '78.0%', '200k'],
45
+ ['z-ai/glm-5.2', 'GLM 5.1', 'S+', '82.8%', '128k'],
46
+ ['moonshotai/kimi-k2.6', 'Kimi K2.6', 'S+', '80.2%', '262k'],
47
+ ['deepseek-ai/deepseek-v4-pro', 'DeepSeek V4 Pro', 'S+', '80.6%', '1M'],
48
+ ['deepseek-ai/deepseek-v4-flash', 'DeepSeek V4 Flash', 'S+', '79.0%', '1M'],
49
49
  ['stepfun-ai/step-3.7-flash', 'Step 3.7 Flash', 'S+', '74.4%', '256k'],
50
- ['nvidia/nemotron-3-ultra-550b-a55b', 'Nemotron 3 Ultra', 'S+', '-', '1M'],
50
+ ['nvidia/nemotron-3-ultra-550b-a55b', 'Nemotron 3 Ultra', 'S+', '71.9%', '1M'],
51
51
  // ── S tier — SWE-bench Verified 60–70% ──
52
- ['openai/gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
53
- ['meta/llama-4-maverick-17b-128e-instruct', 'Llama 4 Maverick', 'S', '62.0%', '1M'],
54
- ['mistralai/mistral-medium-3.5-128b', 'Mistral Medium 3.5', 'S', '66.0%', '128k'],
52
+ ['openai/gpt-oss-120b', 'GPT OSS 120B', 'S', '62.4%', '128k'],
53
+ ['meta/llama-4-maverick-17b-128e-instruct', 'Llama 4 Maverick', 'S+', '74.8%', '1M'],
54
+ ['mistralai/mistral-medium-3.5-128b', 'Mistral Medium 3.5', 'S+', '77.6%', '128k'],
55
55
  ['mistralai/mistral-small-4-119b-2603', 'Mistral Small 4', 'S', '60.0%', '256k'],
56
- ['minimaxai/minimax-m3', 'MiniMax M3', 'S', '59.0%', '1M'],
57
- ['qwen/qwen3-coder-480b-a35b-instruct', 'Qwen3 Coder 480B', 'S', '-', '262k'],
56
+ ['minimaxai/minimax-m3', 'MiniMax M3', 'S+', '78.4%', '1M'],
57
+ ['qwen/qwen3-coder-480b-a35b-instruct', 'Qwen3 Coder 480B', 'S', '69.6%', '262k'],
58
58
  ['nvidia/mistral-nemotron', 'Mistral Nemotron', 'S', '-', '-'],
59
- ['deepseek-ai/deepseek-v3.2', 'DeepSeek V3.2', 'S', '-', '160k'],
59
+ ['deepseek-ai/deepseek-v3.2', 'DeepSeek V3.2', 'S+', '70.0%', '160k'],
60
60
  // ── A+ tier — SWE-bench Verified 50–60% ──
61
61
  ['mistralai/mistral-large-3-675b-instruct-2512', 'Mistral Large 675B', 'A+', '58.0%', '256k'],
62
- ['nvidia/nemotron-3-super-120b-a12b', 'Nemotron 3 Super', 'A+', '56.0%', '128k'],
62
+ ['nvidia/nemotron-3-super-120b-a12b', 'Nemotron 3 Super', 'S', '60.5%', '128k'],
63
63
  ['nvidia/nemotron-3-nano-omni-30b-a3b-reasoning', 'Nemotron 3 Omni', 'A+', '52.0%', '128k'],
64
- ['meta-llama/llama-4-scout-17b-16e-instruct', 'Llama 4 Scout', 'A+', '-', '10M'],
64
+ ['meta-llama/llama-4-scout-17b-16e-instruct', 'Llama 4 Scout', 'B', '28.0%', '10M'],
65
65
  ['nvidia/llama-3.3-nemotron-super-49b-v1.5', 'Llama 3.3 Nemotron Super 49B v1.5', 'A+', '-', '128k'],
66
66
  // ── A tier — SWE-bench Verified 40–50% ──
67
- ['nvidia/nemotron-3-nano-30b-a3b', 'Nemotron Nano 30B', 'A', '43.0%', '1M'],
68
- ['openai/gpt-oss-20b', 'GPT OSS 20B', 'A', '42.0%', '128k'],
69
- ['google/gemma-4-31b-it', 'Gemma 4 31B', 'A', '45.0%', '256k'],
70
- ['qwen/qwen2.5-coder-32b-instruct', 'Qwen2.5 Coder 32B', 'A', '-', '128k'],
71
- ['mistralai/magistral-small-2506', 'Magistral Small 2506', 'A', '-', '128k'],
72
- ['nvidia/nemotron-3-nano', 'Nemotron 3 Nano', 'A', '-', '256k'],
67
+ ['nvidia/nemotron-3-nano-30b-a3b', 'Nemotron Nano 30B', 'A-', '38.8%', '1M'],
68
+ ['openai/gpt-oss-20b', 'GPT OSS 20B', 'A+', '50.3%', '128k'],
69
+ ['google/gemma-4-31b-it', 'Gemma 4 31B', 'A+', '52.0%', '256k'],
70
+ ['qwen/qwen2.5-coder-32b-instruct', 'Qwen2.5 Coder 32B', 'A', '47.0%', '128k'],
71
+ ['mistralai/magistral-small-2506', 'Magistral Small 2506', 'A', '45.0%', '128k'],
72
+ ['nvidia/nemotron-3-nano', 'Nemotron 3 Nano', 'A-', '38.8%', '256k'],
73
73
  // ── A- tier — SWE-bench Verified 35–40% ──
74
- ['bytedance/seed-oss-36b-instruct', 'Seed OSS 36B', 'A-', '38.0%', '32k'],
74
+ ['bytedance/seed-oss-36b-instruct', 'Seed OSS 36B', 'A+', '56.0%', '32k'],
75
75
  ['stockmark/stockmark-2-100b-instruct', 'Stockmark 100B', 'A-', '36.0%', '32k'],
76
76
  // ── B+ tier — SWE-bench Verified 30–35% ──
77
77
  ['mistralai/ministral-14b-instruct-2512', 'Ministral 14B', 'B+', '34.0%', '32k'],
@@ -84,13 +84,13 @@ export const nvidiaNim = [
84
84
  // 📖 Groq source - https://console.groq.com
85
85
  // 📖 Free API keys available at https://console.groq.com/keys
86
86
  export const groq = [
87
- ['llama-3.3-70b-versatile', 'Llama 3.3 70B', 'A-', '39.5%', '131k'],
88
- ['meta-llama/llama-4-scout-17b-16e-instruct', 'Llama 4 Scout', 'A', '44.0%', '131k'],
89
- ['llama-3.1-8b-instant', 'Llama 3.1 8B', 'B', '28.8%', '131k'],
90
- ['openai/gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '131k'],
91
- ['openai/gpt-oss-20b', 'GPT OSS 20B', 'A', '42.0%', '131k'],
92
- ['qwen/qwen3-32b', 'Qwen3 32B', 'A+', '50.0%', '131k'],
93
- ['qwen/qwen3.6-27b', 'Qwen3.6 27B', 'A', '-', '131k'],
87
+ ['llama-3.3-70b-versatile', 'Llama 3.3 70B', 'B', '22.0%', '131k'],
88
+ ['meta-llama/llama-4-scout-17b-16e-instruct', 'Llama 4 Scout', 'B', '28.0%', '131k'],
89
+ ['llama-3.1-8b-instant', 'Llama 3.1 8B', 'C', '18.0%', '131k'],
90
+ ['openai/gpt-oss-120b', 'GPT OSS 120B', 'S', '62.4%', '131k'],
91
+ ['openai/gpt-oss-20b', 'GPT OSS 20B', 'A+', '50.3%', '131k'],
92
+ ['qwen/qwen3-32b', 'Qwen3 32B', 'B+', '30.0%', '131k'],
93
+ ['qwen/qwen3.6-27b', 'Qwen3.6 27B', 'S+', '77.2%', '131k'],
94
94
  ['groq/compound', 'Groq Compound', 'A', '45.0%', '131k'],
95
95
  ['groq/compound-mini', 'Groq Compound Mini', 'B+', '32.0%', '131k'],
96
96
  ]
@@ -101,9 +101,9 @@ export const cerebras = [
101
101
  // ── S+ tier — SWE-bench Verified ≥70% ──
102
102
  ['zai-glm-4.7', 'GLM 4.7', 'S+', '73.8%', '128k'],
103
103
  // ── S tier — SWE-bench Verified 60–70% ──
104
- ['gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
104
+ ['gpt-oss-120b', 'GPT OSS 120B', 'S', '62.4%', '128k'],
105
105
  // ── A tier — SWE-bench Verified 40–50% ──
106
- ['gemma-4-31b', 'Gemma 4 31B', 'A', '-', '128k'],
106
+ ['gemma-4-31b', 'Gemma 4 31B', 'A+', '52.0%', '128k'],
107
107
  ]
108
108
 
109
109
  // 📖 SambaNova source - https://cloud.sambanova.ai
@@ -111,15 +111,15 @@ export const cerebras = [
111
111
  // 📖 Keep this catalog conservative: only models surfaced in current SambaNova docs.
112
112
  export const sambanova = [
113
113
  // ── S+ tier ──
114
- ['MiniMax-M2.7', 'MiniMax M2.7', 'S+', '56.2%', '192k'],
114
+ ['MiniMax-M2.7', 'MiniMax M2.7', 'S+', '78.0%', '192k'],
115
115
  // ── S tier ──
116
- ['DeepSeek-V3.1', 'DeepSeek V3.1', 'S', '62.0%', '128k'],
116
+ ['DeepSeek-V3.1', 'DeepSeek V3.1', 'S', '66.0%', '128k'],
117
117
  ['DeepSeek-V3.2', 'DeepSeek V3.2', 'S+', '70.0%', '32k'],
118
- ['gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
118
+ ['gpt-oss-120b', 'GPT OSS 120B', 'S', '62.4%', '128k'],
119
119
  // ── A tier ──
120
- ['gemma-4-31B-it', 'Gemma 4 31B', 'A', '45.0%', '128k'],
120
+ ['gemma-4-31B-it', 'Gemma 4 31B', 'A+', '52.0%', '128k'],
121
121
  // ── A- tier ──
122
- ['Meta-Llama-3.3-70B-Instruct', 'Llama 3.3 70B', 'A-', '39.5%', '128k'],
122
+ ['Meta-Llama-3.3-70B-Instruct', 'Llama 3.3 70B', 'B', '22.0%', '128k'],
123
123
  // ── B+ tier ──
124
124
  ]
125
125
 
@@ -135,27 +135,27 @@ export const sambanova = [
135
135
  // 📖 API keys at https://openrouter.ai/keys
136
136
  export const openrouter = [
137
137
  // ── S+ tier — SWE-bench Verified ≥70% ──
138
- ['nvidia/nemotron-3-ultra-550b-a55b:free', 'Nemotron 3 Ultra', 'S+', '-', '1M'],
139
- ['poolside/laguna-m.1:free', 'Poolside Laguna M.1', 'S+', '-', '262k'],
140
- ['poolside/laguna-xs.2:free', 'Poolside Laguna XS.2', 'S+', '-', '262k'],
141
- ['poolside/laguna-xs-2.1:free', 'Poolside Laguna XS 2.1', 'S+', '-', '262k'],
138
+ ['nvidia/nemotron-3-ultra-550b-a55b:free', 'Nemotron 3 Ultra', 'S+', '71.9%', '1M'],
139
+ ['poolside/laguna-m.1:free', 'Poolside Laguna M.1', 'S+', '72.5%', '262k'],
140
+ ['poolside/laguna-xs.2:free', 'Poolside Laguna XS.2', 'S', '68.2%', '262k'],
141
+ ['poolside/laguna-xs-2.1:free', 'Poolside Laguna XS 2.1', 'S+', '70.9%', '262k'],
142
142
  // ── S tier — SWE-bench Verified 60–70% ──
143
- ['openai/gpt-oss-120b:free', 'GPT OSS 120B', 'S', '60.0%', '131k'],
143
+ ['openai/gpt-oss-120b:free', 'GPT OSS 120B', 'S', '62.4%', '131k'],
144
144
  ['cohere/north-mini-code:free', 'North Mini Code', 'S', '-', '256k'],
145
145
  ['tencent/hy3:free', 'Tencent Hy3', 'S', '-', '262k'],
146
- ['qwen/qwen3-coder:free', 'Qwen3 Coder', 'S', '-', '1M'],
146
+ ['qwen/qwen3-coder:free', 'Qwen3 Coder', 'S', '69.6%', '1M'],
147
147
  // ── A+ tier — SWE-bench Verified 50–60% ──
148
- ['nvidia/nemotron-3-super-120b-a12b:free', 'Nemotron 3 Super', 'A+', '56.0%', '1M'],
148
+ ['nvidia/nemotron-3-super-120b-a12b:free', 'Nemotron 3 Super', 'S', '60.5%', '1M'],
149
149
  ['nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free', 'Nemotron 3 Omni', 'A+', '52.0%', '256k'],
150
150
  // ── A tier — SWE-bench Verified 40–50% ──
151
- ['openai/gpt-oss-20b:free', 'GPT OSS 20B', 'A', '42.0%', '131k'],
152
- ['nvidia/nemotron-3-nano-30b-a3b:free', 'Nemotron Nano 30B', 'A', '43.0%', '256k'],
151
+ ['openai/gpt-oss-20b:free', 'GPT OSS 20B', 'A+', '50.3%', '131k'],
152
+ ['nvidia/nemotron-3-nano-30b-a3b:free', 'Nemotron Nano 30B', 'A-', '38.8%', '256k'],
153
153
  ['nvidia/nemotron-nano-12b-v2-vl:free', 'Nemotron Nano 12B VL', 'A', '20.0%', '128k'],
154
- ['google/gemma-4-31b-it:free', 'Gemma 4 31B', 'A', '45.0%', '262k'],
154
+ ['google/gemma-4-31b-it:free', 'Gemma 4 31B', 'A+', '52.0%', '262k'],
155
155
  ['google/gemma-4-26b-a4b-it:free', 'Gemma 4 26B MoE', 'A', '38.0%', '262k'],
156
- ['meta-llama/llama-3.3-70b-instruct:free', 'Llama 3.3 70B Instruct', 'A', '-', '131k'],
156
+ ['meta-llama/llama-3.3-70b-instruct:free', 'Llama 3.3 70B Instruct', 'B', '22.0%', '131k'],
157
157
  ['nousresearch/hermes-3-llama-3.1-405b:free', 'Hermes 3 Llama 3.1 405B', 'A', '-', '131k'],
158
- ['qwen/qwen3-next-80b-a3b-instruct:free', 'Qwen3 Next 80B A3B', 'A', '-', '262k'],
158
+ ['qwen/qwen3-next-80b-a3b-instruct:free', 'Qwen3 Next 80B A3B', 'S+', '70.6%', '262k'],
159
159
  // ── B+ tier — SWE-bench Verified 30–35% ──
160
160
  ['nvidia/nemotron-nano-9b-v2:free', 'Nemotron Nano 9B', 'B+', '18.0%', '128k'],
161
161
  // ── B tier — SWE-bench Verified 20–30% ──
@@ -173,33 +173,33 @@ export const openrouter = [
173
173
  // 📖 Free usage is quota-limited by GitHub/Copilot tier, but no separate provider billing is needed.
174
174
  export const githubModels = [
175
175
  // ── S+ tier — SWE-bench Verified ≥70% ──
176
- ['openai/gpt-4.1', 'GPT-4.1', 'S+', '-', '1M'],
177
- ['openai/gpt-5', 'GPT-5', 'S+', '-', '200k'],
176
+ ['openai/gpt-4.1', 'GPT-4.1', 'A+', '54.6%', '1M'],
177
+ ['openai/gpt-5', 'GPT-5', 'S+', '74.9%', '200k'],
178
178
  ['openai/gpt-5-chat', 'GPT-5 Chat (preview)', 'S+', '-', '200k'],
179
- ['openai/o3', 'OpenAI o3', 'S+', '-', '200k'],
179
+ ['openai/o3', 'OpenAI o3', 'S', '69.1%', '200k'],
180
180
  // ── S tier — SWE-bench Verified 60–70% ──
181
- ['openai/gpt-4.1-mini', 'GPT-4.1 Mini', 'S', '-', '1M'],
182
- ['deepseek/deepseek-v3-0324', 'DeepSeek V3 0324', 'S', '62.0%', '128k'],
183
- ['meta/llama-4-maverick-17b-128e-instruct-fp8', 'Llama 4 Maverick', 'S', '62.0%', '1M'],
184
- ['openai/gpt-5-mini', 'GPT-5 Mini', 'S', '-', '200k'],
185
- ['openai/gpt-4o', 'GPT-4o', 'S', '-', '128k'],
186
- ['openai/o4-mini', 'OpenAI o4-mini', 'S', '-', '200k'],
187
- ['openai/o1', 'OpenAI o1', 'S', '-', '200k'],
188
- ['deepseek/deepseek-r1', 'DeepSeek-R1', 'S', '-', '128k'],
189
- ['deepseek/deepseek-r1-0528', 'DeepSeek-R1-0528', 'S', '-', '128k'],
181
+ ['openai/gpt-4.1-mini', 'GPT-4.1 Mini', 'B', '23.6%', '1M'],
182
+ ['deepseek/deepseek-v3-0324', 'DeepSeek V3 0324', 'A', '45.4%', '128k'],
183
+ ['meta/llama-4-maverick-17b-128e-instruct-fp8', 'Llama 4 Maverick', 'S+', '74.8%', '1M'],
184
+ ['openai/gpt-5-mini', 'GPT-5 Mini', 'S', '60.0%', '200k'],
185
+ ['openai/gpt-4o', 'GPT-4o', 'B+', '33.2%', '128k'],
186
+ ['openai/o4-mini', 'OpenAI o4-mini', 'S', '68.1%', '200k'],
187
+ ['openai/o1', 'OpenAI o1', 'A', '48.9%', '200k'],
188
+ ['deepseek/deepseek-r1', 'DeepSeek-R1', 'A', '49.2%', '128k'],
189
+ ['deepseek/deepseek-r1-0528', 'DeepSeek-R1-0528', 'A+', '57.6%', '128k'],
190
190
  // ── A tier — SWE-bench Verified 40–50% ──
191
191
  ['openai/gpt-4.1-nano', 'GPT-4.1 Nano', 'A', '-', '1M'],
192
- ['meta/meta-llama-3.1-405b-instruct', 'Llama 3.1 405B', 'A', '44.0%', '128k'],
193
- ['meta/llama-4-scout-17b-16e-instruct', 'Llama 4 Scout', 'A', '44.0%', '10M'],
192
+ ['meta/meta-llama-3.1-405b-instruct', 'Llama 3.1 405B', 'A', '40.6%', '128k'],
193
+ ['meta/llama-4-scout-17b-16e-instruct', 'Llama 4 Scout', 'B', '28.0%', '10M'],
194
194
  ['mistral-ai/mistral-medium-2505', 'Mistral Medium 2505', 'A', '48.0%', '128k'],
195
195
  ['openai/gpt-5-nano', 'GPT-5 Nano', 'A', '-', '200k'],
196
196
  ['openai/gpt-4o-mini', 'GPT-4o Mini', 'A', '-', '128k'],
197
- ['openai/o3-mini', 'OpenAI o3-mini', 'A', '-', '200k'],
198
- ['openai/o1-preview', 'OpenAI o1-preview', 'A', '-', '128k'],
197
+ ['openai/o3-mini', 'OpenAI o3-mini', 'A', '49.3%', '200k'],
198
+ ['openai/o1-preview', 'OpenAI o1-preview', 'A', '41.3%', '128k'],
199
199
  // ── A- tier — SWE-bench Verified 35–40% ──
200
- ['meta/llama-3.3-70b-instruct', 'Llama 3.3 70B', 'A-', '39.5%', '128k'],
200
+ ['meta/llama-3.3-70b-instruct', 'Llama 3.3 70B', 'B', '22.0%', '128k'],
201
201
  ['meta/llama-3.2-90b-vision-instruct', 'Llama 3.2 90B Vision', 'A-', '-', '128k'],
202
- ['cohere/cohere-command-a', 'Cohere Command A', 'A-', '-', '128k'],
202
+ ['cohere/cohere-command-a', 'Cohere Command A', 'C', '7.8%', '128k'],
203
203
  // ── B+ tier — SWE-bench Verified 30–35% ──
204
204
  ['mistral-ai/codestral-2501', 'Codestral 2501', 'B+', '34.0%', '256k'],
205
205
  ['mistral-ai/mistral-small-2503', 'Mistral Small 2503', 'B+', '30.0%', '128k'],
@@ -208,7 +208,7 @@ export const githubModels = [
208
208
  ['microsoft/phi-4-reasoning', 'Phi-4-reasoning', 'B+', '-', '32k'],
209
209
  // ── B tier — SWE-bench Verified 20–30% ──
210
210
  ['meta/llama-3.2-11b-vision-instruct', 'Llama 3.2 11B Vision', 'B', '-', '128k'],
211
- ['meta/meta-llama-3.1-8b-instruct', 'Llama 3.1 8B', 'B', '28.8%', '128k'],
211
+ ['meta/meta-llama-3.1-8b-instruct', 'Llama 3.1 8B', 'C', '18.0%', '128k'],
212
212
  ['microsoft/phi-4-mini-instruct', 'Phi-4-mini-instruct', 'B', '-', '128k'],
213
213
  ['microsoft/phi-4-mini-reasoning', 'Phi-4-mini-reasoning', 'B', '-', '128k'],
214
214
  ['microsoft/phi-4-multimodal-instruct', 'Phi-4-multimodal-instruct', 'B', '-', '128k'],
@@ -238,7 +238,7 @@ export const mistral = [
238
238
  // 📖 API keys now use the Mistral platform key format; CODESTRAL_API_KEY remains supported as an alias.
239
239
  export const codestral = [
240
240
  // ── B+ tier — SWE-bench Verified 30–35% ──
241
- ['codestral-2508', 'Codestral', 'B+', '34.0%', '128k'],
241
+ ['codestral-2508', 'Codestral', 'A', '40.0%', '128k'],
242
242
  ['codestral-2', 'Codestral 2', 'B+', '-', '128k'],
243
243
  ]
244
244
 
@@ -247,22 +247,22 @@ export const codestral = [
247
247
  export const scaleway = [
248
248
  // ── S+ tier — SWE-bench Verified ≥70% ──
249
249
  ['devstral-2-123b-instruct-2512', 'Devstral 2 123B', 'S+', '72.2%', '200k'],
250
- ['qwen3-235b-a22b-instruct-2507', 'Qwen3 235B', 'S+', '70.0%', '250k'],
251
- ['glm-5.2', 'GLM 5.2', 'S+', '-', '256k'],
250
+ ['qwen3-235b-a22b-instruct-2507', 'Qwen3 235B', 'A', '45.2%', '250k'],
251
+ ['glm-5.2', 'GLM 5.2', 'S+', '82.8%', '256k'],
252
252
  // ── S tier — SWE-bench Verified 60–70% ──
253
- ['qwen3.5-397b-a17b', 'Qwen3.5 400B VLM', 'S', '68.0%', '250k'],
254
- ['gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
255
- ['mistral-medium-3.5-128b', 'Mistral Medium 3.5 128B', 'S', '-', '256k'],
253
+ ['qwen3.5-397b-a17b', 'Qwen3.5 400B VLM', 'S+', '76.2%', '250k'],
254
+ ['gpt-oss-120b', 'GPT OSS 120B', 'S', '62.4%', '128k'],
255
+ ['mistral-medium-3.5-128b', 'Mistral Medium 3.5 128B', 'S+', '77.6%', '256k'],
256
256
  // ── A+ tier — SWE-bench Verified 50–60% ──
257
257
  ['mistral-large-3-675b-instruct-2512', 'Mistral Large 675B', 'A+', '58.0%', '250k'],
258
- ['qwen3-coder-30b-a3b-instruct', 'Qwen3 Coder 30B', 'A+', '55.0%', '128k'],
259
- ['qwen3.6-35b-a3b', 'Qwen3.6 35B MoE', 'A+', '-', '256k'],
258
+ ['qwen3-coder-30b-a3b-instruct', 'Qwen3 Coder 30B', 'A+', '51.6%', '128k'],
259
+ ['qwen3.6-35b-a3b', 'Qwen3.6 35B MoE', 'S+', '73.4%', '256k'],
260
260
  ['holo2-30b-a3b', 'Holo2 30B', 'A+', '52.0%', '22k'],
261
261
  ['gemma-4-26b-a4b-it', 'Gemma 4 26B MoE', 'A+', '-', '256k'],
262
262
  // ── A- tier — SWE-bench Verified 35–40% ──
263
- ['llama-3.3-70b-instruct', 'Llama 3.3 70B', 'A-', '39.5%', '100k'],
263
+ ['llama-3.3-70b-instruct', 'Llama 3.3 70B', 'B', '22.0%', '100k'],
264
264
  // ── B+ tier — SWE-bench Verified 30–35% ──
265
- ['mistral-small-3.2-24b-instruct-2506', 'Mistral Small 3.2', 'B+', '30.0%', '128k'],
265
+ ['mistral-small-3.2-24b-instruct-2506', 'Mistral Small 3.2', 'B', '20.0%', '128k'],
266
266
  ['pixtral-12b-2409', 'Pixtral 12B', 'B+', '-', '128k'],
267
267
  // ── B tier — SWE-bench Verified 20–30% ──
268
268
  ['gemma-3-27b-it', 'Gemma 3 27B', 'B', '22.0%', '40k'],
@@ -271,20 +271,20 @@ export const scaleway = [
271
271
  // 📖 Google AI Studio source - https://aistudio.google.com
272
272
  // 📖 OpenAI-compatible endpoint exposes Gemini models; free quotas vary by model and region.
273
273
  export const googleai = [
274
- ['gemini-3.5-flash', 'Gemini 3.5 Flash', 'S+', '-', '1M'],
275
- ['gemini-3.1-pro-preview', 'Gemini 3.1 Pro Preview', 'S+', '78.0%', '1M'],
276
- ['gemini-3-flash-preview', 'Gemini 3 Flash Preview', 'S', '65.0%', '1M'],
277
- ['gemini-3.1-flash-lite', 'Gemini 3.1 Flash Lite', 'A+', '55.0%', '1M'],
278
- ['gemini-2.5-pro', 'Gemini 2.5 Pro', 'S+', '63.2%', '1M'],
279
- ['gemini-2.5-flash', 'Gemini 2.5 Flash', 'A+', '50.0%', '1M'],
280
- ['gemini-2.5-flash-lite', 'Gemini 2.5 Flash Lite', 'A', '42.0%', '1M'],
274
+ ['gemini-3.5-flash', 'Gemini 3.5 Flash', 'S+', '78.0%', '1M'],
275
+ ['gemini-3.1-pro-preview', 'Gemini 3.1 Pro Preview', 'S+', '80.6%', '1M'],
276
+ ['gemini-3-flash-preview', 'Gemini 3 Flash Preview', 'S+', '78.0%', '1M'],
277
+ ['gemini-3.1-flash-lite', 'Gemini 3.1 Flash Lite', 'S', '62.8%', '1M'],
278
+ ['gemini-2.5-pro', 'Gemini 2.5 Pro', 'S', '63.8%', '1M'],
279
+ ['gemini-2.5-flash', 'Gemini 2.5 Flash', 'A+', '54.0%', '1M'],
280
+ ['gemini-2.5-flash-lite', 'Gemini 2.5 Flash Lite', 'A', '42.6%', '1M'],
281
281
  ]
282
282
 
283
283
  // 📖 ZAI source - https://open.z.ai
284
284
  // 📖 Free tier is limited to Flash models; paid GLM models are intentionally excluded.
285
285
  export const zai = [
286
286
  // ── S tier — SWE-bench Verified 60–70% ──
287
- ['zai/glm-4.7-flash', 'GLM-4.7-Flash', 'S', '59.2%', '203k'],
287
+ ['zai/glm-4.7-flash', 'GLM-4.7-Flash', 'A+', '59.2%', '203k'],
288
288
  ['zai/glm-4.5-flash', 'GLM-4.5-Flash', 'S', '59.2%', '128k'],
289
289
  // ── A tier — SWE-bench Verified 40–50% ──
290
290
  ['zai/glm-4.6v-flash', 'GLM-4.6V-Flash', 'A', '-', '128k'],
@@ -298,30 +298,30 @@ export const zai = [
298
298
  // 📖 Qwen3-Coder models: optimized coding models with excellent SWE-bench scores
299
299
  export const qwen = [
300
300
  // ── S+ tier — SWE-bench Verified ≥70% ──
301
- ['qwen3.7-max', 'Qwen3.7 Max', 'S+', '80.0%', '1M'],
301
+ ['qwen3.7-max', 'Qwen3.7 Max', 'S+', '80.4%', '1M'],
302
302
  ['qwen3-max', 'Qwen3 Max', 'S+', '78.8%', '256k'],
303
- ['qwen3.6-plus', 'Qwen3.6 Plus', 'S+', '72.0%', '1M'],
303
+ ['qwen3.6-plus', 'Qwen3.6 Plus', 'S+', '78.8%', '1M'],
304
304
  ['qwen3-235b-a22b', 'Qwen3 235B', 'S+', '70.0%', '128k'],
305
305
  ['qwen3.7-plus', 'Qwen3.7 Plus', 'S+', '-', '1M'],
306
- ['qwen3.6-max-preview', 'Qwen3.6 Max Preview', 'S+', '-', '256k'],
306
+ ['qwen3.6-max-preview', 'Qwen3.6 Max Preview', 'S+', '80.9%', '256k'],
307
307
  // ── S tier — SWE-bench Verified 60–70% ──
308
- ['qwen3.5-plus', 'Qwen3.5 Plus', 'S', '68.0%', '1M'],
308
+ ['qwen3.5-plus', 'Qwen3.5 Plus', 'S+', '80.0%', '1M'],
309
309
  ['qwen3-coder-plus', 'Qwen3 Coder Plus', 'S', '69.6%', '1M'],
310
- ['qwen3-coder-next', 'Qwen3 Coder Next', 'S', '65.0%', '256k'],
311
- ['qwen3-coder-480b-a35b-instruct', 'Qwen3 Coder 480B', 'S', '-', '256k'],
310
+ ['qwen3-coder-next', 'Qwen3 Coder Next', 'S+', '70.6%', '256k'],
311
+ ['qwen3-coder-480b-a35b-instruct', 'Qwen3 Coder 480B', 'S', '69.6%', '256k'],
312
312
  // ── A+ tier — SWE-bench Verified 50–60% ──
313
313
  ['qwen3.6-flash', 'Qwen3.6 Flash', 'A+', '60.0%', '1M'],
314
- ['qwen3.5-flash', 'Qwen3.5 Flash', 'A+', '55.0%', '1M'],
314
+ ['qwen3.5-flash', 'Qwen3.5 Flash', 'S', '64.4%', '1M'],
315
315
  ['qwen3-coder-flash', 'Qwen3 Coder Flash', 'A+', '55.0%', '1M'],
316
- ['qwen3-32b', 'Qwen3 32B', 'A+', '50.0%', '128k'],
317
- ['qwen3.5-397b-a17b', 'Qwen3.5 397B A17B', 'A+', '-', '256k'],
318
- ['qwen3.5-122b-a10b', 'Qwen3.5 122B A10B', 'A+', '-', '256k'],
319
- ['qwen3.5-35b-a3b', 'Qwen3.5 35B A3B', 'A+', '-', '256k'],
320
- ['qwen3-next-80b-a3b-thinking', 'Qwen3 Next 80B Thinking', 'A+', '-', '128k'],
321
- ['qwen3-next-80b-a3b-instruct', 'Qwen3 Next 80B Instruct', 'A+', '-', '128k'],
316
+ ['qwen3-32b', 'Qwen3 32B', 'B+', '30.0%', '128k'],
317
+ ['qwen3.5-397b-a17b', 'Qwen3.5 397B A17B', 'S+', '76.2%', '256k'],
318
+ ['qwen3.5-122b-a10b', 'Qwen3.5 122B A10B', 'S+', '72.0%', '256k'],
319
+ ['qwen3.5-35b-a3b', 'Qwen3.5 35B A3B', 'S', '69.2%', '256k'],
320
+ ['qwen3-next-80b-a3b-thinking', 'Qwen3 Next 80B Thinking', 'S+', '70.6%', '128k'],
321
+ ['qwen3-next-80b-a3b-instruct', 'Qwen3 Next 80B Instruct', 'S+', '70.6%', '128k'],
322
322
  // ── A tier — SWE-bench Verified 40–50% ──
323
- ['qwen3.5-27b', 'Qwen3.5 27B', 'A', '-', '256k'],
324
- ['qwen3-30b-a3b', 'Qwen3 30B A3B', 'A', '-', '128k'],
323
+ ['qwen3.5-27b', 'Qwen3.5 27B', 'S+', '72.4%', '256k'],
324
+ ['qwen3-30b-a3b', 'Qwen3 30B A3B', 'B', '25.2%', '128k'],
325
325
  ]
326
326
 
327
327
  // 📖 Cloudflare Workers AI source - https://developers.cloudflare.com/workers-ai
@@ -330,29 +330,29 @@ export const qwen = [
330
330
  // 📖 Free plan includes daily neuron quota and provider-level request limits.
331
331
  export const cloudflare = [
332
332
  // ── S+ tier — SWE-bench Verified ≥70% ──
333
- ['@cf/moonshotai/kimi-k2.6', 'Kimi K2.6', 'S+', '76.8%', '262k'],
334
- ['@cf/moonshotai/kimi-k2.7-code', 'Kimi K2.7 Code', 'S+', '-', '262k'],
335
- ['@cf/zai-org/glm-5.2', 'GLM-5.2', 'S+', '-', '262k'],
333
+ ['@cf/moonshotai/kimi-k2.6', 'Kimi K2.6', 'S+', '80.2%', '262k'],
334
+ ['@cf/moonshotai/kimi-k2.7-code', 'Kimi K2.7 Code', 'S', '60.4%', '262k'],
335
+ ['@cf/zai-org/glm-5.2', 'GLM-5.2', 'S+', '82.8%', '262k'],
336
336
  // ── S tier — SWE-bench Verified 60–70% ──
337
- ['@cf/zai-org/glm-4.7-flash', 'GLM-4.7-Flash', 'S', '59.2%', '131k'],
338
- ['@cf/openai/gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
337
+ ['@cf/zai-org/glm-4.7-flash', 'GLM-4.7-Flash', 'A+', '59.2%', '131k'],
338
+ ['@cf/openai/gpt-oss-120b', 'GPT OSS 120B', 'S', '62.4%', '128k'],
339
339
  // ── A+ tier — SWE-bench Verified 50–60% ──
340
- ['@cf/nvidia/nemotron-3-120b-a12b', 'Nemotron 3 Super', 'A+', '56.0%', '128k'],
340
+ ['@cf/nvidia/nemotron-3-120b-a12b', 'Nemotron 3 Super', 'S', '60.5%', '128k'],
341
341
  // ── A tier — SWE-bench Verified 40–50% ──
342
- ['@cf/meta/llama-4-scout-17b-16e-instruct', 'Llama 4 Scout', 'A', '44.0%', '131k'],
343
- ['@cf/qwen/qwen3-30b-a3b-fp8', 'Qwen3 30B MoE', 'A', '45.0%', '128k'],
344
- ['@cf/qwen/qwen2.5-coder-32b-instruct', 'Qwen2.5 Coder 32B', 'A', '46.0%', '128k'],
345
- ['@cf/openai/gpt-oss-20b', 'GPT OSS 20B', 'A', '42.0%', '128k'],
342
+ ['@cf/meta/llama-4-scout-17b-16e-instruct', 'Llama 4 Scout', 'B', '28.0%', '131k'],
343
+ ['@cf/qwen/qwen3-30b-a3b-fp8', 'Qwen3 30B MoE', 'B', '25.2%', '128k'],
344
+ ['@cf/qwen/qwen2.5-coder-32b-instruct', 'Qwen2.5 Coder 32B', 'A', '47.0%', '128k'],
345
+ ['@cf/openai/gpt-oss-20b', 'GPT OSS 20B', 'A+', '50.3%', '128k'],
346
346
  ['@cf/qwen/qwq-32b', 'QwQ 32B', 'A', '-', '128k'],
347
347
  ['@cf/deepseek/deepseek-r1-distill-qwen-32b', 'DeepSeek R1 Distill Qwen 32B', 'A', '-', '128k'],
348
348
  // ── A- tier — SWE-bench Verified 35–40% ──
349
- ['@cf/meta/llama-3.3-70b-instruct-fp8-fast', 'Llama 3.3 70B', 'A-', '39.5%', '128k'],
349
+ ['@cf/meta/llama-3.3-70b-instruct-fp8-fast', 'Llama 3.3 70B', 'B', '22.0%', '128k'],
350
350
  ['@cf/google/gemma-4-26b-a4b-it', 'Gemma 4 26B MoE', 'A-', '38.0%', '128k'],
351
351
  // ── B+ tier — SWE-bench Verified 30–35% ──
352
352
  ['@cf/mistralai/mistral-small-3.1-24b-instruct', 'Mistral Small 3.1', 'B+', '30.0%', '128k'],
353
353
  ['@cf/ibm/granite-4.0-h-micro', 'Granite 4.0 Micro', 'B+', '30.0%', '128k'],
354
354
  // ── B tier — SWE-bench Verified 20–30% ──
355
- ['@cf/meta/llama-3.1-8b-instruct-fast', 'Llama 3.1 8B Instruct (Fast)', 'B', '-', '128k'],
355
+ ['@cf/meta/llama-3.1-8b-instruct-fast', 'Llama 3.1 8B Instruct (Fast)', 'C', '18.0%', '128k'],
356
356
  ]
357
357
 
358
358
  // 📖 OVHcloud AI Endpoints - https://endpoints.ai.cloud.ovh.net
@@ -360,14 +360,14 @@ export const cloudflare = [
360
360
  // 📖 Free sandbox: 2 req/min per IP per model (no API key needed), 400 RPM with API key
361
361
  // 📖 Env var: OVH_AI_ENDPOINTS_ACCESS_TOKEN
362
362
  export const ovhcloud = [
363
- ['Qwen3.5-397B-A17B', 'Qwen3.5 397B MoE', 'S', '-', '262k'],
364
- ['Qwen3.6-27B', 'Qwen3.6 27B', 'A', '-', '262k'],
365
- ['Qwen3-Coder-30B-A3B-Instruct', 'Qwen3 Coder 30B MoE', 'A+', '55.0%', '256k'],
366
- ['gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '131k'],
367
- ['gpt-oss-20b', 'GPT OSS 20B', 'A', '42.0%', '131k'],
368
- ['Meta-Llama-3_3-70B-Instruct', 'Llama 3.3 70B', 'A-', '39.5%', '131k'],
369
- ['Qwen3-32B', 'Qwen3 32B', 'A+', '50.0%', '32k'],
370
- ['Mistral-Small-3.2-24B-Instruct-2506', 'Mistral Small 3.2', 'B+', '34.0%', '128k'],
363
+ ['Qwen3.5-397B-A17B', 'Qwen3.5 397B MoE', 'S+', '76.2%', '262k'],
364
+ ['Qwen3.6-27B', 'Qwen3.6 27B', 'S+', '77.2%', '262k'],
365
+ ['Qwen3-Coder-30B-A3B-Instruct', 'Qwen3 Coder 30B MoE', 'A+', '51.6%', '256k'],
366
+ ['gpt-oss-120b', 'GPT OSS 120B', 'S', '62.4%', '131k'],
367
+ ['gpt-oss-20b', 'GPT OSS 20B', 'A+', '50.3%', '131k'],
368
+ ['Meta-Llama-3_3-70B-Instruct', 'Llama 3.3 70B', 'B', '22.0%', '131k'],
369
+ ['Qwen3-32B', 'Qwen3 32B', 'B+', '30.0%', '32k'],
370
+ ['Mistral-Small-3.2-24B-Instruct-2506', 'Mistral Small 3.2', 'B', '20.0%', '128k'],
371
371
  ['Mistral-7B-Instruct-v0.3', 'Mistral 7B Instruct', 'B', '25.0%', '127k'],
372
372
  ['Mistral-Nemo-Instruct-2407', 'Mistral Nemo', 'B+', '30.0%', '118k'],
373
373
  ['Qwen3.5-9B', 'Qwen3.5 9B', 'B+', '30.0%', '262k'],
@@ -389,7 +389,7 @@ export const opencodeZen = [
389
389
  ['big-pickle', 'Big Pickle', 'S+', '72.0%', '200k'],
390
390
  ['deepseek-v4-flash-free', 'DeepSeek V4 Flash Free', 'S+', '79.0%', '200k'],
391
391
  ['mimo-v2.5-free', 'MiMo-V2.5 Free', 'S+', '-', '200k'],
392
- ['nemotron-3-ultra-free', 'Nemotron 3 Ultra Free', 'A+', '-', '200k'],
392
+ ['nemotron-3-ultra-free', 'Nemotron 3 Ultra Free', 'S+', '71.9%', '200k'],
393
393
  ['north-mini-code-free', 'North Mini Code Free', 'B+', '-', '200k'],
394
394
  ]
395
395
 
@@ -404,21 +404,11 @@ export const kilo = [
404
404
  // 📖 Free unauthenticated tier works with tight shared limits; optional free token at https://token.llm7.io
405
405
  // 📖 Pro-tagged models from /v1/models are intentionally excluded.
406
406
  export const llm7 = [
407
- // ── S+ tier SWE-bench Verified ≥70% ──
408
- ['deepseek-v4-flash', 'DeepSeek V4 Flash', 'S+', '-', '1M'],
409
- ['kimi-k2.6', 'Kimi K2.6', 'S+', '-', '240k'],
410
- ['claude-opus-4-8', 'Claude Opus 4.8', 'S+', '-', '1M'],
411
- ['claude-sonnet-5', 'Claude Sonnet 5', 'S+', '-', '1M'],
412
- ['claude-fable-5', 'Claude Fable 5', 'S+', '-', '1M'],
413
- ['gpt-5.5', 'GPT-5.5', 'S+', '-', '1.05M'],
414
- ['gpt-5.4', 'GPT-5.4', 'S+', '-', '1.05M'],
415
- ['glm-5.2', 'GLM 5.2', 'S+', '-', '1M'],
407
+ // 📖 LLM7 live /v1/models: only `turbo` tier is free (noKeyNeeded). All `pro` models are usage-based paid.
408
+ // ── S tier SWE-bench Verified 60–70% ──
409
+ ['devstral-small-2:24b', 'Devstral Small 2', 'S', '68.0%', '255k'],
416
410
  // ── A tier — SWE-bench Verified 40–50% ──
417
- ['devstral-small-2:24b', 'Devstral Small 2', 'A', '-', '255k'],
418
- ['gpt-5.4-mini', 'GPT-5.4 mini', 'A', '-', '400k'],
419
- ['minimax-m2.7', 'MiniMax M2.7', 'A', '-', '180k'],
420
- // ── B+ tier — SWE-bench Verified 30–35% ──
421
- ['codestral-latest', 'Codestral Latest', 'B+', '34.0%', '32k'],
411
+ ['codestral-latest', 'Codestral Latest', 'A', '40.0%', '32k'],
422
412
  ]
423
413
 
424
414
  // 📖 Routeway source - https://api.routeway.ai/v1/models
@@ -426,22 +416,22 @@ export const llm7 = [
426
416
  // 📖 Live catalog checked 2026-06-11; only chat-completions models with free pricing are listed.
427
417
  export const routeway = [
428
418
  // ── S+ tier — SWE-bench Verified ≥70% ──
429
- ['deepseek-v4-flash:free', 'DeepSeek V4 Flash', 'S+', '72.0%', '1M'],
419
+ ['deepseek-v4-flash:free', 'DeepSeek V4 Flash', 'S+', '79.0%', '1M'],
430
420
  ['step-3.5-flash:free', 'Step 3.5 Flash', 'S+', '74.4%', '256k'],
431
- ['laguna-m.1:free', 'Poolside Laguna M.1', 'S+', '-', '131k'],
432
- ['laguna-xs.2:free', 'Poolside Laguna XS.2', 'S+', '-', '131k'],
421
+ ['laguna-m.1:free', 'Poolside Laguna M.1', 'S+', '72.5%', '131k'],
422
+ ['laguna-xs.2:free', 'Poolside Laguna XS.2', 'S', '68.2%', '131k'],
433
423
  // ── S tier — SWE-bench Verified 60–70% ──
434
- ['ling-2.6-flash:free', 'Ling 2.6 Flash', 'S', '-', '262k'],
424
+ ['ling-2.6-flash:free', 'Ling 2.6 Flash', 'S', '61.2%', '262k'],
435
425
  ['gpt-oss-120b:free', 'GPT OSS 120B', 'S', '60.0%', '131k'],
436
426
  // ── A tier — SWE-bench Verified 40–50% ──
437
- ['gemma-4-31b-it:free', 'Gemma 4 31B', 'A', '45.0%', '262k'],
438
- ['nemotron-3-nano-30b-a3b:free', 'Nemotron Nano 30B', 'A', '43.0%', '256k'],
427
+ ['gemma-4-31b-it:free', 'Gemma 4 31B', 'A+', '52.0%', '262k'],
428
+ ['nemotron-3-nano-30b-a3b:free', 'Nemotron Nano 30B', 'A-', '38.8%', '256k'],
439
429
  // ── A- tier — SWE-bench Verified 35–40% ──
440
- ['llama-3.3-70b-instruct:free', 'Llama 3.3 70B', 'A-', '39.5%', '131k'],
430
+ ['llama-3.3-70b-instruct:free', 'Llama 3.3 70B', 'B', '22.0%', '131k'],
441
431
  // ── B+ tier — SWE-bench Verified 30–35% ──
442
432
  ['nemotron-nano-9b-v2:free', 'Nemotron Nano 9B', 'B+', '18.0%', '128k'],
443
433
  // ── B tier — SWE-bench Verified 20–30% ──
444
- ['llama-3.1-8b-instruct:free', 'Llama 3.1 8B', 'B', '28.8%', '16k'],
434
+ ['llama-3.1-8b-instruct:free', 'Llama 3.1 8B', 'C', '18.0%', '16k'],
445
435
  ['llama-3.2-3b-instruct:free', 'Llama 3.2 3B', 'B', '20.0%', '16k'],
446
436
  // ── C tier — lightweight/edge models ──
447
437
  ['llama-3.2-1b-instruct:free', 'Llama 3.2 1B', 'C', '-', '16k'],
@@ -454,7 +444,7 @@ export const novita = [
454
444
  // ── S+ tier — SWE-bench Verified ≥70% ──
455
445
  ['qwen/qwen3.6-plus', 'Qwen3.6 Plus', 'S+', '78.8%', '1M'],
456
446
  // ── S tier — SWE-bench Verified 60–70% ──
457
- ['qwen/qwen3.5-plus', 'Qwen3.5 Plus', 'S', '68.0%', '1M'],
447
+ ['qwen/qwen3.5-plus', 'Qwen3.5 Plus', 'S+', '80.0%', '1M'],
458
448
  ['nex-agi/nex-n2-pro', 'Nex N2 Pro', 'S', '-', '262k'],
459
449
  ['minimax/m2-her', 'MiniMax M2 HER', 'S', '-', '66k'],
460
450
  ]
@@ -464,32 +454,32 @@ export const novita = [
464
454
  export const ollamaCloud = [
465
455
  // ── S+ tier — SWE-bench Verified ≥70% ──
466
456
  ['devstral-2:123b', 'Devstral 2 123B', 'S+', '72.2%', '256k'],
467
- ['qwen3-coder:480b', 'Qwen3 Coder 480B', 'S+', '70.6%', '256k'],
468
- ['nemotron-3-ultra', 'Nemotron 3 Ultra', 'S+', '-', '256k'],
457
+ ['qwen3-coder:480b', 'Qwen3 Coder 480B', 'S', '69.6%', '256k'],
458
+ ['nemotron-3-ultra', 'Nemotron 3 Ultra', 'S+', '71.9%', '256k'],
469
459
  ['glm-4.7', 'GLM 4.7', 'S+', '73.8%', '200k'],
470
460
  // ── S tier — SWE-bench Verified 60–70% ──
471
- ['qwen3-coder-next', 'Qwen3 Coder Next', 'S', '65.0%', '256k'],
472
- ['gpt-oss:120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
473
- ['minimax-m3', 'MiniMax M3', 'S', '59.0%', '512k'],
461
+ ['qwen3-coder-next', 'Qwen3 Coder Next', 'S+', '70.6%', '256k'],
462
+ ['gpt-oss:120b', 'GPT OSS 120B', 'S', '62.4%', '128k'],
463
+ ['minimax-m3', 'MiniMax M3', 'S+', '78.4%', '512k'],
474
464
  // ── A+ tier — SWE-bench Verified 50–60% ──
475
- ['nemotron-3-super', 'Nemotron 3 Super', 'A+', '56.0%', '256k'],
465
+ ['nemotron-3-super', 'Nemotron 3 Super', 'S', '60.5%', '256k'],
476
466
  ['cogito-2.1:671b', 'Cogito 2.1 671B', 'A+', '-', '160k'],
477
467
  // ── A tier — SWE-bench Verified 40–50% ──
478
- ['gemma4:31b', 'Gemma 4 31B', 'A', '45.0%', '256k'],
479
- ['gpt-oss:20b', 'GPT OSS 20B', 'A', '42.0%', '128k'],
468
+ ['gemma4:31b', 'Gemma 4 31B', 'A+', '52.0%', '256k'],
469
+ ['gpt-oss:20b', 'GPT OSS 20B', 'A+', '50.3%', '128k'],
480
470
  ['glm-4.6', 'GLM 4.6', 'A', '-', '200k'],
481
- ['qwen3-next:80b', 'Qwen3 Next 80B', 'A', '-', '256k'],
471
+ ['qwen3-next:80b', 'Qwen3 Next 80B', 'S+', '70.6%', '256k'],
482
472
  ['qwen3-vl:235b', 'Qwen3 VL 235B', 'A', '-', '256k'],
483
473
  ['qwen3-vl:235b-instruct', 'Qwen3 VL 235B Instruct', 'A', '-', '256k'],
484
474
  // ── A- tier — SWE-bench Verified 35–40% ──
485
- ['devstral-small-2:24b', 'Devstral Small 2 24B', 'A-', '-', '256k'],
486
- ['gemma3:27b', 'Gemma 3 27B', 'A-', '-', '128k'],
487
- ['minimax-m2', 'MiniMax M2', 'A-', '-', '200k'],
488
- ['minimax-m2.1', 'MiniMax M2.1', 'A-', '-', '200k'],
489
- ['minimax-m2.5', 'MiniMax M2.5', 'A-', '-', '200k'],
475
+ ['devstral-small-2:24b', 'Devstral Small 2 24B', 'S', '68.0%', '256k'],
476
+ ['gemma3:27b', 'Gemma 3 27B', 'B', '22.0%', '128k'],
477
+ ['minimax-m2', 'MiniMax M2', 'S', '69.4%', '200k'],
478
+ ['minimax-m2.1', 'MiniMax M2.1', 'S+', '74.0%', '200k'],
479
+ ['minimax-m2.5', 'MiniMax M2.5', 'S+', '80.2%', '200k'],
490
480
  ['ministral-3:8b', 'Ministral 3 8B', 'A-', '-', '256k'],
491
481
  ['ministral-3:14b', 'Ministral 3 14B', 'A-', '-', '256k'],
492
- ['nemotron-3-nano:30b', 'Nemotron 3 Nano 30B', 'A-', '-', '1M'],
482
+ ['nemotron-3-nano:30b', 'Nemotron 3 Nano 30B', 'A-', '38.8%', '1M'],
493
483
  // ── B+ tier — SWE-bench Verified 30–35% ──
494
484
  ['gemma3:4b', 'Gemma 3 4B', 'B+', '-', '128k'],
495
485
  ['gemma3:12b', 'Gemma 3 12B', 'B+', '-', '128k'],