free-coding-models 0.3.68 → 0.3.70

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/README.md CHANGED
@@ -16,7 +16,7 @@
16
16
  <img src="https://img.shields.io/npm/v/free-coding-models?color=3d6b00&label=npm&logo=npm" alt="npm version" width="200"><br>
17
17
  <img src="https://img.shields.io/node/v/free-coding-models?color=3d6b00&logo=node.js" alt="node version" width="200"><br>
18
18
  <img src="https://img.shields.io/npm/l/free-coding-models?color=3d6b00" alt="license" width="200"><br>
19
- <img src="https://img.shields.io/badge/models-170+-3d6b00?logo=nvidia" alt="models count" width="200"><br>
19
+ <img src="https://img.shields.io/badge/models-157+-3d6b00?logo=nvidia" alt="models count" width="200"><br>
20
20
  <img src="https://img.shields.io/badge/providers-16-1a56db" alt="providers count" width="200">
21
21
  </p>
22
22
 
@@ -59,7 +59,7 @@ free-coding-models
59
59
 
60
60
  ## 💡 Why this tool?
61
61
 
62
- There are **~170 cataloged free or free-limited coding models** across ~15 vetted providers. Which one is fastest right now? Which one is actually stable versus just lucky on the last ping?
62
+ There are **~157 cataloged free or free-limited coding models** across 16 vetted providers. Which one is fastest right now? Which one is actually stable versus just lucky on the last ping?
63
63
 
64
64
  This CLI pings them all in parallel, shows live latency, and calculates a **live Stability Score (0-100)**. Average latency alone is misleading if a model randomly spikes to 6 seconds; the stability score measures true reliability by combining **p95 latency** (30%), **jitter/variance** (30%), **spike rate** (20%), and **uptime** (20%).
65
65
 
@@ -73,26 +73,26 @@ It then writes the model you pick directly into your coding tool's config — so
73
73
 
74
74
  Create a free account on one provider below to get started:
75
75
 
76
- **~170 coding models** across ~15 active providers, ranked by practical free-tier usefulness.
76
+ **~157 coding models** across 16 active providers, ranked by practical free-tier usefulness.
77
77
 
78
78
  | # | Provider | Models | Tier range | Free tier | Env var |
79
79
  |---|----------|--------|-----------|-----------|--------|
