Compare commits

..

537 Commits

Author SHA1 Message Date
Aiden Cline 37fe334aed feat: add 'shape' field to provider so models can specify if they use responses vs completions apis (use only if model only supports 1 of) 2026-03-09 21:42:23 -05:00
Aiden Cline be8eb8ba54 fix name 2026-03-09 20:01:02 -05:00
Aiden Cline 7c625b3b82 Merge pull request #945 from Daltonganger/feat/nano-gpt-sync-models-api
sync nano-gpt models with live API catalog
2026-03-09 20:00:06 -05:00
Aiden Cline 33700d27dc Merge pull request #1032 from propilideno/feature/new_gpt_5.3_codex_and_missing_structured_output_attr
Add gpt-5.3-codex (Azure) and fill missing structured output flags
2026-03-09 19:40:20 -05:00
Aiden Cline e5c300a5e5 fix 2026-03-09 19:38:30 -05:00
Aiden Cline e5e9175c5d Merge branch 'dev' into feature/new_gpt_5.3_codex_and_missing_structured_output_attr 2026-03-09 19:37:40 -05:00
Aiden Cline a9f79d6794 Merge pull request #1123 from dpuyosa/feature/venice-gpt54-multimodal
Venice: Add GPT-5.4 Pro and enable multimodal inputs for GPT-5.4 & Qwen3.5
2026-03-09 18:19:52 -05:00
Aiden Cline fd4c4a8f28 Merge pull request #1038 from muldercw/add-clarifai-model-provider
Add Clarifai Model Provider
2026-03-09 18:19:14 -05:00
dpuyosa f9b5385868 [venice] Add GPT-5.4 Pro and enable multimodal inputs
- Add GPT-5.4 Pro model
- Enable attachment/image input for GPT-5.4
- Enable attachment/image/video input for Qwen3.5 35B A3B
2026-03-09 22:52:54 +01:00
Aiden Cline b2f7a72410 Merge pull request #1110 from fhennerkes/dev
poe: add GPT-5.4, GPT-5.4-Pro, and GPT-5.3-Instant models
2026-03-09 14:10:12 -05:00
Aiden Cline 7b5d9aa645 Merge pull request #1025 from liuchang-reolink/dev
add qwen3.5-397b-a17b and step-3-5-flash for nvidia
2026-03-09 14:05:08 -05:00
Aiden Cline 6e0040dbfd Merge pull request #1089 from Krule/krule/update_gitlab_anthropic_context_size
feat(gitlab): update context limit to 1M for Claude Sonnet and Opus 4.6
2026-03-09 14:03:49 -05:00
Aiden Cline 943ad8481b Merge pull request #1121 from illusion77/fix/chutes-mimo-v2-flash-context-16709
fix(chutes): correct MiMo-V2-Flash context window and capabilities
2026-03-09 14:02:51 -05:00
Aiden Cline 7f1b6fb0eb Merge pull request #1122 from riccardogiorato/dev
remove deprecated kimi models from together.ai
2026-03-09 14:02:36 -05:00
Riccardo Giorato 23eff95e5d remove deprecated kimi from together.ai 2026-03-09 17:30:40 +01:00
illusion77 ddbd396205 fix(chutes): correct MiMo-V2-Flash context window and capabilities
The chutes provider had incorrect metadata for MiMo-V2-Flash:
context 32K → 262K, output 8K → 32K, reasoning and tool_call enabled.

Fixes anomalyco/opencode#16709
2026-03-09 10:57:57 -05:00
Aiden Cline f3ee1a530b Merge pull request #1120 from stephenkuhn214/dev
Add Amazon-Bedrock Devstral 2 123B model
2026-03-09 09:35:46 -05:00
Aiden Cline 9c51b65440 Merge pull request #1119 from cgilly2fast/dev
fix(firmware): proper 5.3 codex model id
2026-03-09 09:30:35 -05:00
Frank 353aeb4998 update zen models 2026-03-09 10:08:55 -04:00
Frank 11991fecb5 update zen models 2026-03-09 10:03:13 -04:00
stephenkuhn214 1b4599773d Create mistral.devstral-2-123b 2026-03-09 08:58:19 -04:00
Colby Gilbert 78e1a3b0c9 fix(firmware): proper 5.3 codex model id 2026-03-08 21:58:27 -07:00
Aiden Cline 44686797c8 Merge pull request #1118 from shelvick/add-azure-gpt-5.3-chat
Add GPT-5.3 Chat to Azure
2026-03-08 16:41:10 -05:00
Aiden Cline 065cec8431 fix: input limit for context 2026-03-08 16:40:38 -05:00
Scott Helvick f491c2bec9 Add GPT-5.3 Chat to Azure 2026-03-08 21:20:27 +00:00
Aiden Cline cf1ac3053f Merge pull request #1081 from djmaze/fix/nebius-model-casing
fix(nebius): correct model ID casing to match Token Factory API
2026-03-08 14:26:52 -05:00
Aiden Cline 6be1e929fc Merge pull request #1114 from v1gnesh/dev
add grok 4.2 experimentals
2026-03-08 14:25:12 -05:00
Aiden Cline 49524827e2 Merge pull request #1113 from shelvick/add-vertex-glm-5
Fix GLM-5 context window size on Google Vertex
2026-03-08 10:31:05 -05:00
Aiden Cline 5ab5d389fc Merge pull request #1112 from cau1k/feat/az-5.4
feat(azure): add gpt-5.4/5.4-pro
2026-03-08 10:30:54 -05:00
Aiden Cline d5367ed978 Merge pull request #1116 from xiaojiezj/xj_dev_0308
fix: Adjust the logo  for ZenMux
2026-03-08 10:30:18 -05:00
Aiden Cline 5069faa25b Merge pull request #1117 from kailiu42/feat/siliconflow-cn
feat(siliconflow-cn): add Qwen3.5 model family
2026-03-08 10:29:48 -05:00
Kai Liu b279f33d9b feat(siliconflow-cn): add Qwen3.5 model family
New models:

- Qwen/Qwen3.5-4B
- Qwen/Qwen3.5-9B
- Qwen/Qwen3.5-27B
- Qwen/Qwen3.5-35B-A3B
- Qwen/Qwen3.5-122B-A10B
- Qwen/Qwen3.5-397B-A17B

