free-coding-models 0.5.92 โ†’ 0.5.94

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
@@ -6,7 +6,7 @@
6
6
 
7
7
  <p align="center">
8
8
  <strong>Find the fastest free coding model in seconds.</strong><br>
9
- Live latency, stability and verdicts for 228 models from 24 free AI providers, then install the one you pick straight into your favorite coding tool.<br><br>
9
+ Live latency, stability and verdicts for 256 models from 24 free AI providers, then install the one you pick straight into your favorite coding tool.<br><br>
10
10
  <strong>Works with:</strong> OpenCode CLI / Desktop / WebUI, OpenClaw, Crush, Goose, Aider, Kilo CLI, Qwen Code, OpenHands, Amp, Hermes, Continue, Cline, Xcode, Pi, ZCode, ForgeCode, Copilot, jcode, Caveman Code and more.
11
11
  </p>
12
12
 
@@ -35,7 +35,7 @@ free-coding-models
35
35
 
36
36
  ## ๐Ÿ’ก Why this tool?
37
37
 
38
- There is a large catalog of free and free-limited coding models (**24 providers / 228 live models**, generated from [`sources.js`](./sources.js)). Which one is fastest *right now*? Which one is actually stable, versus just lucky on the last ping?
38
+ There is a large catalog of free and free-limited coding models (**24 providers / 256 live models**, generated from [`sources.js`](./sources.js)). Which one is fastest *right now*? Which one is actually stable, versus just lucky on the last ping?
39
39
 
40
40
  `free-coding-models` (FCM) answers that by pinging every model in parallel, showing live latency, and computing a **live Stability Score (0-100)** combining p95 latency, jitter, spike rate and uptime. Average latency alone is misleading: a model that randomly spikes to 6 seconds is not reliable.
41
41
 
@@ -87,18 +87,20 @@ free-coding-models --fiable # print the single most reliable model
87
87
 
88
88
  ## ๐ŸŸข Providers
89
89
 
90
- **24 active providers / 228 live models**, sorted by live model count. Top 8:
90
+ **24 active providers / 256 live models**, sorted by live model count. Top 8:
91
91
 
92
92
  | Provider | Models | Best tier | Env var |
93
93
  |----------|--------|-----------|---------|
