free-coding-models 0.5.43 → 0.5.44

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.
package/sources.js CHANGED
@@ -41,40 +41,44 @@
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.1', 'GLM 5.1', 'S+', '77.8%', '128k'],
46
- ['moonshotai/kimi-k2.6', 'Kimi K2.6', 'S+', '76.8%', '256k'],
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'],
49
- ['stepfun-ai/step-3.5-flash', 'Step 3.5 Flash', 'S+', '74.4%', '256k'],
50
- ['stepfun-ai/step-3.7-flash', 'Step 3.7 Flash', 'S+', '74.4%', '256k'],
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'],
49
+ ['stepfun-ai/step-3.7-flash', 'Step 3.7 Flash', 'S+', '74.4%', '256k'],
51
50
  ['nvidia/nemotron-3-ultra-550b-a55b', 'Nemotron 3 Ultra', 'S+', '-', '1M'],
52
51
  // ── S tier — SWE-bench Verified 60–70% ──
53
- ['qwen/qwen3-next-80b-a3b-instruct', 'Qwen3 80B Instruct', 'S', '65.0%', '128k'],
54
- ['qwen/qwen3.5-397b-a17b', 'Qwen3.5 400B VLM', 'S', '68.0%', '128k'],
55
- ['openai/gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
56
- ['meta/llama-4-maverick-17b-128e-instruct', 'Llama 4 Maverick', 'S', '62.0%', '1M'],
57
- ['mistralai/mistral-medium-3.5-128b', 'Mistral Medium 3.5', 'S', '66.0%', '128k'],
58
- ['mistralai/mistral-small-4-119b-2603', 'Mistral Small 4', 'S', '60.0%', '256k'],
59
- ['qwen/qwen3.5-122b-a10b', 'Qwen3.5 122B', 'S', '64.0%', '128k'],
60
- ['minimaxai/minimax-m3', 'MiniMax M3', 'S', '59.0%', '1M'],
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'],
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'],
58
+ ['nvidia/mistral-nemotron', 'Mistral Nemotron', 'S', '-', '-'],
59
+ ['deepseek-ai/deepseek-v3.2', 'DeepSeek V3.2', 'S', '-', '160k'],
61
60
  // ── A+ tier — SWE-bench Verified 50–60% ──
62
- ['mistralai/mistral-large-3-675b-instruct-2512', 'Mistral Large 675B', 'A+', '58.0%', '256k'],
63
- ['nvidia/nemotron-3-super-120b-a12b', 'Nemotron 3 Super', 'A+', '56.0%', '128k'],
64
- ['nvidia/nemotron-3-nano-omni-30b-a3b-reasoning','Nemotron 3 Omni', 'A+', '52.0%', '128k'],
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'],
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'],
65
+ ['nvidia/llama-3.3-nemotron-super-49b-v1.5', 'Llama 3.3 Nemotron Super 49B v1.5', 'A+', '-', '128k'],
65
66
  // ── A tier — SWE-bench Verified 40–50% ──
66
- ['nvidia/nemotron-3-nano-30b-a3b', 'Nemotron Nano 30B', 'A', '43.0%', '128k'],
67
- ['openai/gpt-oss-20b', 'GPT OSS 20B', 'A', '42.0%', '128k'],
68
- ['google/gemma-4-31b-it', 'Gemma 4 31B', 'A', '45.0%', '256k'],
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'],
69
73
  // ── A- tier — SWE-bench Verified 35–40% ──
70
- ['bytedance/seed-oss-36b-instruct', 'Seed OSS 36B', 'A-', '38.0%', '32k'],
71
- ['stockmark/stockmark-2-100b-instruct', 'Stockmark 100B', 'A-', '36.0%', '32k'],
74
+ ['bytedance/seed-oss-36b-instruct', 'Seed OSS 36B', 'A-', '38.0%', '32k'],
75
+ ['stockmark/stockmark-2-100b-instruct', 'Stockmark 100B', 'A-', '36.0%', '32k'],
72
76
  // ── B+ tier — SWE-bench Verified 30–35% ──
73
- ['mistralai/ministral-14b-instruct-2512', 'Ministral 14B', 'B+', '34.0%', '32k'],
77
+ ['mistralai/ministral-14b-instruct-2512', 'Ministral 14B', 'B+', '34.0%', '32k'],
74
78
  // ── B tier — SWE-bench Verified 20–30% ──
75
- ['meta/llama-3.2-11b-vision-instruct', 'Llama 3.2 11B Vision','B', '28.0%', '128k'],
76
- // ── C tier — SWE-bench Verified <20% or lightweight edge models ──
77
- ['microsoft/phi-4-mini-instruct', 'Phi 4 Mini', 'C', '14.0%', '128k'],
79
+ ['meta/llama-3.2-11b-vision-instruct', 'Llama 3.2 11B Vision', 'B', '28.0%', '128k'],
80
+ // ── C tier — lightweight/edge models ──
81
+ ['microsoft/phi-4-mini-instruct', 'Phi 4 Mini', 'C', '14.0%', '128k'],
78
82
  ]