Signed-off-by: Kai Liu <kraml.liu@gmail.com>
2026-03-08 20:07:40 +08:00
xiaojie.zj fe8249d706 fix: Adjust the logo 2026-03-08 16:36:01 +08:00
v1gnesh a24a23d57b add grok 4.2 experimentals 2026-03-08 07:42:09 +05:30
Scott Helvick 7e4773d9b5 Fix GLM-5 context window size on Google Vertex
Correct the context limit from 204800 to 202752 tokens.
2026-03-07 22:20:56 +00:00
zero 9f937f3fc5 Merge branch 'dev' into feat/az-5.4 2026-03-07 17:20:29 -05:00
cau1k 8cbdbc1102 add day cutoff 2026-03-07 17:19:15 -05:00
cau1k f1ca3b0015 feat(azure-cognitive-services): symlink 5.4/pro from azure provider
;
2026-03-07 17:02:26 -05:00
cau1k 35c757bad5 feat(azure): add 5.4/pro 2026-03-07 17:00:43 -05:00
fhennerkes 78781f3901 poe: add GPT-5.4, GPT-5.4-Pro, and GPT-5.3-Instant models 2026-03-07 13:58:35 -08:00
fhennerkes 1371cbf9de poe: add GPT-5.4, GPT-5.4-Pro, and GPT-5.3-Instant models 2026-03-07 09:48:17 -08:00
Aiden Cline 559ccd6966 Merge pull request #1024 from yinxulai/feat/qiniu-ai
feat(qiniu-ai): add new model configurations
2026-03-07 11:26:01 -06:00
Aiden Cline 2691cb4e8d Merge pull request #1083 from samzong/feat/add-drun-provider
feat: add d.run(China) provider (OpenAI-compatible)
2026-03-07 11:25:12 -06:00
Aiden Cline 83ed1f0125 Merge pull request #1015 from RioPlay/dev
add: newer MiniMax, GLM, and Kimi models to DeepInfra
2026-03-07 11:24:53 -06:00
Aiden Cline 869f831466 Merge branch 'dev' into dev 2026-03-07 11:23:37 -06:00
Aiden Cline 5a673af2ae Merge pull request #1061 from JonasGao/dev
Add Qwen3.5 Flash & GLM-5 & M2.5 models to alibaba-cn
2026-03-07 11:22:56 -06:00
Aiden Cline 9b8543a074 Add interleaved section to minimax-m2.5.toml 2026-03-07 11:21:54 -06:00
Aiden Cline b3fb902331 Merge pull request #1030 from Mingholy/feat/alibaba-coding-plan-cn
feat(alibaba-coding-plan-cn): add Coding Plan provider for China region
2026-03-07 11:21:26 -06:00
Aiden Cline adb0c0b305 Merge pull request #1062 from viitana/bump-deepseek-details
feat: [deepseek]: update official DeepSeek model details
2026-03-07 11:21:21 -06:00
Aiden Cline ed01410d82 Merge pull request #1088 from mcowger/feature/gemini-3.1-flash-lite
feat: add gemini-3.1-flash-lite-preview model
2026-03-07 11:13:45 -06:00
Aiden Cline 7e23b780cc Merge pull request #1077 from evroc-oss/evroc/correct-model-config
fix(evroc): correct model config
2026-03-07 11:13:15 -06:00
Aiden Cline c46b652c8e Merge pull request #1076 from jerome-benoit/feat/add-sonar-deep-research-sap-ai-core
feat(sap-ai-core): add Perplexity Sonar Deep Research model
2026-03-07 11:11:29 -06:00
Aiden Cline ddb74e9b09 Merge pull request #1063 from dpuyosa/fix/models-pricing-limits-update
Venice: Update model pricing and limits
2026-03-07 11:10:37 -06:00
Aiden Cline face36ecb8 Merge pull request #1064 from BlockListed/fix-cortecs-models
Fix Cortecs models
2026-03-07 11:10:03 -06:00
Aiden Cline 6f170651b3 Merge pull request #1075 from Track07-cda/alibaba-cn-third-party-models
Add third party providers' models to alibaba-cn provider
2026-03-07 11:09:40 -06:00
Aiden Cline 47dbe45dd5 Merge pull request #1066 from dpuyosa/feat/add-qwen3-5-35b-a3b
Venice: Add Qwen 3.5 35B A3B model
2026-03-07 11:09:10 -06:00
Aiden Cline 0ee43b64b3 Merge branch 'dev' into alibaba-cn-third-party-models 2026-03-07 11:08:37 -06:00
Aiden Cline 6130a1f74e Merge pull request #1068 from MauroDruwel/dev
NVIDIA: Add MiniMax M2.5 model and remove MiniMax M2
2026-03-07 11:07:17 -06:00
Aiden Cline c0c82a5f04 Merge pull request #1072 from sylviezhang37/update-vercel-models-20260302-1656
Update Vercel models
2026-03-07 11:06:17 -06:00
Aiden Cline b0ba8b14d5 Merge pull request #1092 from janszypulski/cloudferro-sherlock-add-minimax-2.5
add MiniMaxAI/MiniMax-M2.5 to CloudFerro Sherlock
2026-03-07 11:02:11 -06:00
Aiden Cline 4780f9ddc1 Merge pull request #1109 from dinhkim/feat/add-cf-glm-4.7-flash
feat: add GLM-4.7-Flash to the Cloudflare Workers AI provider
2026-03-07 11:01:50 -06:00
Aiden Cline 27e02de632 Merge pull request #1078 from SomeoneWithOptions/dev
add gpt 5.3 codex for openrouter and Mercury models
2026-03-07 11:01:41 -06:00
Aiden Cline f22c827045 Merge branch 'dev' into dev 2026-03-07 11:01:17 -06:00
Aiden Cline cfc4585ed7 Merge pull request #1107 from Rinuuri/deepinfra-glm5
Add deepinfra GLM-5 model
2026-03-07 10:59:16 -06:00
Aiden Cline fa07bc2088 Merge pull request #1039 from rholak/add-abacus-models
Add sonnet 4.6 and opus 4.6 to abacus model list
2026-03-07 10:59:00 -06:00
Aiden Cline 497b1daaf2 Merge pull request #1103 from dpuyosa/feat/venice-add-gpt-models
Venice: Add OpenAI GPT-4o, GPT-4o Mini, GPT-5.4 models
2026-03-07 10:58:44 -06:00
Aiden Cline 442afa8c7e Merge pull request #1060 from yanismiraoui/inception/mercury2
Add Inception Mercury 2 and Mercury Edit models
2026-03-07 10:57:38 -06:00
Aiden Cline 4bd0c387fe Merge pull request #1044 from shrwnsan/feat/openrouter-routers
feat(openrouter/free): add free router
2026-03-07 10:57:24 -06:00
Aiden Cline b8c0c1d3a1 Merge pull request #1053 from laiiihz/update-xiaomi-models
Update Xiaomi models metadata
2026-03-07 10:57:17 -06:00
Aiden Cline 5c6c3e5a32 Merge pull request #1055 from shantanugoel/gemini-3.1-flash-image-preview
Add Gemini 3.1 Flash Image Preview
2026-03-07 10:57:06 -06:00
Aiden Cline 53d3cca3a0 Merge pull request #1052 from spiffytech/dev
Improve Ollama Cloud generator. Remove Gemini 3 Pro from Ollama Cloud.
2026-03-07 10:56:45 -06:00
Aiden Cline 105970c173 Merge pull request #1049 from heimoshuiyu/fix/glm-5-open-weights
fix: mark GLM-5 as open weights
2026-03-07 10:56:31 -06:00
Aiden Cline 788ee04034 Merge pull request #1045 from xinrui-z/aihubmix-add-models
aihubmix add models
2026-03-07 10:56:03 -06:00
Aiden Cline 6626db4044 Merge pull request #1098 from JWahle/dev
chore: updated abacus model definitions
2026-03-07 10:55:31 -06:00
Aiden Cline 8902640664 Merge pull request #1023 from PandaSt0rm/add-alibaba-coding-plan
Add Alibaba Coding Plan provider and model configs
2026-03-07 10:53:34 -06:00
Kim Truong cab247ddf8 update context to match Cloudflare doc 2026-03-07 23:50:06 +07:00
Kim Truong c1a42fa0a0 feat: add GLM-4.7-Flash mode in Cloudflare Workers AI provider 2026-03-07 23:45:52 +07:00
Aiden Cline 35023bba5a Merge pull request #1001 from ItsWendell/feat/bedrock-bearer-token
Add AWS_BEARER_TOKEN_BEDROCK to Amazon Bedrock provider env
2026-03-07 09:52:21 -06:00
Aiden Cline 604e49792b Merge pull request #1002 from DEAN-Cherry/feat/add-minimax-m2.5
models: alibaba-cn: add MiniMax-M2.5
2026-03-07 09:51:36 -06:00
Aiden Cline 0ca77b0cda Merge branch 'dev' into dev 2026-03-07 09:50:26 -06:00
Aiden Cline ea9505a40f Merge pull request #1004 from BlockListed/cortecs-models
Add Cortecs AI models
2026-03-07 09:50:07 -06:00
Aiden Cline 990b8d7308 Merge pull request #1005 from cgilly2fast/dev
feat(firmware): gemini 3.1 pro, sonnet reasoning
2026-03-07 09:49:54 -06:00
Aiden Cline ec173e86d4 Merge pull request #996 from fhennerkes/dev
poe: add Gemini-3.1-Pro, GPT-5.3-Codex and Gemini 3.1 Flash Lite
2026-03-07 09:47:52 -06:00
Aiden Cline 4a6e92a7c9 Merge pull request #997 from xiaojiezj/zenmux_dev_0221
feat: add Gemini 3.1 Pro Preview for ZenMux provider
2026-03-07 09:47:37 -06:00
Aiden Cline f0f686bdf5 Merge pull request #999 from mikalsande/mistral_latest
Append (latest) to Mistral models that refer to the latest version.
2026-03-07 09:46:40 -06:00
Aiden Cline 35ff0c2629 Merge pull request #995 from Phoen1xCode/dev
fix(zenmux:minimax): remove duplicated prefix & feat(zenmux:openai): add GPT-5.2-Pro model
2026-03-07 09:45:07 -06:00
Aiden Cline f99e9e89df Merge pull request #1090 from litvix-whale/feat/add-minimax-m2-5
feat(provider): add MiniMax M2.5 for DeepInfra
2026-03-07 09:41:28 -06:00
Armin Pašalić 09722ac264 Merge branch 'anomalyco:dev' into krule/update_gitlab_anthropic_context_size 2026-03-07 13:17:10 +01:00
Rinuuri fa67d00aeb Update GLM-5.toml 2026-03-06 21:23:42 +00:00
Rinuuri ddd2dd73ed Adding deepinfra GLM-5 2026-03-07 00:03:29 +03:00
fhennerkes d7929fd00b Merge branch 'anomalyco:dev' into dev 2026-03-06 12:00:20 -08:00
Frank 06e7d4db42 Merge pull request #1014 from NachoFLizaur/fix/bedrock-opus-4-6-context-window
fix(amazon-bedrock): correct Claude Opus 4.6 context window from 1M to 200K
2026-03-06 11:25:37 -05:00
dpuyosa d871710ba4 [venice] Add OpenAI GPT-4o, GPT-4o Mini, GPT-5.4 models
- Add gpt-4o-2024-11-20 model configuration
- Add gpt-4o-mini-2024-07-18 model configuration
- Add gpt-5.4 model configuration with reasoning capability
2026-03-06 09:53:06 +01:00
Colby Gilbert 16486087c6 Merge branch 'anomalyco:dev' into dev 2026-03-05 21:38:25 -08:00
Frank 2939af9330 Merge pull request #1100 from sachnun/feat/github-copilot-gpt-5-4
feat(provider): add gpt-5.4 for GitHub Copilot
2026-03-05 23:33:57 -05:00
sachnun 7c68dab3bb feat(provider): add gpt-5.4 for GitHub Copilot 2026-03-06 11:18:11 +07:00
Mike Soylu caceb0b310 openrouter openai models (#1099) 2026-03-05 22:26:58 -05:00
Frank 7a0d3be1e7 Update zen models 2026-03-05 18:55:49 -05:00
ShivamB25 e11ad7c01a feat(openai): add GPT-5.4 and GPT-5.4 Pro model specs (#1095) 2026-03-05 18:50:22 -05:00
Matt Silverlock d30fa82e4c Cloudflare: add gpt-5.4.toml (#1096) 2026-03-05 18:50:10 -05:00
Rishi Vhavle 771102a960 feat: add gpt-5.3-codex to github-copilot provider (#1097) 2026-03-05 18:49:56 -05:00
JWahle 30f98b15ef chore: updated abacus model definitions
Added: GPT-5 Codex, GPT-5.1/5.2/5.3 Codex, GPT-5.3 Chat, Gemini 3.1 Flash Lite/Pro Preview, Claude Opus/Sonnet 4.6, Kimi K2.5, GLM-5
Removed: Gemini 2.0 Flash 001, Gemini 2.0 Pro Exp, Meta-Llama 3.1 70B Instruct
Updated pricing: DeepSeek V3.1, GLM-4.7, GPT-5.2 Chat Latest, o3-pro, Route LLM
2026-03-06 00:46:19 +01:00
Colby Gilbert 6f7ab479fb feat(firmware): gpt 5.4 2026-03-05 13:23:08 -08:00
Colby Gilbert a4efbcd5ce Merge branch 'anomalyco:dev' into dev 2026-03-05 13:15:49 -08:00
Frank bcbfba03bd update zen models 2026-03-05 15:51:33 -05:00
Frank bdb5dac941 update zen models 2026-03-05 15:50:03 -05:00
Frank 1538bdcedb update zen models 2026-03-05 13:31:27 -05:00
SomeoneWithOptions e5211f3105 add inception mercury models for openrouter 2026-03-05 12:13:52 -05:00
Andres Castellanos 4a2209dbd4 Merge branch 'anomalyco:dev' into dev 2026-03-05 11:51:38 -05:00
Jan Szypulski 900014fe52 add MiniMax-M2.5 2026-03-05 14:58:19 +01:00
Kyrylo Lytvishko 5bbaf3c3f2 feat(provider): add MiniMax M2.5 for DeepInfra 2026-03-05 14:04:11 +02:00
Armin Pasalic 7dd0a26ff4 feat(gitlab): update context limit to 1M for Sonnet and Opus 4.6 2026-03-05 12:01:02 +01:00
Matt Cowger 3b7e0f02f1 feat: add gemini-3.1-flash-lite-preview model 2026-03-04 13:19:21 -08:00
samzong e67f921ea3 feat: add official d.run logo 2026-03-04 13:42:01 +08:00
samzong f5411eeeda feat: add D.Run (China) provider with minimax-m25, deepseek-r1, deepseek-v3 2026-03-04 13:33:04 +08:00
Frank 0d83ab8909 Merge pull request #1082 from kesku/kesku/add-ppl-agent-api
Add Perplexity Agent API provider
2026-03-03 23:03:49 -05:00
Kesku 26a629debc add models 2026-03-03 23:19:01 +00:00
Kesku 4b3319561b set up provider 2026-03-03 23:10:43 +00:00
Ubuntu b89ce0d986 fix(nebius): correct model ID casing to match Token Factory API
Fix lowercase model ID bug that caused "The model does not exist" errors.

- qwen/ → Qwen/ directory
- Fixed model file casing to match API exactly across all providers
2026-03-03 22:11:57 +00:00
fhennerkes 1c01f8172b poe: add Gemini-3.1-Flash-Lite and update gpt-4o-mini context
Add new Gemini 3.1 Flash Lite model
Update gpt-4o-mini context window: 128K → 124,096
2026-03-03 11:24:20 -08:00
SomeoneWithOptions d76040c514 add gpt 5.3 codex for openrouter 2026-03-03 12:53:39 -05:00
Simon Rygård feffa8119f fix(evroc): correct modality config 2026-03-03 16:52:07 +01:00
Simon Rygård 59c6e5df62 fix(evroc): correct tool call config 2026-03-03 16:51:47 +01:00
Jérôme Benoit fe2204d42c feat(sap-ai-core): add Perplexity Sonar Deep Research model 2026-03-03 14:56:18 +01:00
Track07-cda 07cc5335ac Add third party providers' models to alibaba-cn provider
- Add `MiniMax/MiniMax-M2.5` and `kimi/kimi-k2.5` to the `alibaba-cn`
  provider.
- Update `kimi-k2.5` to include video modality and adjust release/update
  dates.
- Add several `siliconflow/deepseek` models to the `alibaba-cn`
  provider.
2026-03-03 16:46:32 +08:00
github-actions[bot] fefbb90a29 chore(vercel): update Vercel model definitions
Auto-generated by weekly workflow from Vercel AI Gateway API.

Co-Authored-By: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-02 16:56:48 +00:00
Frank fec48b83d3 update zen models 2026-03-01 13:23:08 -05:00
Mauro Druwel c30bbe7718 Add knowledge 2026-03-01 08:53:22 +01:00
Mauro Druwel 1fba668f0f Add minimax-m2.5 to nvidia-nim and remove deprecated minimax-m2 from nvidia-nim 2026-03-01 08:52:33 +01:00
Aiden Cline 33ec088bda Merge pull request #1008 from friendliai/feat/friendli-minimax-m2.5
add friendli minimax m2.5 model config
2026-03-01 07:54:08 +05:00
Aiden Cline add7f9a914 Merge pull request #1065 from friendliai/minpeter/remove-exaone-models
Remove all EXAONE models
2026-03-01 07:53:42 +05:00
dpuyosa 369fa2de6d [venice] Add Qwen 3.5 35B A3B model
- Add new model configuration for Qwen 3.5 35B A3B
- Includes cost, limits, and capabilities (reasoning, tool_call, structured_output)
2026-02-28 21:07:28 +01:00
minpeter c8732e7e74 Remove all EXAONE models
Remove LGAI-EXAONE model definitions (EXAONE-4.0.1-32B, K-EXAONE-236B-A23B)
and related family references from core packages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 04:48:08 +09:00
Jonas f00f9f3c11 Add Qwen3.5 Flash & GLM-5 & M2.5 models to alibaba-cn provider 2026-02-28 23:34:06 +08:00
BlockListed c87ca238de fix cortecs models
the should have periods not a p as a decimal separator
2026-02-28 15:16:59 +01:00
BlockListed 102f55aeef add glm 4.7 flash model to cortecs 2026-02-28 15:13:53 +01:00
BlockListed 2767754a02 add kimi K2.5 model to cortecs 2026-02-28 15:13:53 +01:00
dpuyosa 4289b59a04 [models] Update model pricing and limits
- Update Claude Sonnet 4-6 pricing and output limit
- Update Grok 41 Fast pricing and context/limits
2026-02-28 14:24:16 +01:00
Atte Viitanen b986313f42 feat: [deepseek]: update official deepseek model details 2026-02-28 13:22:26 +02:00
yanismiraoui 28cfd4cab6 naming mercury 2 and mercury edit for inception provider 2026-02-27 17:45:01 -08:00
yanismiraoui b93e62fc3a Add Inception Mercury 2 and Mercury Edit models 2026-02-27 17:41:00 -08:00
Aiden Cline e23b5ab010 Merge pull request #1026 from ryot/venice
Venice: Add GPT-5.3 Codex
2026-02-28 06:30:13 +05:00
Aiden Cline b5f6024868 Merge pull request #1020 from jerome-benoit/feat/sap-ai-core-add-models
feat(sap-ai-core): Add GPT-4.1, Gemini 2.5 Flash Lite, Perplexity Sonar, and Claude 4.6 models
2026-02-28 06:29:28 +05:00
Aiden Cline 07db15e984 Merge pull request #1029 from dpuyosa/veniceScript
Venice: Remove interactive API key prompt & use new maxCompletionTokens field
2026-02-28 06:28:33 +05:00
Aiden Cline 74abf8851a Merge pull request #1042 from SomeoneWithOptions/dev
add gemini 3.1 pro preview custom tools for openrouter
2026-02-28 06:27:56 +05:00
Aiden Cline 7e13ecdfd9 Merge pull request #1056 from xezpeleta/fix/azure-gpt-5-3-codex
fix(azure): add gpt-5.3-codex model
2026-02-28 06:27:34 +05:00
Aiden Cline 6ad2c28b2d Merge pull request #1048 from dpuyosa/feat/add-venice-models
Venice: Add NVIDIA Nemotron 3 Nano and Qwen 3 Coder Turbo models
2026-02-28 06:27:20 +05:00
Frank a124036692 update zen models 2026-02-27 16:16:37 -05:00
Xabi Ezpeleta d37d362cc8 fix(azure): add gpt-5.3-codex model 2026-02-27 16:41:11 +01:00
Shantanu Goel c387f94c8e Add Gemini 3.1 Flash Image Preview 2026-02-27 20:03:41 +05:30
laiiihz 45457c34d8 update xiaomi models detail 2026-02-27 14:56:16 +08:00
spiffytech 44774ec3d6 Ollama Cloud removed support for Gemini 3 Pro 2026-02-26 17:18:34 -05:00
spiffytech c8fdcf80dd Updated Ollama Cloud generator to delete old models, only write out files if they changed 2026-02-26 17:18:33 -05:00
fhennerkes 9d33b6409c Merge branch 'anomalyco:dev' into dev 2026-02-26 12:04:52 -08:00
Matt Silverlock c76586a174 Cloudflare: add codex models to AI Gateway (#1050)
* add gpt-5.2-codex

* add gpt-5.3-codex

* Update gpt-5.2-codex.toml

* Update gpt-5.3-codex.toml
2026-02-26 14:41:12 -05:00
Jérôme Benoit 2a267614aa feat(sap-ai-core): add Claude Opus 4.6 and Sonnet 4.6 models 2026-02-26 17:58:02 +01:00
PandaSt0rm aac62378b2 Update MiniMax-M2.5 guidance per Alibaba docs 2026-02-26 17:20:58 +02:00
David Hill 56cc5f71bf fix(ui): opencode zen logo update 2026-02-26 11:09:25 +00:00
David Hill df2c87d32a fix(ui): opencode go logo 2026-02-26 11:09:13 +00:00
heimoshuiyu ff41c2b6c3 fix: mark GLM-5 as open weights
GLM-5 is an open-source model, but several provider config files
incorrectly had open_weights set to false. This commit corrects
all GLM-5 configurations to properly reflect its open-source status.

Affected providers:
- zhipuai
- zhipuai-coding-plan
- zai
- zai-coding-plan
- zenmux
- vercel
- siliconflow
- siliconflow-cn
- meganova
2026-02-26 18:43:28 +08:00
dpuyosa 1d137e2f1f [venice] Add NVIDIA Nemotron 3 Nano and Qwen 3 Coder models
- Add NVIDIA Nemotron 3 Nano 30B A3B model configuration
- Add Qwen 3 Coder 480B A35B Instruct Turbo model configuration
2026-02-26 10:53:00 +01:00
dpuyosa 16720bcd1a [venice] Use maxCompletionTokens for output limit
- Add optional maxCompletionTokens field to model spec schema
- Use maxCompletionTokens when calculating output token limit instead of checking existing limit
2026-02-26 10:24:43 +01:00
Xinrui 1feaf76749 aihubmix add models 2026-02-26 16:12:51 +08:00
shrwnsan 080ef5cc9e fix(openrouter): remove auto router and add missing limit.input
- Remove auto router (cost varies, doesn't fit schema)
- Add limit.input = 200_000 to free.toml (schema requirement)

OpenRouter's auto router has 'pricing varied' - it charges based on the
routed model. This doesn't fit the numeric cost schema required by
models.dev, so we're removing it. The free router is retained as it
genuinely costs $0.
2026-02-26 14:40:38 +08:00
Ryo Tulman f8121c8dc3 Update Venice GPT 5.3 Codex output limit 2026-02-26 00:32:13 -06:00
shrwnsan d2d5c5a7cc feat: add openrouter free and auto routers 2026-02-26 10:51:55 +08:00
SomeoneWithOptions 09d9e91d83 add gemini 3.1 pro preview custom tools for openrouter 2026-02-25 15:13:43 -05:00
Robert Holak 930d6a94b8 Add sonnet 4.6 and opus 4.6 to abacus model list 2026-02-25 12:31:06 -06:00
mulder b9217aff8e Add Clarifai Model Provider
Add Clarifai as a new provider with 11 models:
- GPT OSS 20B, GPT OSS 120B High Throughput
- Ministral 3 14B/3B Reasoning 2512
- Qwen3 Coder 30B, Qwen3 30B Instruct/Thinking 2507
- MiniMax-M2.5 High Throughput
- Trinity Mini, DeepSeek OCR, MM Poly 8B

Also adds 'mm-poly' family to family.ts for the Clarifai multimodal model.
2026-02-25 12:28:40 -05:00
Lucas Almeida c240bce614 fix: adding missing structured_output parameter 2026-02-25 11:19:54 -03:00
Lucas Almeida 843a1d182a feat: adding gpt-5.3-codex for Azure Foundry 2026-02-25 11:09:10 -03:00
PandaSt0rm 443c06ca03 fix MiniMax M2.5 modalities in Alibaba Coding Plan
- set MiniMax-M2.5 input modalities to text-only
- keep output modality as text
- validate with bun validate
2026-02-25 13:10:58 +02:00
PandaSt0rm 84466021ca add MiniMax M2.5 to Alibaba Coding Plan and align third-party limits
- add MiniMax-M2.5 model config under providers/alibaba-coding-plan/models
- update GLM-4.7 limits to 202,752 context / 16,384 output
- update GLM-5 limits to 202,752 context / 16,384 output
- update Kimi K2.5 output limit to 32,768
- validate with bun validate
2026-02-25 13:05:18 +02:00
mingholy.lmh b995e90cf5 fix: update context and output limits for alibaba-coding-plan-cn models
Update model limits:
- qwen3-coder-plus: context 1_048_576 → 1_000_000
- glm-5: output 131_072 → 16_384
- glm-4.7: output 131_072 → 16_384
- kimi-k2.5: output 65_536 → 32_768

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-25 17:44:49 +08:00
dpuyosa 291e2eefe9 [venice] Remove interactive API key prompt
- Remove readline import and promptForApiKey function
- Remove prompt fallback, rely on CLI arg or env var only
- Update README to reflect change
2026-02-25 09:51:50 +01:00
Frank 96e9537b34 update zen models 2026-02-25 01:05:35 -05:00
Ryo Tulman 09dc7060ac Venice: Add GPT-5.3 Codex 2026-02-24 23:37:03 -06:00
Colby Gilbert a463717783 chore(firmware): remove gpt-5 2026-02-24 20:33:49 -08:00
Colby Gilbert 6d721dd32d feat(firmware): gpt-5.3-codex 2026-02-24 20:32:17 -08:00
liuchang-reolink 3ae513785a add step-3-5-flash for nvidia
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-25 12:05:19 +08:00
Colby Gilbert e8d667b628 Merge branch 'anomalyco:dev' into dev 2026-02-24 20:01:26 -08:00
liuchang-reolink 7616a65e63 add qwen3.5-397b-a17b for nvidia
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-25 11:40:15 +08:00
yinxulai a5b3da12c1 chore(qiniu-ai): update provider config 2026-02-25 10:20:55 +08:00
yinxulai a05fbc3604 feat(qiniu-ai): add new model configurations 2026-02-25 10:16:40 +08:00
Aiden Cline 2189030e57 Merge pull request #1022 from armishra/feat/add-minimax-m2.5-baseten
feat(provider): Add MiniMax-M2.5 for baseten
2026-02-24 17:28:04 -06:00
Aiden Cline c7ecc08442 Merge pull request #1019 from dpuyosa/venice
Venice: Update gemini-3-1-pro-preview config
2026-02-24 17:27:46 -06:00
Aiden Cline 830046e45e Merge pull request #1021 from sylviezhang37/update-vercel-models-20260224-2134
Update Vercel models
2026-02-24 17:27:19 -06:00
Aiden Cline c7b26477b9 Update cache_read value in gemini-3.1-pro-preview.toml 2026-02-25 04:26:56 +05:00
Aiden Cline 9e60f516fa Update cost input and output values in TOML file 2026-02-25 04:26:18 +05:00
PandaSt0rm 7ccbb58c5f add Alibaba Coding Plan provider and model configs 2026-02-25 01:10:42 +02:00
Archit Mishra da906a0816 feat(provider): Add MiniMax-M2.5 for baseten 2026-02-24 14:33:41 -08:00
github-actions[bot] 36c9f82905 chore(vercel): update Vercel model definitions
Auto-generated by weekly workflow from Vercel AI Gateway API.

Co-Authored-By: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-24 21:34:20 +00:00
Frank 978214e143 update zen models 2026-02-24 15:23:24 -05:00
Jérôme Benoit 6aa69460a1 feat(sap-ai-core): add GPT-4.1, Gemini 2.5 Flash Lite, and Sonar models
Add 5 new model definitions for SAP AI Core provider:
- gpt-4.1: OpenAI GPT-4.1 (1M context, 32K output)
- gpt-4.1-mini: OpenAI GPT-4.1 Mini (1M context, 32K output)
- gemini-2.5-flash-lite: Google Gemini 2.5 Flash Lite (1M context, 65K output)
- sonar: Perplexity Sonar (128K context, 4K output)
- sonar-pro: Perplexity Sonar Pro (200K context, 8K output)

All specs verified against official provider documentation.
2026-02-24 20:50:10 +01:00
fhennerkes 0f16fcf231 poe: add GPT-5.3-Codex model 2026-02-24 11:39:47 -08:00
fhennerkes e583c700f9 Merge branch 'anomalyco:dev' into dev 2026-02-24 11:36:20 -08:00
dpuyosa 96d278932c [venice] Update gemini-3-1-pro-preview config
- Reduce output token limit from 250K to 65K
2026-02-24 11:27:18 +01:00
RioPlay 838416044f add: newer MiniMax, GLM, and Kimi models to DeepInfra 2026-02-23 22:21:28 -06:00
Frank 51441f47d9 update zen models 2026-02-23 15:08:28 -05:00
Nacho F. Lizaur 7fc2c6154d fix(amazon-bedrock): correct Claude Opus 4.6 context window from 1M to 200K 2026-02-23 20:10:58 +01:00
Colby Gilbert 1439781a76 feat(firmware): add deepseek 3.2, glm 5, kimi k2.5, minimax m2.5 2026-02-22 21:29:51 -08:00
minpeter 8fc0d87742 add friendli minimax m2.5 model config 2026-02-23 13:18:17 +09:00
Colby Gilbert f660955784 feat(firmware): add grok models 2026-02-22 15:37:53 -08:00
Colby Gilbert eb11c327b8 feat(firmware): gemini 3.1 pro, sonnet reasoning 2026-02-21 23:43:25 -08:00
Bryan Nie 0dfde60c14 models: alibaba-cn: add MiniMax-M2.5 2026-02-22 01:09:24 +08:00
Wendell Misiedjan bab7727bad Add AWS_BEARER_TOKEN_BEDROCK to Amazon Bedrock provider env
The @ai-sdk/amazon-bedrock package supports Bearer token authentication
via the AWS_BEARER_TOKEN_BEDROCK environment variable as an alternative
to IAM SigV4 auth. This uses Bedrock API keys for simplified access.
2026-02-21 16:27:45 +01:00
Mikal Sande 4b4a2364c6 Append (latest) to Mistral models that refer to the latest version. 2026-02-21 09:19:13 +01:00
Frank c36b8e9433 update zen models 2026-02-20 23:20:24 -05:00
xiaojie.zj 5b8e983e7c feat: add Gemini 3.1 Pro Preview for ZenMux provider 2026-02-21 10:39:30 +08:00
Frank 0d2a52dd9d update zen models 2026-02-20 20:41:52 -05:00
Frank b667ab78ac update zen models 2026-02-20 20:19:33 -05:00
fhennerkes e2da96cde4 poe: add Gemini-3.1-Pro and update Claude Sonnet 4.6 2026-02-20 11:28:18 -08:00
Jake Jia 9d042ac986 Update providers/zenmux/models/openai/gpt-5.2-pro.toml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-21 01:22:04 +08:00
Phoen1xCode 7192dc0ba8 feat(openai): add GPT-5.2-Pro model via zenmux provider
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 01:07:58 +08:00
Phoen1xCode 05ea56a12a fix(minimax): remove duplicated provider prefix from MiniMax M2.5 Lightning name
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 01:07:47 +08:00
Aiden Cline beb449a417 Merge pull request #994 from davidfph/fix/qwen3.5-release-date
fix(qwen): update Qwen3.5 release_date and last_updated to 2026-02-16
2026-02-20 10:29:15 -06:00
Aiden Cline 8f76f9b217 Merge pull request #988 from MeganovaAI/fix-meganova-logo
Update Meganova logo to official brand icon
2026-02-20 10:29:02 -06:00
Aiden Cline 18ddcde669 fix: azure & cognitive model distinctions 2026-02-20 10:28:22 -06:00
David Fu ff36ded35f fix(qwen): update Qwen3.5 release_date and last_updated to 2026-02-16 2026-02-20 20:33:08 +08:00
Aiden Cline b0b8074a94 Merge pull request #990 from kailiu42/dev
models: siliconflow-cn: add new models
2026-02-20 03:01:45 -06:00
Kai Liu 4c30a522f7 models: siliconflow-cn: add new models
New models per the latest list: https://cloud.siliconflow.cn/me/models

- Pro/MiniMaxAI/MiniMax-M2.5
- deepseek-ai/DeepSeek-OCR
- PaddlePaddle/PaddleOCR-VL
- PaddlePaddle/PaddleOCR-VL-1.5

Signed-off-by: Kai Liu <kraml.liu@gmail.com>
2026-02-20 16:26:26 +08:00
Aiden Cline 2d63d713de Merge pull request #992 from anomalyco/fix-azure-models
fix: ensure that anthropic models on azure providers have correct urls
2026-02-20 02:19:13 -06:00
Aiden Cline ac9d0af8e3 fixes 2026-02-20 02:13:23 -06:00
Aiden Cline a1ad90a9b1 Merge pull request #991 from zainhas/dev
[Together AI] add qwen3.5
2026-02-20 01:02:23 -06:00
Zain Hasan 8a6e0dd917 add qwen3.5 2026-02-19 21:38:46 -08:00
Aiden Cline 2da10b739c Merge pull request #989 from propilideno/fix/adding_missing_azure_foundry_model
Add missing GPT-5.2 metadata for Azure Cognitive Services
2026-02-19 18:47:56 -06:00
Aiden Cline c17e0b9d0f Merge pull request #987 from dpuyosa/venice
Venice: Add Gemini 3.1 Pro Preview and update model configs
2026-02-19 18:47:48 -06:00
Lucas Almeida 877a1175f4 chore: replacing by symbolic link like the other ones 2026-02-19 21:21:05 -03:00
Boqian 1bc83abeeb Update Meganova logo to official brand icon 2026-02-19 18:57:17 -05:00
dpuyosa 70caedba86 [venice] Add Gemini 3.1 Pro Preview and update model configs
- Add new Gemini 3.1 Pro Preview model configuration
- Update Claude Sonnet 4.6 release dates
- Enable open_weights for MiniMax M25
2026-02-19 22:54:59 +01:00
Aiden Cline 60c90a27a0 Merge pull request #985 from sylviezhang37/update-vercel-model-gen-script
feat(provider): exclude image/video models
2026-02-19 15:49:25 -06:00
Aiden Cline 2bd0d5446e Merge pull request #986 from riasvdv/add-gemini-3.1-pro
Add Gemini 3.1 Pro Preview to copilot models
2026-02-19 15:49:12 -06:00
Aiden Cline 5f135517b1 Remove audio and video from input modalities 2026-02-19 15:48:42 -06:00
Aiden Cline e2af7819b4 Rename gemini-3.5-pro-preview.toml to gemini-3.1-pro-preview.toml 2026-02-19 15:47:25 -06:00
Rias ca6c251b3a Add Gemini 3.1 Pro Preview to copilot models 2026-02-19 22:43:26 +01:00
Sylvie Zhang 7b1b590d10 exclude image/video gen models 2026-02-19 13:24:11 -08:00
Aiden Cline 5097a1e954 Merge pull request #966 from mhkok/mkok/feat/add-evroc-provider
add evroc provider + models
2026-02-19 14:15:51 -06:00
Aiden Cline 05959a83b6 Update font family in Kimi-K2.5 configuration 2026-02-19 14:15:07 -06:00
Aiden Cline 1492e067a4 Merge pull request #976 from too-green/patch-2
Add Qwen3 Coder Next model for openrouter
2026-02-19 14:01:07 -06:00
Aiden Cline 41c81535c3 fix: zen 2026-02-19 12:54:29 -06:00
Aiden Cline 829756fc41 Merge pull request #983 from mdrxy/mdrxy/fix-gemini-3
fix Gemini 3.1 model names
2026-02-19 12:34:07 -06:00
Mason Daugherty e6ef906c41 fix 2026-02-19 13:21:52 -05:00
Aiden Cline 0f84db6bc6 Merge pull request #975 from xiaojiezj/zenmux_dev_0219
feat:  Add new models for ZenMux provider
2026-02-19 11:33:49 -06:00
Aiden Cline 4bb6d52a7c Merge pull request #979 from hanouticelina/fix-interleaved-for-hf-provider
Fix Hugging Face interleaved `reasoning field: reasoning_details` -> `reasoning_content`
2026-02-19 11:33:34 -06:00
Aiden Cline bdd0194e73 Merge pull request #981 from mdrxy/mdrxy/add-gemini-3.1
add gemini 3.1 to google/openrouter
2026-02-19 11:33:15 -06:00
Frank 41a9502628 update zen models 2026-02-19 11:51:37 -05:00
Mason Daugherty 384e747129 add gemini 3.1 to google/openrouter 2026-02-19 11:24:30 -05:00
Frank e4bb5ceac6 update zen models 2026-02-19 10:16:51 -05:00
Frank c830964c3f update zen models 2026-02-19 09:37:07 -05:00
Celina Hanouti 782b6277ae Fix Hugging Face interleaved reasoning field 2026-02-19 15:27:49 +01:00
Frank e63d48ae9c update zen models 2026-02-19 07:42:52 -05:00
Matthijs Kok 029522aa96 fix family names 2026-02-19 08:48:43 +01:00
Ahmed 482ed2e833 Add Qwen3 Coder Next model for openrouter
Added model configuration for Qwen3 Coder Next
2026-02-19 12:36:55 +05:00
Aiden Cline c6635aa7c3 Merge pull request #968 from MeganovaAI/add-meganova-provider
Add Meganova as a provider
2026-02-18 23:44:03 -06:00
Aiden Cline a6ffef7e4f Merge pull request #969 from SomeoneWithOptions/dev
add claude sonnet 4.6 on openrouter
2026-02-18 23:40:02 -06:00
Aiden Cline fda9bb5335 Merge pull request #973 from sylviezhang37/update-vercel-models-20260219-0026
Update Vercel models
2026-02-18 23:38:56 -06:00
Aiden Cline 98d6901697 Update input cost value in qwen3.5-plus.toml 2026-02-18 23:38:49 -06:00
Aiden Cline 13ae499d7c tweak values 2026-02-18 23:38:18 -06:00
xiaojie.zj f21d205d6e feat: 增加Claude Sonnet 4.6/Doubao-Seed-2.0-lite/Doubao-Seed-2.0-mini/Doubao-Seed-2.0-pro模型 2026-02-19 11:10:28 +08:00
Lucas Almeida c82b08d778 fix: adding missing gpt-5.2 model on azure foundry 2026-02-18 23:38:10 -03:00
Sylvie Zhang ea612760cf Delete providers/vercel/models/recraft/recraft-v4.toml 2026-02-18 16:34:47 -08:00
Sylvie Zhang 48a64f0834 Delete providers/vercel/models/recraft/recraft-v4-pro.toml 2026-02-18 16:34:35 -08:00
github-actions[bot] 040e7fff4e chore(vercel): update Vercel model definitions
Auto-generated by weekly workflow from Vercel AI Gateway API.

Co-Authored-By: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-19 00:26:59 +00:00
SomeoneWithOptions a6d14928b6 added claude sonnet 4.6 on openrouter 2026-02-18 18:49:56 -05:00
Boqian 92d9e89690 Set reasoning=false for DeepSeek V3 series
V3-0324, V3.1, V3.2, V3.2-Exp are chat models, not reasoning models.
Only DeepSeek-R1 is a reasoning model.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 16:41:07 -05:00
Boqian 2d83b96bb1 Fix interleaved reasoning_content based on Meganova API testing
Tested each model with include_reasoning=true against the live API.

Added [interleaved] to: GLM-4.6, MiniMax-M2.1, MiniMax-M2.5, Kimi-K2.5
Removed [interleaved] from: DeepSeek-V3.1, V3.2, V3.2-Exp, MiMo-V2-Flash

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 16:35:51 -05:00
Boqian 6e02385a6b Add interleaved reasoning_content to DeepSeek V3.1, V3.2, V3.2-Exp
These models support interleaved reasoning output, matching how other
providers (deepinfra, baseten, chutes) configure them.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 16:29:41 -05:00
Boqian a2f8234c8e Update pricing and context limits from Meganova API
Use actual pricing from https://api.meganova.ai/v1/models instead of
reference data from other providers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 16:25:43 -05:00
Aiden Cline 2f43c70397 Merge pull request #967 from nicolasgere/dev
feat(provider): Add glm-5 for baseten
2026-02-18 15:19:47 -06:00
Boqian 006cb53c1e Add Meganova as a provider with 19 open-weight models
Adds Meganova AI (https://api.meganova.ai/v1) as an OpenAI-compatible provider
with curated open-weight models including DeepSeek, GLM, Qwen, Kimi, MiniMax,
MiMo, Llama, and Mistral families.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 16:17:51 -05:00
nicolasgere d2832f9d1d Update GLM-5.toml 2026-02-18 16:15:22 -05:00
nicolasgere 73c0fcc19e Rename GLM-5 to GLM-5.toml 2026-02-18 16:14:26 -05:00
nicolasgere 04a1fe8043 Create GLM-5 2026-02-18 16:14:09 -05:00
Matthijs Kok 7fa0eeebf9 add evroc provider + models 2026-02-18 19:57:44 +01:00
Aiden Cline cb72e1780f Merge pull request #962 from aldosch/add-sonnet-4-6-vercel
add sonnet 4.6 to vercel ai gateway
2026-02-18 12:19:00 -06:00
Aiden Cline 7ee7e88346 Merge pull request #960 from fa-sharp/patch-1
fix: OpenRouter output modalities for image-only models
2026-02-18 12:18:27 -06:00
Aiden Cline 4cc230ba6c Merge pull request #963 from vglafirov/gitlab/add-sonnet-4-6
feat(gitlab): add Claude Sonnet 4.6 model
2026-02-18 12:17:57 -06:00
Aiden Cline 65d6355ffa Merge pull request #964 from xinrui-z/aihubmix-add-claude-4-6
aihubmix: add models
2026-02-18 12:17:48 -06:00
Xinrui 1b6157c0ee aihubmix: add models 2026-02-18 22:55:03 +08:00
Vladimir Glafirov 5e25c0838e feat(gitlab): add Claude Sonnet 4.6 model 2026-02-18 13:52:26 -01:00
aldosch b06ab95c9e add sonnet 4.6 to vercel ai gateway 2026-02-19 00:38:35 +11:00
Daltonganger 33f4e77ee4 fix(nano-gpt): normalize family enums for model validation 2026-02-18 12:53:40 +01:00
Daltonganger 51ef2e51ae finalize nano-gpt model sync and release metadata 2026-02-18 12:44:36 +01:00
farshad 9d873cc764 add back trailing newline 2026-02-18 02:18:40 -05:00
farshad d0acb0a35d fix output modalities for black forest flux models 2026-02-18 01:52:31 -05:00
farshad 697c191fea Update output modalities in seedream-4.5.toml 2026-02-18 01:45:06 -05:00
Aiden Cline 7d9ff92ffd fix: glm 5 maas 2026-02-17 23:41:48 -06:00
Aiden Cline 03a2aee0de Merge pull request #716 from bluet/feat/google-vertex-openai
feat: add google-vertex-openai provider for Vertex AI partner models
2026-02-17 23:38:08 -06:00
Aiden Cline 4eb19459dd Merge pull request #958 from mugnimaestra/feat/add-qwen3.5-397b-a17b-tee-chutes
feat: add Qwen3.5 397B A17B TEE to Chutes provider listings
2026-02-17 23:27:18 -06:00
Aiden Cline b74d7eb495 Merge pull request #957 from dpuyosa/veniceScript
Venice: Update generate-venice script to include context_over_200k cost
2026-02-17 23:26:28 -06:00
Aiden Cline 60aa5aca14 Merge pull request #956 from dpuyosa/venice
Venice: Add Claude Sonnet 4.6 and GLM 4.7 Flash Heretic models
2026-02-17 20:22:44 -06:00
Muhammad Mugni Hadi 67235a4e39 feat: add Qwen3.5 397B A17B TEE to Chutes provider listings 2026-02-18 09:09:45 +07:00
dpuyosa ff03fd6906 [venice] Add Claude Sonnet 4.6 and GLM 4.7 models
- Add Claude Sonnet 4.6 model with context_over_200k pricing
- Add GLM 4.7 Flash Heretic model (open weights)
- Add context_over_200k pricing tier to Claude Opus 4.6
2026-02-18 02:02:19 +01:00
dpuyosa 423b177c2b Update generate-venice script to include context_over_200k cost 2026-02-18 01:55:52 +01:00
Aiden Cline 8c263109c5 Merge pull request #955 from maahir30/open-router-structured-output
Add structured output support for OpenRouter models
2026-02-17 18:52:02 -06:00
Maahir Sachdev 1bab7e8438 update open router models 2026-02-17 16:42:52 -08:00
Aiden Cline 7a163dbc60 Merge pull request #953 from mongrelion/dev
feat: add github copilot claude sonnet 4.6 model
2026-02-17 18:30:54 -06:00
Aiden Cline c94d025aa7 fixes 2026-02-17 18:23:01 -06:00
Aiden Cline 55e8be17b5 Merge pull request #949 from cgilly2fast/dev
feat(firmware): add sonnet 4.6
2026-02-17 18:21:16 -06:00
Aiden Cline 56096012b2 Merge pull request #948 from elithrar/patch-1
add Sonnet 4.6 model config
2026-02-17 17:53:20 -06:00
Aiden Cline 9b8a22d756 Merge pull request #725 from janszypulski/add-provider-cloudferro-sherlock
Add provider - Cloudferro Sherlock
2026-02-17 17:50:14 -06:00
Aiden Cline 5a778c6e93 Merge pull request #682 from the-lazy-me/add-qihang-provider
feat: add QiHang provider with 7 models
2026-02-17 17:48:51 -06:00
Aiden Cline 4d08659acf Merge pull request #651 from yinxulai/feat/qiniu-ai
feat: add Qiniu AI provider configuration
2026-02-17 17:46:05 -06:00
Aiden Cline 128c9ec469 Merge pull request #308 from d-oit/feature/perplexity-sonar-deep-research
Feature/perplexity sonar deep research
2026-02-17 17:37:20 -06:00
Carlos León dc11781324 feat: add github copilot claude sonnet 4.6 model
Model list sourced from GitHub Settings page showing currently available models. Specifications cross-referenced with Anthropic provider implementation.
2026-02-18 00:22:22 +01:00
Colby Gilbert 9d0b37bea3 feat(firmware): add sonnet 4.6 2026-02-17 15:03:21 -08:00
Matt Silverlock c8d09fe349 add Sonnet 4.6 model config 2026-02-17 17:27:51 -05:00
Aiden Cline 1a22b93fc2 Merge pull request #947 from fhennerkes/dev
poe: add Claude-Sonnet-4.6 and update XAI models
2026-02-17 15:56:11 -06:00
Aiden Cline 3918131cb8 Merge pull request #946 from monotykamary/remove-fireworks-deprecated-models-2026-02-12
chore(fireworks-ai): remove deprecated serverless models
2026-02-17 15:56:00 -06:00
fhennerkes a1d9c5134c poe: add Claude-Sonnet-4.6 and update XAI models 2026-02-17 13:38:54 -08:00
Ruben Beuker 20abb5b8df preserve curated release dates for key nano-gpt models
Keep existing curated release and last-updated values for models where NanoGPT API uses the generic created timestamp baseline.
2026-02-17 22:09:03 +01:00
Tom X Nguyen dc36ed54ae chore(fireworks-ai): remove deprecated serverless models
Remove 6 Fireworks serverless models deprecated on February 12, 2026:
- glm-4.6 (migrate to glm-4.7)
- deepseek-r1-0528 (migrate to deepseek-v3.2 or deepseek-v3.1)
- deepseek-v3-0324 (migrate to deepseek-v3.2 or deepseek-v3.1)
- qwen3-235b-a22b (migrate to kimi-k2-instruct-0905)
- qwen3-coder-480b-a35b-instruct (migrate to kimi-k2-instruct-0905)
- minimax-m2 (migrate to MiniMax-M2.1)

See: https://fireworks.ai/models?modelTypes=Serverless
2026-02-18 04:04:51 +07:00
Ruben Beuker 8cb462f29b sync nano-gpt models with live API catalog
Refresh NanoGPT model files to match the current /api/v1/models output, remove stale entries, and add newly available models while preserving path-based IDs.

Also ignore local TokenSpeed sqlite artifacts so private monitoring data is not shown or committed.
2026-02-17 22:01:54 +01:00
Frank 89486ec705 update zen models 2026-02-17 14:12:30 -05:00
Aiden Cline f313f802ee Merge pull request #940 from nitishxyz/add-claude-sonnet-4-6
feat(models): add Claude Sonnet 4.6 model configurations
2026-02-17 13:12:10 -06:00
nitishxyz 128615ddd7 feat(models): add Claude Sonnet 4.6 model configurations
- Add Claude Sonnet 4.6 to Anthropic provider with full capabilities
- Add regional variants (US, EU, Global) for Amazon Bedrock provider
- Add Google Vertex Anthropic provider configuration
- Define pricing, context limits (200k tokens), and modalities

Co-authored-by: ottocode-io[bot] <261994719+ottocode-io[bot]@users.noreply.github.com>
2026-02-18 00:01:02 +05:30
Aiden Cline 756fb772c1 Merge pull request #939 from Nomadcxx/fix/kilo-npm-provider
fix(kilo): use @ai-sdk/openai-compatible instead of opencode-kilo-auth
2026-02-17 11:29:52 -06:00
Nomadcxx e86f0afd87 fix(kilo): use @ai-sdk/openai-compatible npm package
The npm field pointed to opencode-kilo-auth which causes
ProviderInitError when loading Kilo models.

Switched to @ai-sdk/openai-compatible (already bundled in OpenCode)
and added api field for the gateway endpoint.
2026-02-18 04:21:52 +11:00
Aiden Cline 29c5e28a43 Merge pull request #791 from samsja/add-intellect-3
Add Intellect 3 model from Prime Intellect
2026-02-17 10:56:34 -06:00
Aiden Cline ea414b1500 Merge pull request #935 from ConceptCodes/feat/add-glm-flashx-model
feat: add GLM-4.7-FlashX model configuration
2026-02-17 10:34:45 -06:00
Aiden Cline 4556fe8b5b Merge pull request #937 from gary149/feat/huggingface-qwen3.5-m2.5-coder-next
feat(huggingface): add Qwen3.5-397B, MiniMax-M2.5, Qwen3-Coder-Next
2026-02-17 10:34:33 -06:00
Aiden Cline 8af23aeba5 Merge pull request #938 from spiffytech/dev
Add Ollama Cloud support for Qwen 3.5
2026-02-17 10:34:18 -06:00
Aiden Cline 9bfe1203c6 ci 2026-02-17 10:34:02 -06:00
spiffytech a619966e22 Added Ollama Cloud support for Qwen 3.5 2026-02-17 10:00:15 -05:00
Victor Muštar f48d55e1aa chore: remove accidentally committed skill file 2026-02-17 10:31:27 +01:00
Victor Muštar fe0ddcb666 feat(huggingface): add Qwen3.5-397B, MiniMax-M2.5, Qwen3-Coder-Next 2026-02-17 10:31:18 +01:00
Frank af1e1d1f51 update zen models 2026-02-17 02:08:24 -05:00
Aiden Cline 774a9f40b0 Merge pull request #933 from too-green/patch-1
Fix the display name of GLM-4.7-Flash
2026-02-17 00:23:26 -06:00
Aiden Cline 4f01ffb017 Merge pull request #934 from PandaSt0rm/add-minimax-m2.5-highspeed-models
Add MiniMax-M2.5-highspeed models for official MiniMax providers
2026-02-17 00:23:10 -06:00
Aiden Cline 7d768260cf Merge pull request #936 from Alex-wuhu/dev
add Qwen3.5-397B-A17B for novita
2026-02-17 00:22:30 -06:00
Alex-wuhu 467d269522 add Qwen3.5-397B-A17B for novita 2026-02-17 13:22:04 +08:00
concept 5ec496d6e1 feat: add GLM-4.7-FlashX model configuration 2026-02-16 21:31:16 -06:00
PandaSt0rm 45ca42f95a add MiniMax-M2.5-highspeed models 2026-02-17 03:53:05 +02:00
Ahmed f19ebce14c Rename model to GLM-4.7-Flash
Both GLM 4.7 and GLM 4.7 Flash had been named to the same "GLM 4.7"
2026-02-17 05:03:41 +05:00
Aiden Cline 85f5340eeb Merge pull request #931 from rifandyzv/dev
Add Qwen3.5 models for alibaba & alibaba-cn provider
2026-02-16 16:06:32 -06:00
Aiden Cline 39f06e82e7 Merge pull request #932 from cantalupo555/feat/add-openrouter-qwen3.5-plus-and-397b-a17b
feat: add Qwen3.5 models on OpenRouter
2026-02-16 16:05:56 -06:00
cantalupo555 4e7725d244 feat: add Qwen3.5 models on OpenRouter 2026-02-16 17:47:45 -03:00
Aiden Cline 7fe64bc498 Revert "Add image and video to input modalities"
This reverts commit 76e84a8b06.
2026-02-16 12:12:29 -06:00
rifandyzv f84a4a5cf9 feat: add Qwen3.5 models for alibaba & alibaba-cn provider 2026-02-17 01:28:16 +08:00
Aiden Cline 96f60c3329 Merge pull request #928 from Daltonganger/feat/kilo-provider-models
Add Kilo Gateway provider and import Kilo models
2026-02-16 11:08:11 -06:00
Aiden Cline f67b9bdef7 Merge pull request #929 from Daltonganger/feat/nano-gpt-qwen35-models
Add four Qwen3.5 models for NanoGPT
2026-02-16 11:05:23 -06:00
Frank 76e84a8b06 Add image and video to input modalities 2026-02-16 12:00:43 -05:00
Daltonganger cec16274c7 Add NanoGPT Qwen3.5 model variants 2026-02-16 17:09:17 +01:00
Daltonganger 17094722ea Add Kilo provider and import Kilo model catalog 2026-02-16 17:00:15 +01:00
Matthew (BlueT) Lien e3e230e3b3 fix: add api base URL template to partner model [provider] overrides
Add the api field with env-var template URL to all partner models so
opencode's loadBaseURL() can resolve the OpenAI-compatible endpoint.

Uses GOOGLE_VERTEX_PROJECT (not GOOGLE_CLOUD_PROJECT) because
googleVertexVars() resolves it through the full fallback chain
(GOOGLE_VERTEX_PROJECT → options.project → GOOGLE_CLOUD_PROJECT →
GCP_PROJECT → GCLOUD_PROJECT).
2026-02-16 21:51:55 +08:00
Aiden Cline 4666f36f3e Merge pull request #926 from zainhas/dev
[Together AI] add minimax M2.5
2026-02-15 23:57:45 -06:00
Aiden Cline 5a2bcd704e Merge pull request #900 from conglinyizhi/dev
feat: Add StepFun provider support
2026-02-15 23:57:35 -06:00
Zain Hasan 05861fd7fd add minimax M2.5 2026-02-15 21:48:37 -08:00
Aiden Cline e37bb8ae68 Merge pull request #923 from juls0730/dev
Fix cerebras/zai-gml-4.7 pricing
2026-02-15 20:03:47 -06:00
Aiden Cline 495e8006df Merge pull request #905 from shelvick/add-vertex-glm-5
Add GLM-5 to Google Vertex AI
2026-02-15 20:03:34 -06:00
Aiden Cline ad8dde798d Merge pull request #924 from cgilly2fast/dev
feat(firmware): add reason to anthropic models
2026-02-15 20:03:23 -06:00
Aiden Cline ab4fa333e3 Merge pull request #925 from 8dazo/dev
feat: add MiniMax M2.5 to Chutes provider listings
2026-02-15 20:03:12 -06:00
8dazo 6255298cd1 minimax model update 2026-02-16 06:31:01 +05:30
Colby Gilbert 3614087be6 Merge branch 'anomalyco:dev' into dev 2026-02-15 15:55:32 -08:00
Colby Gilbert 4495cb3569 feat(firmware): add reason to anthropic models 2026-02-15 15:55:02 -08:00
juls0730 8444d9293d Fix cerebras/zai-gml-4.7 pricing
Prices from https://inference-docs.cerebras.ai/models/zai-glm-47#z-ai-glm-4-7
2026-02-15 17:53:57 -06:00
Aiden Cline c1d36715ee Merge pull request #914 from 8dazo/dev
feat: add Z-AI GLM-5 to Chutes provider listings
2026-02-15 15:45:37 -06:00
Aiden Cline 860e610b73 Merge pull request #922 from cgilly2fast/dev
chore: remove unsupported models
2026-02-15 15:45:28 -06:00
Colby Gilbert beb84e769a chore: remove unsupported models 2026-02-15 13:38:52 -08:00
Aiden Cline 0408546681 Merge pull request #921 from zerone0x/feat/add-bedrock-deepseek-v3.2
feat(amazon-bedrock): add DeepSeek V3.2
2026-02-15 15:29:26 -06:00
Aiden Cline 97a040bc5e Merge pull request #915 from fanweixiao/dev
add glm-5, gpt-5-mini, deepseek-v3.2 models for vivgrid provider
2026-02-15 15:29:08 -06:00
Aiden Cline f68786b892 Merge pull request #920 from anomalyco/revert-912-add-github-copilot-gpt-5-3-codex
Revert "feat: add GitHub Copilot GPT-5.3 Codex"
2026-02-15 08:42:51 -06:00
Clawdbot 816c3d96b9 feat(amazon-bedrock): add DeepSeek V3.2
Add DeepSeek V3.2 model to Amazon Bedrock provider.

Model ID: deepseek.v3.2-v1:0
Pricing (US regions): $0.62/1M input, $1.85/1M output

Ref: https://aws.amazon.com/about-aws/whats-new/2026/02/amazon-bedrock-adds-support-six-open-weights-models/
2026-02-15 09:19:18 +01:00
Aiden Cline bac557c176 Revert "feat: add github copilot gpt-5.3-codex model (#912)"
This reverts commit 08db483d58.
2026-02-14 18:31:30 -06:00
Aiden Cline 97e81f356e Merge pull request #908 from hsnyus-09/feature/add-aurora-alpha
feat(openrouter): add aurora-alpha model definition
2026-02-14 17:34:22 -06:00
Matthew (BlueT) Lien 4c361218de feat: add Vertex AI partner models with openai-compatible overrides
Add DeepSeek V3.1, Llama 4 Maverick, Llama 3.3 70B, and Qwen3 235B as
partner models under google-vertex provider. Update GLM-4.7 with
corrected specs from official Google Cloud docs.

Each partner model uses [provider] npm override to @ai-sdk/openai-compatible
since these models are served via Google's OpenAI-compatible endpoint,
while staying consolidated under the google-vertex provider per
maintainer feedback.

All specs (context windows, output limits, pricing, modalities)
verified against official Google Cloud documentation:
- cloud.google.com/vertex-ai/generative-ai/pricing
- cloud.google.com/vertex-ai/generative-ai/docs/maas/*

Changes:
- Update zai-org/glm-4.7-maas: fix context=200K, output=128K, add pdf
  modality, correct release_date, add structured_output, add [provider]
- Add deepseek-ai/deepseek-v3.1-maas ($0.60/$1.70, 163K context)
- Add meta/llama-4-maverick-17b-128e-instruct-maas (vision, 524K ctx)
- Add meta/llama-3.3-70b-instruct-maas ($0.72/$0.72, 128K context)
- Add qwen/qwen3-235b-a22b-instruct-2507-maas ($0.22/$0.88, 262K ctx)
2026-02-15 06:35:17 +08:00
Anjul Garg 08db483d58 feat: add github copilot gpt-5.3-codex model (#912) 2026-02-14 14:27:49 -05:00
YuSung Han e0c14d7883 Remove redundant lines in aurora-alpha.toml 2026-02-15 03:50:02 +09:00
Aiden Cline e457c7f1dd Merge pull request #916 from arshadbarves/add-nvidia-glm5
Add GLM5 model to nvidia provider
2026-02-14 11:53:09 -06:00
Arshad Barves c86b97226c Update providers/nvidia/models/z-ai/glm5.toml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-14 17:36:22 +05:30
Test User 8ec101e8f1 Add GLM5 model to nvidia provider 2026-02-14 15:32:11 +05:30
C.C. Fan cc1feddc11 add glm-5, gpt-5-mini, deepseek-v3.2 models 2026-02-14 17:08:07 +08:00
8dazo 95fd20e66a update name 2026-02-14 13:54:20 +05:30
8dazo 8c322d46dd Chutes Model Listings update 2026-02-14 13:49:06 +05:30
conglinyizhi da7a26b7b1 fix: 修复 StepFun provider 文档链接
将 doc 字段从 https://platform.stepfun.com/docs
改为 https://platform.stepfun.com/docs/zh/overview/concept
2026-02-14 15:07:40 +08:00
Aiden Cline 5a00835470 Merge pull request #913 from kavin-kr/patch-1
Update release date for nova-2-pro-v1 model
2026-02-14 00:50:06 -06:00
Frank b0c0a91926 update zen models 2026-02-14 00:52:08 -05:00
Kavin 8b2d995801 Update release date for nova-2-pro-v1 model 2026-02-13 23:46:55 -06:00
Aiden Cline 3f4b804ca1 Merge pull request #911 from monotykamary/feat/add-minimax-m2.5
feat: add fireworks minimax m2.5 model and fix m2.1 cache pricing
2026-02-13 19:00:46 -06:00
Tom X Nguyen 133e605c23 feat: add minimax m2.5 model and fix m2.1 cache pricing 2026-02-14 07:53:15 +07:00
Aiden Cline f3cff10e78 Merge pull request #910 from keenborder786/fix/gpt_5_2_pro
fix: gpt 5-2-pro does not support structured output
2026-02-13 17:53:00 -06:00
keenborder786 4732ca7f77 fix: gpt 5-2-pro does not support structured output 2026-02-14 04:50:19 +05:00
Aiden Cline 06f79b4142 Merge pull request #909 from juls0730/dev
Add all missing cohere models offered by the cohere api
2026-02-13 16:47:11 -06:00
Aiden Cline 69106c6f36 Merge pull request #907 from Algowary/dev
Chutes Model Listings update
2026-02-13 16:44:43 -06:00
Zoe dc1d8b78d0 Add all missing cohere models offered by the cohere api
This commit adds all the models offered by the official cohere api
that are not yet available in the models.dev repo, excluding the
rerank and embed models.
2026-02-13 16:43:57 -06:00
hsnyus-09 4383829304 feat(openrouter): add aurora-alpha model definition 2026-02-14 06:17:25 +09:00
Algowarry 610713b805 Merge branch 'dev' of https://github.com/Algowary/models.dev into dev 2026-02-13 16:08:26 -05:00
Algowarry 07e3eec2cf Chutes Model Inventory Update
Updating the models available from the provider chutes.ai
2026-02-13 16:01:46 -05:00
Algowarry ccf8a3e82a Merge branch 'dev' of https://github.com/Algowary/models.dev into dev 2026-02-13 15:07:16 -05:00
Algowarry 8e1d34323a Chutes Model Update
Model inventory and stats update
2026-02-13 14:38:07 -05:00
Aiden Cline 5f6d36a463 Merge pull request #787 from elithrar/fix/cloudflare-ai-gateway-provider-package
use official ai-gateway-provider package for Cloudflare AI Gateway
2026-02-13 12:44:45 -06:00
Scott Helvick 84e43b1912 Add GLM-5 to Google Vertex AI 2026-02-13 17:57:08 +00:00
Aiden Cline a9f14cbae3 Merge pull request #903 from micuintus/dev
fix(nebius): correct model ID casing to match Token Factory API
2026-02-13 10:39:51 -06:00
Aiden Cline 97baff037b Merge pull request #896 from zainhas/dev
[Together AI] Add GLM-5
2026-02-13 10:38:06 -06:00
Aiden Cline b149bd83ad Merge pull request #902 from qychen2001/dev
chore(siliconflow): update siliconflow/siliconflow-cn models
2026-02-13 10:25:04 -06:00
Aiden Cline 30ef1d1b51 Merge pull request #898 from 888-wzk/feature/chenger_20260128
feat(models): Added minimax model profile
2026-02-13 10:24:36 -06:00
Aiden Cline a62ccfd392 Merge pull request #901 from dpuyosa/venice
Venice: Add MiniMax M2.5 model configuration
2026-02-13 10:24:18 -06:00
QiyuanChen 23e195a0fa feat(models): Add interleaved reasoning_content field to GLM-4.7 and GLM-5 configurations for zai-org and Pro 2026-02-13 23:35:56 +08:00
Aiden Cline d1c5bc811e Merge pull request #899 from niushuai1991/feature/kuae-cloud-coding-plan
add provider: kuae cloud coding plan
2026-02-13 09:23:33 -06:00
Michael Voigt ad7e8047b9 fix(nebius): correct model ID casing to match Token Factory API
Fix lowercase model ID bug that caused "The model does not exist" errors.

- qwen/ → Qwen/ directory
- Fixed model file casing to match API exactly:
  - google/gemma-* → lowercase (gemma-2-2b-it, etc.)
  - meta-llama/*-Fast → lowercase fast suffix
  - nvidia/Llama-3_1-* → underscore instead of dot
  - nvidia/NVIDIA-* → uppercase NVIDIA prefix
  - black-forest-labs/flux-* → all lowercase
  - BAAI/bge-* → all lowercase
  - All Qwen models → proper casing

* Remove outdated models not in API:
- deepseek-ai/DeepSeek-V3
- meta-llama/Llama-3.1-405B-Instruct
- zai-org/GLM-4.7

* Add new model:
- moonshotai/Kimi-K2.5 (262K context, multimodal)

Fixes: https://github.com/anomalyco/opencode/issues/12461
and: https://ideas.nebius.com/en/p/token-factory-api-lowercase-model-ids

Note: The changes made and verified with actual Nebius API access
2026-02-13 14:28:48 +01:00
QiyuanChen 73393e9e41 chore(models): Remove Qwen3-30B-A3B and DeepSeek-R1-Distill-Qwen-7B model configuration files from siliconflow and siliconflow-cn 2026-02-13 20:11:19 +08:00
QiyuanChen 3e5566ab9d chore(models): Remove GLM-4.1V-9B-Thinking model configuration files from siliconflow and siliconflow-cn 2026-02-13 20:09:14 +08:00
QiyuanChen f5096e4b54 chore(models): Remove Kimi-Dev-72B model configuration files from siliconflow and siliconflow-cn 2026-02-13 20:08:14 +08:00
QiyuanChen 1d6e26574f chore(models): Remove MiniMaxAI/MiniMax-M1-80k and MiniMax-M2 model configuration files 2026-02-13 20:07:15 +08:00
QiyuanChen 57b0608e70 feat(models): Introduce Step-3.5-Flash model configuration and remove deprecated Step-3 model files 2026-02-13 20:06:05 +08:00
QiyuanChen 88ed698a69 feat(models): Enable structured_output in GLM-4.7 and GLM-5 configurations for zai-org and Pro 2026-02-13 20:04:27 +08:00
QiyuanChen 286c43f2cd feat(glm-5): Add new GLM-5 model configuration files for zai-org and Pro 2026-02-13 20:00:10 +08:00
dpuyosa 04d82741fa [venice] Add MiniMax M2.5 model configuration
- Modalities: text input/output
- Context window: 198K tokens
- Max output: 32K tokens
- Pricing: $0.40/M input, $1.60/M output, $0.04/M cache read
2026-02-13 09:44:22 +01:00
conglinyizhi 58c595b95f feat: Add StepFun provider support
- Add StepFun(阶跃星辰) as a new provider with OpenAI-compatible API
- Support step-3.5-flash (256K context, reasoning model)
- Support step-2-16k (1T parameters, 16K context)
- Support step-1-32k (100B parameters, 32K context)

Pricing based on official StepFun documentation (converted from CNY to USD):
- step-3.5-flash: bash.096 input / bash.288 output / bash.019 cache
- step-2-16k: .21 input / 6.44 output / .04 cache
- step-1-32k: .05 input / .59 output / bash.41 cache

Note: Logo not included as it is optional per contributing guidelines.
A default logo will be served by models.dev API instead.

All model definitions follow the official schema.

Fixes anomalyco/opencode#11760
Fixes anomalyco/opencode#11960

StepFun API: https://api.stepfun.com/v1
Documentation: https://platform.stepfun.com/docs/zh/pricing/details
2026-02-13 16:28:07 +08:00
城二 58de85c2e8 feat(minimax): Add interleaved configuration
- Add the reasoning_content field configuration to the minimax model.
- Update the configuration files for m2.5 and m2.5-lightning.
2026-02-13 16:20:45 +08:00
城二 f87ecffbf0 feat(minimax): Update m2.5 model name and price
- Change the model name from "lightning" to "highspeed"
- Adjust the input/output and cache read/write prices
2026-02-13 16:18:22 +08:00
niushuai1991 6dfb2f9c83 add kuae cloud coding plan 2026-02-13 15:02:52 +08:00
城二 ee8c1bce7d feat(models): Added minimax model profile 2026-02-13 14:15:44 +08:00
Zain Hasan a2dd10d09d Update output limit in GLM-5 configuration 2026-02-12 22:12:56 -08:00
Zain Hasan f6cfc2ebd2 try remove reasoning 2026-02-12 21:54:02 -08:00
Zain Hasan 3192856cc3 finx glm 5 settings 2026-02-12 21:46:13 -08:00
Aiden Cline 5507f42604 Merge pull request #874 from 888-wzk/feature/chenger_20260128
feat(z-ai): New glm-5 model configuration file
2026-02-12 22:56:36 -06:00
Aiden Cline 995aabf33f Merge pull request #894 from fhennerkes/dev
Poe: fix formatting, naming and update outputs
2026-02-12 22:56:08 -06:00
城二 fc5c3613eb feat(glm-5): Add reasoning_content field 2026-02-13 11:37:33 +08:00
fhennerkes 72f10a52e1 poe: update model names to use display_name 2026-02-12 19:08:49 -08:00
fhennerkes e944012d95 poe: small fixes (formatting and reasoning) 2026-02-12 18:55:19 -08:00
Aiden Cline e117f37d4e Merge pull request #892 from pat-baseten/add-kimi-2.5-baseten
Add Kimi K2.5 model for Baseten
2026-02-12 17:45:46 -06:00
Pat b0d71629fe Add Kimi K2.5 model for Baseten 2026-02-12 16:39:56 -06:00
Aiden Cline aa5e8634b2 Merge pull request #890 from cfal/fireworks-glm-5
fireworks: add GLM-5
2026-02-12 16:15:18 -06:00
Aiden Cline 7acba1db3f Merge pull request #891 from lucianjon/feat/openrouter-minimax-m2.5
feat(openrouter/minimax): add minimax-m2.5
2026-02-12 16:15:08 -06:00
Aiden Cline c5095973e1 Merge pull request #886 from brentdurksen/dev
feat(amazon-bedrock): add Writer Palmyra X4 and X5 models
2026-02-12 16:14:58 -06:00
Aiden Cline 5b8797cf89 Merge pull request #889 from Daltonganger/feat/nano-gpt-add-minimax-m2.5-official
feat(nano-gpt): add MiniMax M2.5 route alongside official variant
2026-02-12 16:14:36 -06:00
Daltonganger f1317184b5 Enable reasoning and add interleaved field in TOML 2026-02-12 23:07:12 +01:00
Lucian Jones 7ba286c7f2 feat(openrouter/minimax): add minimax-m2.5 2026-02-13 10:59:30 +13:00
cfal dec532b3b0 providers/fireworks-ai/models/accounts/fireworks/models/glm-5.toml: add GLM-5 to fireworks 2026-02-13 01:45:51 +04:00
Aiden Cline ccff680988 Merge pull request #864 from sylviezhang37/vercel-model-file-gen-script
feat(provider): Vercel model file generation and update script
2026-02-12 15:37:17 -06:00
Aiden Cline 1b63e4670e Merge pull request #887 from PandaSt0rm/add-minimax-m2-5-support
Add MiniMax-M2.5 across minimax and coding-plan providers
2026-02-12 15:36:56 -06:00
Aiden Cline d5cbd6fb5d Merge pull request #888 from spiffytech/dev
Add Ollama Cloud support for Minimax 2.5
2026-02-12 15:36:14 -06:00
Ruben Beuker e8f2f6b14f feat(nano-gpt): add MiniMax M2.5 route and align official variant 2026-02-12 22:35:23 +01:00
spiffytech e92fe6e9d7 Added Ollama Cloud support for Minimax 2.5 2026-02-12 16:24:11 -05:00
PandaSt0rm 7a32f17911 add MiniMax-M2.5 configs across minimax providers 2026-02-12 23:22:52 +02:00
Brent Durksen 57db1db84f feat(amazon-bedrock): add Writer Palmyra X4 and X5 models
Add two new Writer AI models to the Amazon Bedrock provider:

- writer.palmyra-x4-v1:0 (Palmyra X4): 128K context, 8K output,
  reasoning and tool calling, $2.50/$10 per M tokens (input/output)
- writer.palmyra-x5-v1:0 (Palmyra X5): 1M context, 8K output,
  reasoning and tool calling, $0.60/$6 per M tokens (input/output)

Both models support text-only input/output modalities and are
closed-weight.

Also adds the 'palmyra' family to the ModelFamilyValues enum in
packages/core/src/family.ts to support validation.
2026-02-12 13:43:32 -07:00
Aiden Cline ba91bb6612 Merge pull request #883 from ryanskidmore/ryanskidmore/cloudflare-ai-gateway-bump-opus-4-6-limits
cloudflare-ai-gateway: bump Opus 4.6 output limit to 128k
2026-02-12 13:01:38 -06:00
Ryan Skidmore 9761d0ef87 cloudflare-ai-gateway: bump Opus 4.6 output limit to 128k 2026-02-12 12:39:00 -06:00
Aiden Cline 98be9a2078 fix: family 2026-02-12 12:27:16 -06:00
Dax Raad 4aa17d26cb feat(openai): add gpt-5.3-codex-spark model 2026-02-12 13:24:43 -05:00
Aiden Cline 7f96ee576a Merge pull request #880 from Daltonganger/feat/nano-gpt-glm5-original-models
feat(nano-gpt): add GLM 5 original model variants
2026-02-12 12:18:46 -06:00
Aiden Cline bd5ce80e56 Merge pull request #882 from Daltonganger/feat/nano-gpt-add-minimax-m2.5-official
feat(nano-gpt): add MiniMax M2.5 Official model
2026-02-12 12:18:37 -06:00
Daltonganger ed2af4ad45 feat(nano-gpt): add MiniMax M2.5 Official model 2026-02-12 18:07:52 +01:00
Aiden Cline ac0868c886 Merge pull request #881 from Alex-wuhu/dev
add minmax-2.5 on novita
2026-02-12 10:32:50 -06:00
Aiden Cline fdd13245cc Revert "feat(github-copilot): add gpt-5.3-codex model (#857)"
This reverts commit 27abb8a570.
2026-02-12 10:32:15 -06:00
Alex 37c77c58ad Merge branch 'anomalyco:dev' into dev 2026-02-13 00:27:45 +08:00
Alex-wuhu 62ee8129e6 add minimax-m2.5 on novita 2026-02-13 00:23:06 +08:00
Daltonganger 4bc6f07570 fix(nano-gpt): correct GLM-5 dates to 2026-02-11 2026-02-12 17:22:18 +01:00
Aiden Cline bc0336c8ec Merge pull request #878 from cantalupo555/feat/add-openrouter-stepfun-step-3.5-flash
feat: add StepFun Step 3.5 Flash on OpenRouter
2026-02-12 10:13:17 -06:00
Aiden Cline dd78db4dc6 Merge pull request #879 from amankalra172/add-stackit-provider
fix: reorganize STACKIT models with organization prefixes
2026-02-12 10:12:48 -06:00
Daltonganger 4fd32c741d refactor(nano-gpt): consolidate z-ai GLM models under zai-org 2026-02-12 17:11:50 +01:00
Frank c78ca7c132 update zen models 2026-02-12 11:05:41 -05:00
Alex 2a99397516 add GLM5 on novita (#877) 2026-02-12 11:03:42 -05:00
Frank 554440be4f update zen models 2026-02-12 11:01:51 -05:00
Daltonganger eb52a76d11 feat(nano-gpt): add GLM 5 original model variants 2026-02-12 16:48:59 +01:00
amankalra172 c9a7f6c814 fix: reorganize STACKIT models with organization prefixes and correct pricing
- Move models to organization subfolders (Qwen/, cortecs/, google/, etc.)
- Update pricing from EUR to USD (1.09 conversion rate)
- Fix GPT-OSS context limit to 131K tokens
- Add architectural family classifications
- Verify tool_call settings for all models
2026-02-12 14:00:45 +01:00
cantalupo555 e640802d34 feat: add StepFun Step 3.5 Flash (free) on OpenRouter 2026-02-12 08:44:15 -03:00
cantalupo555 c226863912 feat: add StepFun Step 3.5 Flash on OpenRouter 2026-02-12 08:42:37 -03:00
Alex-wuhu 8bcd634743 add GLM5 on novita 2026-02-12 16:26:05 +08:00
Aiden Cline 812cd1763a Merge pull request #873 from juls0730/dev
Create cerebras/llama3.1-8b.toml
2026-02-12 00:40:48 -06:00
城二 11f4ae568e feat(z-ai): New glm-5 model configuration file 2026-02-12 11:23:22 +08:00
juls0730 9f1629a26a Create cerebras/llama3.1-8b.toml 2026-02-11 21:01:08 -06:00
Yunfei He 27abb8a570 feat(github-copilot): add gpt-5.3-codex model (#857)
* feat(github-copilot): add gpt-5.3-codex model

* fix(github-copilot): align gpt-5.3-codex release metadata
2026-02-11 21:53:36 -05:00
Aiden Cline 2aa4a2290e Merge pull request #868 from dpuyosa/venice
Venice: Add GLM-5 model
2026-02-11 19:49:16 -06:00
Aiden Cline c58b36c605 Merge pull request #872 from Track07-cda/openrouter-glm5
OpenRouter: Add GLM-5 and remove Pony Alpha
2026-02-11 19:49:07 -06:00
Aiden Cline e91dbd1fc4 Merge pull request #870 from spiffytech/dev
Add Ollama Cloud support for GLM-5
2026-02-11 19:39:23 -06:00
Track07-cda 8924ee3092 feat(openrouter): add GLM-5 and remove Pony Alpha
Add the Z-AI GLM-5 model definition to the OpenRouter provider and
remove the deprecated Pony Alpha model.
2026-02-12 09:38:12 +08:00
spiffytech fc5b6533d1 Added Ollama Cloud support for GLM-5 2026-02-11 19:57:46 -05:00
Aiden Cline 7a760e3a4f Merge pull request #871 from Kunde21/synthetic_k2_5_nvfp4
Synthetic: Add Kimi -2 5 in NVFP4 remove GLM-4.5
2026-02-11 18:53:56 -06:00
Chad Kunde 38835801b1 synthetic: deprecate GLM-4.5
Model removed from models list as of 12 Feb 2026
2026-02-12 07:27:24 +07:00
Chad Kunde 81103438a3 synthetic: Add NVFP4 variant of Kimi K2.5 2026-02-12 07:25:41 +07:00
dpuyosa 0b0b36eb45 [venice] Add GLM-5 model with 198K context window
- Add ZAI-ORG GLM-5 model configuration to Venice provider
- Supports reasoning, tool calls, structured output
- Text in/out: 198K context, 49.5K output tokens
2026-02-11 22:53:23 +01:00
Aiden Cline b18b73f0a0 Revert "fix: openai advertises a 400k context window, that is just the sum of max input + max output, so real context window is 272k"
This reverts commit ea276d57a7.
2026-02-11 15:24:43 -06:00
Aiden Cline 3cd48b273a Merge pull request #867 from AnishShah1803/nano-gpt/add-glm-5-models
Add GLM 5 to NanoGPT models list
2026-02-11 14:47:57 -06:00
twisted 890992b8ef update release date 2026-02-11 20:37:59 +00:00
twisted a843d84d77 Add GLM 5 to NanoGPT models list 2026-02-11 20:35:41 +00:00
Aiden Cline d89897d07e Merge pull request #866 from Sczr0/dev
Update pricing for ZAI GLM-5
2026-02-11 14:35:23 -06:00
Aiden Cline 1b26792073 fix zai 2026-02-11 14:34:43 -06:00
Aiden Cline 6a0da0a91d Revert "Fixed ZAI GLM-5 pricing to free (0 cost)"
This reverts commit 79d1222e3c.
2026-02-11 14:33:39 -06:00
opencode-agent[bot] 79d1222e3c Fixed ZAI GLM-5 pricing to free (0 cost)
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2026-02-11 20:14:03 +00:00
Sylvie Zhang 1ad45b44c2 add readme 2026-02-11 12:13:38 -08:00
弦塔_ 45ba8066df Update cost parameters in glm-5.toml 2026-02-12 04:07:57 +08:00
弦塔_ 4861f14a65 Update cost parameters in glm-5.toml 2026-02-12 04:07:29 +08:00
弦塔_ c83b4e22bd Update cost parameters in glm-5.toml 2026-02-12 03:56:40 +08:00
Sylvie Zhang 44c1ed5aeb additional data cleaning logic 2026-02-11 11:48:32 -08:00
Sylvie Zhang 28c09d83a0 add fallback logic 2026-02-11 11:48:32 -08:00
Sylvie Zhang ea41cbc4ba draft script 2026-02-11 11:48:32 -08:00
Aiden Cline c893ac5f9d Merge pull request #863 from AnishShah1803/nano-gpt/update-Kimi-K2-5-models
Add Kimi K2.5 models to NanoGPT provider
2026-02-11 13:41:43 -06:00
twisted 8e10faf38a set reasoning to true for kimi k2.5 2026-02-11 19:33:12 +00:00
Aiden Cline 4c3a17fbe8 Merge pull request #859 from friendliai/minpeter/add-glm5-friendli
Add zai-org/GLM-5 model to Friendli provider
2026-02-11 13:14:58 -06:00
twisted f7d997e4f0 fix last_updated 2026-02-11 19:08:48 +00:00
twisted 6961c57c86 make open_weights set to true 2026-02-11 19:07:35 +00:00
minpeter e44307c27c Add interleaved reasoning_content to GLM-4.7 and MiniMax-M2.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 04:01:29 +09:00
minpeter b9f7907150 Merge remote-tracking branch 'origin/dev' into minpeter/add-glm5-friendli 2026-02-12 04:00:31 +09:00
minpeter bf0ee2a3eb Add interleaved reasoning_content field for GLM-5
GLM models use interleaved reasoning via the reasoning_content field with OpenAI-compatible providers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 03:58:58 +09:00
Aiden Cline b9a73edcdc Merge pull request #862 from hanouticelina/feat/huggingface-glm-5
feat(huggingface): add GLM-5 for Hugging Face provider
2026-02-11 12:45:43 -06:00
Aiden Cline 7ff3be2dab fix: github copilot model discrepencies 2026-02-11 12:40:36 -06:00
twisted 406f82e09f Add Kimi K2.5 models to NanoGPT provider 2026-02-11 18:40:09 +00:00
Celina Hanouti c8fa26624d add GLM-5 for hugging face provider 2026-02-11 19:39:35 +01:00
Aiden Cline ae31005ef3 Merge pull request #830 from amankalra172/add-stackit-provider
feat: add STACKIT provider with 8 AI models
2026-02-11 12:20:47 -06:00
Aiden Cline 0aa7c9f3c2 Merge pull request #852 from zainhas/dev
[Together AI] update output token length to match context length
2026-02-11 12:20:09 -06:00
Aiden Cline 40be65f301 Merge pull request #853 from captain1379/feat/jiekou
Add new models for Jiekou.AI
2026-02-11 12:19:40 -06:00
Aiden Cline 49ab2c0a48 feat: add glm 5 to zai, zhipuai, and zai coding plan 2026-02-11 12:17:49 -06:00
minpeter 7fd96a6c9d Add zai-org/GLM-5 model to Friendli provider
Add GLM-5 model configuration with reasoning, tool calling, and structured output support. Update family pattern inference in generate script to recognize GLM-5 models.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-02-12 03:07:25 +09:00
Aiden Cline fc4027fe98 Merge pull request #856 from josetorres1/add-bedrock-zai-minimax-models
Add GLM 4.7 Family and MiniMax M2.1 to Amazon Bedrock
2026-02-11 11:25:21 -06:00
Aiden Cline b260564060 Merge pull request #855 from dihan-dff-user/dev
Add ZAI coding plan GLM-5 model
2026-02-11 11:24:47 -06:00
opencode-agent[bot] ecd5927bed Removed knowledge field from GLM-5 config
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2026-02-11 17:23:31 +00:00
Jose Torres 490381f370 Add GLM 4.7 family and MiniMax M2.1 to Amazon Bedrock provider
- Add GLM-4.7 (zai.glm-4.7): /bin/zsh.60/.20 per 1M tokens
- Add GLM-4.7-Flash (zai.glm-4.7-flash): /bin/zsh.07//bin/zsh.40 per 1M tokens
- Add MiniMax M2.1 (minimax.minimax-m2.1): /bin/zsh.30/.20 per 1M tokens

Pricing sources:
- AWS Bedrock pricing page: https://aws.amazon.com/bedrock/pricing/
- Model IDs confirmed via AWS console/CLI

Related to GH issue #835
2026-02-11 09:51:18 -06:00
dihan 621687e457 Add ZAI coding plan GLM-5 model 2026-02-11 20:38:40 +05:30
captain1379 d5a3bfad90 feat: add new models for Jiekou.AI
- Introduced `claude-opus-4-6`, `qwen3-coder-next` and `gpt-5.1` models with detailed configurations.
- Removed deprecated `qwen2.5-vl-72b-instruct` model.
- Implemented a new script for generating model configurations.
2026-02-11 15:19:40 +08:00
Zain Hasan 310bc174fa update output token length to match context length 2026-02-10 23:05:23 -08:00
Aiden Cline 9fb1233073 Merge pull request #848 from BlockListed/cortecs-glm-models
Add supported z.ai GLM models to cortecs
2026-02-10 20:04:21 -06:00
Aiden Cline 029f13545b Merge pull request #849 from BlockListed/cortecs-minimax-models
Add MiniMax models to cortecs
2026-02-10 20:04:12 -06:00
Aiden Cline 31b1acba5f Merge pull request #850 from cgilly2fast/dev
feat(firmware): kimi and glm models
2026-02-10 20:04:00 -06:00
Aiden Cline 120881916e Merge pull request #851 from anomalyco/fix-models
fix: openai advertises a 400k context window, that is just the sum of max input + max output, so real context window is 272k
2026-02-10 20:03:48 -06:00
Colby Gilbert 05d940ab8d feat(firmware): kimi and glm models 2026-02-10 14:25:46 -08:00
BlockListed 7d250ea857 cortecs add minimax models 2026-02-10 23:13:39 +01:00
BlockListed 82d72e85f8 add supported z.ai GLM models to cortecs 2026-02-10 22:58:22 +01:00
amankalra172 7504dc2947 feat: add STACKIT provider with 8 AI models
Add STACKIT as a new provider with complete model specifications:

Chat Models:
- Llama 3.1 8B Instruct FP8
- Llama 3.3 70B Instruct FP8
- GPT-OSS 120B
- Mistral Nemo Instruct 2407 FP8
- Gemma 3 27B (multimodal)
- Qwen3-VL 235B (vision-language)

Embedding Models:
- E5 Mistral 7B
- Qwen3-VL Embedding 8B (multimodal)

All models include:
- Proper schema compliance (attachment, reasoning, tool_call, etc.)
- Pricing in USD per million tokens
- Context limits and modalities
- Official STACKIT logo with currentColor support

STACKIT is a German sovereign cloud provider offering OpenAI-compatible
AI model serving with open-source models.
2026-02-08 12:35:51 +01:00
samsja f180f49df5 Add Intellect 3 model from Prime Intellect 2026-02-03 23:58:12 -08:00
Matt Silverlock 0ba8852f91 use official ai-gateway-provider package for Cloudflare AI Gateway 2026-02-03 15:41:11 -05:00
Jan Szypulski 22d6a24c7a fix: llama 3.3 last update 2026-01-27 18:00:11 +01:00
Jan Szypulski c7bc5b7c98 fix: corrected logo color and size 2026-01-27 17:59:55 +01:00
Jan Szypulski 2c63a024b3 delete unrecognized model family 2026-01-27 17:04:36 +01:00
Jan Szypulski 2f34ee47ee add cloudferro logo 2026-01-27 16:48:42 +01:00
Jan Szypulski f6cb6631b8 add cloudferro sherlock models 2026-01-27 16:48:28 +01:00
lazy 2b331310b7 fix(qihang-ai): rename provider and fix logo to match standards
- Rename provider from qihang to qihang-ai
- Update logo to use standard size (24x24) and currentColor

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 12:34:48 +08:00
Jan Szypulski d934e26168 add cloudferro sherlock as provider 2026-01-22 16:11:45 +01:00
lazy 74cb010892 feat(qihang): add Gemini 2.5 Flash and GPT-5.2 models 2026-01-21 15:19:30 +08:00
lazy b465cec21a feat: add QiHang provider with 7 models
- Add QiHang provider configuration (OpenAI-compatible API)
- API endpoint: https://api.qhaigc.net/v1
- Add 7 models:
  - gpt-5.2-codex (/bin/zsh.14/.14)
  - gpt-5-mini (/bin/zsh.04//bin/zsh.29)
  - claude-opus-4-5-20251101 (/bin/zsh.71/.57)
  - claude-sonnet-4-5-20250929 (/bin/zsh.43/.14)
  - claude-haiku-4-5-20251001 (/bin/zsh.14//bin/zsh.71)
  - gemini-3-flash-preview (/bin/zsh.07//bin/zsh.43)
  - gemini-3-pro-preview (/bin/zsh.57/.43)
- All configurations validated with bun validate
2026-01-20 16:45:35 +08:00
yinxulai faa78aa42b feat: add new Qiniu AI models - Claude 3.5/3.7/4.0/4.1/4.5 series, Gemini 2.0/2.5/3.0 series, GPT-5/5.2, Grok 4/4.1 series, and Kling v2-6 2026-01-16 17:46:45 +08:00
yinxulai 79636dec83 fix: add required date fields and default output limits for Qiniu AI models 2026-01-15 10:49:52 +08:00
yinxulai f9983aae19 feat: add Qiniu AI model definitions
- Add 49 OpenAI-compatible model definitions
- Models filtered from Qiniu API with OpenAI protocol support
- Include models from DeepSeek, Qwen, Kimi, GLM, Doubao, MiniMax, etc.
- No pricing information included (aggregation platform)
2026-01-15 10:38:15 +08:00
Aiden Cline b9411cb00c feat: add Qiniu AI provider configuration 2026-01-15 10:06:30 +08:00
Dominik Oswald c35c42fc34 Add Sonar Deep Research model configuration
- Introduce TOML configuration for Perplexity Sonar Deep Research model
- Include token pricing, request fees, and model limits
- Follow OpenCode AI schema conventions for model definitions
2025-10-17 13:12:19 +02:00
Dominik Oswald 8abedde07c Add Perplexity Sonar Deep Research model configuration
- Introduce TOML configuration for Perplexity Sonar Deep Research model
- Include token pricing, request fees, and model limits
2025-10-17 13:10:38 +02:00
1601 changed files with 27737 additions and 779 deletions
+5 -3
View File
@@ -7,8 +7,10 @@ on:
jobs:
opencode:
if: |
contains(github.event.comment.body, '/oc') ||
contains(github.event.comment.body, '/opencode')
contains(github.event.comment.body, ' /oc') ||
startsWith(github.event.comment.body, '/oc') ||
contains(github.event.comment.body, ' /opencode') ||
startsWith(github.event.comment.body, '/opencode')
runs-on: ubuntu-latest
permissions:
contents: read
@@ -22,4 +24,4 @@ jobs:
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
with:
model: anthropic/claude-sonnet-4-20250514
model: anthropic/claude-sonnet-4-20250514
+4
View File
@@ -1,5 +1,9 @@
.env
.sst
.idea
dist
.DS_Store
node_modules
data/tokenspeed-monitor.sqlite
data/tokenspeed-monitor.sqlite-shm
data/tokenspeed-monitor.sqlite-wal
+2 -1
View File
@@ -17,7 +17,8 @@
"scripts": {
"validate": "bun ./packages/core/script/validate.ts",
"helicone:generate": "bun ./packages/core/script/generate-helicone.ts",
"venice:generate": "bun ./packages/core/script/generate-venice.ts"
"venice:generate": "bun ./packages/core/script/generate-venice.ts",
"vercel:generate": "bun ./packages/core/script/generate-vercel.ts"
},
"dependencies": {
"@cloudflare/workers-types": "^4.20250801.0",
+1 -1
View File
@@ -48,8 +48,8 @@ const familyPatterns: [RegExp, string][] = [
[/llama-4/i, "llama-4"],
[/qwen3/i, "qwen3"],
[/deepseek-r1/i, "deepseek-r1"],
[/exaone/i, "exaone"],
[/glm-4/i, "glm-4"],
[/glm-5/i, "glm"],
];
function inferFamily(modelId: string, modelName: string): string | undefined {
+54 -4
View File
@@ -35,6 +35,31 @@ type OllamaModel = Omit<Model, "id"> & {
limit: Model["limit"] & { output?: number };
};
type ComparableModel = Pick<Model,
| "name"
| "attachment"
| "reasoning"
| "tool_call"
| "knowledge"
| "open_weights"
| "modalities"
> & {
limit: Pick<Model["limit"], "context">;
};
function normalizeForComparison(model: Omit<Model, "id">): ComparableModel {
return {
name: model.name,
attachment: model.attachment,
reasoning: model.reasoning,
tool_call: model.tool_call,
knowledge: model.knowledge,
open_weights: model.open_weights,
limit: { context: model.limit.context },
modalities: model.modalities,
};
}
const OllamaTagsResponse = z.object({
models: z.array(
z.object({
@@ -137,20 +162,34 @@ for (const modelName of modelNames) {
modelsData.push({ name: modelName, data: showParsed.data });
}
console.log(`Fetched all models. Writing new files...`);
console.log(`Fetched all models. Syncing files...`);
const existingFiles = Array.from(new Bun.Glob("*.toml").scanSync(modelsDir));
const existingModelNames = new Set(existingFiles.map((f) => f.replace(/\.toml$/, "")));
const apiModelNames = new Set(modelNames);
let deleted = 0;
for (const existingName of existingModelNames) {
if (!apiModelNames.has(existingName)) {
const filePath = path.join(modelsDir, modelFileName(existingName));
await Bun.file(filePath).delete();
console.log(`Deleted: ${modelFileName(existingName)}`);
deleted++;
}
}
let created = 0;
let skipped = 0;
for (const { name, data } of modelsData) {
const fileName = modelFileName(name);
const filePath = path.join(modelsDir, fileName);
let existingData: Omit<Model, "id"> | null;
let existingData: Omit<Model, "id"> | null = null;
try {
const existingToml = await Bun.file(filePath).text();
existingData = Bun.TOML.parse(existingToml) as Omit<Model, "id">;
} catch {
// File doesn't exist
existingData = null;
}
const family = existingData?.family ?? (data.details.family as ModelFamily);
@@ -179,9 +218,20 @@ for (const { name, data } of modelsData) {
},
};
if (existingData) {
const normalizedExisting = normalizeForComparison(existingData);
const normalizedIncoming = normalizeForComparison(ollamaModel);
if (Bun.deepEquals(normalizedExisting, normalizedIncoming)) {
console.log(`Skipped (no changes): ${fileName}`);
skipped++;
continue;
}
}
await Bun.write(filePath, generateToml(name, ollamaModel));
console.log(`Created: ${fileName}`);
created++;
}
console.log(`\nDone. Created ${created}`);
console.log(`\nDone. Created: ${created}, Skipped: ${skipped}, Deleted: ${deleted}`);
+59 -34
View File
@@ -3,30 +3,11 @@
import { z } from "zod";
import path from "node:path";
import { readdir } from "node:fs/promises";
import * as readline from "node:readline";
import { ModelFamilyValues } from "../src/family.js";
// Venice API endpoint
const API_ENDPOINT = "https://api.venice.ai/api/v1/models?type=text";
async function promptForApiKey(): Promise<string | null> {
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
return new Promise((resolve) => {
rl.question(
"Enter Venice API key to include alpha models (or press Enter to skip): ",
(answer) => {
rl.close();
const trimmed = answer.trim();
resolve(trimmed.length > 0 ? trimmed : null);
},
);
});
}
// Zod schemas for API response validation
const Capabilities = z
.object({
@@ -43,12 +24,25 @@ const Capabilities = z
})
.passthrough();
const PricingTier = z.object({ usd: z.number(), diem: z.number().optional() }).passthrough();
const ExtendedPricing = z
.object({
context_token_threshold: z.number(),
input: PricingTier,
output: PricingTier,
cache_input: PricingTier.optional(),
cache_write: PricingTier.optional(),
})
.passthrough();
const Pricing = z
.object({
input: z.object({ usd: z.number(), diem: z.number().optional() }).passthrough(),
output: z.object({ usd: z.number(), diem: z.number().optional() }).passthrough(),
cache_input: z.object({ usd: z.number(), diem: z.number().optional() }).passthrough().optional(),
cache_write: z.object({ usd: z.number(), diem: z.number().optional() }).passthrough().optional(),
input: PricingTier,
output: PricingTier,
cache_input: PricingTier.optional(),
cache_write: PricingTier.optional(),
extended: ExtendedPricing.optional(),
})
.passthrough();
@@ -56,6 +50,7 @@ const ModelSpec = z
.object({
pricing: Pricing.optional(),
availableContextTokens: z.number(),
maxCompletionTokens: z.number().optional(),
capabilities: Capabilities,
constraints: z.any().optional(),
name: z.string(),
@@ -162,6 +157,12 @@ interface ExistingModel {
reasoning?: number;
cache_read?: number;
cache_write?: number;
context_over_200k?: {
input?: number;
output?: number;
cache_read?: number;
cache_write?: number;
};
};
limit?: {
context?: number;
@@ -213,6 +214,12 @@ interface MergedModel {
output: number;
cache_read?: number;
cache_write?: number;
context_over_200k?: {
input: number;
output: number;
cache_read?: number;
cache_write?: number;
};
};
limit: {
context: number;
@@ -232,11 +239,7 @@ function mergeModel(
const caps = spec.capabilities;
const contextTokens = spec.availableContextTokens;
const proposedOutputTokens = Math.floor(contextTokens / 4);
const outputTokens =
existing?.limit?.output !== undefined && existing.limit.output < proposedOutputTokens
? existing.limit.output
: proposedOutputTokens
const outputTokens = spec.maxCompletionTokens ?? Math.floor(contextTokens / 4);
const openWeights = spec.modelSource
? spec.modelSource.toLowerCase().includes("huggingface")
@@ -285,6 +288,16 @@ function mergeModel(
...(spec.pricing.cache_input && { cache_read: spec.pricing.cache_input.usd }),
...(spec.pricing.cache_write && { cache_write: spec.pricing.cache_write.usd }),
};
// Extended pricing maps to context_over_200k
if (spec.pricing.extended) {
merged.cost.context_over_200k = {
input: spec.pricing.extended.input.usd,
output: spec.pricing.extended.output.usd,
...(spec.pricing.extended.cache_input && { cache_read: spec.pricing.extended.cache_input.usd }),
...(spec.pricing.extended.cache_write && { cache_write: spec.pricing.extended.cache_write.usd }),
};
}
}
const inferred = inferFamily(apiModel.id, spec.name);
@@ -352,6 +365,19 @@ function formatToml(model: MergedModel): string {
if (model.cost.cache_write !== undefined) {
lines.push(`cache_write = ${model.cost.cache_write}`);
}
if (model.cost.context_over_200k) {
lines.push("");
lines.push(`[cost.context_over_200k]`);
lines.push(`input = ${model.cost.context_over_200k.input}`);
lines.push(`output = ${model.cost.context_over_200k.output}`);
if (model.cost.context_over_200k.cache_read !== undefined) {
lines.push(`cache_read = ${model.cost.context_over_200k.cache_read}`);
}
if (model.cost.context_over_200k.cache_write !== undefined) {
lines.push(`cache_write = ${model.cost.context_over_200k.cache_write}`);
}
}
}
// Limit section
@@ -414,6 +440,10 @@ function detectChanges(
compare("cost.output", existing.cost?.output, merged.cost?.output);
compare("cost.cache_read", existing.cost?.cache_read, merged.cost?.cache_read);
compare("cost.cache_write", existing.cost?.cache_write, merged.cost?.cache_write);
compare("cost.context_over_200k.input", existing.cost?.context_over_200k?.input, merged.cost?.context_over_200k?.input);
compare("cost.context_over_200k.output", existing.cost?.context_over_200k?.output, merged.cost?.context_over_200k?.output);
compare("cost.context_over_200k.cache_read", existing.cost?.context_over_200k?.cache_read, merged.cost?.context_over_200k?.cache_read);
compare("cost.context_over_200k.cache_write", existing.cost?.context_over_200k?.cache_write, merged.cost?.context_over_200k?.cache_write);
compare("limit.context", existing.limit?.context, merged.limit.context);
compare("limit.output", existing.limit?.output, merged.limit.output);
compare("modalities.input", existing.modalities?.input, merged.modalities.input);
@@ -435,7 +465,7 @@ async function main() {
"models",
);
// Check for API key from CLI argument, environment, or prompt
// Check for API key from CLI argument or environment variable
let apiKey: string | null = null;
// Check CLI args for --api-key=xxx or --api-key xxx
@@ -454,11 +484,6 @@ async function main() {
apiKey = process.env.VENICE_API_KEY ?? null;
}
// Prompt if still no key
if (!apiKey) {
apiKey = await promptForApiKey();
}
const includeAlpha = apiKey !== null;
if (dryRun) {
+572
View File
@@ -0,0 +1,572 @@
#!/usr/bin/env bun
/**
* Generates Vercel model TOML files from the AI Gateway API.
*
* Flags:
* --dry-run: Preview changes without writing files
* --new-only: Only create new models, skip updating existing ones
*/
import { z } from "zod";
import path from "node:path";
import { mkdir } from "node:fs/promises";
import { ModelFamilyValues } from "../src/family.js";
const API_ENDPOINT = "https://ai-gateway.vercel.sh/v1/models";
enum ModelType {
Language = "language",
Embedding = "embedding",
Image = "image",
Video = "video",
}
enum SkipZeroFields {
LimitContext = "limit.context",
LimitOutput = "limit.output",
}
const PricingTier = z.object({
cost: z.string(),
min: z.number(),
max: z.number().optional(),
});
const Pricing = z.object({
input: z.string().optional(),
output: z.string().optional(),
input_cache_read: z.string().optional(),
input_cache_write: z.string().optional(),
input_tiers: z.array(PricingTier).optional(),
output_tiers: z.array(PricingTier).optional(),
input_cache_read_tiers: z.array(PricingTier).optional(),
input_cache_write_tiers: z.array(PricingTier).optional(),
}).passthrough();
const VercelModel = z.object({
id: z.string(),
name: z.string(),
created: z.number(),
released: z.number().optional(),
context_window: z.number(),
max_tokens: z.number(),
type: z.nativeEnum(ModelType),
tags: z.array(z.string()).optional().default([]),
pricing: Pricing.optional(),
}).passthrough();
const VercelResponse = z.object({
data: z.array(VercelModel),
}).passthrough();
interface ExistingModel {
name?: string;
family?: string;
attachment?: boolean;
reasoning?: boolean;
tool_call?: boolean;
structured_output?: boolean;
temperature?: boolean;
knowledge?: string;
release_date?: string;
last_updated?: string;
open_weights?: boolean;
interleaved?: boolean | { field: string };
status?: string;
cost?: {
input?: number;
output?: number;
cache_read?: number;
cache_write?: number;
};
limit?: {
context?: number;
output?: number;
};
modalities?: {
input?: string[];
output?: string[];
};
}
interface MergedModel {
name: string;
family?: string;
attachment: boolean;
reasoning: boolean;
tool_call: boolean;
structured_output?: boolean;
temperature: boolean;
knowledge?: string;
release_date: string;
last_updated: string;
open_weights: boolean;
interleaved?: boolean | { field: string };
status?: string;
cost?: {
input: number;
output: number;
cache_read?: number;
cache_write?: number;
};
limit: {
context: number;
output: number;
};
modalities: {
input: string[];
output: string[];
};
}
interface Changes {
field: string;
oldValue: string;
newValue: string;
}
function timestampToDate(timestamp: number): string {
const date = new Date(timestamp * 1000);
return date.toISOString().slice(0, 10);
}
function getTodayDate(): string {
return new Date().toISOString().slice(0, 10);
}
// Number utilities
function formatNumber(n: number): string {
if (n >= 1000) {
return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, "_");
}
return n.toString();
}
function isSubstring(target: string, family: string): boolean {
return target.toLowerCase().includes(family.toLowerCase());
}
function matchesFamily(target: string, family: string): boolean {
const targetLower = target.toLowerCase();
const familyLower = family.toLowerCase();
let familyIdx = 0;
for (let i = 0; i < targetLower.length && familyIdx < familyLower.length; i++) {
if (targetLower[i] === familyLower[familyIdx]) {
familyIdx++;
}
}
return familyIdx === familyLower.length;
}
function inferFamily(modelId: string, modelName: string): string | undefined {
const sortedFamilies = [...ModelFamilyValues].sort((a, b) => b.length - a.length);
// First pass: try exact substring matches
for (const family of sortedFamilies) {
if (isSubstring(modelId, family)) {
return family;
}
}
for (const family of sortedFamilies) {
if (isSubstring(modelName, family)) {
return family;
}
}
// Second pass: fall back to subsequence matching
for (const family of sortedFamilies) {
if (matchesFamily(modelId, family)) {
return family;
}
}
for (const family of sortedFamilies) {
if (matchesFamily(modelName, family)) {
return family;
}
}
return undefined;
}
function buildInputModalities(tags: string[]): string[] {
const mods: string[] = ["text"];
const tagSet = new Set(tags);
if (tagSet.has("vision")) mods.push("image");
if (tagSet.has("file-input")) mods.push("pdf");
return mods;
}
function buildOutputModalities(modelType: ModelType, tags: string[]): string[] {
const mods: string[] = ["text"];
const tagSet = new Set(tags);
if (modelType === ModelType.Image || tagSet.has("image-generation")) {
mods.push("image");
} else if (modelType === ModelType.Video) {
mods.push("video");
}
return mods;
}
async function loadExistingModel(filePath: string): Promise<ExistingModel | null> {
try {
const file = Bun.file(filePath);
if (!(await file.exists())) {
return null;
}
const toml = await import(filePath, { with: { type: "toml" } }).then(
(mod) => mod.default,
);
return toml as ExistingModel;
} catch (e) {
console.warn(`Warning: Failed to parse existing file ${filePath}:`, e);
return null;
}
}
function mergeModel(
apiModel: z.infer<typeof VercelModel>,
existing: ExistingModel | null,
): MergedModel {
const tagSet = new Set(apiModel.tags);
const inputModalities = buildInputModalities(apiModel.tags);
const outputModalities = buildOutputModalities(apiModel.type, apiModel.tags);
// Preserve existing values when available (previously manually specified)
const name = existing?.name ?? apiModel.name;
const attachment = existing?.attachment ?? (tagSet.has("vision") || tagSet.has("file-input"));
const reasoning = existing?.reasoning ?? tagSet.has("reasoning");
const toolCall = existing?.tool_call ?? tagSet.has("tool-use");
const openWeights = existing?.open_weights ?? false;
const family = existing?.family ?? inferFamily(apiModel.id, apiModel.name);
const structuredOutput = existing?.structured_output;
const knowledge = existing?.knowledge;
const interleaved = existing?.interleaved;
const status = existing?.status;
// Release date: use API, fallback to existing, then today
const releaseDate = apiModel.released
? timestampToDate(apiModel.released)
: (existing?.release_date ?? getTodayDate());
// Preserve existing limits if API returns 0 (indicates missing/invalid data)
const contextLimit = apiModel.context_window > 0
? apiModel.context_window
: (existing?.limit?.context ?? 0);
const outputLimit = apiModel.max_tokens > 0
? apiModel.max_tokens
: (existing?.limit?.output ?? 0);
const merged: MergedModel = {
name,
family,
attachment,
reasoning,
tool_call: toolCall,
temperature: true,
release_date: releaseDate,
last_updated: getTodayDate(),
open_weights: openWeights,
...(structuredOutput !== undefined && { structured_output: structuredOutput }),
...(knowledge && { knowledge }),
...(interleaved !== undefined && { interleaved }),
...(status && { status }),
limit: {
context: contextLimit,
output: outputLimit,
},
modalities: {
input: inputModalities,
output: outputModalities,
},
};
if (apiModel.pricing) {
const inputPrice = apiModel.pricing.input_tiers?.[0]?.cost ?? apiModel.pricing.input;
const outputPrice = apiModel.pricing.output_tiers?.[0]?.cost ?? apiModel.pricing.output;
const cacheReadPrice = apiModel.pricing.input_cache_read_tiers?.[0]?.cost ?? apiModel.pricing.input_cache_read;
const cacheWritePrice = apiModel.pricing.input_cache_write_tiers?.[0]?.cost ?? apiModel.pricing.input_cache_write;
if (inputPrice && outputPrice) {
merged.cost = {
input: parseFloat(inputPrice) * 1_000_000,
output: parseFloat(outputPrice) * 1_000_000,
...(cacheReadPrice && {
cache_read: parseFloat(cacheReadPrice) * 1_000_000,
}),
...(cacheWritePrice && {
cache_write: parseFloat(cacheWritePrice) * 1_000_000,
}),
};
}
}
return merged;
}
function formatToml(model: MergedModel): string {
const lines: string[] = [];
lines.push(`name = "${model.name.replace(/"/g, '\\"')}"`);
if (model.family) {
lines.push(`family = "${model.family}"`);
}
lines.push(`attachment = ${model.attachment}`);
lines.push(`reasoning = ${model.reasoning}`);
lines.push(`tool_call = ${model.tool_call}`);
if (model.structured_output !== undefined) {
lines.push(`structured_output = ${model.structured_output}`);
}
lines.push(`temperature = ${model.temperature}`);
if (model.knowledge) {
lines.push(`knowledge = "${model.knowledge}"`);
}
lines.push(`release_date = "${model.release_date}"`);
lines.push(`last_updated = "${model.last_updated}"`);
lines.push(`open_weights = ${model.open_weights}`);
if (model.status) {
lines.push(`status = "${model.status}"`);
}
if (model.interleaved !== undefined) {
lines.push("");
if (model.interleaved === true) {
lines.push(`interleaved = true`);
} else if (typeof model.interleaved === "object") {
lines.push(`[interleaved]`);
lines.push(`field = "${model.interleaved.field}"`);
}
}
if (model.cost) {
lines.push("");
lines.push(`[cost]`);
lines.push(`input = ${model.cost.input}`);
lines.push(`output = ${model.cost.output}`);
if (model.cost.cache_read !== undefined) {
lines.push(`cache_read = ${model.cost.cache_read}`);
}
if (model.cost.cache_write !== undefined) {
lines.push(`cache_write = ${model.cost.cache_write}`);
}
}
lines.push("");
lines.push(`[limit]`);
lines.push(`context = ${formatNumber(model.limit.context)}`);
lines.push(`output = ${formatNumber(model.limit.output)}`);
lines.push("");
lines.push(`[modalities]`);
lines.push(`input = [${model.modalities.input.map((m) => `"${m}"`).join(", ")}]`);
lines.push(`output = [${model.modalities.output.map((m) => `"${m}"`).join(", ")}]`);
return lines.join("\n") + "\n";
}
function detectChanges(
existing: ExistingModel | null,
merged: MergedModel,
): Changes[] {
if (!existing) return [];
const changes: Changes[] = [];
const EPSILON = 0.001; // price diff to ignore (per million tokens)
const shouldSkipZero = (field: string, oldVal: unknown, newVal: unknown): boolean => {
if (!Object.values(SkipZeroFields).includes(field as SkipZeroFields)) {
return false;
}
return (typeof oldVal === "number" && oldVal === 0) || (typeof newVal === "number" && newVal === 0);
};
const formatValue = (val: unknown): string => {
if (typeof val === "number") return formatNumber(val);
if (Array.isArray(val)) return `[${val.join(", ")}]`;
if (val === undefined) return "(none)";
return String(val);
};
const isMaterialPriceDiff = (oldPrice: unknown, newPrice: unknown): boolean => {
// 0 → undefined is not material (cost removed)
if (oldPrice === 0 && newPrice === undefined) return false;
if (oldPrice !== undefined && newPrice !== undefined) {
return Math.abs((oldPrice as number) - (newPrice as number)) > EPSILON;
}
return oldPrice !== newPrice;
};
const compare = (field: string, oldVal: unknown, newVal: unknown) => {
if (shouldSkipZero(field, oldVal, newVal)) return;
const isDiff = field.startsWith("cost.")
? isMaterialPriceDiff(oldVal, newVal)
: JSON.stringify(oldVal) !== JSON.stringify(newVal);
if (isDiff) {
changes.push({
field,
oldValue: formatValue(oldVal),
newValue: formatValue(newVal),
});
}
};
compare("name", existing.name, merged.name);
compare("family", existing.family, merged.family);
compare("attachment", existing.attachment, merged.attachment);
compare("reasoning", existing.reasoning, merged.reasoning);
compare("tool_call", existing.tool_call, merged.tool_call);
compare("structured_output", existing.structured_output, merged.structured_output);
compare("open_weights", existing.open_weights, merged.open_weights);
compare("release_date", existing.release_date, merged.release_date);
compare("cost.input", existing.cost?.input, merged.cost?.input);
compare("cost.output", existing.cost?.output, merged.cost?.output);
compare("cost.cache_read", existing.cost?.cache_read, merged.cost?.cache_read);
compare("cost.cache_write", existing.cost?.cache_write, merged.cost?.cache_write);
compare("limit.context", existing.limit?.context, merged.limit.context);
compare("limit.output", existing.limit?.output, merged.limit.output);
compare("modalities.input", existing.modalities?.input, merged.modalities.input);
return changes;
}
async function main() {
const args = process.argv.slice(2);
const dryRun = args.includes("--dry-run");
const newOnly = args.includes("--new-only");
const modelsDir = path.join(
import.meta.dirname,
"..",
"..",
"..",
"providers",
"vercel",
"models",
);
console.log(`${dryRun ? "[DRY RUN] " : ""}${newOnly ? "[NEW ONLY] " : ""}Fetching Vercel models from API...`);
const res = await fetch(API_ENDPOINT);
if (!res.ok) {
console.error(`Failed to fetch API: ${res.status} ${res.statusText}`);
process.exit(1);
}
const json = await res.json();
const parsed = VercelResponse.safeParse(json);
if (!parsed.success) {
console.error("Invalid API response:", parsed.error.errors);
process.exit(1);
}
const apiModels = parsed.data.data;
const existingFiles = new Set<string>();
try {
for await (const file of new Bun.Glob("**/*.toml").scan({
cwd: modelsDir,
absolute: false,
})) {
existingFiles.add(file);
}
} catch {
}
console.log(`Found ${apiModels.length} models in API, ${existingFiles.size} existing files\n`);
const apiModelIds = new Set<string>();
let created = 0;
let updated = 0;
let unchanged = 0;
for (const apiModel of apiModels) {
// Skip these since OpenCode does not support image / video generation yet
if (apiModel.type === ModelType.Image || apiModel.type === ModelType.Video) {
continue;
}
const relativePath = `${apiModel.id}.toml`;
const filePath = path.join(modelsDir, relativePath);
const dirPath = path.dirname(filePath);
apiModelIds.add(relativePath);
const existing = await loadExistingModel(filePath);
const merged = mergeModel(apiModel, existing);
const tomlContent = formatToml(merged);
if (existing === null) {
created++;
if (dryRun) {
console.log(`[DRY RUN] Would create: ${relativePath}`);
console.log(` name = "${merged.name}"`);
if (merged.family) {
console.log(` family = "${merged.family}" (inferred)`);
}
console.log("");
} else {
await mkdir(dirPath, { recursive: true });
await Bun.write(filePath, tomlContent);
console.log(`Created: ${relativePath}`);
}
} else {
if (newOnly) {
unchanged++;
continue;
}
const changes = detectChanges(existing, merged);
if (changes.length > 0) {
updated++;
if (dryRun) {
console.log(`[DRY RUN] Would update: ${relativePath}`);
} else {
await mkdir(dirPath, { recursive: true });
await Bun.write(filePath, tomlContent);
console.log(`Updated: ${relativePath}`);
}
for (const change of changes) {
console.log(` ${change.field}: ${change.oldValue}${change.newValue}`);
}
console.log("");
} else {
unchanged++;
}
}
}
const orphaned: string[] = [];
for (const file of existingFiles) {
if (!apiModelIds.has(file)) {
orphaned.push(file);
console.log(`Warning: Orphaned file (not in API): ${file}`);
}
}
console.log("");
if (dryRun) {
console.log(
`Summary: ${created} would be created, ${updated} would be updated, ${unchanged} unchanged, ${orphaned.length} orphaned`,
);
} else {
console.log(
`Summary: ${created} created, ${updated} updated, ${unchanged} unchanged, ${orphaned.length} orphaned`,
);
}
}
await main();
+11 -5
View File
@@ -8,6 +8,7 @@ export const ModelFamilyValues = [
// OpenAI/GPT style
"gpt",
"gpt-codex",
"gpt-codex-spark",
"gpt-codex-mini",
"gpt-pro",
"gpt-mini",
@@ -127,9 +128,6 @@ export const ModelFamilyValues = [
"solar-mini",
"solar-pro",
// Exaone
"exaone",
// Step (StepFun)
"step",
@@ -187,7 +185,6 @@ export const ModelFamilyValues = [
// Pony
"pony",
// Mercury
"mercury",
@@ -197,6 +194,9 @@ export const ModelFamilyValues = [
// Mimo
"mimo",
// Clarifai
"mm-poly",
// Longcat
"longcat",
@@ -284,6 +284,9 @@ export const ModelFamilyValues = [
// Parakeet
"parakeet",
// MiMo
"mimo-flash-free",
// NeMo
"nemoretriever",
@@ -364,7 +367,10 @@ export const ModelFamilyValues = [
"sourceful",
// AllenAI
"allenai"
"allenai",
// Writer
"palmyra",
] as const;
export const ModelFamily = z.enum(ModelFamilyValues);
+1
View File
@@ -73,6 +73,7 @@ export const Model = z
.object({
npm: z.string().optional(),
api: z.string().optional(),
shape: z.enum(["responses", "completions"]).optional(),
})
.optional(),
})
@@ -0,0 +1,22 @@
name = "Claude Opus 4.6"
family = "claude-opus"
release_date = "2026-02-05"
last_updated = "2026-02-05"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-05"
open_weights = false
[cost]
input = 5.00
output = 25.00
[limit]
context = 200_000
output = 128_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Claude Sonnet 4.6"
family = "claude-sonnet"
release_date = "2026-02-17"
last_updated = "2026-02-17"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-08"
open_weights = false
[cost]
input = 3.00
output = 15.00
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -9,8 +9,8 @@ tool_call = true
open_weights = true
[cost]
input = 0.14
output = 0.28
input = 0.55
output = 1.66
[limit]
context = 128_000
@@ -0,0 +1,22 @@
name = "Gemini 3.1 Flash Lite Preview"
family = "gemini-flash"
release_date = "2026-03-01"
last_updated = "2026-03-01"
attachment = true
reasoning = true
temperature = true
tool_call = true
structured_output = true
open_weights = false
[cost]
input = 0.25
output = 1.50
[limit]
context = 1_048_576
output = 65_536
[modalities]
input = ["text", "image", "audio", "video", "pdf"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "Gemini 3.1 Pro Preview"
family = "gemini-pro"
release_date = "2026-02-19"
last_updated = "2026-02-19"
attachment = true
reasoning = true
temperature = true
tool_call = true
structured_output = true
knowledge = "2025-01"
open_weights = false
[cost]
input = 2.00
output = 12.00
[limit]
context = 1_048_576
output = 65_536
[modalities]
input = ["text", "image", "video", "audio", "pdf"]
output = ["text"]
+24
View File
@@ -0,0 +1,24 @@
name = "GPT-5 Codex"
family = "gpt"
release_date = "2025-09-15"
last_updated = "2025-09-15"
attachment = false
reasoning = true
temperature = false
knowledge = "2024-09-30"
tool_call = true
structured_output = true
open_weights = false
[cost]
input = 1.25
output = 10.00
[limit]
context = 400_000
input = 272_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -1,7 +1,7 @@
name = "GPT-5"
name = "GPT-5.1 Codex Max"
family = "gpt"
release_date = "2025-08-07"
last_updated = "2025-08-07"
release_date = "2025-11-13"
last_updated = "2025-11-13"
attachment = true
reasoning = true
temperature = false
@@ -12,11 +12,11 @@ open_weights = false
[cost]
input = 1.25
output = 10
cache_read = 0.13
output = 10.00
[limit]
context = 400_000
input = 272_000
output = 128_000
[modalities]
@@ -0,0 +1,24 @@
name = "GPT-5.1 Codex"
family = "gpt"
release_date = "2025-11-13"
last_updated = "2025-11-13"
attachment = true
reasoning = true
temperature = false
knowledge = "2024-09-30"
tool_call = true
structured_output = true
open_weights = false
[cost]
input = 1.25
output = 10.00
[limit]
context = 400_000
input = 272_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -10,8 +10,8 @@ tool_call = true
open_weights = false
[cost]
input = 1.50
output = 12.00
input = 1.75
output = 14.00
[limit]
context = 400_000
@@ -0,0 +1,24 @@
name = "GPT-5.2 Codex"
family = "gpt"
release_date = "2025-12-11"
last_updated = "2025-12-11"
attachment = true
reasoning = true
temperature = false
knowledge = "2025-08-31"
tool_call = true
structured_output = true
open_weights = false
[cost]
input = 1.75
output = 14.00
[limit]
context = 400_000
input = 272_000
output = 128_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "GPT-5.3 Chat Latest"
family = "gpt"
release_date = "2026-03-01"
last_updated = "2026-03-01"
attachment = true
reasoning = true
temperature = true
tool_call = true
open_weights = false
[cost]
input = 1.75
output = 14.00
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "GPT-5.3 Codex XHigh"
family = "gpt"
release_date = "2026-02-05"
last_updated = "2026-02-05"
attachment = true
reasoning = true
temperature = false
knowledge = "2025-08-31"
tool_call = true
structured_output = true
open_weights = false
[cost]
input = 1.75
output = 14.00
[limit]
context = 400_000
input = 272_000
output = 128_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "GPT-5.3 Codex"
family = "gpt"
release_date = "2026-02-05"
last_updated = "2026-02-05"
attachment = true
reasoning = true
temperature = false
knowledge = "2025-08-31"
tool_call = true
structured_output = true
open_weights = false
[cost]
input = 1.75
output = 14.00
[limit]
context = 400_000
input = 272_000
output = 128_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
+23
View File
@@ -0,0 +1,23 @@
name = "Kimi K2.5"
family = "kimi"
release_date = "2026-01"
last_updated = "2026-01"
attachment = false
reasoning = true
structured_output = true
temperature = true
tool_call = true
knowledge = "2025-01"
open_weights = true
[cost]
input = 0.60
output = 3.00
[limit]
context = 262_144
output = 32_768
[modalities]
input = ["text", "image", "video"]
output = ["text"]
+1 -1
View File
@@ -11,7 +11,7 @@ open_weights = false
[cost]
input = 20.00
output = 80.00
output = 40.00
[limit]
context = 200_000
+2 -2
View File
@@ -10,8 +10,8 @@ tool_call = true
open_weights = false
[cost]
input = 0.50
output = 1.50
input = 3.00
output = 15.00
[limit]
context = 128_000
+2 -2
View File
@@ -9,8 +9,8 @@ tool_call = true
open_weights = true
[cost]
input = 0.70
output = 2.50
input = 0.60
output = 2.20
[limit]
context = 128_000
@@ -0,0 +1,21 @@
name = "GLM-5"
family = "glm"
release_date = "2026-02-11"
last_updated = "2026-02-11"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = true
[cost]
input = 1.00
output = 3.20
[limit]
context = 204800
output = 131072
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,30 @@
name = "Claude Opus 4.6 Think"
family = "claude-opus"
release_date = "2026-02-05"
last_updated = "2026-02-05"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-05"
open_weights = false
[cost]
input = 5.00
output = 25.00
cache_read = 0.30
cache_write = 3.75
[cost.context_over_200k]
input = 6.00
output = 22.00
cache_read = 0.60
cache_write = 7.50
[limit]
context = 200_000
output = 128_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,30 @@
name = "Claude Opus 4.6"
family = "claude-opus"
release_date = "2026-02-05"
last_updated = "2026-02-05"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-05"
open_weights = false
[cost]
input = 5.00
output = 25.00
cache_read = 0.30
cache_write = 3.75
[cost.context_over_200k]
input = 6.00
output = 22.00
cache_read = 0.60
cache_write = 7.50
[limit]
context = 200_000
output = 128_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,30 @@
name = "Claude Sonnet 4.6 Think"
family = "claude-sonnet"
release_date = "2026-02-17"
last_updated = "2026-02-17"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-08"
open_weights = false
[cost]
input = 3.00
output = 15.00
cache_read = 0.30
cache_write = 3.75
[cost.context_over_200k]
input = 6.00
output = 22.50
cache_read = 0.60
cache_write = 7.50
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,30 @@
name = "Claude Sonnet 4.6"
family = "claude-sonnet"
release_date = "2026-02-17"
last_updated = "2026-02-17"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-08"
open_weights = false
[cost]
input = 3.00
output = 15.00
cache_read = 0.30
cache_write = 3.75
[cost.context_over_200k]
input = 6.00
output = 22.50
cache_read = 0.60
cache_write = 7.50
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Coding-GLM-5-Free"
family = "glm"
release_date = "2026-02-11"
last_updated = "2026-02-11"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[interleaved]
field = "reasoning_content"
[cost]
input = 0.0
output = 0.0
[limit]
context = 204800
output = 131072
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "Gemini 3 Pro Preview Search"
family = "gemini-pro"
release_date = "2025-11-19"
last_updated = "2025-11-19"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-11"
open_weights = false
[cost]
input = 2.00
output = 12.00
cache_read = 0.50
[limit]
context = 1_000_000
output = 65_000
[modalities]
input = ["text", "image", "audio", "video"]
output = ["text"]
+24
View File
@@ -0,0 +1,24 @@
name = "GLM-5"
family = "glm"
release_date = "2026-02-11"
last_updated = "2026-02-11"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[interleaved]
field = "reasoning_content"
[cost]
input = 0.88
output = 2.82
[limit]
context = 204800
output = 131072
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "GPT-5.2-Codex"
family = "gpt-codex"
release_date = "2026-01-14"
last_updated = "2026-01-14"
attachment = true
reasoning = true
temperature = true
knowledge = "2025-08-31"
tool_call = true
structured_output = true
open_weights = false
[cost]
input = 1.75
output = 14.00
cache_read = 0.175
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "MiniMax-M2.5"
family = "minimax"
release_date = "2026-02-12"
last_updated = "2026-02-12"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = true
[cost]
input = 0.29
output = 1.15
[limit]
context = 204_800
output = 131_072
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "Qwen3 Coder Next"
family = "qwen"
attachment = false
reasoning = false
tool_call = true
structured_output = false
temperature = true
release_date = "2026-02-04"
last_updated = "2026-02-04"
open_weights = true
[cost]
input = 0.14
output = 0.55
[limit]
context = 262_144
input = 262_144
output = 65_536
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen 3.5 Plus"
family = "qwen"
release_date = "2026-02-16"
last_updated = "2026-02-16"
attachment = false
reasoning = true
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = false
[cost]
input = 0.11
output = 0.66
[limit]
context = 1_000_000
output = 65_536
[modalities]
input = ["text", "image", "video"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "MiniMax M2.5"
family = "minimax"
release_date = "2026-02-12"
last_updated = "2026-02-12"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = true
[cost]
input = 0.301
output = 1.205
[limit]
context = 204_800
output = 131_072
[modalities]
input = ["text"]
output = ["text"]
+24
View File
@@ -0,0 +1,24 @@
name = "GLM-5"
family = "glm"
release_date = "2026-02-11"
last_updated = "2026-02-11"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[interleaved]
field = "reasoning_content"
[cost]
input = 0.86
output = 3.15
[limit]
context = 202_752
output = 16_384
[modalities]
input = ["text"]
output = ["text"]
+4 -3
View File
@@ -1,12 +1,13 @@
name = "Moonshot Kimi K2.5"
family = "kimi"
release_date = "2025-01-27"
last_updated = "2025-01-27"
release_date = "2026-01-27"
last_updated = "2026-01-27"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = true
knowledge = "2025-01"
structured_output = false
[interleaved]
@@ -21,5 +22,5 @@ context = 262_144
output = 32_768
[modalities]
input = ["text", "image"]
input = ["text", "image", "video"]
output = ["text"]
@@ -0,0 +1,27 @@
name = "kimi/kimi-k2.5"
family = "kimi"
release_date = "2026-01-27"
last_updated = "2026-01-27"
attachment = false
reasoning = true
structured_output = true
temperature = false
tool_call = true
knowledge = "2025-01"
open_weights = true
[interleaved]
field = "reasoning_content"
[cost]
input = 0.6
output = 3.0
cache_read = 0.1
[limit]
context = 262_144
output = 262_144
[modalities]
input = ["text", "image", "video"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "MiniMax-M2.5"
family = "minimax"
release_date = "2026-02-12"
last_updated = "2026-02-12"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = true
[cost]
input = 0.30
output = 1.20
[interleaved]
field = "reasoning_content"
[limit]
context = 204_800
output = 131_072
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "Qwen3.5 397B-A17B"
family = "qwen"
release_date = "2026-02-16"
last_updated = "2026-02-16"
attachment = false
reasoning = true
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = true
[cost]
input = 0.430
output = 2.58
reasoning = 2.58
[limit]
context = 262_144
output = 65_536
[modalities]
input = ["text", "image", "video"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Qwen3.5 Flash"
family = "qwen"
release_date = "2026-02-23"
last_updated = "2026-02-23"
attachment = true
reasoning = true
structured_output = true
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = false
[cost]
input = 0.172
output = 1.72
reasoning = 1.72
[limit]
context = 1_000_000
output = 65_536
[modalities]
input = ["text", "image", "video"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "Qwen3.5 Plus"
family = "qwen"
release_date = "2026-02-16"
last_updated = "2026-02-16"
attachment = false
reasoning = true
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = false
[cost]
input = 0.573
output = 3.44
reasoning = 3.44
[limit]
context = 1_000_000
output = 65_536
[modalities]
input = ["text", "image", "video"]
output = ["text"]
@@ -1,6 +1,6 @@
name = "MiniMaxAI/MiniMax-M1-80k"
family = "minimax"
release_date = "2025-06-17"
name = "siliconflow/deepseek-r1-0528"
family = "deepseek-thinking"
release_date = "2025-05-28"
last_updated = "2025-11-25"
attachment = false
reasoning = true
@@ -10,13 +10,13 @@ structured_output = true
open_weights = false
[cost]
input = 0.55
output = 2.2
input = 0.5
output = 2.18
[limit]
context = 131_000
output = 131_000
context = 163_840
output = 32_768
[modalities]
input = ["text"]
output = ["text"]
output = ["text"]
@@ -1,6 +1,6 @@
name = "moonshotai/Kimi-Dev-72B"
family = "kimi"
release_date = "2025-06-19"
name = "siliconflow/deepseek-v3-0324"
family = "deepseek"
release_date = "2024-12-26"
last_updated = "2025-11-25"
attachment = false
reasoning = false
@@ -10,13 +10,13 @@ structured_output = true
open_weights = false
[cost]
input = 0.29
output = 1.15
input = 0.25
output = 1.0
[limit]
context = 131_000
output = 131_000
context = 163_840
output = 163_840
[modalities]
input = ["text"]
output = ["text"]
output = ["text"]
@@ -1,6 +1,6 @@
name = "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B"
family = "qwen"
release_date = "2025-01-20"
name = "siliconflow/deepseek-v3.1-terminus"
family = "deepseek"
release_date = "2025-09-29"
last_updated = "2025-11-25"
attachment = false
reasoning = true
@@ -10,13 +10,13 @@ structured_output = true
open_weights = false
[cost]
input = 0.05
output = 0.05
input = 0.27
output = 1.0
[limit]
context = 33_000
output = 16_000
context = 163_840
output = 65_536
[modalities]
input = ["text"]
output = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "siliconflow/deepseek-v3.2"
family = "deepseek"
release_date = "2025-12-03"
last_updated = "2025-12-03"
attachment = false
reasoning = true
temperature = true
tool_call = true
structured_output = true
open_weights = false
[cost]
input = 0.27
output = 0.42
[limit]
context = 163_840
output = 65_536
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
<path d="M37.9998 23.021C33.7998 25.2889 29.5698 27.3649 24.8614 28.3069C23.8114 28.5154 22.6474 28.5154 21.5809 28.3714C20.5639 28.2439 20.0554 27.3484 20.4169 26.4064C20.7619 25.5289 21.2209 24.635 21.8119 23.9C23.0899 22.3025 24.5329 20.849 25.8289 19.268C26.6203 18.2991 27.3335 17.2689 27.9618 16.187C28.4208 15.4205 28.2078 14.4935 27.4038 14.111C26.0584 13.4556 24.6154 12.9936 23.1889 12.4986C23.0239 12.4341 22.7779 12.6096 22.4509 12.7221C22.8604 13.0881 23.1559 13.3596 23.5654 13.727C19.3339 14.447 15.3305 15.467 11.4455 16.874C11.4275 16.9535 11.396 17.0165 11.411 17.0495C11.9855 17.927 11.723 18.5975 10.886 19.1405C10.5611 19.3531 10.2732 19.6176 10.034 19.9235C12.593 20.6735 14.873 20.243 17.0539 18.821C16.9234 18.6305 16.7914 18.455 16.6609 18.263C17.4799 18.407 17.9719 18.854 18.0379 19.556C18.0544 19.7165 17.9569 19.8755 17.9074 20.036C17.7919 19.907 17.6449 19.781 17.5474 19.6355C17.4799 19.5395 17.4634 19.4285 17.4154 19.268C14.8235 20.993 12.035 21.425 8.96751 20.531C8.96751 21.137 8.93451 21.6485 8.98401 22.1435C9.01701 22.574 8.83701 22.766 8.44401 22.9895C7.55752 23.5325 6.63803 24.092 5.90003 24.8105C5.01504 25.6879 5.34354 26.7589 6.54053 27.2059C7.90102 27.7159 9.329 27.7309 10.7555 27.5569C12.4445 27.3484 14.1005 27.0769 15.9394 26.8219C13.79 27.8269 11.6735 28.5319 9.4445 28.8169C7.88452 29.0269 6.32753 29.1379 4.78554 28.6909C2.57156 28.0684 1.58607 26.4394 2.16057 24.251C2.70206 22.2065 4.01455 20.5775 5.42454 19.076C10.133 14.078 16.0864 11.5401 22.9744 11.0286C24.5824 10.9176 26.2069 11.1246 27.7143 11.7951C29.8308 12.7536 30.7173 14.78 29.6838 16.826C29.0118 18.1835 28.0758 19.4285 27.1413 20.6585C26.2234 21.872 25.1899 22.9895 24.2224 24.155C23.9434 24.506 23.6809 24.875 23.4679 25.2724C23.0569 26.0224 23.3359 26.5174 24.2059 26.4394C26.0254 26.2624 27.8808 26.1199 29.6358 25.6729C32.2098 25.0174 34.7193 24.092 37.2618 23.2775C37.5243 23.213 37.7703 23.117 37.9998 23.0225V23.021Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

@@ -0,0 +1,27 @@
name = "GLM-4.7"
family = "glm"
release_date = "2025-12-22"
last_updated = "2025-12-22"
attachment = false
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-04"
open_weights = true
[interleaved]
field = "reasoning_content"
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 202_752
output = 16_384
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,26 @@
name = "GLM-5"
family = "glm"
release_date = "2026-02-11"
last_updated = "2026-02-11"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[interleaved]
field = "reasoning_content"
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 202_752
output = 16_384
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,27 @@
name = "Kimi K2.5"
family = "kimi"
release_date = "2026-01-27"
last_updated = "2026-01-27"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-01"
open_weights = true
[interleaved]
field = "reasoning_content"
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 262_144
output = 32_768
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Qwen3 Coder Next"
family = "qwen"
release_date = "2026-02-03"
last_updated = "2026-02-03"
attachment = false
reasoning = false
temperature = true
tool_call = true
structured_output = true
open_weights = true
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 262_144
output = 65_536
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Qwen3 Coder Plus"
family = "qwen"
release_date = "2025-07-23"
last_updated = "2025-07-23"
attachment = false
reasoning = false
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = true
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 1_000_000
output = 65_536
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Qwen3 Max"
family = "qwen"
release_date = "2026-01-23"
last_updated = "2026-01-23"
attachment = false
reasoning = false
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = false
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 262_144
output = 65_536
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Qwen3.5 Plus"
family = "qwen"
release_date = "2026-02-16"
last_updated = "2026-02-16"
attachment = false
reasoning = true
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = false
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 1_000_000
output = 65_536
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,5 @@
name = "Alibaba Coding Plan (China)"
env = ["ALIBABA_CODING_PLAN_API_KEY"]
npm = "@ai-sdk/openai-compatible"
doc = "https://help.aliyun.com/zh/model-studio/coding-plan"
api = "https://coding.dashscope.aliyuncs.com/v1"
+3
View File
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
<path d="M37.9998 23.021C33.7998 25.2889 29.5698 27.3649 24.8614 28.3069C23.8114 28.5154 22.6474 28.5154 21.5809 28.3714C20.5639 28.2439 20.0554 27.3484 20.4169 26.4064C20.7619 25.5289 21.2209 24.635 21.8119 23.9C23.0899 22.3025 24.5329 20.849 25.8289 19.268C26.6203 18.2991 27.3335 17.2689 27.9618 16.187C28.4208 15.4205 28.2078 14.4935 27.4038 14.111C26.0584 13.4556 24.6154 12.9936 23.1889 12.4986C23.0239 12.4341 22.7779 12.6096 22.4509 12.7221C22.8604 13.0881 23.1559 13.3596 23.5654 13.727C19.3339 14.447 15.3305 15.467 11.4455 16.874C11.4275 16.9535 11.396 17.0165 11.411 17.0495C11.9855 17.927 11.723 18.5975 10.886 19.1405C10.5611 19.3531 10.2732 19.6176 10.034 19.9235C12.593 20.6735 14.873 20.243 17.0539 18.821C16.9234 18.6305 16.7914 18.455 16.6609 18.263C17.4799 18.407 17.9719 18.854 18.0379 19.556C18.0544 19.7165 17.9569 19.8755 17.9074 20.036C17.7919 19.907 17.6449 19.781 17.5474 19.6355C17.4799 19.5395 17.4634 19.4285 17.4154 19.268C14.8235 20.993 12.035 21.425 8.96751 20.531C8.96751 21.137 8.93451 21.6485 8.98401 22.1435C9.01701 22.574 8.83701 22.766 8.44401 22.9895C7.55752 23.5325 6.63803 24.092 5.90003 24.8105C5.01504 25.6879 5.34354 26.7589 6.54053 27.2059C7.90102 27.7159 9.329 27.7309 10.7555 27.5569C12.4445 27.3484 14.1005 27.0769 15.9394 26.8219C13.79 27.8269 11.6735 28.5319 9.4445 28.8169C7.88452 29.0269 6.32753 29.1379 4.78554 28.6909C2.57156 28.0684 1.58607 26.4394 2.16057 24.251C2.70206 22.2065 4.01455 20.5775 5.42454 19.076C10.133 14.078 16.0864 11.5401 22.9744 11.0286C24.5824 10.9176 26.2069 11.1246 27.7143 11.7951C29.8308 12.7536 30.7173 14.78 29.6838 16.826C29.0118 18.1835 28.0758 19.4285 27.1413 20.6585C26.2234 21.872 25.1899 22.9895 24.2224 24.155C23.9434 24.506 23.6809 24.875 23.4679 25.2724C23.0569 26.0224 23.3359 26.5174 24.2059 26.4394C26.0254 26.2624 27.8808 26.1199 29.6358 25.6729C32.2098 25.0174 34.7193 24.092 37.2618 23.2775C37.5243 23.213 37.7703 23.117 37.9998 23.0225V23.021Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

@@ -0,0 +1,26 @@
name = "MiniMax-M2.5"
family = "minimax"
release_date = "2026-02-12"
last_updated = "2026-02-12"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = true
[interleaved]
field = "reasoning_content"
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 204_800
output = 32_768
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,27 @@
name = "GLM-4.7"
family = "glm"
release_date = "2025-12-22"
last_updated = "2025-12-22"
attachment = false
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-04"
open_weights = true
[interleaved]
field = "reasoning_content"
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 202_752
output = 16_384
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,26 @@
name = "GLM-5"
family = "glm"
release_date = "2026-02-11"
last_updated = "2026-02-11"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[interleaved]
field = "reasoning_content"
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 202_752
output = 16_384
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,27 @@
name = "Kimi K2.5"
family = "kimi"
release_date = "2026-01-27"
last_updated = "2026-01-27"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-01"
open_weights = true
[interleaved]
field = "reasoning_content"
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 262_144
output = 32_768
[modalities]
input = ["text", "image", "video"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Qwen3 Coder Next"
family = "qwen"
release_date = "2026-02-03"
last_updated = "2026-02-03"
attachment = false
reasoning = false
temperature = true
tool_call = true
structured_output = true
open_weights = true
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 262_144
output = 65_536
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Qwen3 Coder Plus"
family = "qwen"
release_date = "2025-07-23"
last_updated = "2025-07-23"
attachment = false
reasoning = false
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = true
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 1_048_576
output = 65_536
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Qwen3 Max"
family = "qwen"
release_date = "2026-01-23"
last_updated = "2026-01-23"
attachment = false
reasoning = false
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = false
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 262_144
output = 65_536
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Qwen3.5 Plus"
family = "qwen"
release_date = "2026-02-16"
last_updated = "2026-02-16"
attachment = false
reasoning = true
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = false
[cost]
input = 0
output = 0
cache_read = 0
cache_write = 0
[limit]
context = 1_000_000
output = 65_536
[modalities]
input = ["text", "image", "video"]
output = ["text"]
@@ -0,0 +1,5 @@
name = "Alibaba Coding Plan"
env = ["ALIBABA_CODING_PLAN_API_KEY"]
npm = "@ai-sdk/openai-compatible"
doc = "https://www.alibabacloud.com/help/en/model-studio/coding-plan"
api = "https://coding-intl.dashscope.aliyuncs.com/v1"
@@ -0,0 +1,23 @@
name = "Qwen3.5 397B-A17B"
family = "qwen"
release_date = "2026-02-16"
last_updated = "2026-02-16"
attachment = false
reasoning = true
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = true
[cost]
input = 0.6
output = 3.6
reasoning = 3.6
[limit]
context = 262_144
output = 65_536
[modalities]
input = ["text", "image", "video"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Qwen3.5 Plus"
family = "qwen"
release_date = "2026-02-16"
last_updated = "2026-02-16"
attachment = false
reasoning = true
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = false
[cost]
input = 0.4
output = 2.4
reasoning = 2.4
[limit]
context = 1_000_000
output = 65_536
[modalities]
input = ["text", "image", "video"]
output = ["text"]
@@ -22,7 +22,7 @@ cache_read = 1.00
cache_write = 12.50
[limit]
context = 1_000_000
context = 200_000
output = 128_000
[modalities]
@@ -0,0 +1,30 @@
name = "Claude Sonnet 4.6"
family = "claude-sonnet"
release_date = "2026-02-17"
last_updated = "2026-02-17"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-08"
open_weights = false
[cost]
input = 3.00
output = 15.00
cache_read = 0.30
cache_write = 3.75
[cost.context_over_200k]
input = 6.00
output = 22.50
cache_read = 0.60
cache_write = 7.50
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "DeepSeek-V3.2"
family = "deepseek"
release_date = "2026-02-15"
last_updated = "2026-02-15"
attachment = false
reasoning = true
temperature = true
knowledge = "2024-07"
tool_call = true
open_weights = true
[cost]
input = 0.62
output = 1.85
[limit]
context = 163_840
output = 81_920
[modalities]
input = ["text"]
output = ["text"]
@@ -22,7 +22,7 @@ cache_read = 1.00
cache_write = 12.50
[limit]
context = 1_000_000
context = 200_000
output = 128_000
[modalities]
@@ -0,0 +1,30 @@
name = "Claude Sonnet 4.6 (EU)"
family = "claude-sonnet"
release_date = "2026-02-17"
last_updated = "2026-02-17"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-08"
open_weights = false
[cost]
input = 3.00
output = 15.00
cache_read = 0.30
cache_write = 3.75
[cost.context_over_200k]
input = 6.00
output = 22.50
cache_read = 0.60
cache_write = 7.50
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -22,7 +22,7 @@ cache_read = 1.00
cache_write = 12.50
[limit]
context = 1_000_000
context = 200_000
output = 128_000
[modalities]
@@ -0,0 +1,30 @@
name = "Claude Sonnet 4.6 (Global)"
family = "claude-sonnet"
release_date = "2026-02-17"
last_updated = "2026-02-17"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-08"
open_weights = false
[cost]
input = 3.00
output = 15.00
cache_read = 0.30
cache_write = 3.75
[cost.context_over_200k]
input = 6.00
output = 22.50
cache_read = 0.60
cache_write = 7.50
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "MiniMax M2.1"
family = "minimax"
release_date = "2025-12-23"
last_updated = "2025-12-23"
attachment = false
reasoning = true
temperature = true
tool_call = true
structured_output = false
open_weights = true
[cost]
input = 0.30
output = 1.20
[limit]
context = 204_800
output = 131_072
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "Devstral 2 135B"
family = "mistral"
release_date = "2026-02-17"
last_updated = "2026-02-17"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.40
output = 2.00
[limit]
context = 256_000
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -22,7 +22,7 @@ cache_read = 1.00
cache_write = 12.50
[limit]
context = 1_000_000
context = 200_000
output = 128_000
[modalities]
@@ -0,0 +1,30 @@
name = "Claude Sonnet 4.6 (US)"
family = "claude-sonnet"
release_date = "2026-02-17"
last_updated = "2026-02-17"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-08"
open_weights = false
[cost]
input = 3.00
output = 15.00
cache_read = 0.30
cache_write = 3.75
[cost.context_over_200k]
input = 6.00
output = 22.50
cache_read = 0.60
cache_write = 7.50
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "Palmyra X4"
family = "palmyra"
release_date = "2025-04-28"
last_updated = "2025-04-28"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[cost]
input = 2.5
output = 10
[limit]
context = 122_880
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "Palmyra X5"
family = "palmyra"
release_date = "2025-04-28"
last_updated = "2025-04-28"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.6
output = 6
[limit]
context = 1_040_000
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "GLM-4.7-Flash"
family = "glm-flash"
release_date = "2026-01-19"
last_updated = "2026-01-19"
attachment = false
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-04"
open_weights = true
[cost]
input = 0.07
output = 0.40
[limit]
context = 200_000
output = 131_072
[modalities]
input = ["text"]
output = ["text"]
@@ -1,7 +1,7 @@
name = "GLM 4.6"
name = "GLM-4.7"
family = "glm"
release_date = "2025-10-01"
last_updated = "2025-10-01"
release_date = "2025-12-22"
last_updated = "2025-12-22"
attachment = false
reasoning = true
temperature = true
@@ -9,18 +9,17 @@ tool_call = true
knowledge = "2025-04"
open_weights = true
[interleaved]
field = "reasoning_content"
[cost]
input = 0.55
output = 2.19
cache_read = 0.28
input = 0.60
output = 2.20
[limit]
context = 198_000
output = 198_000
context = 204_800
output = 131_072
[modalities]
input = ["text"]
output = ["text"]
[interleaved]
field = "reasoning_content"
+1 -1
View File
@@ -1,4 +1,4 @@
name = "Amazon Bedrock"
env = ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_REGION"]
env = ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_REGION", "AWS_BEARER_TOKEN_BEDROCK"]
npm = "@ai-sdk/amazon-bedrock"
doc = "https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html"
@@ -0,0 +1,30 @@
name = "Claude Sonnet 4.6"
family = "claude-sonnet"
release_date = "2026-02-17"
last_updated = "2026-02-17"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-08"
open_weights = false
[cost]
input = 3.00
output = 15.00
cache_read = 0.30
cache_write = 3.75
[cost.context_over_200k]
input = 6.00
output = 22.50
cache_read = 0.60
cache_write = 7.50
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -1 +0,0 @@
../../azure/models/claude-haiku-4-5.toml
@@ -0,0 +1,29 @@
name = "Claude Haiku 4.5"
family = "claude-haiku"
release_date = "2025-11-18"
last_updated = "2025-11-18"
attachment = true
reasoning = true
temperature = true
knowledge = "2025-02-31"
tool_call = true
structured_output = true
open_weights = false
[cost]
input = 1.00
output = 5.00
cache_read = 0.10
cache_write = 1.25
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
[provider]
npm = "@ai-sdk/anthropic"
api = "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
@@ -1 +0,0 @@
../../azure/models/claude-opus-4-1.toml
@@ -0,0 +1,29 @@
name = "Claude Opus 4.1"
family = "claude-opus"
release_date = "2025-11-18"
last_updated = "2025-11-18"
attachment = true
reasoning = true
temperature = true
knowledge = "2025-03-31"
tool_call = true
structured_output = true
open_weights = false
[cost]
input = 15.00
output = 75.00
cache_read = 1.50
cache_write = 18.75
[limit]
context = 200_000
output = 32_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
[provider]
npm = "@ai-sdk/anthropic"
api = "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
@@ -1 +0,0 @@
../../azure/models/claude-opus-4-5.toml
@@ -0,0 +1,28 @@
name = "Claude Opus 4.5"
family = "claude-opus"
release_date = "2025-11-24"
last_updated = "2025-08-01"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-03-31"
open_weights = false
[cost]
input = 5.00
output = 25.00
cache_read = 0.50
cache_write = 6.25
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
[provider]
npm = "@ai-sdk/anthropic"
api = "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
@@ -1 +0,0 @@
../../azure/models/claude-opus-4-6.toml
@@ -0,0 +1,34 @@
name = "Claude Opus 4.6"
family = "claude-opus"
release_date = "2026-02-05"
last_updated = "2026-02-05"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-05"
open_weights = false
[cost]
input = 5.00
output = 25.00
cache_read = 0.50
cache_write = 6.25
[cost.context_over_200k]
input = 10.00
output = 37.50
cache_read = 1.00
cache_write = 12.50
[limit]
context = 200_000
output = 128_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
[provider]
npm = "@ai-sdk/anthropic"
api = "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
@@ -1 +0,0 @@
../../azure/models/claude-sonnet-4-5.toml
@@ -0,0 +1,29 @@
name = "Claude Sonnet 4.5"
family = "claude-sonnet"
release_date = "2025-11-18"
last_updated = "2025-11-18"
attachment = true
reasoning = true
temperature = true
knowledge = "2025-07-31"
tool_call = true
structured_output = true
open_weights = false
[cost]
input = 3.00
output = 15.00
cache_read = 0.30
cache_write = 3.75
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
[provider]
npm = "@ai-sdk/anthropic"
api = "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1"
@@ -0,0 +1 @@
../../azure/models/gpt-5.2.toml
@@ -0,0 +1 @@
../../azure/models/gpt-5.3-codex.toml

Some files were not shown because too many files have changed in this diff Show More