80
- | 1 | [NVIDIA NIM](https://build.nvidia.com) | 42 | S+ → C | ~40 RPM (no credit card) | `NVIDIA_API_KEY` |
80
+ | 1 | [NVIDIA NIM](https://build.nvidia.com) | 26 | S+ → C | ~40 RPM (no credit card) | `NVIDIA_API_KEY` |
81
81
  | 2 | [Groq](https://console.groq.com/keys) | 8 | S → B | 30 RPM, 1K‑14.4K req/day (no credit card) | `GROQ_API_KEY` |
82
- | 3 | [Cerebras](https://cloud.cerebras.ai) | 4 | S+ → B | 30 RPM, 1M tokens/day (no credit card) | `CEREBRAS_API_KEY` |
83
- | 4 | [Google AI Studio](https://aistudio.google.com/apikey) | 6 | S+ → A | Gemini free quotas vary by model/region | `GOOGLE_API_KEY` |
82
+ | 3 | [Cerebras](https://cloud.cerebras.ai) | 2 | S+ → S | 30 RPM, 1M tokens/day (no credit card) | `CEREBRAS_API_KEY` |
83
+ | 4 | [Google AI Studio](https://aistudio.google.com/apikey) | 7 | S+ → A | Gemini free quotas vary by model/region | `GOOGLE_API_KEY` |
84
84
  | 5 | [GitHub Models](https://models.github.ai) | 15 | S+ → C | Quota depends on GitHub/Copilot tier | `GITHUB_TOKEN` |
85
- | 6 | [Mistral La Plateforme](https://console.mistral.ai/api-keys) | 7 | S+ → A | Experiment plan, free evaluation tier | `MISTRAL_API_KEY` |
86
- | 7 | [Cloudflare Workers AI](https://dash.cloudflare.com) | 15 | S+ → B | 10K neurons/day, 300 RPM (no credit card) | `CLOUDFLARE_API_TOKEN` + `CLOUDFLARE_ACCOUNT_ID` |
87
- | 8 | [OpenRouter](https://openrouter.ai/keys) | 31 | S+ → C | 50 req/day free, 1K/day with $10 spend | `OPENROUTER_API_KEY` |
88
- | 9 | [SambaNova](https://cloud.sambanova.ai/apis) | 6 | S+ → A- | Small developer quota, useful for light usage | `SAMBANOVA_API_KEY` |
85
+ | 6 | [Mistral La Plateforme](https://console.mistral.ai/api-keys) | 5 | S+ → A | Experiment plan, free evaluation tier | `MISTRAL_API_KEY` |
86
+ | 7 | [Cloudflare Workers AI](https://dash.cloudflare.com) | 14 | S+ → B | 10K neurons/day, 300 RPM (no credit card) | `CLOUDFLARE_API_TOKEN` + `CLOUDFLARE_ACCOUNT_ID` |
87
+ | 8 | [OpenRouter](https://openrouter.ai/keys) | 26 | S+ → C | 50 req/day free, 1K/day with $10 spend | `OPENROUTER_API_KEY` |
88
+ | 9 | [SambaNova](https://cloud.sambanova.ai/apis) | 7 | S+ → B+ | Small developer quota, useful for light usage | `SAMBANOVA_API_KEY` |
89
89
  | 10 | [OVHcloud AI Endpoints](https://endpoints.ai.cloud.ovh.net) | 10 | S → B | 2 req/min/IP free, 400 RPM with key | `OVH_AI_ENDPOINTS_ACCESS_TOKEN` |
90
90
  | 11 | [Codestral](https://console.mistral.ai/api-keys) | 1 | B+ | 30 RPM, 2K req/day | `MISTRAL_API_KEY` |
91
91
  | 12 | [ZAI](https://z.ai) | 2 | S | Free Flash models only | `ZAI_API_KEY` |
92
92
  | 13 | [Scaleway](https://console.scaleway.com/iam/api-keys) | 10 | S+ → B | 1M free tokens | `SCALEWAY_API_KEY` |
93
- | 14 | [Alibaba DashScope](https://modelstudio.console.alibabacloud.com) | 9 | S+ → A | 1M free tokens/model, Singapore, 90 days | `DASHSCOPE_API_KEY` |
94
- | 15 | [Gemini CLI](https://github.com/google-gemini/gemini-cli) | 6 | S+ → A | 1,000 req/day with personal Google account | CLI tool ♊ |
95
- | 16 | [OpenCode Zen](https://opencode.ai/zen) | 8 | S+ → A | Free with OpenCode account | Zen models ✨ |
93
+ | 14 | [Alibaba DashScope](https://modelstudio.console.alibabacloud.com) | 11 | S+ → A+ | 1M free tokens/model, Singapore, 90 days | `DASHSCOPE_API_KEY` |
94
+ | 15 | [Gemini CLI](https://github.com/google-gemini/gemini-cli) | 7 | S+ → A | 1,000 req/day with personal Google account | CLI tool ♊ |
95
+ | 16 | [OpenCode Zen](https://opencode.ai/zen) | 6 | S+ → A | Free with OpenCode account | Zen models ✨ |
96
96
 
97
97
  > 💡 One key is enough. Add more at any time with **`P`** inside the TUI.
98
98
 
@@ -0,0 +1,47 @@
1
+ # Changelog v0.3.69 - 2026-05-26
2
+
3
+ ### Changed
4
+
5
+ - **Full provider audit** — Every model across all 16 providers was verified against official APIs and documentation on 2026-05-26. Outdated, deprecated, and phantom models were removed; new models were added; context windows and scores were corrected.
6
+ - **~170 → ~157 models** — Net reduction of ~13 models after removing deprecated/phantom entries and adding new ones. The catalog is now leaner and more accurate.
7
+
8
+ ### Removed (deprecated / shutdown / phantom)
9
+
10
+ - **Cerebras**: `qwen-3-235b-a22b-instruct-2507`, `llama3.1-8b` — deprecated May 27, 2026
11
+ - **SambaNova**: `MiniMax-M2.5` — deprecated May 18, replaced by M2.7
12
+ - **OpenRouter**: `tencent/hy3-preview:free`, `inclusionai/ling-2.6-1t:free`, `google/gemma-3n-e2b-it:free`, `google/gemma-3-27b-it:free`, `google/gemma-3-12b-it:free`, `google/gemma-3n-e4b-it:free`, `google/gemma-3-4b-it:free` — free tiers removed by providers; `google/gemma-4-31b-a4b-it:free` — never existed (data error)
13
+ - **Mistral**: `devstral-medium-latest`, `devstral-small-latest`, `magistral-small-latest` — deprecated, replaced by unified Devstral 2 and Mistral Small 4
14
+ - **Google AI / Gemini CLI**: `gemini-3.1-flash-lite-preview` — endpoint shutdown May 25, 2026
15
+ - **Cloudflare**: `@cf/google/gemma-4-31b-it` — never existed on Cloudflare; `@cf/meta/llama-3.1-8b-instruct` — deprecated May 30 + actual context only 8k
16
+ - **OVHcloud**: `Llama-3.1-8B-Instruct` — delisted from catalog
17
+ - **OpenCode Zen**: `hy3-preview-free`, `ling-2.6-flash-free`, `trinity-mini-free`, `trinity-large-preview-free` — deleted from Zen platform
18
+
19
+ ### Added (new models)
20
+
21
+ - **SambaNova**: `MiniMax-M2.7` (S+, 192k), `gemma-3-12b-it` (B+, 128k)
22
+ - **OpenRouter**: `deepseek/deepseek-v4-flash:free` (S, 1M), `arcee-ai/trinity-large-thinking:free` (A, 262k), `baidu/cobuddy:free` (B+, 131k)
23
+ - **Google AI / Gemini CLI**: `gemini-3.5-flash` (S+, 1M — new GA model), `gemini-3.1-flash-lite` (A+, 1M — graduated from preview)
24
+ - **Qwen (DashScope)**: `qwen3.7-max` (S+, 1M — new flagship), `qwen3.6-plus` (S+, 1M), `qwen3.6-flash` (A+, 1M)
25
+ - **Cloudflare**: `@cf/deepseek-ai/deepseek-r1-distill-qwen-32b` (A-, 80k)
26
+ - **OVHcloud**: `Qwen3.5-397B-A17B` (S, 262k — new on OVHcloud)
27
+ - **OpenCode Zen**: `deepseek-v4-flash-free` (S+, 200k), `qwen3.6-plus-free` (S+, 1M)
28
+
29
+ ### Fixed
30
+
31
+ - **Mistral model IDs** updated from `-latest` aliases to versioned IDs (`mistral-large-2512`, `mistral-medium-3-5`, `mistral-small-2603`, `devstral-2512`, `magistral-medium-2509`)
32
+ - **Codestral** ID updated to `codestral-2508`, context corrected from 256k → 128k
33
+ - **Groq**: 4 models context corrected from 128k → 131k (actual Groq limit)
34
+ - **Cerebras**: 2 models context corrected (gpt-oss-120b 128k→131k, zai-glm-4.7 200k→131k)
35
+ - **SambaNova**: Llama-4-Maverick context corrected from 1M → 128k (SambaNova actual limit)
36
+ - **Scaleway**: 7 models context windows corrected (major fixes: holo2 131k→22k, gemma-3-27b 128k→40k, devstral 256k→200k, qwen3-coder 32k→128k)
37
+ - **OpenRouter**: 7 context corrections, MiniMax M2.5 score updated 74.0% → 80.2%, Laguna models 256k→131k, Owl Alpha 128k→1M
38
+ - **Qwen**: 4 context corrections (qwen3-max 1M→256k, qwen3-coder-plus 256k→1M, qwen3-coder-flash 256k→1M, qwen3-32b 128k→256k), model ID fixed `qwen3-235b-a22b-instruct` → `qwen3-235b-a22b`
39
+ - **Cloudflare**: kimi-k2.6 context corrected 256k → 262k
40
+ - **OVHcloud**: 4 context corrections (Qwen3.5-9B 128k→262k, Mistral-Nemo 128k→118k, Mistral-7B 32k→127k, Mistral-Small 131k→128k)
41
+ - **OpenCode Zen**: nematron-3-super-free context corrected from 1M → 200k (Zen limits it)
42
+ - **GitHub Models**: ministral-3b context corrected from 32k → 128k
43
+
44
+ ### Docs
45
+
46
+ - Added 14 provider audit reports in `provider_updates/` (one per provider)
47
+ - Updated README.md model counts and provider table
@@ -0,0 +1,8 @@
1
+ # Changelog v0.3.70 - 2026-05-27
2
+
3
+ ### Changed
4
+ - Bumped version to 0.3.70 as part of release process.
5
+ - Updated documentation and internal references for the new version.
6
+
7
+ ### Fixed
8
+ - (No functional changes in this bump; included for completeness.)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "free-coding-models",
3
- "version": "0.3.68",
4
- "description": "Find the fastest coding LLM models in seconds \u2014 ping free models from multiple providers, pick the best one for OpenCode, Cursor, or any AI coding assistant.",
3
+ "version": "0.3.70",
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",
7
7
  "nim",
package/sources.js CHANGED
@@ -84,11 +84,11 @@ 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%', '128k'],
87
+ ['llama-3.3-70b-versatile', 'Llama 3.3 70B', 'A-', '39.5%', '131k'],
88
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%', '128k'],
90
- ['openai/gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
91
- ['openai/gpt-oss-20b', 'GPT OSS 20B', 'A', '42.0%', '128k'],
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
92
  ['qwen/qwen3-32b', 'Qwen3 32B', 'A+', '50.0%', '131k'],
93
93
  ['groq/compound', 'Groq Compound', 'A', '45.0%', '131k'],
94
94
  ['groq/compound-mini', 'Groq Compound Mini', 'B+', '32.0%', '131k'],
@@ -97,10 +97,10 @@ export const groq = [
97
97
  // 📖 Cerebras source - https://cloud.cerebras.ai
98
98
  // 📖 Free API keys available at https://cloud.cerebras.ai
99
99
  export const cerebras = [
100
- ['gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
101
- ['qwen-3-235b-a22b-instruct-2507', 'Qwen3 235B', 'S+', '70.0%', '128k'], // ⚠️ Deprecation: May 27, 2026
102
- ['llama3.1-8b', 'Llama 3.1 8B', 'B', '28.8%', '128k'],
103
- ['zai-glm-4.7', 'GLM 4.7', 'S+', '73.8%', '200k'],
100
+ ['gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '131k'],
101
+ ['zai-glm-4.7', 'GLM 4.7', 'S+', '73.8%', '131k'],
102
+ // Removed (2026-05-26): qwen-3-235b-a22b-instruct-2507 (deprecated May 27, 2026)
103
+ // Removed (2026-05-26): llama3.1-8b (deprecated May 27, 2026)
104
104
  ]
105
105
 
106
106
  // 📖 SambaNova source - https://cloud.sambanova.ai
@@ -108,14 +108,18 @@ export const cerebras = [
108
108
  // 📖 Keep this catalog conservative: only models surfaced in current SambaNova docs.
109
109
  export const sambanova = [
110
110
  // ── S+ tier ──
111
- ['MiniMax-M2.5', 'MiniMax M2.5', 'S+', '74.0%', '160k'],
111
+ ['MiniMax-M2.7', 'MiniMax M2.7', 'S+', '56.2%', '192k'],
112
112
  // ── S tier ──
113
113
  ['DeepSeek-V3.1', 'DeepSeek V3.1', 'S', '62.0%', '128k'],
114
114
  ['DeepSeek-V3.2', 'DeepSeek V3.2', 'S+', '70.0%', '32k'],
115
- ['Llama-4-Maverick-17B-128E-Instruct', 'Llama 4 Maverick', 'S', '62.0%', '1M'],
115
+ ['Llama-4-Maverick-17B-128E-Instruct', 'Llama 4 Maverick', 'S', '62.0%', '128k'],
116
116
  ['gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
117
117
  // ── A- tier ──
118
118
  ['Meta-Llama-3.3-70B-Instruct', 'Llama 3.3 70B', 'A-', '39.5%', '128k'],
119
+ // ── B+ tier ──
120
+ ['gemma-3-12b-it', 'Gemma 3 12B IT', 'B+', '46.0%', '128k'],
121
+ // Removed (2026-05-26): MiniMax-M2.5 (deprecated, replaced by MiniMax-M2.7)
122
+ // Fix (2026-05-26): Llama-4-Maverick context 1M → 128k (SambaNova actual limit)
119
123
  ]
120
124
 
121
125
  // 📖 OpenRouter source - https://openrouter.ai
@@ -131,24 +135,24 @@ export const sambanova = [
131
135
  export const openrouter = [
132
136
  // ── S+ tier — live :free chat/coding models ──
133
137
  ['qwen/qwen3-coder:free', 'Qwen3 Coder 480B', 'S+', '70.6%', '262k'],
134
- ['minimax/minimax-m2.5:free', 'MiniMax M2.5', 'S+', '74.0%', '197k'],
138
+ ['minimax/minimax-m2.5:free', 'MiniMax M2.5', 'S+', '80.2%', '197k'],
135
139
  ['z-ai/glm-4.5-air:free', 'GLM 4.5 Air', 'S+', '72.0%', '131k'],
136
- ['tencent/hy3-preview:free', 'Tencent HY3 Preview','S+', '-', '262k'],
137
- ['poolside/laguna-m.1:free', 'Poolside Laguna M.1', 'S+', '-', '256k'],
138
- ['poolside/laguna-xs.2:free', 'Poolside Laguna XS.2','S+', '-', '256k'],
140
+ ['deepseek/deepseek-v4-flash:free', 'DeepSeek V4 Flash', 'S', '-', '1M'],
141
+ ['poolside/laguna-m.1:free', 'Poolside Laguna M.1', 'S+', '-', '131k'],
142
+ ['poolside/laguna-xs.2:free', 'Poolside Laguna XS.2','S+', '-', '131k'],
139
143
  // ── S tier — live :free chat/coding models ──
140
- ['qwen/qwen3-next-80b-a3b-instruct:free', 'Qwen3 80B Instruct', 'S', '65.0%', '131k'],
144
+ ['qwen/qwen3-next-80b-a3b-instruct:free', 'Qwen3 80B Instruct', 'S', '65.0%', '262k'],
141
145
  ['openai/gpt-oss-120b:free', 'GPT OSS 120B', 'S', '60.0%', '131k'],
142
- ['inclusionai/ling-2.6-1t:free', 'Ling 2.6 1T', 'S', '-', '128k'],
146
+ ['arcee-ai/trinity-large-thinking:free', 'Arcee Trinity Large', 'A', '-', '262k'],
143
147
  ['nvidia/nemotron-3-super-120b-a12b:free', 'Nemotron 3 Super', 'A+', '56.0%', '262k'],
144
148
  // ── A+ tier — live :free chat/coding models ──
145
- ['nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free', 'Nemotron 3 Omni', 'A+', '52.0%', '128k'],
149
+ ['nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free', 'Nemotron 3 Omni', 'A+', '52.0%', '256k'],
146
150
  ['nvidia/nemotron-nano-12b-v2-vl:free', 'Nemotron Nano 12B VL','A', '20.0%', '128k'],
147
- ['openrouter/owl-alpha', 'Owl Alpha', 'A+', '-', '128k'],
151
+ ['openrouter/owl-alpha', 'Owl Alpha', 'A+', '-', '1M'],
148
152
  // ── A tier — live :free chat/coding models ──
149
153
  ['nousresearch/hermes-3-llama-3.1-405b:free', 'Hermes 3 405B', 'A', '44.0%', '131k'],
150
154
  ['openai/gpt-oss-20b:free', 'GPT OSS 20B', 'A', '42.0%', '131k'],
151
- ['nvidia/nemotron-3-nano-30b-a3b:free', 'Nemotron Nano 30B', 'A', '43.0%', '128k'],
155
+ ['nvidia/nemotron-nano-30b-a3b:free', 'Nemotron Nano 30B', 'A', '43.0%', '256k'],
152
156
  ['cognitivecomputations/dolphin-mistral-24b-venice-edition:free', 'Dolphin Mistral 24B', 'B+', '30.0%', '33k'],
153
157
  ['google/gemma-4-31b-it:free', 'Gemma 4 31B', 'A', '45.0%', '256k'],
154
158
  ['google/gemma-4-26b-a4b-it:free', 'Gemma 4 26B MoE', 'A-', '38.0%', '256k'],
@@ -157,17 +161,20 @@ export const openrouter = [
157
161
  ['meta-llama/llama-3.2-3b-instruct:free', 'Llama 3.2 3B', 'B', '20.0%', '128k'],
158
162
  // ── B+ tier ──
159
163
  ['nvidia/nemotron-nano-9b-v2:free', 'Nemotron Nano 9B', 'B+', '18.0%', '128k'],
160
- ['google/gemma-3n-e2b-it:free', 'Gemma 3n E2B', 'B+', '-', '8k'],
164
+ ['baidu/cobuddy:free', 'Baidu CoBuddy', 'B+', '-', '131k'],
161
165
  // ── B tier ──
162
- ['google/gemma-3-27b-it:free', 'Gemma 3 27B', 'B', '22.0%', '131k'],
163
- ['google/gemma-4-31b-a4b-it:free', 'Gemma 4 31B MoE', 'B', '-', '256k'],
164
- ['openrouter/free', 'OpenRouter Free', 'B', '-', '128k'],
166
+ ['openrouter/free', 'OpenRouter Free', 'B', '-', '200k'],
165
167
  // ── C tier ──
166
- ['google/gemma-3-12b-it:free', 'Gemma 3 12B', 'C', '15.0%', '131k'],
167
- ['google/gemma-3n-e4b-it:free', 'Gemma 3n E4B', 'C', '10.0%', '8k'],
168
- ['google/gemma-3-4b-it:free', 'Gemma 3 4B', 'C', '10.0%', '33k'],
169
168
  ['liquid/lfm-2.5-1.2b-instruct:free', 'LFM 2.5 1.2B', 'C', '-', '32k'],
170
169
  ['liquid/lfm-2.5-1.2b-thinking:free', 'LFM 2.5 Thinking', 'C', '-', '32k'],
170
+ // Removed (2026-05-26): tencent/hy3-preview:free (free tier removed)
171
+ // Removed (2026-05-26): inclusionai/ling-2.6-1t:free (free tier removed)
172
+ // Removed (2026-05-26): google/gemma-3n-e2b-it:free (free tier removed)
173
+ // Removed (2026-05-26): google/gemma-3-27b-it:free (free tier removed)
174
+ // Removed (2026-05-26): google/gemma-3-12b-it:free (free tier removed)
175
+ // Removed (2026-05-26): google/gemma-3n-e4b-it:free (free tier removed)
176
+ // Removed (2026-05-26): google/gemma-3-4b-it:free (free tier removed)
177
+ // Removed (2026-05-26): google/gemma-4-31b-a4b-it:free (never existed — data error)
171
178
  ]
172
179
 
173
180
  // 📖 GitHub Models source - https://models.github.ai
@@ -188,53 +195,57 @@ export const githubModels = [
188
195
  ['mistral-ai/codestral-2501', 'Codestral 2501', 'B+', '34.0%', '256k'],
189
196
  ['mistral-ai/mistral-medium-2505', 'Mistral Medium 2505', 'A', '48.0%', '128k'],
190
197
  ['mistral-ai/mistral-small-2503', 'Mistral Small 2503', 'B+', '30.0%', '128k'],
191
- ['mistral-ai/ministral-3b', 'Ministral 3B', 'C', '-', '32k'],
198
+ ['mistral-ai/ministral-3b', 'Ministral 3B', 'C', '-', '128k'],
192
199
  ]
193
200
 
194
201
  // 📖 Mistral La Plateforme source - https://console.mistral.ai
195
202
  // 📖 Experiment plan is free for evaluation/prototyping and exposes general + coding models.
196
203
  // 📖 Keep Codestral as a separate provider key for backward compatibility with existing configs.
197
204
  export const mistral = [
198
- ['mistral-large-latest', 'Mistral Large', 'S+', '70.0%', '256k'],
199
- ['mistral-medium-latest', 'Mistral Medium', 'S', '66.0%', '128k'],
200
- ['mistral-small-latest', 'Mistral Small', 'A', '48.0%', '128k'],
201
- ['devstral-medium-latest', 'Devstral Medium', 'S+', '72.2%', '128k'],
202
- ['devstral-small-latest', 'Devstral Small', 'A+', '55.0%', '128k'],
203
- ['magistral-medium-latest', 'Magistral Medium', 'A+', '52.0%', '128k'],
204
- ['magistral-small-latest', 'Magistral Small', 'A', '45.0%', '128k'],
205
+ ['mistral-large-2512', 'Mistral Large 3', 'S+', '70.0%', '256k'],
206
+ ['mistral-medium-3-5', 'Mistral Medium 3.5', 'S+', '77.6%', '256k'],
207
+ ['devstral-2512', 'Devstral 2', 'S+', '72.2%', '256k'],
208
+ ['magistral-medium-2509', 'Magistral Medium 1.2','A+', '52.0%', '128k'],
209
+ ['mistral-small-2603', 'Mistral Small 4', 'A', '48.0%', '256k'],
210
+ // Removed (2026-05-26): devstral-medium-latest (deprecated, replaced by devstral-2512)
211
+ // Removed (2026-05-26): devstral-small-latest (deprecated, replaced by devstral-2512)
212
+ // Removed (2026-05-26): magistral-small-latest (deprecated, replaced by mistral-small-2603)
205
213
  ]
206
214
 
207
215
  // 📖 Mistral Codestral source - https://codestral.mistral.ai
208
216
  // 📖 Free coding model — 30 req/min, 2000/day (phone number required for key)
209
217
  // 📖 API keys now use the Mistral platform key format; CODESTRAL_API_KEY remains supported as an alias.
210
218
  export const codestral = [
211
- ['codestral-latest', 'Codestral', 'B+', '34.0%', '256k'],
219
+ ['codestral-2508', 'Codestral', 'B+', '34.0%', '128k'],
212
220
  ]
213
221
 
214
222
  // 📖 Scaleway source - https://console.scaleway.com
215
223
  // 📖 1M free tokens — API keys at https://console.scaleway.com/iam/api-keys
216
224
  export const scaleway = [
217
- ['devstral-2-123b-instruct-2512', 'Devstral 2 123B', 'S+', '72.2%', '256k'],
225
+ ['devstral-2-123b-instruct-2512', 'Devstral 2 123B', 'S+', '72.2%', '200k'],
218
226
  ['qwen3.5-397b-a17b', 'Qwen3.5 400B VLM', 'S', '68.0%', '250k'],
219
227
  ['mistral/mistral-large-3-675b-instruct-2512','Mistral Large 675B', 'A+', '58.0%', '250k'],
220
- ['qwen3-235b-a22b-instruct-2507', 'Qwen3 235B', 'S+', '70.0%', '128k'],
221
- ['gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '131k'],
222
- ['qwen3-coder-30b-a3b-instruct', 'Qwen3 Coder 30B', 'A+', '55.0%', '32k'],
223
- ['holo2-30b-a3b', 'Holo2 30B', 'A+', '52.0%', '131k'],
224
- ['llama-3.3-70b-instruct', 'Llama 3.3 70B', 'A-', '39.5%', '128k'],
228
+ ['qwen3-235b-a22b-instruct-2507', 'Qwen3 235B', 'S+', '70.0%', '250k'],
229
+ ['gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
230
+ ['qwen3-coder-30b-a3b-instruct', 'Qwen3 Coder 30B', 'A+', '55.0%', '128k'],
231
+ ['holo2-30b-a3b', 'Holo2 30B', 'A+', '52.0%', '22k'],
232
+ ['llama-3.3-70b-instruct', 'Llama 3.3 70B', 'A-', '39.5%', '100k'],
225
233
  ['mistral-small-3.2-24b-instruct-2506', 'Mistral Small 3.2', 'B+', '30.0%', '128k'],
226
- ['gemma-3-27b-it', 'Gemma 3 27B', 'B', '22.0%', '128k'],
234
+ ['gemma-3-27b-it', 'Gemma 3 27B', 'B', '22.0%', '40k'],
227
235
  ]
228
236
 
229
237
  // 📖 Google AI Studio source - https://aistudio.google.com
230
238
  // 📖 OpenAI-compatible endpoint exposes Gemini models; free quotas vary by model and region.
231
239
  export const googleai = [
240
+ ['gemini-3.5-flash', 'Gemini 3.5 Flash', 'S+', '-', '1M'],
232
241
  ['gemini-3.1-pro-preview', 'Gemini 3.1 Pro Preview', 'S+', '78.0%', '1M'],
233
242
  ['gemini-3-flash-preview', 'Gemini 3 Flash Preview', 'S', '65.0%', '1M'],
234
- ['gemini-3.1-flash-lite-preview', 'Gemini 3.1 Flash Lite Preview','A+', '55.0%', '1M'],
243
+ ['gemini-3.1-flash-lite', 'Gemini 3.1 Flash Lite', 'A+', '55.0%', '1M'],
244
+ // ⚠️ DEPRECATED — shutdown Oct 16, 2026
235
245
  ['gemini-2.5-pro', 'Gemini 2.5 Pro', 'S+', '63.2%', '1M'],
236
246
  ['gemini-2.5-flash', 'Gemini 2.5 Flash', 'A+', '50.0%', '1M'],
237
247
  ['gemini-2.5-flash-lite', 'Gemini 2.5 Flash Lite', 'A', '42.0%', '1M'],
248
+ // Removed (2026-05-26): gemini-3.1-flash-lite-preview (endpoint shutdown May 25, 2026 → replaced by gemini-3.1-flash-lite)
238
249
  ]
239
250
 
240
251
  // 📖 ZAI source - https://open.z.ai
@@ -252,17 +263,22 @@ export const zai = [
252
263
  // 📖 Qwen3-Coder models: optimized coding models with excellent SWE-bench scores
253
264
  export const qwen = [
254
265
  // ── S+ tier — SWE-bench Verified ≥70% ──
255
- ['qwen3-max', 'Qwen3 Max', 'S+', '78.8%', '1M'],
256
- ['qwen3-235b-a22b-instruct', 'Qwen3 235B', 'S+', '70.0%', '256k'],
266
+ ['qwen3.7-max', 'Qwen3.7 Max', 'S+', '80.0%', '1M'],
267
+ ['qwen3-max', 'Qwen3 Max', 'S+', '78.8%', '256k'],
268
+ ['qwen3.6-plus', 'Qwen3.6 Plus', 'S+', '72.0%', '1M'],
269
+ ['qwen3-235b-a22b', 'Qwen3 235B', 'S+', '70.0%', '256k'],
257
270
  // ── S tier — SWE-bench Verified 60–70% ──
258
271
  ['qwen3.5-plus', 'Qwen3.5 Plus', 'S', '68.0%', '1M'],
259
- ['qwen3-coder-plus', 'Qwen3 Coder Plus', 'S', '69.6%', '256k'],
272
+ ['qwen3-coder-plus', 'Qwen3 Coder Plus', 'S', '69.6%', '1M'],
260
273
  ['qwen3-coder-next', 'Qwen3 Coder Next', 'S', '65.0%', '256k'],
261
274
  // ── A+ tier — SWE-bench Verified 50–60% ──
275
+ ['qwen3.6-flash', 'Qwen3.6 Flash', 'A+', '60.0%', '1M'],
262
276
  ['qwen3.5-flash', 'Qwen3.5 Flash', 'A+', '55.0%', '1M'],
263
- ['qwen3-coder-flash', 'Qwen3 Coder Flash', 'A+', '55.0%', '256k'],
264
- ['qwen3-32b', 'Qwen3 32B', 'A+', '50.0%', '128k'],
265
- ['qwen2.5-coder-32b-instruct', 'Qwen2.5 Coder 32B', 'A', '46.0%', '32k'],
277
+ ['qwen3-coder-flash', 'Qwen3 Coder Flash', 'A+', '55.0%', '1M'],
278
+ ['qwen3-32b', 'Qwen3 32B', 'A+', '50.0%', '256k'],
279
+ // Removed (2026-05-26): qwen2.5-coder-32b-instruct (legacy, replaced by qwen3-coder-plus/flash)
280
+ // 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
281
+ // Fix (2026-05-26): qwen3-235b-a22b-instruct ID → qwen3-235b-a22b
266
282
  ]
267
283
 
268
284
  // 📖 Cloudflare Workers AI source - https://developers.cloudflare.com/workers-ai
@@ -271,7 +287,7 @@ export const qwen = [
271
287
  // 📖 Free plan includes daily neuron quota and provider-level request limits.
272
288
  export const cloudflare = [
273
289
  // ── S+ tier ──
274
- ['@cf/moonshotai/kimi-k2.6', 'Kimi K2.6', 'S+', '76.8%', '256k'],
290
+ ['@cf/moonshotai/kimi-k2.6', 'Kimi K2.6', 'S+', '76.8%', '262k'],
275
291
  // ── S tier ──
276
292
  ['@cf/zai-org/glm-4.7-flash', 'GLM-4.7-Flash', 'S', '59.2%', '131k'],
277
293
  ['@cf/openai/gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
@@ -285,12 +301,14 @@ export const cloudflare = [
285
301
  ['@cf/openai/gpt-oss-20b', 'GPT OSS 20B', 'A', '42.0%', '128k'],
286
302
  // ── A- tier ──
287
303
  ['@cf/meta/llama-3.3-70b-instruct-fp8-fast','Llama 3.3 70B', 'A-', '39.5%', '128k'],
288
- ['@cf/google/gemma-4-31b-it', 'Gemma 4 31B', 'A', '45.0%', '256k'],
289
304
  ['@cf/google/gemma-4-26b-a4b-it', 'Gemma 4 26B MoE', 'A-', '38.0%', '256k'],
290
305
  ['@cf/mistralai/mistral-small-3.1-24b-instruct', 'Mistral Small 3.1', 'B+', '30.0%', '128k'],
306
+ ['@cf/deepseek-ai/deepseek-r1-distill-qwen-32b', 'DeepSeek R1 Distill 32B', 'A-', '45.0%', '80k'],
291
307
  // ── B tier ──
292
308
  ['@cf/ibm/granite-4.0-h-micro', 'Granite 4.0 Micro', 'B+', '30.0%', '128k'],
293
- ['@cf/meta/llama-3.1-8b-instruct', 'Llama 3.1 8B', 'B', '28.8%', '128k'],
309
+ // Removed (2026-05-26): @cf/google/gemma-4-31b-it (never existed on Cloudflare)
310
+ // Removed (2026-05-26): @cf/meta/llama-3.1-8b-instruct (deprecated May 30 + actual ctx = 8k, not 128k)
311
+ // Fix (2026-05-26): @cf/moonshotai/kimi-k2.6 ctx 256k → 262k
294
312
  ]
295
313
 
296
314
  // 📖 OVHcloud AI Endpoints - https://endpoints.ai.cloud.ovh.net
@@ -298,16 +316,18 @@ export const cloudflare = [
298
316
  // 📖 Free sandbox: 2 req/min per IP per model (no API key needed), 400 RPM with API key
299
317
  // 📖 Env var: OVH_AI_ENDPOINTS_ACCESS_TOKEN
300
318
  export const ovhcloud = [
319
+ ['Qwen3.5-397B-A17B', 'Qwen3.5 397B MoE', 'S', '-', '262k'],
301
320
  ['Qwen3-Coder-30B-A3B-Instruct', 'Qwen3 Coder 30B MoE', 'A+', '55.0%', '256k'],
302
321
  ['gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '131k'],
303
322
  ['gpt-oss-20b', 'GPT OSS 20B', 'A', '42.0%', '131k'],
304
323
  ['Meta-Llama-3_3-70B-Instruct', 'Llama 3.3 70B', 'A-', '39.5%', '131k'],
305
324
  ['Qwen3-32B', 'Qwen3 32B', 'A+', '50.0%', '32k'],
306
- ['Mistral-Small-3.2-24B-Instruct-2506', 'Mistral Small 3.2', 'B+', '34.0%', '131k'],
307
- ['Mistral-7B-Instruct-v0.3', 'Mistral 7B Instruct', 'B', '25.0%', '32k'],
308
- ['Mistral-Nemo-Instruct-2407', 'Mistral Nemo', 'B+', '30.0%', '128k'],
309
- ['Qwen3.5-9B', 'Qwen3.5 9B', 'B+', '30.0%', '128k'],
310
- ['Llama-3.1-8B-Instruct', 'Llama 3.1 8B', 'B', '28.8%', '131k'],
325
+ ['Mistral-Small-3.2-24B-Instruct-2506', 'Mistral Small 3.2', 'B+', '34.0%', '128k'],
326
+ ['Mistral-7B-Instruct-v0.3', 'Mistral 7B Instruct', 'B', '25.0%', '127k'],
327
+ ['Mistral-Nemo-Instruct-2407', 'Mistral Nemo', 'B+', '30.0%', '118k'],
328
+ ['Qwen3.5-9B', 'Qwen3.5 9B', 'B+', '30.0%', '262k'],
329
+ // Removed (2026-05-26): Llama-3.1-8B-Instruct (delisted from OVHcloud catalog)
330
+ // Fix (2026-05-26): Qwen3.5-9B ctx 128k→262k, Mistral-Small ctx 131k→128k, Mistral-Nemo ctx 128k→118k, Mistral-7B ctx 32k→127k
311
331
  ]
312
332
 
313
333
  // 📖 Gemini CLI source - https://github.com/google-gemini/gemini-cli
@@ -317,12 +337,15 @@ export const ovhcloud = [
317
337
  // 📖 Models track Google AI Studio IDs; no stale google/ prefix.
318
338
  // 📖 Supports custom OpenAI-compatible providers via GEMINI_API_BASE_URL
319
339
  export const gemini = [
340
+ ['gemini-3.5-flash', 'Gemini 3.5 Flash', 'S+', '-', '1M'],
320
341
  ['gemini-3.1-pro-preview', 'Gemini 3.1 Pro Preview', 'S+', '78.0%', '1M'],
321
342
  ['gemini-3-flash-preview', 'Gemini 3 Flash Preview', 'S', '65.0%', '1M'],
322
- ['gemini-3.1-flash-lite-preview', 'Gemini 3.1 Flash Lite Preview','A+', '55.0%', '1M'],
343
+ ['gemini-3.1-flash-lite', 'Gemini 3.1 Flash Lite', 'A+', '55.0%', '1M'],
344
+ // ⚠️ DEPRECATED — shutdown Oct 16, 2026
323
345
  ['gemini-2.5-pro', 'Gemini 2.5 Pro', 'S+', '63.2%', '1M'],
324
346
  ['gemini-2.5-flash', 'Gemini 2.5 Flash', 'A+', '50.0%', '1M'],
325
347
  ['gemini-2.5-flash-lite', 'Gemini 2.5 Flash Lite', 'A', '42.0%', '1M'],
348
+ // Removed (2026-05-26): gemini-3.1-flash-lite-preview (endpoint shutdown May 25, 2026)
326
349
  ]
327
350
 
328
351
  // 📖 OpenCode Zen free models — hosted AI gateway accessed through OpenCode CLI/Desktop
@@ -331,14 +354,17 @@ export const gemini = [
331
354
  // 📖 Login: https://opencode.ai/auth — get your Zen API key
332
355
  // 📖 Config: set provider to opencode/<model-id> in OpenCode config
333
356
  export const opencodeZen = [
334
- ['big-pickle', 'Big Pickle', 'S+', '72.0%', '200k'],
335
- ['minimax-m2.5-free', 'MiniMax M2.5 Free', 'S+', '80.2%', '200k'],
336
- ['nemotron-3-super-free', 'Nemotron 3 Super Free','A+', '52.0%', '1M'],
337
- ['gpt-5-nano', 'GPT 5 Nano', 'S', '65.0%', '400k'],
338
- ['hy3-preview-free', 'HY3 Preview Free', 'A+', '-', '128k'],
339
- ['ling-2.6-flash-free', 'Ling 2.6 Flash Free', 'S', '-', '128k'],
340
- ['trinity-mini-free', 'Trinity Mini Preview', 'A', '-', '128k'],
341
- ['trinity-large-preview-free', 'Trinity Large Preview','S', '-', '128k'],
357
+ ['big-pickle', 'Big Pickle', 'S+', '72.0%', '200k'],
358
+ ['minimax-m2.5-free', 'MiniMax M2.5 Free', 'S+', '80.2%', '200k'],
359
+ ['deepseek-v4-flash-free', 'DeepSeek V4 Flash Free', 'S+', '79.0%', '200k'],
360
+ ['qwen3.6-plus-free', 'Qwen3.6 Plus Free', 'S+', '78.8%', '1M'],
361
+ ['nemotron-3-super-free', 'Nemotron 3 Super Free', 'A+', '52.0%', '200k'],
362
+ ['gpt-5-nano', 'GPT 5 Nano', 'S', '65.0%', '400k'],
363
+ // Removed (2026-05-26): hy3-preview-free (deleted from Zen)
364
+ // Removed (2026-05-26): ling-2.6-flash-free (deleted from Zen)
365
+ // Removed (2026-05-26): trinity-mini-free (deleted from Zen)
366
+ // Removed (2026-05-26): trinity-large-preview-free (deleted from Zen)
367
+ // Fix (2026-05-26): nematron-3-super-free ctx 1M → 200k (Zen limits it)
342
368
  ]
343
369
 
344
370
  // 📖 All sources combined - used by the main script