79
83
 
80
84
  // 📖 Groq source - https://console.groq.com
@@ -94,8 +98,12 @@ export const groq = [
94
98
  // 📖 Cerebras source - https://cloud.cerebras.ai
95
99
  // 📖 Free API keys available at https://cloud.cerebras.ai
96
100
  export const cerebras = [
97
- ['gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '8k'],
98
- ['zai-glm-4.7', 'GLM 4.7', 'S+', '73.8%', '8k'],
101
+ // ── S+ tier — SWE-bench Verified ≥70% ──
102
+ ['zai-glm-4.7', 'GLM 4.7', 'S+', '73.8%', '128k'],
103
+ // ── S tier — SWE-bench Verified 60–70% ──
104
+ ['gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
105
+ // ── A tier — SWE-bench Verified 40–50% ──
106
+ ['gemma-4-31b', 'Gemma 4 31B', 'A', '-', '128k'],
99
107
  ]
100
108
 
101
109
  // 📖 SambaNova source - https://cloud.sambanova.ai
@@ -126,82 +134,138 @@ export const sambanova = [
126
134
  // 📖 • Free-tier popular models may be additionally rate-limited by the provider itself during peak hours.
127
135
  // 📖 API keys at https://openrouter.ai/keys
128
136
  export const openrouter = [
129
- // ── S+ tier — confirmed :free on openrouter.ai/collections/free-models ──
130
- ['nvidia/nemotron-3-ultra-550b-a55b:free', 'Nemotron 3 Ultra', 'S+', '-', '1M'],
131
- ['poolside/laguna-m.1:free', 'Poolside Laguna M.1', 'S+', '-', '262k'],
132
- ['poolside/laguna-xs.2:free', 'Poolside Laguna XS.2','S+', '-', '262k'],
133
- // ── S tier ──
134
- ['openai/gpt-oss-120b:free', 'GPT OSS 120B', 'S', '60.0%', '131k'],
135
- ['cohere/north-mini-code:free', 'North Mini Code', 'S', '-', '256k'],
136
- // ── A+ tier ──
137
- ['nvidia/nemotron-3-super-120b-a12b:free', 'Nemotron 3 Super', 'A+', '56.0%', '1M'],
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'],
142
+ // ── S tier — SWE-bench Verified 60–70% ──
143
+ ['openai/gpt-oss-120b:free', 'GPT OSS 120B', 'S', '60.0%', '131k'],
144
+ ['cohere/north-mini-code:free', 'North Mini Code', 'S', '-', '256k'],
145
+ ['tencent/hy3:free', 'Tencent Hy3', 'S', '-', '262k'],
146
+ ['qwen/qwen3-coder:free', 'Qwen3 Coder', 'S', '-', '1M'],
147
+ // ── A+ tier — SWE-bench Verified 50–60% ──
148
+ ['nvidia/nemotron-3-super-120b-a12b:free', 'Nemotron 3 Super', 'A+', '56.0%', '1M'],
138
149
  ['nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free', 'Nemotron 3 Omni', 'A+', '52.0%', '256k'],
139
- ['openrouter/owl-alpha', 'Owl Alpha', 'A+', '-', '1M'],
140
- // ── A tier ──
141
- ['openai/gpt-oss-20b:free', 'GPT OSS 20B', 'A', '42.0%', '131k'],
142
- ['nvidia/nemotron-nano-30b-a3b:free', 'Nemotron Nano 30B', 'A', '43.0%', '256k'],
143
- ['nvidia/nemotron-nano-12b-v2-vl:free', 'Nemotron Nano 12B VL','A', '20.0%', '128k'],
144
- ['google/gemma-4-31b-it:free', 'Gemma 4 31B', 'A', '45.0%', '262k'],
145
- ['google/gemma-4-26b-a4b-it:free', 'Gemma 4 26B MoE', 'A', '38.0%', '262k'],
146
- // ── B+ tier ──
147
- ['nvidia/nemotron-nano-9b-v2:free', 'Nemotron Nano 9B', 'B+', '18.0%', '128k'],
148
- // ── B tier ──
149
- ['openrouter/free', 'OpenRouter Free', 'B', '-', '200k'],
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'],
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'],
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'],
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'],
159
+ // ── B+ tier — SWE-bench Verified 30–35% ──
160
+ ['nvidia/nemotron-nano-9b-v2:free', 'Nemotron Nano 9B', 'B+', '18.0%', '128k'],
161
+ // ── B tier — SWE-bench Verified 20–30% ──
162
+ ['openrouter/free', 'OpenRouter Free', 'B', '-', '200k'],
163
+ ['meta-llama/llama-3.2-3b-instruct:free', 'Llama 3.2 3B Instruct', 'B', '-', '131k'],
164
+ ['cognitivecomputations/dolphin-mistral-24b-venice-edition:free', 'Dolphin Mistral 24B Venice', 'B', '-', '32k'],
165
+ // ── C tier — lightweight/edge models ──
166
+ ['nvidia/nemotron-3.5-content-safety:free', 'Nemotron 3.5 Content Safety', 'C', '-', '128k'],
167
+ ['liquid/lfm-2.5-1.2b-instruct:free', 'LFM 2.5 1.2B Instruct', 'C', '-', '32k'],
168
+ ['liquid/lfm-2.5-1.2b-thinking:free', 'LFM 2.5 1.2B Thinking', 'C', '-', '32k'],
150
169
  ]
151
170
 
152
171
  // 📖 GitHub Models source - https://models.github.ai
153
172
  // 📖 OpenAI-compatible endpoint: https://models.github.ai/inference/chat/completions
154
173
  // 📖 Free usage is quota-limited by GitHub/Copilot tier, but no separate provider billing is needed.
155
174
  export const githubModels = [
156
- ['openai/gpt-4.1', 'GPT-4.1', 'S+', '-', '1M'],
157
- ['openai/gpt-4.1-mini', 'GPT-4.1 Mini', 'S', '-', '1M'],
158
- ['openai/gpt-4.1-nano', 'GPT-4.1 Nano', 'A', '-', '1M'],
159
- ['deepseek/deepseek-v3-0324', 'DeepSeek V3 0324', 'S', '62.0%', '128k'],
160
- ['meta/meta-llama-3.1-405b-instruct', 'Llama 3.1 405B', 'A', '44.0%', '128k'],
161
- ['meta/llama-4-maverick-17b-128e-instruct-fp8', 'Llama 4 Maverick', 'S', '62.0%', '1M'],
162
- ['meta/llama-4-scout-17b-16e-instruct', 'Llama 4 Scout', 'A', '44.0%', '1M'],
163
- ['meta/llama-3.3-70b-instruct', 'Llama 3.3 70B', 'A-', '39.5%', '128k'],
164
- ['meta/llama-3.2-90b-vision-instruct', 'Llama 3.2 90B Vision','A-', '-', '128k'],
165
- ['meta/llama-3.2-11b-vision-instruct', 'Llama 3.2 11B Vision','B', '-', '128k'],
166
- ['meta/meta-llama-3.1-8b-instruct', 'Llama 3.1 8B', 'B', '28.8%', '128k'],
167
- ['mistral-ai/codestral-2501', 'Codestral 2501', 'B+', '34.0%', '256k'],
168
- ['mistral-ai/mistral-medium-2505', 'Mistral Medium 2505', 'A', '48.0%', '128k'],
169
- ['mistral-ai/mistral-small-2503', 'Mistral Small 2503', 'B+', '30.0%', '128k'],
170
- ['mistral-ai/ministral-3b', 'Ministral 3B', 'C', '-', '128k'],
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'],
178
+ ['openai/gpt-5-chat', 'GPT-5 Chat (preview)', 'S+', '-', '200k'],
179
+ ['openai/o3', 'OpenAI o3', 'S+', '-', '200k'],
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'],
190
+ // ── A tier — SWE-bench Verified 40–50% ──
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'],
194
+ ['mistral-ai/mistral-medium-2505', 'Mistral Medium 2505', 'A', '48.0%', '128k'],
195
+ ['openai/gpt-5-nano', 'GPT-5 Nano', 'A', '-', '200k'],
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'],
199
+ // ── A- tier — SWE-bench Verified 35–40% ──
200
+ ['meta/llama-3.3-70b-instruct', 'Llama 3.3 70B', 'A-', '39.5%', '128k'],
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'],
203
+ // ── B+ tier — SWE-bench Verified 30–35% ──
204
+ ['mistral-ai/codestral-2501', 'Codestral 2501', 'B+', '34.0%', '256k'],
205
+ ['mistral-ai/mistral-small-2503', 'Mistral Small 2503', 'B+', '30.0%', '128k'],
206
+ ['openai/o1-mini', 'OpenAI o1-mini', 'B+', '-', '128k'],
207
+ ['microsoft/phi-4', 'Phi-4', 'B+', '-', '16k'],
208
+ ['microsoft/phi-4-reasoning', 'Phi-4-reasoning', 'B+', '-', '32k'],
209
+ // ── B tier — SWE-bench Verified 20–30% ──
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'],
212
+ ['microsoft/phi-4-mini-instruct', 'Phi-4-mini-instruct', 'B', '-', '128k'],
213
+ ['microsoft/phi-4-mini-reasoning', 'Phi-4-mini-reasoning', 'B', '-', '128k'],
214
+ ['microsoft/phi-4-multimodal-instruct', 'Phi-4-multimodal-instruct', 'B', '-', '128k'],
215
+ // ── C tier — lightweight/edge models ──
216
+ ['mistral-ai/ministral-3b', 'Ministral 3B', 'C', '-', '128k'],
171
217
  ]
172
218
 
173
219
  // 📖 Mistral La Plateforme source - https://console.mistral.ai
174
220
  // 📖 Experiment plan is free for evaluation/prototyping and exposes general + coding models.
175
221
  // 📖 Keep Codestral as a separate provider key for backward compatibility with existing configs.
176
222
  export const mistral = [
177
- ['mistral-large-2512', 'Mistral Large 3', 'S+', '70.0%', '256k'],
178
- ['mistral-medium-3-5', 'Mistral Medium 3.5', 'S+', '77.6%', '256k'],
179
- ['devstral-2512', 'Devstral 2', 'S+', '72.2%', '256k'],
180
- ['magistral-medium-2509', 'Magistral Medium 1.2','A+', '52.0%', '128k'],
181
- ['mistral-small-2603', 'Mistral Small 4', 'A', '48.0%', '256k'],
223
+ // ── S+ tier — SWE-bench Verified ≥70% ──
224
+ ['mistral-large-2512', 'Mistral Large 3', 'S+', '70.0%', '256k'],
225
+ ['mistral-medium-3-5', 'Mistral Medium 3.5', 'S+', '77.6%', '256k'],
226
+ ['devstral-2512', 'Devstral 2', 'S+', '72.2%', '256k'],
227
+ // ── A tier — SWE-bench Verified 40–50% ──
228
+ ['mistral-small-2603', 'Mistral Small 4', 'A', '48.0%', '256k'],
229
+ // ── B+ tier — SWE-bench Verified 30–35% ──
230
+ ['ministral-3-14b-25-12', 'Ministral 3 14B', 'B+', '-', '128k'],
231
+ // ── B tier — SWE-bench Verified 20–30% ──
232
+ ['ministral-3-8b-25-12', 'Ministral 3 8B', 'B', '-', '128k'],
233
+ ['ministral-3-3b-25-12', 'Ministral 3 3B', 'B', '-', '128k'],
182
234
  ]
183
235
 
184
236
  // 📖 Mistral Codestral source - https://codestral.mistral.ai
185
237
  // 📖 Free coding model — 30 req/min, 2000/day (phone number required for key)
186
238
  // 📖 API keys now use the Mistral platform key format; CODESTRAL_API_KEY remains supported as an alias.
187
239
  export const codestral = [
188
- ['codestral-2508', 'Codestral', 'B+', '34.0%', '128k'],
240
+ // ── B+ tier — SWE-bench Verified 30–35% ──
241
+ ['codestral-2508', 'Codestral', 'B+', '34.0%', '128k'],
242
+ ['codestral-2', 'Codestral 2', 'B+', '-', '128k'],
189
243
  ]
190
244
 
191
245
  // 📖 Scaleway source - https://console.scaleway.com
192
246
  // 📖 1M free tokens — API keys at https://console.scaleway.com/iam/api-keys
193
247
  export const scaleway = [
194
- ['devstral-2-123b-instruct-2512', 'Devstral 2 123B', 'S+', '72.2%', '200k'],
195
- ['qwen3.5-397b-a17b', 'Qwen3.5 400B VLM', 'S', '68.0%', '250k'],
196
- ['mistral/mistral-large-3-675b-instruct-2512','Mistral Large 675B', 'A+', '58.0%', '250k'],
197
- ['qwen3-235b-a22b-instruct-2507', 'Qwen3 235B', 'S+', '70.0%', '250k'],
198
- ['gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
199
- ['qwen3-coder-30b-a3b-instruct', 'Qwen3 Coder 30B', 'A+', '55.0%', '128k'],
200
- ['qwen3.6-35b-a3b', 'Qwen3.6 35B MoE', 'A+', '-', '256k'],
201
- ['holo2-30b-a3b', 'Holo2 30B', 'A+', '52.0%', '22k'],
202
- ['llama-3.3-70b-instruct', 'Llama 3.3 70B', 'A-', '39.5%', '100k'],
203
- ['mistral-small-3.2-24b-instruct-2506', 'Mistral Small 3.2', 'B+', '30.0%', '128k'],
204
- ['gemma-3-27b-it', 'Gemma 3 27B', 'B', '22.0%', '40k'],
248
+ // ── S+ tier — SWE-bench Verified ≥70% ──
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'],
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'],
256
+ // ── A+ tier — SWE-bench Verified 50–60% ──
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'],
260
+ ['holo2-30b-a3b', 'Holo2 30B', 'A+', '52.0%', '22k'],
261
+ ['gemma-4-26b-a4b-it', 'Gemma 4 26B MoE', 'A+', '-', '256k'],
262
+ // ── A- tier — SWE-bench Verified 35–40% ──
263
+ ['llama-3.3-70b-instruct', 'Llama 3.3 70B', 'A-', '39.5%', '100k'],
264
+ // ── B+ tier — SWE-bench Verified 30–35% ──
265
+ ['mistral-small-3.2-24b-instruct-2506', 'Mistral Small 3.2', 'B+', '30.0%', '128k'],
266
+ ['pixtral-12b-2409', 'Pixtral 12B', 'B+', '-', '128k'],
267
+ // ── B tier — SWE-bench Verified 20–30% ──
268
+ ['gemma-3-27b-it', 'Gemma 3 27B', 'B', '22.0%', '40k'],
205
269
  ]
206
270
 
207
271
  // 📖 Google AI Studio source - https://aistudio.google.com
@@ -219,8 +283,11 @@ export const googleai = [
219
283
  // 📖 ZAI source - https://open.z.ai
220
284
  // 📖 Free tier is limited to Flash models; paid GLM models are intentionally excluded.
221
285
  export const zai = [
222
- ['zai/glm-4.7-flash', 'GLM-4.7-Flash', 'S', '59.2%', '200k'],
223
- ['zai/glm-4.5-flash', 'GLM-4.5-Flash', 'S', '59.2%', '128k'],
286
+ // ── S tier — SWE-bench Verified 60–70% ──
287
+ ['zai/glm-4.7-flash', 'GLM-4.7-Flash', 'S', '59.2%', '203k'],
288
+ ['zai/glm-4.5-flash', 'GLM-4.5-Flash', 'S', '59.2%', '128k'],
289
+ // ── A tier — SWE-bench Verified 40–50% ──
290
+ ['zai/glm-4.6v-flash', 'GLM-4.6V-Flash', 'A', '-', '128k'],
224
291
  ]
225
292
 
226
293
  // 📖 Alibaba Cloud (DashScope) source - https://dashscope-intl.aliyuncs.com
@@ -231,21 +298,30 @@ export const zai = [
231
298
  // 📖 Qwen3-Coder models: optimized coding models with excellent SWE-bench scores
232
299
  export const qwen = [
233
300
  // ── S+ tier — SWE-bench Verified ≥70% ──
234
- ['qwen3.7-max', 'Qwen3.7 Max', 'S+', '80.0%', '1M'],
235
- ['qwen3-max', 'Qwen3 Max', 'S+', '78.8%', '256k'],
236
- ['qwen3.6-plus', 'Qwen3.6 Plus', 'S+', '72.0%', '1M'],
237
- ['qwen3-235b-a22b', 'Qwen3 235B', 'S+', '70.0%', '256k'],
301
+ ['qwen3.7-max', 'Qwen3.7 Max', 'S+', '80.0%', '1M'],
302
+ ['qwen3-max', 'Qwen3 Max', 'S+', '78.8%', '256k'],
303
+ ['qwen3.6-plus', 'Qwen3.6 Plus', 'S+', '72.0%', '1M'],
304
+ ['qwen3-235b-a22b', 'Qwen3 235B', 'S+', '70.0%', '128k'],
305
+ ['qwen3.7-plus', 'Qwen3.7 Plus', 'S+', '-', '1M'],
306
+ ['qwen3.6-max-preview', 'Qwen3.6 Max Preview', 'S+', '-', '256k'],
238
307
  // ── S tier — SWE-bench Verified 60–70% ──
239
- ['qwen3.5-plus', 'Qwen3.5 Plus', 'S', '68.0%', '1M'],
240
- ['qwen3-coder-plus', 'Qwen3 Coder Plus', 'S', '69.6%', '1M'],
241
- ['qwen3-coder-next', 'Qwen3 Coder Next', 'S', '65.0%', '256k'],
308
+ ['qwen3.5-plus', 'Qwen3.5 Plus', 'S', '68.0%', '1M'],
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'],
242
312
  // ── A+ tier — SWE-bench Verified 50–60% ──
243
- ['qwen3.6-flash', 'Qwen3.6 Flash', 'A+', '60.0%', '1M'],
244
- ['qwen3.5-flash', 'Qwen3.5 Flash', 'A+', '55.0%', '1M'],
245
- ['qwen3-coder-flash', 'Qwen3 Coder Flash', 'A+', '55.0%', '1M'],
246
- ['qwen3-32b', 'Qwen3 32B', 'A+', '50.0%', '256k'],
247
- // Fix (2026-05-26): qwen3-max ctx 1M→256k, qwen3-coder-plus ctx 256k→1M, qwen3-coder-flash ctx 256k→1M, qwen3-32b ctx 128k→256k
248
- // Fix (2026-05-26): qwen3-235b-a22b-instruct ID qwen3-235b-a22b
313
+ ['qwen3.6-flash', 'Qwen3.6 Flash', 'A+', '60.0%', '1M'],
314
+ ['qwen3.5-flash', 'Qwen3.5 Flash', 'A+', '55.0%', '1M'],
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'],
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'],
249
325
  ]
250
326
 
251
327
  // 📖 Cloudflare Workers AI source - https://developers.cloudflare.com/workers-ai
@@ -253,30 +329,30 @@ export const qwen = [
253
329
  // 📖 https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/v1/chat/completions
254
330
  // 📖 Free plan includes daily neuron quota and provider-level request limits.
255
331
  export const cloudflare = [
256
- // ── S+ tier ──
257
- ['@cf/moonshotai/kimi-k2.6', 'Kimi K2.6', 'S+', '76.8%', '262k'],
258
- ['@cf/moonshotai/kimi-k2.7-code', 'Kimi K2.7 Code', 'S+', '-', '262k'],
259
- // ── S tier ──
260
- ['@cf/zai-org/glm-4.7-flash', 'GLM-4.7-Flash', 'S', '59.2%', '131k'],
261
- ['@cf/openai/gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
262
- // ── A+ tier ──
263
- ['@cf/nvidia/nemotron-3-120b-a12b', 'Nemotron 3 Super', 'A+', '56.0%', '128k'],
264
- ['@cf/zai-org/glm-5.2', 'GLM-5.2', 'S+', '-', '262k'],
265
- ['@cf/moonshotai/kimi-k2.5', 'Kimi K2.5', 'S+', '-', '256k'],
266
- // ── A tier ──
267
- ['@cf/meta/llama-4-scout-17b-16e-instruct', 'Llama 4 Scout', 'A', '44.0%', '131k'],
268
- ['@cf/mistralai/mistral-7b-instruct-v0.2', 'Mistral 7B v0.2', 'A', '38.0%', '128k'],
269
- ['@cf/qwen/qwen3-30b-a3b-fp8', 'Qwen3 30B MoE', 'A', '45.0%', '128k'],
270
- ['@cf/qwen/qwen2.5-coder-32b-instruct', 'Qwen2.5 Coder 32B', 'A', '46.0%', '128k'],
271
- ['@cf/openai/gpt-oss-20b', 'GPT OSS 20B', 'A', '42.0%', '128k'],
272
- // ── A- tier ──
273
- ['@cf/meta/llama-3.3-70b-instruct-fp8-fast','Llama 3.3 70B', 'A-', '39.5%', '128k'],
274
- ['@cf/google/gemma-4-26b-a4b-it', 'Gemma 4 26B MoE', 'A-', '38.0%', '128k'],
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'],
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'],
339
+ // ── A+ tier — SWE-bench Verified 50–60% ──
340
+ ['@cf/nvidia/nemotron-3-120b-a12b', 'Nemotron 3 Super', 'A+', '56.0%', '128k'],
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'],
346
+ ['@cf/qwen/qwq-32b', 'QwQ 32B', 'A', '-', '128k'],
347
+ ['@cf/deepseek/deepseek-r1-distill-qwen-32b', 'DeepSeek R1 Distill Qwen 32B', 'A', '-', '128k'],
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'],
350
+ ['@cf/google/gemma-4-26b-a4b-it', 'Gemma 4 26B MoE', 'A-', '38.0%', '128k'],
351
+ // ── B+ tier — SWE-bench Verified 30–35% ──
275
352
  ['@cf/mistralai/mistral-small-3.1-24b-instruct', 'Mistral Small 3.1', 'B+', '30.0%', '128k'],
276
-
277
- // ── B tier ──
278
- ['@cf/ibm/granite-4.0-h-micro', 'Granite 4.0 Micro', 'B+', '30.0%', '128k'],
279
- // Fix (2026-05-26): @cf/moonshotai/kimi-k2.6 ctx 256k → 262k
353
+ ['@cf/ibm/granite-4.0-h-micro', 'Granite 4.0 Micro', 'B+', '30.0%', '128k'],
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'],
280
356
  ]
281
357
 
282
358
  // 📖 OVHcloud AI Endpoints - https://endpoints.ai.cloud.ovh.net
@@ -328,65 +404,97 @@ export const kilo = [
328
404
  // 📖 Free unauthenticated tier works with tight shared limits; optional free token at https://token.llm7.io
329
405
  // 📖 Pro-tagged models from /v1/models are intentionally excluded.
330
406
  export const llm7 = [
331
- ['deepseek-v4-flash', 'DeepSeek V4 Flash', 'S+', '-', '128k'],
332
- ['kimi-k2.6', 'Kimi K2.6', 'S+', '-', '256k'],
333
- ['qwen3-235b', 'Qwen3 235B', 'S+', '70.0%', '240k'],
334
- ['devstral-small-2:24b', 'Devstral Small 2', 'A', '-', '128k'],
335
- ['mistral-small-3.2', 'Mistral Small 3.2', 'B+', '34.0%', '128k'],
336
- ['codestral-latest', 'Codestral Latest', 'B+', '34.0%', '32k'],
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'],
416
+ // ── 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'],
337
422
  ]
338
423
 
339
424
  // 📖 Routeway source - https://api.routeway.ai/v1/models
340
425
  // 📖 OpenAI-compatible gateway with explicit zero-price `:free` chat models.
341
426
  // 📖 Live catalog checked 2026-06-11; only chat-completions models with free pricing are listed.
342
427
  export const routeway = [
343
- ['deepseek-v4-flash:free', 'DeepSeek V4 Flash', 'S+', '72.0%', '1M'],
344
- ['step-3.5-flash:free', 'Step 3.5 Flash', 'S+', '74.4%', '256k'],
345
- ['ling-2.6-flash:free', 'Ling 2.6 Flash', 'S', '-', '262k'],
346
- ['gpt-oss-120b:free', 'GPT OSS 120B', 'S', '60.0%', '131k'],
347
- ['minimax-m2:free', 'MiniMax M2', 'S', '-', '197k'],
348
- ['laguna-m.1:free', 'Poolside Laguna M.1', 'S+', '-', '131k'],
349
- ['laguna-xs.2:free', 'Poolside Laguna XS.2','S+', '-', '131k'],
350
- ['gemma-4-31b-it:free', 'Gemma 4 31B', 'A', '45.0%', '262k'],
351
- ['nemotron-3-nano-30b-a3b:free', 'Nemotron Nano 30B', 'A', '43.0%', '256k'],
352
- ['llama-3.3-70b-instruct:free', 'Llama 3.3 70B', 'A-', '39.5%', '131k'],
353
- ['mistral-nemo-instruct:free', 'Mistral Nemo', 'B+', '30.0%', '16k'],
354
- ['nemotron-nano-9b-v2:free', 'Nemotron Nano 9B', 'B+', '18.0%', '128k'],
355
- ['llama-3.1-8b-instruct:free', 'Llama 3.1 8B', 'B', '28.8%', '16k'],
356
- ['llama-3.2-3b-instruct:free', 'Llama 3.2 3B', 'B', '20.0%', '16k'],
357
- ['llama-3.2-1b-instruct:free', 'Llama 3.2 1B', 'C', '-', '16k'],
428
+ // ── S+ tier — SWE-bench Verified ≥70% ──
429
+ ['deepseek-v4-flash:free', 'DeepSeek V4 Flash', 'S+', '72.0%', '1M'],
430
+ ['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'],
433
+ // ── S tier — SWE-bench Verified 60–70% ──
434
+ ['ling-2.6-flash:free', 'Ling 2.6 Flash', 'S', '-', '262k'],
435
+ ['gpt-oss-120b:free', 'GPT OSS 120B', 'S', '60.0%', '131k'],
436
+ // ── 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'],
439
+ // ── A- tier — SWE-bench Verified 35–40% ──
440
+ ['llama-3.3-70b-instruct:free', 'Llama 3.3 70B', 'A-', '39.5%', '131k'],
441
+ // ── B+ tier — SWE-bench Verified 30–35% ──
442
+ ['nemotron-nano-9b-v2:free', 'Nemotron Nano 9B', 'B+', '18.0%', '128k'],
443
+ // ── B tier — SWE-bench Verified 20–30% ──
444
+ ['llama-3.1-8b-instruct:free', 'Llama 3.1 8B', 'B', '28.8%', '16k'],
445
+ ['llama-3.2-3b-instruct:free', 'Llama 3.2 3B', 'B', '20.0%', '16k'],
446
+ // ── C tier — lightweight/edge models ──
447
+ ['llama-3.2-1b-instruct:free', 'Llama 3.2 1B', 'C', '-', '16k'],
358
448
  ]
359
449
 
360
450
  // 📖 Novita AI source - https://api.novita.ai/openai/v1/models
361
451
  // 📖 Novita is mostly paid/trial-credit, so this catalog only includes live chat models reporting 0 input/output price.
362
452
  // 📖 Test/dev/placeholder zero-price IDs were intentionally excluded.
363
453
  export const novita = [
364
- ['qwen/qwen3.6-plus', 'Qwen3.6 Plus', 'S+', '72.0%', '1M'],
365
- ['qwen/qwen3.5-plus', 'Qwen3.5 Plus', 'S', '68.0%', '1M'],
366
- ['nex-agi/nex-n2-pro', 'Nex N2 Pro', 'S', '-', '262k'],
367
- ['minimax/m2-her', 'MiniMax M2 HER', 'S', '-', '32k'],
454
+ // ── S+ tier — SWE-bench Verified ≥70% ──
455
+ ['qwen/qwen3.6-plus', 'Qwen3.6 Plus', 'S+', '78.8%', '1M'],
456
+ // ── S tier — SWE-bench Verified 60–70% ──
457
+ ['qwen/qwen3.5-plus', 'Qwen3.5 Plus', 'S', '68.0%', '1M'],
458
+ ['nex-agi/nex-n2-pro', 'Nex N2 Pro', 'S', '-', '262k'],
459
+ ['minimax/m2-her', 'MiniMax M2 HER', 'S', '-', '66k'],
368
460
  ]
369
461
 
370
462
  // 📖 Ollama Cloud source - https://ollama.com/pricing and https://ollama.com/v1/models
371
463
  // 📖 Free plan includes cloud model access with session/weekly limits. This list keeps coding-relevant cloud models only.
372
464
  export const ollamaCloud = [
373
- ['minimax-m2.7', 'MiniMax M2.7', 'S+', '80.2%', '200k'],
374
- ['glm-5.1', 'GLM 5.1', 'S+', '77.8%', '203k'],
375
- ['kimi-k2.6', 'Kimi K2.6', 'S+', '76.8%', '131k'],
376
- ['deepseek-v4-pro', 'DeepSeek V4 Pro', 'S+', '73.1%', '1M'],
377
- ['deepseek-v4-flash', 'DeepSeek V4 Flash', 'S+', '72.0%', '1M'],
378
- ['devstral-2:123b', 'Devstral 2 123B', 'S+', '72.2%', '200k'],
379
- ['qwen3-coder:480b', 'Qwen3 Coder 480B', 'S+', '70.6%', '256k'],
380
- ['nemotron-3-ultra', 'Nemotron 3 Ultra', 'S+', '-', '1M'],
381
- ['glm-4.7', 'GLM 4.7', 'S+', '73.8%', '128k'],
382
- ['qwen3.5:397b', 'Qwen3.5 397B', 'S', '68.0%', '128k'],
383
- ['qwen3-coder-next', 'Qwen3 Coder Next', 'S', '65.0%', '256k'],
384
- ['gpt-oss:120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
385
- ['minimax-m3', 'MiniMax M3', 'S', '59.0%', '1M'],
386
- ['mistral-large-3:675b', 'Mistral Large 3', 'A+', '58.0%', '256k'],
387
- ['nemotron-3-super', 'Nemotron 3 Super', 'A+', '56.0%', '128k'],
388
- ['gemma4:31b', 'Gemma 4 31B', 'A', '45.0%', '256k'],
389
- ['gpt-oss:20b', 'GPT OSS 20B', 'A', '42.0%', '128k'],
465
+ // ── S+ tier — SWE-bench Verified ≥70% ──
466
+ ['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'],
469
+ ['glm-4.7', 'GLM 4.7', 'S+', '73.8%', '200k'],
470
+ // ── 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'],
474
+ // ── A+ tier — SWE-bench Verified 50–60% ──
475
+ ['nemotron-3-super', 'Nemotron 3 Super', 'A+', '56.0%', '256k'],
476
+ ['cogito-2.1:671b', 'Cogito 2.1 671B', 'A+', '-', '160k'],
477
+ // ── 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'],
480
+ ['glm-4.6', 'GLM 4.6', 'A', '-', '200k'],
481
+ ['qwen3-next:80b', 'Qwen3 Next 80B', 'A', '-', '256k'],
482
+ ['qwen3-vl:235b', 'Qwen3 VL 235B', 'A', '-', '256k'],
483
+ ['qwen3-vl:235b-instruct', 'Qwen3 VL 235B Instruct', 'A', '-', '256k'],
484
+ // ── 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'],
490
+ ['ministral-3:8b', 'Ministral 3 8B', 'A-', '-', '256k'],
491
+ ['ministral-3:14b', 'Ministral 3 14B', 'A-', '-', '256k'],
492
+ ['nemotron-3-nano:30b', 'Nemotron 3 Nano 30B', 'A-', '-', '1M'],
493
+ // ── B+ tier — SWE-bench Verified 30–35% ──
494
+ ['gemma3:4b', 'Gemma 3 4B', 'B+', '-', '128k'],
495
+ ['gemma3:12b', 'Gemma 3 12B', 'B+', '-', '128k'],
496
+ ['ministral-3:3b', 'Ministral 3 3B', 'B+', '-', '256k'],
497
+ ['rnj-1:8b', 'RNJ 1 8B', 'B+', '-', '32k'],
390
498
  ]
391
499
 
392
500
  // 📖 All sources combined - used by the main script