94
- | [Alibaba DashScope](https://modelstudio.console.alibabacloud.com) | 27 | S+ | `DASHSCOPE_API_KEY` |
95
- | [Ollama Cloud](https://ollama.com/settings/keys) | 19 | S+ | `OLLAMA_API_KEY` |
96
- | [OpenRouter](https://openrouter.ai/keys) | 19 | S+ | `OPENROUTER_API_KEY` |
97
- | [Cloudflare AI](https://dash.cloudflare.com) | 15 | S | `CLOUDFLARE_API_TOKEN` |
98
- | [Kilo](https://kilo.ai) | 14 | S+ | `KILO_API_KEY` |
99
- | [NVIDIA NIM](https://build.nvidia.com) | 13 | S+ | `NVIDIA_API_KEY` |
100
- | [Pollinations AI](https://enter.pollinations.ai) | 13 | S+ | `POLLINATIONS_API_KEY` |
101
- | [OVHcloud AI](https://endpoints.ai.cloud.ovh.net) | 12 | S+ | `OVH_AI_ENDPOINTS_ACCESS_TOKEN` |
94
+ | [Alibaba DashScope](https://modelstudio.console.alibabacloud.com) | 29 | S+ | `DASHSCOPE_API_KEY` |
95
+ | [Pollinations AI](https://enter.pollinations.ai) | 23 | S+ | `POLLINATIONS_API_KEY` |
96
+ | [OpenRouter](https://openrouter.ai/keys) | 21 | S+ | `OPENROUTER_API_KEY` |
97
+ | [Kilo](https://kilo.ai) | 20 | S+ | `KILO_API_KEY` |
98
+ | [Ollama Cloud](https://ollama.com/settings/keys) | 20 | S+ | `OLLAMA_API_KEY` |
99
+ | [OVHcloud AI](https://endpoints.ai.cloud.ovh.net) | 17 | S+ | `OVH_AI_ENDPOINTS_ACCESS_TOKEN` |
100
+ | [Cloudflare AI](https://dash.cloudflare.com) | 15 | S+ | `CLOUDFLARE_API_TOKEN` |
101
+ | [NVIDIA NIM](https://build.nvidia.com) | 12 | S+ | `NVIDIA_API_KEY` |
102
+
103
+ > ๐Ÿงพ **What "free" means here:** free is a property of the *(provider, model)* pair, never of the provider as a whole. A row is listed only when that exact model id costs $0 to call through that provider (permanent free tier, `:free` variant, or free plan), verified live at audit time. The same open-weights model can be free on one host and paid on another - paid siblings are deliberately excluded. Full breakdown and badge legend: [`docs/providers.md`](./docs/providers.md).
102
104
 
103
105
  > ๐Ÿ“– **Full table, free-tier limits, env vars, tier scale and provider notes:** [`docs/providers.md`](./docs/providers.md) (generated from `sources.js` by `node scripts/generate-provider-table.mjs`, so counts cannot drift). OpenCode Zen's free models are listed there too.
104
106
 
@@ -247,7 +249,7 @@ Keys live locally in `~/.free-coding-models.json` (`0600`) and are only ever sen
247
249
 
248
250
  ## Contributors
249
251
 
250
- Created and maintained by [Vanessa Depraute](https://vanessadepraute.dev) ([@vava-nessa](https://github.com/vava-nessa)), with contributions from [@erwinh22](https://github.com/erwinh22), [@whit3rabbit](https://github.com/whit3rabbit), [@skylaweber](https://github.com/skylaweber), [@PhucTruong-ctrl](https://github.com/PhucTruong-ctrl), [@chindris-mihai-alexandru](https://github.com/chindris-mihai-alexandru), [@serajbaltu](https://github.com/serajbaltu), [@stgreenb](https://github.com/stgreenb), [@MoriDanWork](https://github.com/MoriDanWork), [@fan92rus](https://github.com/fan92rus), [@Muhammad95959](https://github.com/Muhammad95959), [@FaintFlower](https://github.com/FaintFlower), [@lehneres](https://github.com/lehneres), [@ia-S-on](https://github.com/ia-S-on) and [@bangla24bdrang-lab](https://github.com/bangla24bdrang-lab).
252
+ Created and maintained by [Vanessa Depraute](https://vanessadepraute.dev) ([@vava-nessa](https://github.com/vava-nessa)), with contributions from [@erwinh22](https://github.com/erwinh22), [@whit3rabbit](https://github.com/whit3rabbit), [@skylaweber](https://github.com/skylaweber), [@PhucTruong-ctrl](https://github.com/PhucTruong-ctrl), [@chindris-mihai-alexandru](https://github.com/chindris-mihai-alexandru), [@serajbaltu](https://github.com/serajbaltu), [@stgreenb](https://github.com/stgreenb), [@MoriDanWork](https://github.com/MoriDanWork), [@fan92rus](https://github.com/fan92rus), [@Muhammad95959](https://github.com/Muhammad95959), [@FaintFlower](https://github.com/FaintFlower), [@lehneres](https://github.com/lehneres), [@ia-S-on](https://github.com/ia-S-on), [@bangla24bdrang-lab](https://github.com/bangla24bdrang-lab) and [@Sy57em1](https://github.com/Sy57em1).
251
253
 
252
254
  โ†’ Full credits and highlighted contributions: [`CONTRIBUTORS.md`](./CONTRIBUTORS.md)
253
255
 
@@ -0,0 +1,21 @@
1
+ # Changelog v0.5.93 - 2026-09-21
2
+
3
+ ### Fixed
4
+
5
+ - **Mistral provider fully revived** (PR #185 by [@Sy57em1](https://github.com/Sy57em1)). The 2026-09-15 audit had rewritten every Mistral model id into a date-stamped form the API does not accept, so since v0.5.92 all 9 Mistral models returned `400 invalid_model` and the whole provider was dead. Every id was re-verified against the live `GET https://api.mistral.ai/v1/models` on a real Experiment-plan key:
6
+ - Restored: `mistral-medium-3-5`, `magistral-medium-latest` (moved to A+), `mistral-small-2603`, `ministral-14b-2512`, `ministral-8b-2512`, `ministral-3b-2512`
7
+ - Removed: Mistral Large 3 (no `large` model exists upstream at all), Z.ai GLM 5.2 (403 `tier_not_allowed`, paid tier only, never belonged in a free catalog), Mistral Small Creative (absent from the live catalog)
8
+ - `ministral-3b-2512` context window corrected 256k to 128k, taken from the model's real `max_context_length`
9
+ - Router daemon test updated to route through a model that exists
10
+
11
+ ### Added
12
+
13
+ - **"What does free mean here?" is now documented everywhere** (issue #186). Free is a property of the *(provider, model)* pair, never of the provider: a row is listed only when that exact model id costs $0 through that specific provider, verified live. The same open-weights model can be free on one host and paid on another. New content:
14
+ - `docs/providers.md`: full explainer section with the three-badge legend, generated by `scripts/generate-provider-table.mjs` so it cannot drift
15
+ - README: summary paragraph in the Providers section
16
+ - Web Dashboard models page: quota badge tooltips plus a legend line under the table, matching the badge colors (Free = recurring $0 tier, Limited = depleting allowance, Metered = $0-priced passthrough)
17
+ - [@Sy57em1](https://github.com/Sy57em1) added to the contributors lists.
18
+
19
+ ### Changed
20
+
21
+ - Docs counts refreshed after the audit and the Mistral fix: **24 providers / 251 live models** (was displaying a stale 228), README top-8 provider table regenerated from `sources.js`.
@@ -0,0 +1,37 @@
1
+ # Changelog v0.5.94 - 2026-09-21
2
+
3
+ Full 24-provider audit, every model re-checked against live APIs and official docs by 24 parallel researchers. Catalog goes 251 to 256 live free models. This audit also cleaned up several mistakes the 2026-09-15 audit introduced (dead or paid-only models that were wrongly re-added).
4
+
5
+ ### Removed (22)
6
+
7
+ - **NVIDIA NIM (-5):** deepseek-v4-flash-0731 died today (NVIDIA banner: deprecated 09/19, unsupported after 09/21), deepseek-v4-pro-0813 (410 Gone, EOL 09/14), qwen3-coder-480b-a35b-instruct (410 Gone since June - the 09-15 re-add resurrected a months-dead model), minimaxai/minimax-m3 (410 Gone, EOL 09/09) and minimaxai/minimax-m2.7 (410 Gone since 07/27).
8
+ - **Groq (-5):** the free tier collapsed. llama-3.1-8b-instant and llama-3.3-70b-versatile were shut down on 08/16 (the 09-15 re-add reverted a correct removal), minimax-m2.7 is enterprise-only on Groq (model_not_found on developer keys), and groq/compound + groq/compound-mini hit their shutdown date today. Groq is down to 3 free models: gpt-oss-120b, gpt-oss-20b, qwen3.8-27b.
9
+ - **Cloudflare (-7):** glm-5.3, glm-5.3-flash, glm-5.2, deepseek-v4-pro-0813, deepseek-v4-flash-0731, kimi-k2.6 and kimi-k2.7-code all now carry the "Paid access required: not available through standard Workers Free billing" badge on the official docs pages. They are unusable on the free 10k neurons/day tier, so they are out (this re-applies the 09-05 paid-only policy the 09-15 audit regressed).
10
+ - **Z.ai (-2):** glm-5.1 and glm-5.2 now silently redirect to GLM-5.3 on the Coding Plan, so the ids no longer serve a distinct free model.
11
+ - **Google AI (-1):** gemini-3.1-pro-preview re-removed - Pro models left the free tier around April 2026; the 09-15 re-add resurrected a paid-only model. The Gemini 2.5 family is still free but retires no earlier than 2026-10-16 (noted in-file).
12
+ - **Cerebras (-1):** qwen-3-235b-a22b-instruct-2507 was deprecated 2026-05-27; the official catalog now serves exactly 2 free models (gpt-oss-120b, qwen3.8-27b).
13
+ - **SiliconFlow (-1):** Qwen2.5-Coder-7B-Instruct was taken offline on 2026-03-17 (official release note); the 09-15 re-add resurrected a 6-months-dead id.
14
+
15
+ ### Added (27)
16
+
17
+ - **Alibaba DashScope (+4):** qwen3-coder-480b-a35b-instruct is back on the free billing page (1M-token free quota, page updated 09/20), plus new qwen3-coder-30b-a3b-instruct, qwen3-vl-plus and qwen3.8-omni-flash.
18
+ - **Pollinations (+10):** the flagship wave arrived - moonshotai/kimi-k3, deepseek-v4-pro, qwen3.8-max, gemini-3.1-pro-preview (free here even though paid on Google), openai/gpt-5.5, openai/gpt-6-astra, openai/gpt-5.6-luna, z-ai/glm-5.3-flash, nvidia/nemotron-3-ultra and qwen3-coder-next. Every id verified directly against the live /v1/models list (411 models).
19
+ - **OVHcloud (+4):** Qwen3-Coder-30B-A3B-Instruct, Mistral Small 3.2 24B, Mistral Nemo 12B and Mistral 7B v0.3 are back in the official AI Endpoints catalog.
20
+ - **Google AI (+2):** gemma-4-31b-it and gemma-4-26b-a4b-it joined the free tier.
21
+ - **Kilo (+2):** qwen3.8-27b:free and nemotron-3-nano-omni:free are new in the live free gateway list (20 free models now).
22
+ - **OpenRouter (+1):** qwen/qwen3.8-27b:free.
23
+ - **Cloudflare (+1):** @cf/aisingapore/gemma-sea-lion-v4-27b-it (SEA-language focused, secondary for coding).
24
+ - **OpenCode Zen (+1):** deepseek-v4-flash-free returned to the free pool (re-added with a re-verify note since it is still absent from the docs pricing table).
25
+ - **LLM7 (+1):** GLM-5.3-Flash is free again (turbo tier, verified with a live unauthenticated chat probe).
26
+ - **SiliconFlow (+1):** XingChenAGI/Xing4.0-29B, a new $0 engineering-focused model.
27
+
28
+ ### Fixed
29
+
30
+ - **NVIDIA key testing was silently broken in production:** `PROVIDER_TEST_MODEL_OVERRIDES.nvidia` probed keys with the model NVIDIA killed today, so a valid key would have been reported dead. It now probes with moonshotai/kimi-k3, then gpt-oss-120b.
31
+ - **Comment/value mismatches from the 09-15 audit:** OpenRouter glm-5.2:free claimed a 32k ctx fix that was never applied to the value (now 32k for real: the free endpoint caps at 32768); SiliconFlow GLM-Z1-9B and Codestral carried false "ctx fixed to..." comments contradicting correct values (comments removed, values untouched).
32
+ - **NVIDIA ctx corrections:** gemma-4-31b-it, diffusiongemma-26b-a4b-it and nemotron-3-nano-omni are 262k (official contextLength 262144), not 256k. Kimi K3 re-tiered to S+ with its 76.8% SWE-bench Verified score.
33
+ - **Pollinations aliases upgraded upstream:** laguna now serves Laguna S 2.1 (was XS.2), deepseek serves DeepSeek V4 Flash (was V3), kimi-code serves Kimi K2.7 Code, qwen-coder serves Qwen3 Coder 30B (re-scored to its own 51.6%), and openai resolves to GPT-5.4 Nano (re-tiered to the nano class). Labels and scores now match what actually answers. Header updated: /v1/chat/completions now requires a free API key (401 anonymous).
34
+ - **OVHcloud embedding models:** bge-m3 and bge-multilingual-gemma2 got their real 8k context.
35
+ - **OrcaRouter:** the in-file comment claimed the fusion family is pay-as-you-go while the model list said otherwise; the comment is corrected and the undocumented fusion models stay out until their free status is confirmed.
36
+ - **Tests:** router failover, endpoint-installer and key-discovery suites pinned dead NVIDIA ids; all swapped to live ids (1154/1154 tests pass).
37
+ - **Docs:** README and docs/providers.md refreshed to 24 providers / 256 models (regenerated from sources.js), website catalog copy synced.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "free-coding-models",
3
- "version": "0.5.92",
3
+ "version": "0.5.94",
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
@@ -48,34 +48,34 @@ export const nvidiaNim = [
48
48
  // Removed (2026-08-23): z-ai/glm-5.2 (GLM 5.1) โ€” no longer in integrate.api.nvidia.com/v1/models (102 models live)
49
49
  // Removed (2026-09-05): moonshotai/kimi-k2.6 (Kimi K2.6) - Model page returns 404 and model is absent from the NVIDIA model catalog; could not verify existence
50
50
  // Removed (2026-08-30): deepseek-ai/deepseek-v4-pro (DeepSeek V4 Pro) โ€” 410 Gone per NVIDIA NIM forum; replaced by deepseek-v4-flash:0731 (forums.developer.nvidia.com/t/deepseek-v4-pro-flash-removed/379558)
51
- ['deepseek-ai/deepseek-v4-flash-0731', 'DeepSeek V4 Flash', 'S+', '79.0%', '1M'], // Fixed (2026-08-13): id 'deepseek-ai/deepseek-v4-flash' โ†’ 'deepseek-ai/deepseek-v4-flash-0731' (NIM /v1/models only exposes the -0731 suffix)
51
+ // Removed (2026-09-21): deepseek-ai/deepseek-v4-flash-0731 (DeepSeek V4 Flash) โ€” NVIDIA deprecation banner on the model page: deprecated 2026-09-19, no longer supported after 2026-09-21; DeepSeek retired V4 Flash in favor of V4.1 Flash (not registered on NIM)
52
+ ['moonshotai/kimi-k3', 'Kimi K3', 'S+', '76.8%', '1M'], // Fixed (2026-09-21): tier 'S' โ†’ 'S+' + sweScore '-' โ†’ '76.8%' (tracker-sourced SWE-bench Verified; 76.8% is S+ on the documented scale)
52
53
  // Removed (2026-08-30): stepfun-ai/step-3.7-flash (Step 3.7 Flash) โ€” 410 Gone per NVIDIA NIM TUI ping (no replacement listed; superseded by step-3.7-flash via Routeway `step-3.7-flash:free`)
53
54
  ['nvidia/nemotron-3-ultra-550b-a55b', 'Nemotron 3 Ultra', 'S+', '71.9%', '1M'],
54
55
  ['poolside/laguna-xs-2.1', 'Laguna XS 2.1', 'S+', '70.9%', '262k'], // Added (2026-08-13)
55
56
  ['meta/muse-glimmer-30b', 'Muse Glimmer 30B', 'B+', '-', '128k'], // Added (2026-09-02) โ€” new in NIM catalog
56
- ['deepseek-ai/deepseek-v4-pro-0813', 'DeepSeek V4 Pro', 'S+', '-', '1M'], // Fixed (2026-09-15): ctx '1M' โ†’ '262k'
57
+ // Removed (2026-09-21): deepseek-ai/deepseek-v4-pro-0813 (DeepSeek V4 Pro) โ€” 410 Gone on live probe: end of life 2026-09-14T08:00:00Z; absent from /v1/models
57
58
  // โ”€โ”€ S tier โ€” SWE-bench Verified 60โ€“70% โ”€โ”€
58
59
  // Removed (2026-09-05): openai/gpt-oss-120b (GPT OSS 120B) - NVIDIA deprecation notice on model page: API deprecated on 09/02/2026 and no longer supported
59
60
  // Removed (2026-07-27): meta/llama-4-maverick-17b-128e-instruct (Llama 4 Maverick) โ€” EOL 2026-07-27 (HTTP 410 Gone)
60
61
  // Removed (2026-08-23): mistralai/mistral-medium-3.5-128b (Mistral Medium 3.5) โ€” no longer in integrate.api.nvidia.com/v1/models (still on Mistral LP directly)
61
62
  // Removed (2026-07-27): mistralai/mistral-small-4-119b-2603 (Mistral Small 4) โ€” EOL 2026-07-27 (HTTP 410 Gone)
62
63
  // Removed (2026-09-09): minimaxai/minimax-m3 (MiniMax M3) - 410 Gone per live chat probe: reached end of life 2026-09-09T09:00:00Z (shutdown was announced in-file on 2026-09-08)
63
- ['moonshotai/kimi-k3', 'Kimi K3', 'S', '-', '1M'], // Added (2026-09-02) โ€” new in NIM catalog
64
64
  ['mistralai/mistral-nemotron', 'Mistral Nemotron', 'S', '-', '128k'], // Fixed ID (2026-07-27): nvidia/mistral-nemotron โ†’ mistralai/mistral-nemotron
65
65
  // Removed (2026-07-27): deepseek-ai/deepseek-v3.2 (DeepSeek V3.2) โ€” HTTP 404
66
- ['qwen/qwen3-coder-480b-a35b-instruct', 'Qwen3 Coder 480B', 'S', '-', '262k'], // Added (2026-09-15) โ€” verified via live audit
66
+ // Removed (2026-09-21): qwen/qwen3-coder-480b-a35b-instruct (Qwen3 Coder 480B) โ€” 410 Gone on live probe: end of life 2026-06-11; the 2026-09-15 re-add was erroneous (model was never alive on NIM in September). Free 480B coder is still on DashScope as qwen3-coder-480b-a35b-instruct
67
67
  // โ”€โ”€ A+ tier โ€” SWE-bench Verified 50โ€“60% โ”€โ”€
68
68
  // Removed (2026-07-27): mistralai/mistral-large-3-675b-instruct-2512 (Mistral Large 675B) โ€” EOL 2026-07-23 (HTTP 410 Gone)
69
69
  ['nvidia/nemotron-3-super-120b-a12b', 'Nemotron 3 Super', 'S', '60.5%', '1M'],
70
- ['nvidia/nemotron-3-nano-omni-30b-a3b-reasoning', 'Nemotron 3 Omni', 'A+', '52.0%', '256k'],
70
+ ['nvidia/nemotron-3-nano-omni-30b-a3b-reasoning', 'Nemotron 3 Omni', 'A+', '52.0%', '262k'], // Fixed (2026-09-21): ctx '256k' โ†’ '262k' (official contextLength 262144)
71
71
  // Removed (2026-07-27): meta-llama/llama-4-scout-17b-16e-instruct (Llama 4 Scout) โ€” HTTP 404
72
72
  // Removed (2026-08-30): nvidia/llama-3.3-nemotron-super-49b-v1.5 (Llama 3.3 Nemotron Super 49B) โ€” 410 Gone per NVIDIA NIM TUI ping
73
+ // Removed (2026-09-21): minimaxai/minimax-m3 (MiniMax M3 Preview) โ€” 410 Gone on live probe: end of life 2026-09-09T09:00:00Z (same EOL already documented in-file on 2026-09-09; the 2026-09-15 re-add was erroneous)
73
74
  ['nvidia/nemotron-3.5-lightning-30b-a3b', 'Nemotron 3.5 Lightning 30B', 'A+', '52.8%', '1M'],
74
- ['minimaxai/minimax-m3', 'MiniMax M3 Preview', 'A+', '-', '1M'], // Added (2026-09-15) โ€” verified via live audit
75
75
  // โ”€โ”€ A tier โ€” SWE-bench Verified 40โ€“50% โ”€โ”€
76
76
  // Removed (2026-09-05): nvidia/nemotron-nano-3-30b-a3b (Nemotron Nano 30B) - Model page returns 404 and model is absent from the NVIDIA model catalog; superseded by Nemotron 3.5 Lightning
77
77
  ['openai/gpt-oss-20b', 'GPT OSS 20B', 'A+', '50.3%', '128k'],
78
- ['google/gemma-4-31b-it', 'Gemma 4 31B', 'A+', '52.0%', '256k'],
78
+ ['google/gemma-4-31b-it', 'Gemma 4 31B', 'A+', '52.0%', '262k'], // Fixed (2026-09-21): ctx '256k' โ†’ '262k' (official contextLength 262144)
79
79
  // Removed (2026-08-30): mistralai/mistral-large-2-instruct (Mistral Large 2) โ€” 404 NOT FOUND per NVIDIA NIM TUI ping (model not in NIM catalog; use Mistral LP `mistral-large-2512`)
80
80
  // Removed (2026-07-27): qwen/qwen2.5-coder-32b-instruct (Qwen2.5 Coder 32B) โ€” EOL 2026-05-12 (HTTP 410 Gone)
81
81
  // Removed (2026-07-27): deepseek-ai/deepseek-r1 (DeepSeek R1) โ€” HTTP 404
@@ -86,14 +86,14 @@ export const nvidiaNim = [
86
86
  // Removed (2026-08-30): meta/codellama-70b (CodeLlama 70B) โ€” 404 NOT FOUND per NVIDIA NIM TUI ping (docs.nvidia.com still lists CodeLlama but not via NIM `integrate.api` free tier)
87
87
  // Removed (2026-08-30): mistralai/codestral-22b-instruct-v0.1 (Codestral 22B) โ€” 404 NOT FOUND per NVIDIA NIM TUI ping (use Codestral `codestral-2508` via Mistral LP)
88
88
  // Removed (2026-08-30): ibm/granite-34b-code-instruct (Granite 34B Code) โ€” 404 NOT FOUND per NVIDIA NIM TUI ping
89
- ['minimaxai/minimax-m2.7', 'MiniMax M2.7', 'A', '-', '200k'], // Added (2026-09-15) โ€” verified via live audit
89
+ // Removed (2026-09-21): minimaxai/minimax-m2.7 (MiniMax M2.7) โ€” 410 Gone on live probe: end of life 2026-07-27T00:00:00Z; the 2026-09-15 re-add was erroneous. Still free on SambaNova/Routeway
90
90
  // โ”€โ”€ A- tier โ€” SWE-bench Verified 35โ€“40% โ”€โ”€
91
91
  // Removed (2026-07-27): bytedance/seed-oss-36b-instruct (Seed OSS 36B) โ€” EOL 2026-07-27 (HTTP 410 Gone)
92
92
  // Removed (2026-07-27): stockmark/stockmark-2-100b-instruct (Stockmark 100B) โ€” EOL 2026-07-15 (HTTP 410 Gone)
93
93
  // โ”€โ”€ B+ tier โ€” SWE-bench Verified 30โ€“35% โ”€โ”€
94
94
  // Removed (2026-07-27): mistralai/ministral-14b-instruct-2512 (Ministral 14B) โ€” EOL 2026-07-27 (HTTP 410 Gone)
95
95
  // Removed (2026-08-30): thinkingmachines/inkling (Inkling) โ€” 410 Gone per NVIDIA NIM TUI ping (per Model Deprecation Request 378412)
96
- ['google/diffusiongemma-26b-a4b-it', 'DiffusionGemma 26B', 'B+', '-', '256k'],
96
+ ['google/diffusiongemma-26b-a4b-it', 'DiffusionGemma 26B', 'B+', '-', '262k'], // Fixed (2026-09-21): ctx '256k' โ†’ '262k' (official contextLength 262144)
97
97
  // โ”€โ”€ B tier โ€” SWE-bench Verified 20โ€“30% โ”€โ”€
98
98
  // Removed (2026-09-05): meta/llama-3.2-11b-vision-instruct (Llama 3.2 11B Vision) - Model page on build.nvidia.com has no hosted endpoint at all (no Free Endpoint, no Partner Endpoint, no endpointData payload); docs page remains but the free API endpoint is gone
99
99
  // Removed (2026-08-30): nvidia/nemotron-mini-4b-instruct (Nemotron Mini 4B) โ€” 410 Gone per NVIDIA NIM TUI ping
@@ -106,15 +106,13 @@ export const nvidiaNim = [
106
106
  export const groq = [
107
107
  // Removed (2026-08-13): llama-3.3-70b-versatile (Llama 3.3 70B) โ€” Groq deprecation, shutdown 2026-08-16
108
108
  // Removed (2026-08-13): llama-3.1-8b-instant (Llama 3.1 8B) โ€” Groq deprecation, shutdown 2026-08-16
109
+ // Removed (2026-09-21): llama-3.3-70b-versatile + llama-3.1-8b-instant re-removed โ€” the 2026-09-15 re-add resurrected models Groq had shut down on 2026-08-16 (absent from the live /models list, deprecated 06/17/26 for free and developer tier)
110
+ // Removed (2026-09-21): minimaxai/minimax-m2.7 (MiniMax M2.7) โ€” enterprise-only on Groq (Contact Sales pricing, no developer-plan rate limits; live API returns model_not_found on a developer-tier key); the 2026-09-15 add was erroneous. Still free on SambaNova/Routeway
111
+ // Removed (2026-09-21): groq/compound + groq/compound-mini โ€” on Groq's official deprecation page with shutdown date 2026-09-21
109
112
  ['openai/gpt-oss-120b', 'GPT OSS 120B', 'S', '62.4%', '131k'],
110
113
  ['openai/gpt-oss-20b', 'GPT OSS 20B', 'A+', '60.7%', '131k'],
111
114
  // Removed (2026-09-15): qwen/qwen3.6-27b (Qwen3.6 27B) โ€” rotated out of Groq catalog, superseded by qwen/qwen3.8-27b; replacement: qwen/qwen3.8-27b
112
- ['groq/compound', 'Groq Compound', 'A', '45.0%', '131k'],
113
- ['groq/compound-mini', 'Groq Compound Mini', 'B+', '32.0%', '131k'],
114
115
  ['qwen/qwen3.8-27b', 'Qwen3.8 27B', 'A+', '-', '131k'],
115
- ['llama-3.3-70b-versatile', 'Llama 3.3 70B Versatile', 'B+', '-', '131k'], // Added (2026-09-15) โ€” verified via live audit
116
- ['llama-3.1-8b-instant', 'Llama 3.1 8B Instant', 'C', '-', '131k'], // Added (2026-09-15) โ€” verified via live audit
117
- ['minimaxai/minimax-m2.7', 'MiniMax M2.7', 'S', '-', '196k'], // Added (2026-09-15) โ€” verified via live audit
118
116
  ]
119
117
 
120
118
  // ๐Ÿ“– Cerebras source - https://cloud.cerebras.ai
@@ -127,7 +125,7 @@ export const cerebras = [
127
125
  // โ”€โ”€ A tier โ€” SWE-bench Verified 40โ€“50% โ”€โ”€
128
126
  // Removed (2026-09-05): gemma-4-31b (Gemma 4 31B) - Official deprecation notice dated 2026-09-03: gemma-4-31b is no longer available on Cerebras public endpoints; it remains only on paid Dedicated Endpoints, so it no longer has a free access tier
129
127
  ['qwen-3.8-27b', 'Qwen 3.8 27B', 'A+', '-', '64k'],
130
- ['qwen-3-235b-a22b-instruct-2507', 'Qwen3 235B A22B Instruct 2507', 'A+', '-', '65k'], // Added (2026-09-15) โ€” verified via live audit
128
+ // Removed (2026-09-21): qwen-3-235b-a22b-instruct-2507 (Qwen3 235B A22B Instruct 2507) โ€” deprecated by Cerebras 2026-05-27, no longer on public endpoints; official catalog lists only gpt-oss-120b and qwen-3.8-27b. The 2026-09-15 re-add was erroneous
131
129
  ]
132
130
 
133
131
  // ๐Ÿ“– SambaNova source - https://cloud.sambanova.ai
@@ -165,10 +163,11 @@ export const openrouter = [
165
163
  ['poolside/laguna-s-2.1:free', 'Poolside Laguna S 2.1', 'S+', '-', '262k'],
166
164
  // Removed (2026-09-15): minimax/minimax-m2.7:free (MiniMax M2.7) โ€” no longer free on OpenRouter
167
165
  // Removed (2026-09-15): minimax/minimax-m3:free (MiniMax M3) โ€” no longer free on OpenRouter
168
- ['z-ai/glm-5.2:free', 'GLM-5.2', 'S+', '-', '256k'], // Added (2026-09-02) // Fixed (2026-09-15): ctx '256k' โ†’ '32k'
166
+ ['z-ai/glm-5.2:free', 'GLM-5.2', 'S+', '-', '32k'], // Added (2026-09-02) // Fixed (2026-09-21): value now matches the 2026-09-15 comment: ctx '256k' โ†’ '32k' (free endpoint is context-capped at 32768 per live API)
169
167
  // โ”€โ”€ S tier โ€” SWE-bench Verified 60โ€“70% โ”€โ”€
170
168
  ['cohere/north-mini-code:free', 'North Mini Code', 'S', '-', '256k'],
171
169
  ['nvidia/nemotron-3-super-120b-a12b:free', 'Nemotron 3 Super', 'S', '60.5%', '262k'],
170
+ ['qwen/qwen3.8-27b:free', 'Qwen3.8 27B', 'S', '-', '262k'], // Added (2026-09-21) โ€” new in the live :free catalog
172
171
  // โ”€โ”€ A+ tier โ€” SWE-bench Verified 50โ€“60% โ”€โ”€
173
172
  ['nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free', 'Nemotron 3 Omni', 'A+', '52.0%', '256k'],
174
173
  ['google/gemma-4-31b-it:free', 'Gemma 4 31B', 'A+', '52.0%', '262k'],
@@ -203,21 +202,28 @@ export const githubModels = [
203
202
  // ๐Ÿ“– Mistral La Plateforme source - https://console.mistral.ai
204
203
  // ๐Ÿ“– Experiment plan is free for evaluation/prototyping and exposes general + coding models.
205
204
  // ๐Ÿ“– Keep Codestral as a separate provider key for backward compatibility with existing configs.
205
+ // ๐Ÿ“– Fixed (2026-09-16): every id below re-verified against the live
206
+ // ๐Ÿ“– GET https://api.mistral.ai/v1/models on a real Experiment-plan key.
207
+ // ๐Ÿ“– The 2026-09-15 audit had rewritten the working ids into a date-stamped
208
+ // ๐Ÿ“– form that Mistral does not accept, so ALL nine entries returned
209
+ // ๐Ÿ“– 400 invalid_model and the whole provider was dead. Context windows now
210
+ // ๐Ÿ“– come from each model's `max_context_length` instead of a blanket 256k.
206
211
  export const mistral = [
207
212
  // โ”€โ”€ S+ tier โ€” SWE-bench Verified โ‰ฅ70% โ”€โ”€
208
- ['mistral-large-3-25-12', 'Mistral Large 3', 'S+', '70.0%', '256k'], // Fixed ID (2026-09-15): mistral-large-2512 โ†’ mistral-large-3-25-12 (docs.mistral.ai/models)
209
- ['mistral-medium-3-5-26-04', 'Mistral Medium 3.5', 'S+', '77.6%', '256k'], // Fixed ID (2026-09-15): mistral-medium-3-5 โ†’ mistral-medium-3-5-26-04 (docs.mistral.ai/models)
213
+ ['mistral-medium-3-5', 'Mistral Medium 3.5', 'S+', '77.6%', '256k'], // Fixed (2026-09-16): mistral-medium-3-5-26-04 โ†’ mistral-medium-3-5 (live /v1/models, ctx 262144)
210
214
  // Removed (2026-08-13): devstral-2512 (Devstral 2) โ€” Mistral deprecation, full retirement 2026-07-31
211
- ['zai-glm-5-2', 'Z.ai GLM 5.2', 'S+', '82.8%', '1M'],
215
+ // Removed (2026-09-16): mistral-large-3-25-12 (Mistral Large 3) โ€” no `large` model exists in the live catalog at all
216
+ // Removed (2026-09-16): zai-glm-5-2 (Z.ai GLM 5.2) โ€” absent from /v1/models; a direct call returns 403 tier_not_allowed (paid tier only), so it never belonged in a free catalog
217
+ // โ”€โ”€ A+ tier โ”€โ”€
218
+ ['magistral-medium-latest', 'Magistral Medium', 'A+', '-', '256k'], // Fixed (2026-09-16): magistral-medium-1-2-25-09 โ†’ magistral-medium-latest (only the -latest alias exists upstream)
212
219
  // โ”€โ”€ A tier โ€” SWE-bench Verified 40โ€“50% โ”€โ”€
213
- ['mistral-small-4-0-26-03', 'Mistral Small 4', 'A', '48.0%', '256k'], // Fixed ID (2026-09-15): mistral-small-2603 โ†’ mistral-small-4-0-26-03 (docs.mistral.ai/models)
220
+ ['mistral-small-2603', 'Mistral Small 4', 'A', '48.0%', '256k'], // Fixed (2026-09-16): mistral-small-4-0-26-03 โ†’ mistral-small-2603 (live /v1/models, ctx 262144)
214
221
  // โ”€โ”€ B+ tier โ€” SWE-bench Verified 30โ€“35% โ”€โ”€
215
- ['ministral-3-14b-25-12', 'Ministral 3 14B', 'B+', '-', '256k'], // Fixed (2026-08-13): id 'ministral-3-14b-25-12' โ†’ 'ministral-14b-2512' (API model ID per Mistral docs JSON) // Fixed ID (2026-09-15): ministral-14b-2512 โ†’ ministral-3-14b-25-12 (docs.mistral.ai/models)
222
+ ['ministral-14b-2512', 'Ministral 3 14B', 'B+', '-', '256k'], // Fixed (2026-09-16): ministral-3-14b-25-12 โ†’ ministral-14b-2512 (live /v1/models, ctx 262144)
216
223
  // โ”€โ”€ B tier โ€” SWE-bench Verified 20โ€“30% โ”€โ”€
217
- ['ministral-3-8b-25-12', 'Ministral 3 8B', 'B', '-', '256k'], // Fixed (2026-08-13): id 'ministral-3-8b-25-12' โ†’ 'ministral-8b-2512' // Fixed ID (2026-09-15): ministral-8b-2512 โ†’ ministral-3-8b-25-12 (docs.mistral.ai/models)
218
- ['ministral-3-3b-25-12', 'Ministral 3 3B', 'B', '-', '256k'], // Fixed (2026-08-13): id 'ministral-3-3b-25-12' โ†’ 'ministral-3b-2512' // Fixed ID (2026-09-15): ministral-3b-2512 โ†’ ministral-3-3b-25-12 (docs.mistral.ai/models)
219
- ['mistral-small-creative-25-12', 'Mistral Small Creative (Labs)', 'B', '-', '256k'], // Added (2026-09-15) โ€” verified via live audit
220
- ['magistral-medium-1-2-25-09', 'Magistral Medium 1.2', 'A+', '-', '256k'], // Added (2026-09-15) โ€” verified via live audit
224
+ ['ministral-8b-2512', 'Ministral 3 8B', 'B', '-', '256k'], // Fixed (2026-09-16): ministral-3-8b-25-12 โ†’ ministral-8b-2512 (live /v1/models, ctx 262144)
225
+ ['ministral-3b-2512', 'Ministral 3 3B', 'B', '-', '128k'], // Fixed (2026-09-16): ministral-3-3b-25-12 โ†’ ministral-3b-2512; ctx 256k โ†’ 128k (max_context_length 131072)
226
+ // Removed (2026-09-16): mistral-small-creative-25-12 (Mistral Small Creative) โ€” absent from the live catalog
221
227
  ]
222
228
 
223
229
  // ๐Ÿ“– Mistral Codestral source - https://codestral.mistral.ai
@@ -225,7 +231,7 @@ export const mistral = [
225
231
  // ๐Ÿ“– API keys now use the Mistral platform key format; CODESTRAL_API_KEY remains supported as an alias.
226
232
  export const codestral = [
227
233
  // โ”€โ”€ A tier โ€” SWE-bench Verified 40โ€“50% โ”€โ”€
228
- ['codestral-2508', 'Codestral', 'A', '40.0%', '256k'], // Fixed (2026-07-27): ctx '256k' โ†’ '128k' per official Mistral model card
234
+ ['codestral-2508', 'Codestral', 'A', '40.0%', '256k'], // Fixed (2026-09-21): deleted the false 2026-07-27 "ctx to 128k" comment; 256k is the correct value per the official model card
229
235
  // Removed (2026-08-23): codestral-2501 (Codestral 2501), codestral-2405 (Codestral 2405) โ€” retired from Mistral API; only codestral-2508 / codestral-latest remain
230
236
  // Removed (2026-08-13): codestral-2 (Codestral 2) โ€” fabricated ID, never existed in Mistral catalog (Mistral uses date-stamped versioning)
231
237
  ]
@@ -273,8 +279,11 @@ export const googleai = [
273
279
  ['gemini-3-flash-preview', 'Gemini 3 Flash Preview', 'S+', '78.0%', '1M'], // Restored (2026-09-05) โ€” free tier confirmed per official pricing page
274
280
  ['gemini-2.5-pro', 'Gemini 2.5 Pro', 'S', '63.8%', '1M'], // Restored (2026-09-05) โ€” free tier confirmed per official pricing page
275
281
  // Removed (2026-09-02): gemini-3.1-pro-preview (Gemini 3.1 Pro Preview) โ€” free tier "Not available" per official pricing page (rechecked 2026-09-05)
282
+ // Removed (2026-09-21): gemini-3.1-pro-preview re-removed โ€” the 2026-09-15 re-add resurrected a paid-only model (free tier "Not available" on the official pricing page since ~April 2026); best free alternative: gemini-3.5-flash
276
283
  // Removed (2026-09-05): gemini-2.0-flash โ€” not listed on the official pricing page (PR #178 addition reverted)
277
- ['gemini-3.1-pro-preview', 'Gemini 3.1 Pro Preview', 'S+', '-', '1M'], // Added (2026-09-15) โ€” verified via live audit
284
+ // โš ๏ธ Gemini 2.5 family retires no earlier than 2026-10-16 per Google deprecation policy
285
+ ['gemma-4-31b-it', 'Gemma 4 31B', 'A+', '52.0%', '256k'], // Added (2026-09-21) โ€” new in the free tier per official docs
286
+ ['gemma-4-26b-a4b-it', 'Gemma 4 26B MoE', 'A', '38.0%', '256k'], // Added (2026-09-21) โ€” new in the free tier per official docs
278
287
  ]
279
288
 
280
289
  // ๐Ÿ“– ZAI source - https://open.z.ai
@@ -284,9 +293,8 @@ export const googleai = [
284
293
  export const zai = [
285
294
  // โ”€โ”€ S+ tier โ€” SWE-bench Verified โ‰ฅ70% โ”€โ”€
286
295
  ['zai/glm-5.3-flash', 'GLM-5.3-Flash', 'S+', '-', '1M'], // Added (2026-09-02)
287
- ['zai/glm-5.2', 'GLM-5.2', 'S+', '-', '1M'], // Added (2026-08-13)
288
296
  ['zai/glm-5.3', 'GLM-5.3', 'S+', '-', '1M'],
289
- ['zai/glm-5.1', 'GLM-5.1', 'S+', '-', '200k'], // Added (2026-09-15) โ€” verified via live audit
297
+ // Removed (2026-09-21): zai/glm-5.2 + zai/glm-5.1 โ€” Coding Plan requests for both are now silently redirected to GLM-5.3 (official docs.z.ai plan update), so the ids no longer serve a distinct free model; both remain paid-API models
290
298
  ['zai/glm-5', 'GLM-5', 'S+', '-', '200k'], // Added (2026-09-15) โ€” verified via live audit
291
299
  // โ”€โ”€ S tier โ€” SWE-bench Verified 60โ€“70% โ”€โ”€
292
300
  ['zai/glm-4.7-flash', 'GLM-4.7-Flash', 'A+', '59.2%', '200k'], // Fixed (2026-07-27): ctx '203k' โ†’ '200k' per official docs
@@ -322,6 +330,7 @@ export const qwen = [
322
330
  ['qwen3-coder-plus', 'Qwen3 Coder Plus', 'S', '69.6%', '1M'],
323
331
  ['qwen3-coder-next', 'Qwen3 Coder Next', 'S+', '70.6%', '256k'],
324
332
  // Removed (2026-09-15): qwen3-coder-480b-a35b-instruct (Qwen3 Coder 480B) โ€” legacy, superseded by qwen3-coder-next; replacement: qwen3-coder-next
333
+ ['qwen3-coder-480b-a35b-instruct', 'Qwen3 Coder 480B', 'S', '69.6%', '256k'], // Re-added (2026-09-21) โ€” back on the official free billing page (1M-token free quota, updated 2026-09-20); free tier did not remove it after all
325
334
  ['qwen3.8-27b', 'Qwen3.8 27B', 'S', '-', '1M'],
326
335
  // โ”€โ”€ A+ tier โ€” SWE-bench Verified 50โ€“60% โ”€โ”€
327
336
  ['qwen3.7-flash', 'Qwen3.7 Flash', 'A+', '-', '1M'], // Added (2026-07-27)
@@ -329,6 +338,8 @@ export const qwen = [
329
338
  ['qwen3.5-flash', 'Qwen3.5 Flash', 'S', '64.4%', '1M'],
330
339
  ['qwen3-coder-flash', 'Qwen3 Coder Flash', 'A+', '55.0%', '1M'],
331
340
  ['qwen3-vl-flash', 'Qwen3 VL Flash', 'A+', '-', '256k'], // Added (2026-08-13)
341
+ ['qwen3-vl-plus', 'Qwen3 VL Plus', 'A+', '-', '256k'], // Added (2026-09-21) โ€” on the official free billing page (1M-token free quota)
342
+ ['qwen3-coder-30b-a3b-instruct', 'Qwen3 Coder 30B A3B', 'A+', '-', '256k'], // Added (2026-09-21) โ€” on the official free billing page (1M-token free quota)
332
343
  // Removed (2026-09-15): qwen3-32b (Qwen3 32B) โ€” legacy, Oct 10 2026 shutdown (aliyun notice 118434); replacement: qwen3.8-27b
333
344
  ['qwen3.5-397b-a17b', 'Qwen3.5 397B A17B', 'S+', '76.2%', '256k'],
334
345
  ['qwen3.5-122b-a10b', 'Qwen3.5 122B A10B', 'S+', '72.0%', '256k'],
@@ -341,6 +352,7 @@ export const qwen = [
341
352
  ['qwen3.5-27b', 'Qwen3.5 27B', 'S+', '72.4%', '256k'],
342
353
  // Removed (2026-09-15): qwen3-30b-a3b (Qwen3 30B A3B) โ€” legacy, Oct 10 2026 shutdown; replacement: qwen3.5-35b-a3b
343
354
  ['qwen3.5-omni-plus', 'Qwen3.5 Omni Plus', 'B+', '-', '32k'], // Added (2026-09-15) โ€” verified via live audit
355
+ ['qwen3.8-omni-flash', 'Qwen3.8 Omni Flash', 'B+', '-', '32k'], // Added (2026-09-21) โ€” on the official free billing page; ctx follows omni-family precedent (32k)
344
356
  ['qwen3.6-27b', 'Qwen3.6 27B', 'B+', '-', '256k'], // Added (2026-09-15) โ€” verified via live audit
345
357
  ['qwen3.6-35b-a3b', 'Qwen3.6 35B A3B', 'B+', '-', '256k'], // Added (2026-09-15) โ€” verified via live audit
346
358
  ]
@@ -354,16 +366,11 @@ export const cloudflare = [
354
366
  // Removed (2026-09-05): @cf/moonshotai/kimi-k2.6 (Kimi K2.6) - model still exists but docs state it is not available through standard Workers Free billing; requires Workers Paid plan or prepaid AI Gateway credits, so unusable within the free 10k neurons/day tier
355
367
  // Removed (2026-09-05): @cf/moonshotai/kimi-k2.7-code (Kimi K2.7 Code) - model still exists but docs state it is not available through standard Workers Free billing; requires Workers Paid plan or prepaid AI Gateway credits
356
368
  // Removed (2026-09-05): @cf/zai-org/glm-5.2 (GLM-5.2) - model still exists but docs state it is not available through standard Workers Free billing; requires Workers Paid plan or prepaid AI Gateway credits
357
- ['@cf/zai-org/glm-5.3-flash', 'GLM-5.3-Flash', 'S+', '-', '1.3M'], // Added (2026-09-15) โ€” verified via live audit
358
- ['@cf/zai-org/glm-5.3', 'GLM-5.3', 'S+', '-', '1.3M'], // Added (2026-09-15) โ€” verified via live audit
369
+ // Removed (2026-09-21): @cf/zai-org/glm-5.3-flash + @cf/zai-org/glm-5.3 โ€” both now carry the "Paid access required: not available through standard Workers Free billing" badge on the official docs pages; the 2026-09-15 re-add was erroneous
359
370
  // โ”€โ”€ S tier โ€” SWE-bench Verified 60โ€“70% โ”€โ”€
360
371
  ['@cf/zai-org/glm-4.7-flash', 'GLM-4.7-Flash', 'A+', '59.2%', '131k'],
361
372
  ['@cf/openai/gpt-oss-120b', 'GPT OSS 120B', 'S', '62.4%', '128k'],
362
- ['@cf/zai-org/glm-5.2', 'GLM-5.2', 'S', '-', '262k'], // Added (2026-09-15) โ€” verified via live audit
363
- ['@cf/deepseek-ai/deepseek-v4-pro-0813', 'DeepSeek V4 Pro', 'S', '-', '1M'], // Added (2026-09-15) โ€” verified via live audit
364
- ['@cf/deepseek-ai/deepseek-v4-flash-0731', 'DeepSeek V4 Flash', 'S', '-', '1.3M'], // Added (2026-09-15) โ€” verified via live audit
365
- ['@cf/moonshotai/kimi-k2.7-code', 'Kimi K2.7 Code', 'S', '-', '262k'], // Added (2026-09-15) โ€” verified via live audit
366
- ['@cf/moonshotai/kimi-k2.6', 'Kimi K2.6', 'S', '-', '262k'], // Added (2026-09-15) โ€” verified via live audit
373
+ // Removed (2026-09-21): @cf/zai-org/glm-5.2, @cf/deepseek-ai/deepseek-v4-pro-0813, @cf/deepseek-ai/deepseek-v4-flash-0731, @cf/moonshotai/kimi-k2.7-code, @cf/moonshotai/kimi-k2.6 re-removed โ€” all five carry the "Paid access required: not available through standard Workers Free billing" badge on their official docs pages; the 2026-09-15 re-adds regressed the 2026-09-05 paid-only policy
367
374
  // โ”€โ”€ A+ tier โ€” SWE-bench Verified 50โ€“60% โ”€โ”€
368
375
  ['@cf/nvidia/nemotron-3-120b-a12b', 'Nemotron 3 Super', 'S', '60.5%', '256k'],
369
376
  // โ”€โ”€ A tier โ€” SWE-bench Verified 40โ€“50% โ”€โ”€
@@ -380,6 +387,7 @@ export const cloudflare = [
380
387
  // โ”€โ”€ B+ tier โ€” SWE-bench Verified 30โ€“35% โ”€โ”€
381
388
  ['@cf/mistralai/mistral-small-3.1-24b-instruct', 'Mistral Small 3.1', 'B+', '30.0%', '128k'],
382
389
  ['@cf/ibm-granite/granite-4.0-h-micro', 'Granite 4.0 Micro', 'B+', '30.0%', '131k'], // Fixed (2026-07-27): namespace 'ibm' โ†’ 'ibm-granite'
390
+ ['@cf/aisingapore/gemma-sea-lion-v4-27b-it', 'Gemma SEA-LION V4 27B', 'B+', '-', '128k'], // Added (2026-09-21) โ€” new in the free catalog; SEA-language focused, secondary for coding
383
391
  // โ”€โ”€ B tier โ€” SWE-bench Verified 20โ€“30% โ”€โ”€
384
392
  // Removed (2026-09-15): @cf/meta/llama-3.1-8b-instruct-fast (Llama 3.1 8B Instruct (Fast)) โ€” delisted; llama-3.1-8b-instruct-fp8 (32k ctx) remains; replacement: @cf/meta/llama-3.1-8b-instruct-fp8
385
393
  // Removed (2026-08-30): @cf/google/gemma-3-12b-it (Gemma 3 12B IT) โ€” Deprecated 2026-05-30 per Cloudflare Workers AI docs (developers.cloudflare.com/workers-ai/models/gemma-3-12b-it)
@@ -394,6 +402,7 @@ export const ovhcloud = [
394
402
  ['Qwen3.5-397B-A17B', 'Qwen3.5 397B MoE', 'S+', '76.2%', '262k'],
395
403
  ['Qwen3.6-27B', 'Qwen3.6 27B', 'S+', '77.2%', '262k'],
396
404
  // Removed (2026-07-27): Qwen3-Coder-30B-A3B-Instruct (Qwen3 Coder 30B MoE) โ€” no longer in catalog
405
+ ['Qwen3-Coder-30B-A3B-Instruct', 'Qwen3 Coder 30B A3B', 'A+', '51.6%', '262k'], // Re-added (2026-09-21) โ€” back in the official AI Endpoints catalog
397
406
  ['gpt-oss-120b', 'GPT OSS 120B', 'S', '62.4%', '131k'],
398
407
  ['gpt-oss-20b', 'GPT OSS 20B', 'A+', '50.3%', '131k'],
399
408
  ['Meta-Llama-3_3-70B-Instruct', 'Llama 3.3 70B', 'B', '22.0%', '131k'],
@@ -401,12 +410,15 @@ export const ovhcloud = [
401
410
  // Removed (2026-08-13): Mistral-Small-3.2-24B-Instruct-2506 (Mistral Small 3.2) โ€” no longer in OVHcloud public catalog (endpoint still reachable but not listed)
402
411
  // Removed (2026-07-27): Mistral-7B-Instruct-v0.3 (Mistral 7B Instruct) โ€” no longer in catalog
403
412
  // Removed (2026-08-13): Mistral-Nemo-Instruct-2407 (Mistral Nemo) โ€” no longer in OVHcloud public catalog
413
+ ['Mistral-Small-3.2-24B-Instruct-2506', 'Mistral Small 3.2 24B', 'S', '69.4%', '131k'], // Re-added (2026-09-21) โ€” back in the official catalog (Mistral's self-reported 69.4% SWE-bench Verified)
414
+ ['Mistral-Nemo-Instruct-2407', 'Mistral Nemo 12B', 'B', '-', '65k'], // Re-added (2026-09-21) โ€” back in the official catalog
415
+ ['Mistral-7B-Instruct-v0.3', 'Mistral 7B v0.3', 'C', '-', '65k'], // Re-added (2026-09-21) โ€” back in the official catalog
404
416
  ['Qwen3.5-9B', 'Qwen3.5 9B', 'B+', '30.0%', '262k'],
405
417
  ['Qwen2.5-VL-72B-Instruct', 'Qwen2.5-VL 72B', 'S', '-', '32k'], // Added (2026-08-13)
406
418
  // โ”€โ”€ Embeddings โ”€โ”€
407
419
  ['Qwen3-Embedding-8B', 'Qwen3 Embedding 8B', 'B', '-', '32k'], // Fixed (2026-07-27): ctx '-' โ†’ '32k'
408
- ['bge-m3', 'BGE M3', 'B', '-', '-'],
409
- ['bge-multilingual-gemma2', 'BGE Multilingual Gemma2','B','-', '-'],
420
+ ['bge-m3', 'BGE M3', 'B', '-', '8k'], // Fixed (2026-09-21): ctx '-' โ†’ '8k' (embedding model, 8192 tokens)
421
+ ['bge-multilingual-gemma2', 'BGE Multilingual Gemma2','B','-', '8k'], // Fixed (2026-09-21): ctx '-' โ†’ '8k' (embedding model, 8192 tokens)
410
422
  // 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
411
423
  ['Qwen3Guard-Gen-8B', 'Qwen3Guard Gen 8B (moderation, beta)', 'C', '-', '32k'],
412
424
  ['Qwen3Guard-Gen-0.6B', 'Qwen3Guard Gen 0.6B (moderation, beta)', 'C', '-', '32k'],
@@ -423,6 +435,7 @@ export const ovhcloud = [
423
435
  export const opencodeZen = [
424
436
  ['big-pickle', 'Big Pickle', 'S+', '72.0%', '200k'],
425
437
  // Removed (2026-09-05): deepseek-v4-flash-free (DeepSeek V4 Flash Free) - deprecated: marked status=deprecated in the models.dev registry (2026-09-05) and dropped from the docs free-models pricing table; free promo ended
438
+ ['deepseek-v4-flash-free', 'DeepSeek V4 Flash Free', 'S+', '79.0%', '200k'], // Re-added (2026-09-21) โ€” free again per the live Zen /v1/models list and models.dev ($0 pricing); still absent from the docs pricing table so re-verify at next audit
426
439
  ['mimo-v2.5-free', 'MiMo-V2.5 Free', 'S+', '-', '200k'],
427
440
  ['nemotron-3-ultra-free', 'Nemotron 3 Ultra Free', 'S+', '71.9%', '1M'],
428
441
  // Removed (2026-09-05): hy3-free (Tencent Hy3 Free) โ€” absent from live /v1/models (66 models checked)
@@ -459,6 +472,8 @@ export const kilo = [
459
472
  ['inclusionai/ling-3.0-flash-vl:free', 'Ling 3.0 Flash VL (free)', 'B+', '-', '262k'], // Added (2026-09-15) โ€” verified via live audit
460
473
  ['nex-agi/nex-n2.5-mini:free', 'Nex AGI Nex-N2.5-Mini (free)', 'B+', '-', '262k'], // Added (2026-09-15) โ€” verified via live audit
461
474
  ['nex-agi/nex-n2.5-pro:free', 'Nex AGI Nex-N2.5-Pro (free)', 'A', '-', '262k'], // Added (2026-09-15) โ€” verified via live audit
475
+ ['nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free', 'NVIDIA Nemotron 3 Nano Omni (free)', 'A+', '-', '262k'], // Added (2026-09-21) โ€” new in the live free gateway list
476
+ ['qwen/qwen3.8-27b:free', 'Qwen3.8 27B (free)', 'S', '-', '262k'], // Added (2026-09-21) โ€” new in the live free gateway list
462
477
  ]
463
478
 
464
479
  // ๐Ÿ“– LLM7 source - https://api.llm7.io/v1
@@ -470,6 +485,7 @@ export const llm7 = [
470
485
  // Removed (2026-09-05): glm-5.3, glm-5.3-flash, gemini-3.5-flash-low, gpt-5.4, gpt-5.4-mini, gpt-5.5, gpt-5.6-sol, grok-4.5, grok-4.6 โ€” tier=pro usage_based_only (paid) or nonexistent on /v1/models (PR #178 additions reverted)
471
486
  // โ”€โ”€ S+ tier โ€” SWE-bench Verified โ‰ฅ70% โ”€โ”€
472
487
  ['minimax-m2.7', 'MiniMax M2.7', 'S+', '78.0%', '180k'],
488
+ ['GLM-5.3-Flash', 'GLM-5.3 Flash', 'S+', '-', '400k'], // Re-added (2026-09-21) โ€” returned to the free tier (turbo, usage_based_only:false), verified via live unauthenticated chat probe; ctx 410k per /v1/models
473
489
  // โ”€โ”€ A+ tier โ€” SWE-bench Verified 50โ€“60% โ”€โ”€
474
490
  // Removed (2026-09-05): gemini-3.1-flash-lite (Gemini 3.1 Flash Lite) โ€” now tier=pro usage_based_only (paid) per live /v1/models
475
491
  // Removed (2026-09-15): gpt-oss (GPT OSS 20B) โ€” removed from LLM7 API catalog
@@ -525,21 +541,33 @@ export const novita = [
525
541
 
526
542
  // ๐Ÿ“– Pollinations AI source - https://gen.pollinations.ai
527
543
  // ๐Ÿ“– OpenAI-compatible endpoint: https://gen.pollinations.ai/v1/chat/completions
528
- // ๐Ÿ“– Free tier: anonymous without key or free API key from https://enter.pollinations.ai
529
- // ๐Ÿ“– Daily Pollen grants per tier (seed/flower/nectar) โ€” free models cost Pollen but grants renew daily; anonymous tier has rate limits.
530
- // ๐Ÿ“– Verified live 2026-08-23 via GET /v1/models (319 models); IDs below are live and coding-relevant.
544
+ // ๐Ÿ“– Free tier: free API key from https://enter.pollinations.ai (Pollen credit system with free daily grants).
545
+ // ๐Ÿ“– Since 2026-09 the /v1/chat/completions endpoint requires a free API key (401 without one); the legacy
546
+ // ๐Ÿ“– anonymous path only reaches the default model via GET /text. Daily Pollen grants per tier renew free.
547
+ // ๐Ÿ“– Verified live 2026-09-21 via GET /v1/models (411 models): the old short ids (openai, deepseek, kimi,
548
+ // ๐Ÿ“– laguna...) are no longer primary ids but still resolve as aliases of the canonical namespaced models.
531
549
  export const pollinations = [
532
550
  // โ”€โ”€ S+ tier โ€” SWE-bench Verified โ‰ฅ70% โ”€โ”€
533
- ['laguna', 'Laguna XS.2', 'S+', '70.9%', '1M'],
551
+ ['laguna', 'Laguna S 2.1', 'S+', '-', '1M'], // Fixed (2026-09-21): alias now resolves to poolside/laguna-s-2.1 (Laguna S 2.1), was Laguna XS.2; score cleared (S 2.1 has no published SWE-bench Verified)
534
552
  ['minimax-m2.7', 'MiniMax M2.7', 'S+', '78.0%', '200k'],
535
553
  ['glm-5.3', 'Z.ai GLM-5.3', 'S+', '-', '1M'],
536
554
  ['kimi', 'Moonshot Kimi K2.6', 'S+', '80.2%', '262k'],
537
555
  ['minimax', 'MiniMax M3', 'S+', '80.5%', '524k'],
556
+ ['moonshotai/kimi-k3', 'Moonshot Kimi K3', 'S+', '76.8%', '1M'], // Added (2026-09-21) โ€” canonical id, healthy on live /v1/models; score follows the Kimi K3 entry on NVIDIA
557
+ ['deepseek/deepseek-v4-pro', 'DeepSeek V4 Pro', 'S+', '-', '1M'], // Added (2026-09-21) โ€” canonical id, healthy on live /v1/models
558
+ ['qwen/qwen3.8-max', 'Qwen3.8 Max', 'S+', '-', '1M'], // Added (2026-09-21) โ€” canonical id, healthy on live /v1/models
559
+ ['google/gemini-3.1-pro-preview', 'Gemini 3.1 Pro Preview', 'S+', '-', '1M'], // Added (2026-09-21) โ€” canonical id (paid-only on Google AI Studio but free here)
560
+ ['openai/gpt-5.5', 'OpenAI GPT-5.5', 'S+', '-', '1M'], // Added (2026-09-21) โ€” canonical id, healthy on live /v1/models
561
+ ['openai/gpt-6-astra', 'OpenAI GPT-6 Astra', 'S+', '-', '1M'], // Added (2026-09-21) โ€” canonical id, healthy on live /v1/models
562
+ ['z-ai/glm-5.3-flash', 'Z.ai GLM-5.3 Flash', 'S+', '-', '1M'], // Added (2026-09-21) โ€” canonical id, healthy on live /v1/models
563
+ ['nvidia/nemotron-3-ultra', 'NVIDIA Nemotron 3 Ultra', 'S+', '71.9%', '262k'], // Added (2026-09-21) โ€” canonical id, healthy on live /v1/models; score/scale from the NVIDIA entry
538
564
  // โ”€โ”€ S tier โ€” SWE-bench Verified 60โ€“70% โ”€โ”€
539
- ['qwen-coder', 'Qwen3 Coder', 'S', '69.6%', '262k'],
540
- ['deepseek', 'DeepSeek V3', 'S', '66.0%', '1M'],
541
- ['kimi-code', 'Kimi K2 Code', 'S', '60.4%', '262k'],
542
- ['openai', 'OpenAI GPT', 'S', '62.4%', '400k'],
565
+ ['qwen-coder', 'Qwen3 Coder 30B', 'A+', '51.6%', '262k'], // Fixed (2026-09-21): alias now resolves to qwen/qwen3-coder-30b-a3b-instruct; re-scored from the 480B figure to the 30B SWE-bench Verified
566
+ ['deepseek', 'DeepSeek V4 Flash', 'S+', '79.0%', '1M'], // Fixed (2026-09-21): alias now resolves to deepseek/deepseek-v4-flash (V4 Flash 0731), was V3; re-scored per the V4 Flash family entry
567
+ ['kimi-code', 'Kimi K2.7 Code', 'S', '60.4%', '262k'], // Fixed (2026-09-21): alias now resolves to moonshotai/kimi-k2.7-code, was K2 Code
568
+ ['openai', 'OpenAI GPT-5.4 Nano', 'B+', '-', '400k'], // Fixed (2026-09-21): alias now resolves to openai/gpt-5.4-nano (was a generic GPT alias); re-tiered to the nano class
569
+ ['qwen/qwen3-coder-next', 'Qwen3 Coder Next', 'S+', '70.6%', '262k'], // Added (2026-09-21) โ€” canonical id (new on the network, health still warming up); score from the DashScope entry
570
+ ['openai/gpt-5.6-luna', 'OpenAI GPT-5.6 Luna', 'S', '-', '1M'], // Added (2026-09-21) โ€” canonical id, healthy on live /v1/models
543
571
  // โ”€โ”€ A+ tier โ€” SWE-bench Verified 50โ€“60% โ”€โ”€
544
572
  ['gemma-4-31b', 'Gemma 4 31B', 'A+', '52.0%', '262k'],
545
573
  ['gpt-oss', 'GPT OSS 20B', 'A+', '50.3%', '131k'],
@@ -556,7 +584,7 @@ export const pollinations = [
556
584
  // ๐Ÿ“– and still reachable with free-tier rate limits (1000 RPM). Keep only the chat text models here.
557
585
  export const siliconflow = [
558
586
  // โ”€โ”€ A tier โ€” SWE-bench Verified 40โ€“50% โ”€โ”€
559
- ['THUDM/GLM-Z1-9B-0414', 'GLM-Z1 9B', 'A', '-', '131k'], // Fixed (2026-09-15): ctx '131k' โ†’ '32k'
587
+ ['THUDM/GLM-Z1-9B-0414', 'GLM-Z1 9B', 'A', '-', '131k'], // Fixed (2026-09-21): deleted the false 2026-09-15 "ctx to 32k" comment; official context_length is 131072 so the value stays 131k
560
588
  ['deepseek-ai/DeepSeek-R1-0528-Qwen3-8B', 'DeepSeek R1 0528 Qwen3 8B', 'A', '-', '131k'],
561
589
  // โ”€โ”€ B+ tier โ”€โ”€
562
590
  ['Qwen/Qwen3-8B', 'Qwen3 8B', 'B+', '30.0%', '131k'],
@@ -564,7 +592,8 @@ export const siliconflow = [
564
592
  ['Qwen/Qwen3.5-4B', 'Qwen3.5 4B', 'A-', '-', '262k'],
565
593
  ['THUDM/GLM-4-9B-0414', 'GLM-4 9B', 'B+', '-', '32k'],
566
594
  ['Qwen/Qwen2.5-7B-Instruct', 'Qwen2.5 7B Instruct', 'B', '-', '32k'],
567
- ['Qwen/Qwen2.5-Coder-7B-Instruct', 'Qwen2.5 Coder 7B Instruct', 'B+', '-', '32k'], // Added (2026-09-15) โ€” verified via live audit
595
+ ['XingChenAGI/Xing4.0-29B', 'Xing4.0 29B', 'A-', '-', '262k'], // Added (2026-09-21) โ€” new $0 model on the official pricing page (181 records checked); engineering/coding focused
596
+ // Removed (2026-09-21): Qwen/Qwen2.5-Coder-7B-Instruct (Qwen2.5 Coder 7B Instruct) โ€” taken offline by SiliconFlow (official release note 2026-03-10, effective 2026-03-17; 0 of 181 records on today's pricing page); the 2026-09-15 re-add was erroneous. Replacement: Qwen/Qwen3-8B
568
597
  ]
569
598
 
570
599
  // ๐Ÿ“– Requesty source - https://router.requesty.ai/v1
@@ -596,10 +625,10 @@ export const requesty = [
596
625
  // ๐Ÿ“– OrcaRouter source - https://api.orcarouter.ai/v1
597
626
  // ๐Ÿ“– OpenAI-compatible gateway: https://api.orcarouter.ai/v1/chat/completions
598
627
  // ๐Ÿ“– Zero-markup AI gateway: token prices are passed through at provider rates, so only
599
- // ๐Ÿ“– the explicitly $-0 models are listed here. Verified live 2026-08-30 via GET /v1/models
600
- // ๐Ÿ“– (204 models, 3 with pricing.request=0). The orcarouter/fusion + orcarouter/free
601
- // ๐Ÿ“– adaptive-routing models are reachable through the same endpoint for users who opt
602
- // ๐Ÿ“– into pay-as-you-go billing, but are not free so they stay out of this catalog.
628
+ // ๐Ÿ“– the explicitly $-0 models are listed here. Verified live 2026-09-21 via GET /v1/models.
629
+ // ๐Ÿ“– orcarouter/free reports $0 pricing and stays listed. The orcarouter/fusion family also
630
+ // ๐Ÿ“– reports $0 but has no docs, no descriptions and no confirmed lineage (the 2026-08-30
631
+ // ๐Ÿ“– audit recorded them as pay-as-you-go adaptive routing), so they stay out until verified.
603
632
  export const orcarouter = [
604
633
  // โ”€โ”€ S+ tier โ€” SWE-bench Verified โ‰ฅ70% โ”€โ”€
605
634
  ['deepseek/deepseek-v4-flash-free', 'DeepSeek V4 Flash (Free)', 'S+', '79.0%', '1M'],
@@ -36,7 +36,7 @@ import { sleep } from './shared-helpers.js'
36
36
  // ๐Ÿ“– is not guaranteed to be accepted by their chat endpoint.
37
37
  export const PROVIDER_TEST_MODEL_OVERRIDES = {
38
38
  sambanova: ['MiniMax-M2.5', 'DeepSeek-V3.1', 'DeepSeek-V3.2'],
39
- nvidia: ['deepseek-ai/deepseek-v4-flash-0731', 'openai/gpt-oss-120b'],
39
+ nvidia: ['moonshotai/kimi-k3', 'openai/gpt-oss-120b'],
40
40
  'github-models': ['openai/gpt-4.1-mini'],
41
41
  mistral: ['mistral-small-latest', 'devstral-small-latest'],
42
42
  }