Compare commits

...

2678 Commits

Author SHA1 Message Date
Aiden Cline cda892e0d7 sync github copilot limits 2026-03-19 21:54:42 -05:00
Aiden Cline 098ff4f5bf Merge pull request #1227 from Verizane/dev
add OpenRouter models for gpt-5.4 mini and gpt-5.4 nano
2026-03-19 21:23:15 -05:00
Aiden Cline 0f70b8959f Merge pull request #1234 from mchenco/dev
Add Workers AI models: kimi-k2.5, nemotron-3-120b-a12b, glm-4.7-flash
2026-03-19 15:11:19 -05:00
mchen b8e6d58e5b add workers-ai models: kimi-k2.5, nemotron-3-120b-a12b, glm-4.7-flash 2026-03-19 14:59:17 -04:00
Roman Koslowski a855001a7e apply changes from review 2026-03-19 17:20:26 +01:00
Aiden Cline ac760b2268 Merge pull request #1230 from SamizuHM/feature/zhipuai-coding-plan-add-glm-5-turbo
zhipuai-coding-plan: Add glm-5-turbo.toml and replace symlink
2026-03-19 10:42:43 -05:00
Aiden Cline d4a5ea7ae7 Merge pull request #1226 from spiffytech/dev
Add Ollama Cloud support for Minimax M2.7
2026-03-19 10:41:47 -05:00
Aiden Cline 434ed89ba2 Merge pull request #1228 from dpuyosa/minimax_m2_7
Venice: Add MiniMax M2.7 and update DeepSeek V3.2 pricing
2026-03-19 10:41:16 -05:00
Aiden Cline 6d7719a62a Merge pull request #1229 from 0b1000/dev
Xiaomi: Add MiMo-V2-Pro and MiMo-V2-Omni
2026-03-19 10:41:06 -05:00
Aiden Cline 93637039ef Merge pull request #1231 from ariane-emory/feat/feat/add-xiaomi-mimo-v2-pro-and-omni
feat: add the Xiaomi MiMo V2 Pro and Xiaomi MiMo V2 Omni models to the OpenRouter provide
2026-03-19 10:40:44 -05:00
Ariane Emory 9c95f796c0 Merge remote-tracking branch 'upstream/dev' into feat/feat/add-xiaomi-mimo-v2-pro 2026-03-19 11:22:43 -04:00
Ariane Emory e8650b6073 feat: add xiaomi mimo-v2-pro and mimo-v2-omni models to openrouter 2026-03-19 11:18:46 -04:00
SamizuHM 23c2be6ff7 feat(zhipuai-coding-plan): add glm-5-turbo.toml and replace glm-5-turbo with symlink 2026-03-19 18:09:17 +08:00
Frank 913a63dbe6 update zen models 2026-03-19 00:33:45 -04:00
0b1000 503087e99b Merge branch 'anomalyco:dev' into dev 2026-03-19 12:28:38 +08:00
0b1000 48150f09d3 Xiaomi: Add MiMo-V2-Pro and MiMo-V2-Omni 2026-03-19 12:27:00 +08:00
Aiden Cline 5fef681657 Disable tool_call in grok model configuration 2026-03-18 23:09:30 -05:00
Frank 123054ae0c update zen models 2026-03-18 20:45:44 -04:00
Frank 03060d154b update zen models 2026-03-18 20:37:47 -04:00
dpuyosa 5c9b8108e0 Update minimax-m27.toml 2026-03-19 01:02:24 +01:00
dpuyosa c8084681f9 [venice] Add MiniMax M2.7 and update DeepSeek V3.2 pricing
- Add MiniMax M2.7 model with reasoning and tool_call support
 - Update DeepSeek V3.2 pricing (input: $0.33, output: $0.48, cache: $0.16)
2026-03-19 00:58:50 +01:00
Roman Koslowski 352ab4ae1b add gpt-5.4 mini and gpt-5.4 nano 2026-03-18 22:16:55 +01:00
spiffytech cf0b416b15 Added Ollama Cloud support for Minimax M2.7 2026-03-18 16:15:07 -04:00
Aiden Cline 38339a2a90 Merge pull request #1224 from APonce911/minimax-m2.7-openrouter
add MiniMax M2.7 to OpenRouter
2026-03-18 14:10:13 -05:00
Aiden Cline ff9040bf52 Update minimax-m2.7.toml 2026-03-18 14:09:26 -05:00
Aiden Cline 3039804af4 Delete providers/opencode/models/minimax-m2.7.toml 2026-03-18 14:08:55 -05:00
Frank 7a4ad7bec8 update go models 2026-03-18 14:40:25 -04:00
airton 721cc122bc add MiniMax M2.7 to OpenRouter and OpenCode 2026-03-18 18:57:09 +01:00
Aiden Cline 0527f019af Merge pull request #1221 from sergical/fix/bedrock-claude-4-6-context-window-and-pricing
fix(amazon-bedrock): set Claude Sonnet 4.6 and Opus 4.6 context window to 1M
2026-03-18 12:17:57 -05:00
Aiden Cline c89371de50 Merge pull request #1223 from sylviezhang37/update-vercel-models-20260318-1659
Update Vercel models
2026-03-18 12:17:22 -05:00
Sylvie Zhang 6d6d4220d8 Enable open_weights in minimax-m2.7.toml 2026-03-18 10:12:37 -07:00
Sylvie Zhang 8b984eeec1 Enable open_weights in minimax-m2.7-highspeed model 2026-03-18 10:12:21 -07:00
github-actions[bot] 586027c8f1 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-18 16:59:24 +00:00
Sergiy Dybskiy 343b5f87ef fix(amazon-bedrock): set Claude Sonnet 4.6 and Opus 4.6 context window to 1M
Both models support a 1M token context window natively on Bedrock via the
Converse API with no beta headers required. Verified empirically via the
AWS CLI (bedrock-runtime converse): 950K tokens succeeds, >1M returns
'prompt is too long: N tokens > 1000000 maximum'.

The AWS Bedrock pricing page confirms long context pricing for these two
models is identical to standard pricing (no surcharge), so the
[cost.context_over_200k] section is removed as it was incorrect.
2026-03-18 12:20:38 -04:00
Aiden Cline 955b773ee5 Merge pull request #1218 from pomidornijfrukt/azure/5.4-mini-nano
Add GPT-5.4 Mini and Nano models for Azure providers
2026-03-18 10:31:13 -05:00
Aiden Cline 98559071f0 Merge pull request #1217 from cgilly2fast/dev
chore(firmware): update base url and docs url
2026-03-18 10:30:44 -05:00
eCube-cachy 0660308816 add: GPT-5.4 Mini and Nano model configurations for Azure providers 2026-03-18 15:17:52 +02:00
Jack 380f9dd8eb Merge pull request #1216 from no1wudi/dev
Add MiniMax M2.7 and M2.7-highspeed models to 4 official providers
2026-03-18 16:29:59 +08:00
Jack 1cfdab1b18 update MiniMax-M2.7 cache_read to 0.06 2026-03-18 16:27:53 +08:00
Colby Gilbert 75a981f957 chore(firmware): update base url and docs url 2026-03-18 00:41:05 -07:00
Huang Qi 7fadbcadc8 Add MiniMax M2.7 and M2.7-highspeed models to 4 official providers 2026-03-18 15:21:06 +08:00
Frank 38f9092292 update zen models 2026-03-18 02:30:18 -04:00
Aiden Cline 92149b9eaa rm nonexistant github model 2026-03-17 21:41:51 -05:00
Aiden Cline b614f0e69c Merge pull request #1214 from luisrudge/dev
Add GPT-5.4 mini and nano to GitHub Copilot provider
2026-03-17 20:13:46 -05:00
Luís Rudge 67d6dac5c5 Add GPT-5.4 mini and nano to GitHub Copilot provider 2026-03-17 18:44:38 -06:00
Aiden Cline 7d3cc61a48 Merge pull request #1207 from PedroACosta/feat/add-dinference-provider
feat(providers): add dinference provider
2026-03-17 14:51:31 -05:00
Aiden Cline f02ea6c4d2 Merge pull request #1115 from skywalker512/feat/add-tencent-coding-plan
feat: add Tencent Coding Plan provider
2026-03-17 14:51:19 -05:00
Aiden Cline 0cb50eeece Merge pull request #1208 from scwgoire/march-update
Scaleway 26-03 model updates
2026-03-17 14:48:12 -05:00
Aiden Cline 878311d2e0 Merge pull request #1210 from dm-cohere/dm/fix-update-cohere-model-capabilities
fix(models): update cohere model capabilities
2026-03-17 14:32:27 -05:00
Aiden Cline a0e89f65d6 Merge pull request #1206 from 0b1000/dev
Rename minimax-m2.5.toml to MiniMax-M2.5.toml
2026-03-17 14:32:19 -05:00
Aiden Cline 74099b7c9c Merge pull request #1213 from smrdotgg/add-openai-gpt-5-4-mini-and-nano
Add OpenAI GPT-5.4 mini and nano
2026-03-17 14:31:24 -05:00
Aiden Cline ec522435c3 Merge pull request #1211 from sylviezhang37/update-vercel-models-20260317-1807
Update Vercel models
2026-03-17 14:30:24 -05:00
smr d839cd37d4 Add OpenAI GPT-5.4 mini and nano
Capture the newly released mini and nano model metadata so models.dev reflects OpenAI's latest GPT-5.4 lineup with current pricing, limits, and knowledge cutoff.
2026-03-17 22:09:13 +03:00
github-actions[bot] ecb6ef7f93 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-17 18:07:06 +00:00
Deirdre Meehan 8b4d341054 fix: cohere models on non-cohere providers 2026-03-17 16:51:24 +00:00
Deirdre Meehan 62f4a28308 fix: cohere provider models 2026-03-17 16:44:55 +00:00
Pedro 2fb8ef0dc8 feat(providers): add dinference provider 2026-03-17 14:13:36 +01:00
Gregoire de Turckheim 96968e2bf8 feat: Scaleway 26-03 model updates 2026-03-17 12:15:52 +01:00
0b1000 ee9d7879ce Rename minimax-m2.5.toml to MiniMax-M2.5.toml 2026-03-17 14:50:35 +08:00
Frank 71283512a6 update zen models 2026-03-17 02:21:13 -04:00
Frank cd4afd7e7c update zen models 2026-03-17 02:19:17 -04:00
Aiden Cline 1239d0190b Merge pull request #1204 from cyberofficial/vultr
VULTR: Updated Vultr model pricing to reflect current serverless inference rates
2026-03-16 16:10:39 -05:00
Aiden Cline 491bf6ccba Merge pull request #1202 from RaviTharuma/fix/chutes-pricing-update-2026-03
fix(chutes): update pricing and limits from live API
2026-03-16 16:10:25 -05:00
Cyber Official c993d0c121 Updated Vultr model pricing to reflect current serverless inference rates
Updated Vultr model pricing to reflect current serverless inference rates

This commit updates the cost configuration for all Vultr models to align with their latest pricing tiers:

**Cost Reductions:**
- DeepSeek-R1-Distill-Qwen-32B: Input $0.55→$0.30, Output $2.75→$0.30 (73% reduction)
- NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4: Input $0.55→$0.20, Output $2.75→$0.80 (64% input, 71% output reduction)
- Qwen2.5-Coder-32B-Instruct: Input $0.55→$0.20, Output $2.75→$0.60 (64% input, 78% output reduction)
- gpt-oss-120b: Input $0.55→$0.15, Output $2.75→$0.60 (73% input, 78% output reduction)
- MiniMax-M2.5: Input $0.55→$0.30, Output $2.75→$1.20 (45% input, 56% output reduction)

**Cost Adjustments:**
- DeepSeek-R1-Distill-Llama-70B: Input $0.55→$2.00, Output $2.75→$2.00 (significant increase)
- DeepSeek-V3.2: Output $2.75→$1.65 (40% reduction)
- Llama-3.1-Nemotron-Ultra-253B-v1: Output $2.75→$1.80 (35% reduction)
- GLM-5-FP8: Input $0.55→$0.85, Output $2.75→$3.10 (55% input, 13% output increase)
2026-03-16 13:58:28 -04:00
Aiden Cline e55c39a83d Merge pull request #1141 from sk0x0y/feature/nanogpt-confirmed-suffix2-fixes
fix(nano-gpt): rename confirmed 2-suffix model ids
2026-03-16 10:57:44 -05:00
Aiden Cline 6dea000e25 Merge pull request #1148 from sk0x0y/feature/nanogpt-bundled-confirmed-suffix2-fixes
fix(nano-gpt): rename bundled confirmed 2-suffix model ids
2026-03-16 10:57:30 -05:00
Aiden Cline 3f7a757b3f Merge pull request #1142 from sk0x0y/feature/nanogpt-more-confirmed-suffix2-fixes
fix(nano-gpt): rename more confirmed 2-suffix model ids
2026-03-16 10:56:36 -05:00
Aiden Cline c693fd71e2 Merge pull request #1194 from cyberofficial/vultr
Update Vultr model list with 10 new models and updated pricing
2026-03-16 10:55:19 -05:00
Aiden Cline 54e04e288a Merge pull request #1198 from amritbanerjee/add-glm-5-turbo
Add GLM-5-Turbo model support
2026-03-16 10:47:08 -05:00
Aiden Cline 462a179eee Merge pull request #1203 from jerome-benoit/fix/sap-ai-core-model-specs
fix(sap-ai-core): align model specs with official sources
2026-03-16 10:46:40 -05:00
Aiden Cline 95db59034d Merge pull request #1201 from dpuyosa/venice-new-models
Venice: Add new provider models
2026-03-16 10:45:59 -05:00
Aiden Cline 74dcc74e32 Merge pull request #1200 from dpuyosa/venice/pricing-update
Venice: Update model pricing for 7 models
2026-03-16 10:45:47 -05:00
Jérôme Benoit 57975f5f25 fix(sap-ai-core): align model specs with official sources 2026-03-16 13:59:06 +01:00
Ravi Tharuma ad7b063747 fix(chutes): update pricing and limits from live API
Synced 6 Chutes model definitions against the live API at
https://llm.chutes.ai/v1/models (queried 2026-03-16).

Models updated:
- deepseek-ai/DeepSeek-V3.2-TEE: cost 0.25/0.38→0.28/0.42, cache 0.125→0.14, context 163840→131072
- zai-org/GLM-5-TEE: cost 0.75/2.5→0.95/3.15, added cache_read 0.475
- zai-org/GLM-4.6-TEE: cost 0.35/1.5→0.4/1.7, added cache_read 0.2
- zai-org/GLM-4.6V: added cache_read 0.15
- MiniMaxAI/MiniMax-M2.5-TEE: cost 0.15/0.6→0.3/1.1, added cache_read 0.15
- Qwen/Qwen3.5-397B-A17B-TEE: cost 0.3/1.2→0.39/2.34, cache 0.15→0.195
2026-03-16 11:42:29 +01:00
dpuyosa f76e9f0551 [venice] Add new provider models
- Add mistral-small-3.2-24b-instruct, qwen3-5-9b, venice-uncensored-role-play, zai-org-glm-4.6
2026-03-16 09:37:41 +01:00
dpuyosa d70a49b36f [venice] Update model pricing for 7 models
- Remove context_over_200k pricing from Claude models
- Update Grok cache_read pricing from 0.5 to 0.25
- Update Kimi, MiniMax input/output pricing
2026-03-16 09:05:37 +01:00
amrit 3487135f9f Add GLM-5-Turbo model support 2026-03-16 12:14:50 +11:00
Aiden Cline 458a66c766 Merge pull request #1197 from kesku/update-perplexity-agent-models
Update Perplexity Agent API models
2026-03-15 10:59:23 -05:00
Frank d3a84dc7ec update zen models 2026-03-15 10:59:52 -04:00
Kesku ae61b25583 update perplexity-agent: add gpt-5.4 & nemotron, remove gemini-3-pro 2026-03-15 03:46:50 +00:00
Aiden Cline 74be576eda Merge pull request #1178 from Sewer56/change-synthetic-endpoint
Add OpenAI and Anthropic compatible endpoints
2026-03-14 20:55:30 -05:00
Aiden Cline 164df2cda0 Merge pull request #1191 from Alcatraz-Zhang/update/kilo-models
Sync Kilo model definitions with latest gateway catalog
2026-03-14 20:54:45 -05:00
Cyber Official 2cd7908369 Update Vultr model list with 10 new models and updated pricing
- Updated pricing to $0.55/M input tokens, $2.75/M output tokens
- Updated context limits to safe floor values from official testing
- Added accurate output token limits from official model documentation
- Added 5 new models: MiniMax M2.5, DeepSeek V3.2, GLM-5 FP8, Llama 3.1 Nemotron Ultra 253B, NVIDIA Nemotron 3 Super 120B A12B NVFP4
- Updated existing models: DeepSeek R1 Distill variants, GPT OSS 120B, Kimi K2.5, Qwen2.5 Coder 32B

Model specifications:
- MiniMax M2.5: 196K context, 4,096 output
- Qwen2.5-Coder-32B: 15K context, 256 output (notable low default)
- DeepSeek R1 Distill Llama 70B: 130K context, 4,096 output
- DeepSeek R1 Distill Qwen 32B: 130K context, 4,096 output
- DeepSeek V3.2: 163K context, 4,096 output
- Kimi K2.5: 261K context, 32,768 output (high output limit)
- GPT OSS 120B: 130K context, 8,192 output
- GLM-5 FP8: 202K context, 131,072 output (exceptionally high)
- Llama 3.1 Nemotron Ultra 253B: 32K context, 4,096 output
- NVIDIA Nemotron 3 Super 120B A12B NVFP4: 260K context, 8,192 output

All models set to text-only (no vision support) as confirmed.
2026-03-14 19:47:01 -04:00
Alcatraz-Zhang cc667340f5 Sync Kilo model definitions with latest gateway catalog
Refresh the Kilo provider catalog so models.dev matches the current gateway inventory, pricing, and availability.
2026-03-15 04:35:38 +08:00
Sewer56 f2cfc1435d Changed: Synthetic to use newer openai endpoint 2026-03-14 17:09:44 +00:00
Aiden Cline 35bb8cca47 Merge pull request #1172 from bigfluffycookie/add-deepinfra-llama-models
Add deepinfra llama models
2026-03-14 10:55:13 -05:00
Aiden Cline 3468a410e1 Merge pull request #1177 from ar27111994/dev
Add Grok 4.1 Fast configurations for reasoning and non-reasoning
2026-03-14 10:54:57 -05:00
Aiden Cline b1b5e3c5cd Merge pull request #1174 from dacbd/patch-1
fix(wandb): fix k2.5 settings
2026-03-14 10:54:35 -05:00
Aiden Cline 97f03ec672 Merge pull request #1175 from dacbd/patch-2
chore(docs): add note for manual testing with opencode
2026-03-14 10:54:22 -05:00
BigFluffyCookie 9b516924aa Add limit output for llama models 2026-03-14 11:49:57 +01:00
Ahmed Rehan 929a39600b feat(models): add Grok 4.1 Fast (Reasoning and Non-Reasoning) configurations 2026-03-14 14:27:24 +05:00
Daniel Barnes a87d8bb8cc chore(docs): add note for manual testing with opencode 2026-03-14 13:42:57 +09:00
Daniel Barnes 574139eb49 fix(wandb): fix k2.5 settings 2026-03-14 13:07:16 +09:00
Aiden Cline 1e3bc38b31 Merge pull request #1137 from mcowger/mcowger/correct-gemini-flash-lite-pricing
Fix incorrect pricing for gemini-3.1-flash-lite-preview
2026-03-13 18:41:41 -05:00
Aiden Cline 8916fe9874 Merge pull request #1171 from stephenkuhn214/dev
fix(amazon-bedrock): Remove deprecated and add missing models
2026-03-13 18:26:25 -05:00
BigFluffyCookie 5d956b41a6 Rename llama models to remove "Meta" prefix 2026-03-13 23:15:27 +01:00
BigFluffyCookie 42a7a14f69 Add Meta Llama models to DeepInfra provider 2026-03-13 22:53:39 +01:00
Stephen Kuhn f24ee000d7 fix(amazon-bedrock): update and add models
- Remove 19 deprecated/EOL models
- Add 7 new models: DeepSeek V3.2, Llama 3.1 405B, Magistral Small 1.2, Ministral 3 3B, Mistral Large 3, Pixtral Large, NVIDIA Nemotron Nano 3 30B
- Fix Devstral 2 123B: correct name, family, and open_weights
- Set accurate Bedrock launch dates for all new models
2026-03-13 16:02:04 -04:00
Aiden Cline 7196b1fb2c Merge pull request #1170 from anomalyco/revert-1166-fix/update-gpt53-codex-spark-preview
Revert "fix(openai): rename gpt-5.3-codex-spark to gpt-5.3-codex-spark-preview"
2026-03-13 14:31:33 -05:00
Aiden Cline f6c0d5a29d Revert "fix(openai): rename gpt-5.3-codex-spark to gpt-5.3-codex-spark-preview" 2026-03-13 14:30:58 -05:00
Aiden Cline ee63449aa5 sonnet 4.6 and opus 4.6 1M context 2026-03-13 14:27:55 -05:00
Aiden Cline 92aa44ec00 Merge pull request #1166 from rluisr/fix/update-gpt53-codex-spark-preview
fix(openai): rename gpt-5.3-codex-spark to gpt-5.3-codex-spark-preview
2026-03-13 14:18:41 -05:00
Aiden Cline 477284535c Rename model from 'GPT-5.3 Codex Spark Preview' to 'GPT-5.3 Codex Spark' 2026-03-13 14:17:44 -05:00
Aiden Cline 304233bdda Merge pull request #1169 from mdrxy/mdrxy/anthropic-token-limits
Update Claude 4.6 context/pricing
2026-03-13 14:13:40 -05:00
Aiden Cline 25d782ee2c Reduce context limit from 1,000,000 to 200,000 2026-03-13 14:13:30 -05:00
Aiden Cline 0f63393d51 Update context limit in claude-opus-4-6.toml 2026-03-13 14:12:56 -05:00
rluisr e780eefce2 fix(openai): rename gpt-5.3-codex-spark to gpt-5.3-codex-spark-preview
The OpenAI API expects model ID 'gpt-5.3-codex-spark-preview', not
'gpt-5.3-codex-spark'. Rename model files in both openai and opencode
providers so the generated model ID matches the actual API.
2026-03-14 03:59:03 +09:00
Aiden Cline a79585fa83 Merge pull request #1163 from micuintus/feature/Kimi2.5-fast
feat(nebius): add Kimi-K2.5-fast model
2026-03-13 13:14:38 -05:00
Aiden Cline 00801f74f2 Merge pull request #1164 from butyess/dev
Openrouter models: gemini 3.1 flash lite preview, grok 4.20 beta models.
2026-03-13 13:14:22 -05:00
Aiden Cline 185f6731ee Merge pull request #1162 from dpuyosa/feature/venice-grok-4-20-beta
Venice: Add Grok 4.20 Beta models
2026-03-13 12:53:28 -05:00
Aiden Cline d291b0575c Merge pull request #1167 from sylviezhang37/update-vercel-models-20260313-1639
Update Vercel models
2026-03-13 12:53:11 -05:00
Mason Daugherty 382d9f3e7d Update Claude 4.6 context/pricing 2026-03-13 13:53:04 -04:00
Aiden Cline e64f5fe963 Merge pull request #1168 from mdrxy/mdrxy/update-baseten
Update Baseten models
2026-03-13 12:51:56 -05:00
Mason Daugherty ea57ddfe7e Update Baseten models 2026-03-13 13:48:41 -04:00
github-actions[bot] 29463d7fa8 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-13 16:39:30 +00:00
Jack bcc8db49ee Merge pull request #1165 from anomalyco/chore/openrouter-alpha-reasoning-details-20260313
feat(openrouter): add interleaved reasoning details for alpha models
2026-03-13 22:25:25 +08:00
Jack c8521d70f3 feat(openrouter): add interleaved reasoning details for alpha models 2026-03-13 22:20:54 +08:00
Federico Masi 490cd249e4 Openrouter models: gemini 3.1 flash lite preview, grok 4.20 beta models. 2026-03-13 15:11:12 +01:00
Michael Voigt dbc636f5f3 feat(nebius): add Kimi-K2.5-fast model 2026-03-13 12:35:13 +01:00
Michael Voigt 9a32f671a1 fix(nebius): lowercase model ID for Nemotron-3-Super-120B-A12B
The filename must match the API casing (lowercase) to avoid 'model does not exist' errors.
2026-03-13 12:35:08 +01:00
dpuyosa 856d925eda [venice] Add Grok 4.20 Beta models
- Add Grok 4.20 Beta model configuration (2M context, 128K output)
- Add Grok 4.20 Multi-Agent Beta model configuration
2026-03-13 10:48:38 +01:00
Aiden Cline 066a425917 Merge pull request #1158 from micuintus/feature/Nebius_Nemotron-3-Super-120b-a12b
feat(nebius): Add support for Nemotron-3-Super-120B-A12B
2026-03-12 22:20:20 -05:00
Aiden Cline 6df7f20cdc Merge pull request #1156 from dsingal0/dev
added nemotron super on baseten
2026-03-12 22:20:06 -05:00
Aiden Cline 78bb47b90e Merge pull request #1151 from dacbd/dacbd
fix(wandb): update models
2026-03-12 22:19:43 -05:00
Aiden Cline c121d86419 Merge pull request #1160 from kreatoo/dev
feat: add zai-org/glm-4.7 and zai-org/glm-4.7-flash to NanoGPT
2026-03-12 22:11:18 -05:00
Aiden Cline ab148eeb14 Merge pull request #1161 from Grin1024/dev
Add Claude Opus 4.6 and Sonnet 4.6 models to RequestY provider
2026-03-12 22:11:07 -05:00
lihui 49d196d326 Add Claude Opus 4.6 and Sonnet 4.6 models to RequestY provider 2026-03-13 09:00:54 +08:00
Kreato 8899b390ef feat: add zai-org/glm-4.7 and zai-org/glm-4.7-flash to NanoGPT 2026-03-13 00:27:09 +03:00
Michael Voigt 5217f62ddf fix(nebius): Follow context updates for Kimi 2.5 and GLM-5 2026-03-12 20:22:48 +01:00
Michael Voigt 55eaff9af1 feat(nebius): Add support for Nemotron-3-Super-120B-A12B 2026-03-12 20:22:21 +01:00
Dhruv Singal 7557c06ac0 update output length 2026-03-12 09:41:25 -07:00
Dhruv Singal e85d820121 fix input output 2026-03-12 08:29:01 -07:00
Dhruv Singal 499d3a39ef remove cache pricing 2026-03-12 08:21:22 -07:00
Dhruv Singal b9b38d6e33 added nemotron super on baseten 2026-03-12 08:18:46 -07:00
Aiden Cline ca24ac14fa Merge pull request #1153 from dpuyosa/dev
Venice: Update model output token limits
2026-03-12 10:08:46 -05:00
Aiden Cline 822546fc67 Merge pull request #1155 from spiffytech/dev
Add Ollama Cloud support for Nemotron 3 Super
2026-03-12 10:08:31 -05:00
Aiden Cline 4555195b71 Merge pull request #1152 from v1gnesh/dev
Update grok-4.20 model defs
2026-03-12 10:08:15 -05:00
spiffytech 5eae8effc6 Added Ollama Cloud support for Nemotron 3 Super 2026-03-12 09:28:47 -04:00
dpuyosa c1801aef87 [venice] Normalize model output token limits
- Update output limits to standard values across all models
2026-03-12 10:08:39 +01:00
v1gnesh 5e6464b272 Update grok-4.20-beta-reasoning 2026-03-12 10:27:40 +05:30
v1gnesh e1a4f23332 Update grok-4.20-beta-non-reasoning 2026-03-12 10:26:03 +05:30
v1gnesh 753e1f9f0c grok-multi-agent-beta update 2026-03-12 10:23:57 +05:30
Daniel Barnes 123ecd2ba5 docs url 2026-03-12 13:27:56 +09:00
Daniel Barnes f15cda9fcb remove old 2026-03-12 13:26:08 +09:00
Daniel Barnes 0205debbd3 fix values 2026-03-12 13:22:29 +09:00
Daniel Barnes 0059766509 number formating 2026-03-12 13:17:22 +09:00
Daniel Barnes be81b02916 additional model files 2026-03-12 13:02:17 +09:00
Daniel Barnes 2dab141166 initial script & model updates 2026-03-12 13:01:35 +09:00
Aiden Cline 45aa49af25 tweak: azure kimi k2.5 2026-03-11 22:35:20 -05:00
Aiden Cline 781fad3ad4 Merge pull request #1150 from cau1k/5.4-family
feat(azure): add 5.4/pro families
2026-03-11 22:14:08 -05:00
cau1k 99d2ffcfdd feat(azure): add 5.4/pro families 2026-03-11 20:59:11 -04:00
Aiden Cline 381d7cc19d Merge pull request #1149 from ariane-emory/fear/add-march-or-stealth-models
Add OpenRouter stealth models: Hunter Alpha and Healer Alpha
2026-03-11 18:07:50 -05:00
Ariane Emory 7482e22458 Fix family field to use 'alpha' for stealth models 2026-03-11 18:49:32 -04:00
Ariane Emory f5e6a402e6 Add OpenRouter stealth models: Hunter Alpha and Healer Alpha 2026-03-11 18:41:58 -04:00
Aiden Cline 9265852852 tweak: adjust some gh limits to align better w/ api 2026-03-11 15:23:44 -05:00
Aiden Cline dc98a32996 Merge pull request #1018 from Sewer56/add-synthetic-missing-models
Update synthetic.new models: promote MiniMax-M2.5, add GLM-4.7-Flash
2026-03-11 14:55:50 -05:00
Aiden Cline 56c39ae0f6 Merge pull request #1140 from sk0x0y/feature/nanogpt-thudm-id-fixes
fix(nano-gpt): rename THUDM 2 ids to canonical THUDM ids
2026-03-11 14:55:07 -05:00
Aiden Cline b1f43a7595 Merge pull request #1147 from msadiks/fix/alibaba-coding-minimax
fix: alibaba-coding-plan MiniMax-M2.5 context window
2026-03-11 14:54:37 -05:00
Matt Cowger fed8bcae19 Merge branch 'dev' into mcowger/correct-gemini-flash-lite-pricing 2026-03-11 12:23:42 -07:00
sk0x0y fb95150d02 fix(nano-gpt): rename VongolaChouko model id
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 04:20:39 +09:00
sk0x0y a7c9a240b4 fix(nano-gpt): rename Steelskull model ids
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 04:20:39 +09:00
sk0x0y 6432a4a3e6 fix(nano-gpt): rename Sao10K model ids
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 04:20:38 +09:00
sk0x0y f2e4a249fe fix(nano-gpt): rename NeverSleep model ids
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 04:20:38 +09:00
sk0x0y 8667a6eed8 fix(nano-gpt): rename MarinaraSpaghetti model id
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 04:19:56 +09:00
sk0x0y 429554397a fix(nano-gpt): rename LatitudeGames model id
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 04:19:56 +09:00
sk0x0y a64e6ad0ac fix(nano-gpt): rename LLM360 model id
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 04:19:56 +09:00
sk0x0y d68d79888c fix(nano-gpt): rename Infermatic model id
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 04:19:56 +09:00
sk0x0y 6c52905c6a fix(nano-gpt): rename Gryphe model id
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 04:19:55 +09:00
sk0x0y 62410b8f26 fix(nano-gpt): rename GalrionSoftworks model id
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 04:19:55 +09:00
sk0x0y 50ce68ccab fix(nano-gpt): rename Envoid model ids
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 04:19:20 +09:00
sk0x0y d1c6a6b873 fix(nano-gpt): rename EVA-UNIT-01 model ids
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 04:19:20 +09:00
Frank 7193b068a5 update zen models 2026-03-11 13:52:50 -04:00
Sadik 79a8a06bd7 fix MiniMax-M2.5 context window 2026-03-11 20:50:33 +03:00
Aiden Cline b60c03e11c Merge pull request #1139 from zainhas/dev
[Together AI] add prompt caching pricing for MiniMax m2.5
2026-03-11 12:31:56 -05:00
Aiden Cline 15cf98d57b Merge pull request #1146 from gotjoshua/patch-1
Rename step-3-5-flash.toml to step-3.5-flash.toml
2026-03-11 12:31:39 -05:00
Aiden Cline b2ee6c407b Merge pull request #1144 from micuintus/feature/update-nebius-changes
Feat: update Nebius changes
2026-03-11 12:31:29 -05:00
gotjoshua 96a14a06e7 Rename step-3-5-flash.toml to step-3.5-flash.toml
on nvidia it is 3.5 not 3-5
2026-03-11 11:41:36 +00:00
Michael Voigt adc358606d fix(nebius): update model context limits per API 2026-03-11 11:33:14 +01:00
Michael Voigt 63d52adf6f feat(nebius): add GLM-5 model 2026-03-11 11:33:14 +01:00
sk0x0y 9a31387766 fix(nano-gpt): rename Salesforce model id
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 18:17:41 +09:00
sk0x0y 735157b837 fix(nano-gpt): rename ReadyArt model ids
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 18:17:41 +09:00
sk0x0y d75b46fb37 fix(nano-gpt): rename Doctor-Shotgun model id
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 18:17:41 +09:00
sk0x0y cc555f8482 fix(nano-gpt): rename CrucibleLab model id
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 18:17:13 +09:00
sk0x0y 7fbbcf2b49 fix(nano-gpt): rename MiniMaxAI model id
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 16:04:28 +09:00
sk0x0y 14c8ec8ca5 fix(nano-gpt): rename Tongyi-Zhiwen model id
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 16:04:28 +09:00
sk0x0y 72568bbdb3 fix(nano-gpt): rename Alibaba-NLP model id
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 16:03:57 +09:00
sk0x0y c2225b715f fix(nano-gpt): rename THUDM GLM-Z1 rumination id
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 15:49:20 +09:00
sk0x0y 7ce25e3742 fix(nano-gpt): rename THUDM GLM-Z1 model ids
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 15:49:20 +09:00
sk0x0y 427868604b fix(nano-gpt): rename THUDM GLM-4 model ids
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 15:49:20 +09:00
Zain Hasan 247cd801a8 add prompt caching pricing for MiniMax m2.5 2026-03-10 22:54:42 -07:00
Aiden Cline 1aa2ee22b1 Merge pull request #1134 from sk0x0y/feature/nanogpt-catalog-fixes
fix(nano-gpt): correct TEE path ids and add missing canonical entries
2026-03-10 22:02:52 -05:00
Aiden Cline 0f57233eff Merge pull request #1105 from sylviezhang37/add-vercel-input-context-and-new-models
feat(vercel): add input context calculation + new models
2026-03-10 22:01:52 -05:00
Aiden Cline 73a78eebfc Merge pull request #1138 from mugnimaestra/feat/add-glm-5-turbo-chutes
feat: add GLM-5-Turbo to Chutes provider listings
2026-03-10 22:01:08 -05:00
Sylvie Zhang 3a6789b819 Merge branch 'dev' into add-vercel-input-context-and-new-models 2026-03-10 17:44:14 -07:00
Sylvie Zhang f7c505e140 remove context from gemini models 2026-03-10 17:43:08 -07:00
Sylvie Zhang 6bb36806d6 only calc input context for openai models 2026-03-10 17:40:46 -07:00
Sylvie Zhang 20a404eb88 revert non openai changes 2026-03-10 17:38:46 -07:00
Muhammad Mugni Hadi 65ecb5cd4a feat: add GLM-5-Turbo to Chutes provider listings 2026-03-11 05:26:11 +07:00
Matt Cowger 56062a9129 Fix incorrect pricing 2026-03-10 14:57:44 -07:00
Aiden Cline d3d9c580d4 Merge pull request #1135 from gitpush-gitpaid/fix/gpt-5-4-pdf-input-modalities
Added PDF to input modalities for GPT-5.4
2026-03-10 13:53:42 -05:00
gitpush-gitpaid ef98d8a9cb Updated GPT-5.4 PDF input modalities 2026-03-10 13:59:29 -04:00
sk0x0y 9d17752b88 fix(nano-gpt): add missing GLM 5 thinking model
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 00:56:22 +09:00
sk0x0y b5a838fe8b fix(nano-gpt): add missing TEE qwen3.5 model
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 00:56:22 +09:00
sk0x0y aa1ac39ee6 fix(nano-gpt): rename TEE gemma and minimax ids
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 00:56:22 +09:00
sk0x0y 4bc17ccf96 fix(nano-gpt): rename TEE oss and llama ids
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 00:56:22 +09:00
sk0x0y 08c1899bfe fix(nano-gpt): rename TEE deepseek model ids
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 00:56:02 +09:00
sk0x0y ad50e4a5ed fix(nano-gpt): rename TEE qwen model ids
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 00:56:02 +09:00
sk0x0y 730915a123 fix(nano-gpt): rename TEE kimi model ids
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 00:56:02 +09:00
sk0x0y 6f12d18cb8 fix(nano-gpt): rename TEE glm model ids
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 00:56:02 +09:00
Aiden Cline bd8774db99 Merge pull request #1132 from sk0x0y/feature/nanogpt-model-sync
feat(nano-gpt): add text and image models
2026-03-10 10:31:50 -05:00
Aiden Cline 88fbea52a4 Merge pull request #1133 from anomalyco/fix-model
fix: bedrock devstral
2026-03-10 10:31:08 -05:00
Aiden Cline 70e5d9b34b fix: bedrock devstral 2026-03-10 10:30:20 -05:00
Aiden Cline edb6ef0d71 Merge pull request #1129 from Grin1024/dev
feat: add GPT-5 series models to requesty provider
2026-03-10 10:29:30 -05:00
Aiden Cline df1280ed8b add families to some bedrock models 2026-03-10 10:12:13 -05:00
sk0x0y 898b3c18b7 feat(nano-gpt): add image models
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-10 22:13:48 +09:00
sk0x0y 6316e543ef feat(nano-gpt): add text models
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-10 22:13:48 +09:00
Aiden Cline 64d9a97f9d Merge pull request #1128 from JWahle/dev
chore: Updated abacus model definitions
2026-03-10 07:40:01 -05:00
Aiden Cline c62a2a3fc1 Merge pull request #1130 from Mingholy/fix/alibaba-coding-plan-model-limits
fix: update model limits for alibaba-coding-plan providers
2026-03-10 07:39:48 -05:00
Aiden Cline cc1937a177 Merge pull request #1131 from janszypulski/cloudferro-sherlock-fix-minimax-model-id
fix minimax-m2.5 model id - wrong file path
2026-03-10 07:39:34 -05:00
Jan Szypulski 9d3a88863d fix minimax-m2.5 model id - wrong file path 2026-03-10 11:21:55 +01:00
mingholy.lmh b9123e26e0 fix: update model limits for alibaba-coding-plan providers
- Add MiniMax-M2.5 to alibaba-coding-plan-cn
- Update qwen3-max output limit (65536 -> 32768)
- Update qwen3-coder-plus context limit (1048576 -> 1000000)
- Update MiniMax-M2.5 limits per ref.json (context: 196608, output: 24576)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-10 15:45:01 +08:00
lihui 933e450104 feat: add GPT-5 series models to requesty provider
Add missing OpenAI GPT-5 series models to requesty provider:
- GPT-5 Chat, Codex, Image, Pro
- GPT-5.1 Chat, Codex, Codex-Max, Codex-Mini
- GPT-5.2 Chat, Codex, Pro
- GPT-5.3 Codex
- GPT-5.4, GPT-5.4 Pro
2026-03-10 14:53:28 +08:00
JWahle 2ba6383e70 chore: Updated abacus model definitions
Added: gpt-5.4.toml
Removed: gemini-3-pro-preview.toml
2026-03-10 05:10:45 +01:00
Aiden Cline 65ed6ac5dd Merge pull request #1126 from mcowger/feature/gemini-3.1-flash-lite-vercel
feat: add gemini-3.1-flash-lite-preview to vercel gateway provider
2026-03-09 21:43:33 -05:00
Aiden Cline e7d04aec7a Merge pull request #1127 from anomalyco/add-shape
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:43:04 -05:00
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
Matt Cowger ce8fc9e4f0 feat: add gemini-3.1-flash-lite-preview to vercel gateway provider 2026-03-09 19:32:43 -07: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
Sewer56 7a02946620 Update synthetic models: promote MiniMax-M2.5, add GLM-4.7-Flash, remove deprecated Qwen3.5 2026-03-08 22:56:31 +00: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
skywalker512 236af40da3 feat: add Tencent Coding Plan provider
Add support for Tencent Coding Plan with 8 models:
- Auto (tc-code-latest)
- Hunyuan 2.0 Instruct
- Hunyuan 2.0 Think
- Hunyuan-T1
- Hunyuan-TurboS
- MiniMax-M2.5
- Kimi-K2.5
- GLM-5

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 15:34:36 +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
Sylvie Zhang 26465319d6 Merge branch 'dev' into add-vercel-input-context-and-new-models 2026-03-07 11:39:53 -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
Sylvie Zhang 7a11ef241d update more models 2026-03-06 08:24:49 -08:00
Sylvie Zhang 145862315d add input calculation + new models 2026-03-06 08:07:11 -08: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
Sewer56 0428299773 Added: Qwen3.5-397B natively supports image, MM2.5 No Image as it was a mistake. 2026-02-25 08:10:42 +00: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
Sewer56 eee3303df0 Add missing synthetic.new models
Add configuration for hf:Qwen/Qwen3.5-397B-A17B and hf:MiniMaxAI/MiniMax-M2.5
to the synthetic provider, based on API specs from synthetic.new.

Note: API reports image support but these models may not natively support
images (likely rerouted/proxied through vision-capable infrastructure).
2026-02-24 09:19:57 +00: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
Aiden Cline ea276d57a7 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 19:02:33 -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
Aiden Cline 995934de32 Merge pull request #847 from rubenandre/add-bedrock-moonshotai-kimi-k2.5
add moonshotai kimi K2.5 to amazon-bedrock provider
2026-02-10 10:43:13 -06:00
Aiden Cline d10392573e Merge pull request #845 from cgilly2fast/dev
fix(firmware): remove unsupported model and fix name of gpt oss 20b
2026-02-10 10:04:15 -06:00
Aiden Cline 21c3c1b8e1 Merge pull request #846 from dpuyosa/venice
Venice: Enable reasoning for GLM-4.7-Flash model
2026-02-10 10:04:06 -06:00
Rúben Silva 4680aaedc3 add moonshotai kimi K2.5 to amazon-bedrock provider 2026-02-10 15:21:50 +00:00
dpuyosa a9f3ad978d [venice] Enable reasoning for GLM-4.7-Flash model 2026-02-10 10:11:48 +01:00
Colby Gilbert de75687ea1 fix(firmware): remove unsupported model and fix name of spt oss 20b 2026-02-09 23:01:40 -08:00
Aiden Cline 539cc930c4 Merge pull request #843 from cgilly2fast/dev
chore: clean up firmware available models
2026-02-09 18:40:24 -06:00
Colby Gilbert 31f3c63acc fix(firmware): remove reasoning from anthropic and deepseek models 2026-02-09 16:07:44 -08:00
Colby Gilbert b019787ad8 chore: clean up firmware available models 2026-02-09 16:03:09 -08:00
Aiden Cline e41fca18a2 Merge pull request #842 from riccardogiorato/dev
fix: Increase output limit to match context for kimi K2.5 on Together
2026-02-09 17:12:07 -06:00
Riccardo Giorato 74163f7314 Increase output limit to match context
Update providers/togetherai/models/moonshotai/Kimi-K2.5.toml to set [limit].output from 32_768 to 262_144. This aligns the output token limit with the context size (262_144) to avoid premature truncation and allow full-length responses.
2026-02-09 22:39:34 +01:00
Aiden Cline 7b763695fd Merge pull request #839 from shelvick/add-azure-kimi-k2.5
Add Azure Kimi-K2.5 model
2026-02-09 14:15:33 -06:00
Aiden Cline 686b47d01e Merge pull request #840 from shelvick/add-azure-claude-opus-4-6
Add Azure Claude Opus 4.6 model
2026-02-09 14:15:16 -06:00
Scott Helvick 46f0726d7f Add Azure Claude Opus 4.6 model 2026-02-09 20:07:31 +00:00
Scott Helvick 3c14600fc6 Add Azure Kimi-K2.5 model 2026-02-09 19:49:02 +00:00
Aiden Cline 721c025af1 Merge pull request #836 from PeppeRu96/feat/add-deepinfra-claude
feat: add DeepInfra Claude Opus 4 and Claude Sonnet 3.7 (latest) models
2026-02-09 12:29:34 -06:00
Aiden Cline c591f9b213 Merge pull request #837 from PeppeRu96/feat/add-deepinfra-deepseek
feat: add DeepInfra DeepSeek models
2026-02-09 12:23:02 -06:00
Aiden Cline 57580b28d3 Merge pull request #765 from captain1379/feat/jiekou
feat: add Jiekou.AI provider
2026-02-09 12:22:21 -06:00
Giuseppe Ruggeri 11e92f093f fix: fix price for DeepInfra DeepSeek-V3.2 2026-02-09 14:32:34 +01:00
Giuseppe Ruggeri 17cf21ba46 feat: add DeepInfra DeepSeek models 2026-02-09 14:29:02 +01:00
Giuseppe Ruggeri 60a3f09b8e fix: update deepinfra/claude-3-7-sonnet-latest family field 2026-02-09 14:02:52 +01:00
Giuseppe Ruggeri 6f907bce35 feat: add DeepInfra Claude Opus 4 and Claude Sonnet 3.7 (latest) models 2026-02-09 13:56:16 +01:00
Frank 1f20d47ef5 update zen models 2026-02-08 21:43:43 -05:00
Aiden Cline d5c23c9c95 Merge pull request #827 from modpotato/dev
fix: rename glm 5 stealth from 'Stealth' to 'Pony Alpha' + remove status
2026-02-08 14:03:59 -06:00
Aiden Cline 125abf1a21 Merge pull request #829 from 888-wzk/feature/chenger_20260128
fix: Update model configurations to adjust reasoning and interleaved …
2026-02-08 14:03:44 -06:00
Aiden Cline 38ccea666f Merge pull request #831 from spiffytech/dev
Add Ollama Cloud support for qwen3-coder-next
2026-02-08 14:03:28 -06:00
Frank 42ca5faeb8 sync 2026-02-08 14:21:34 -05:00
spiffytech bcd9e3dba1 Added Ollama Cloud support for qwen3-coder-next 2026-02-08 13:36:54 -05: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
城二 67bddb6b61 Merge branch 'dev' of https://github.com/888-wzk/models.dev into feature/chenger_20260128 2026-02-08 11:23:44 +08:00
城二 77330e78c6 fix: Update model configurations to adjust reasoning and interleaved fields 2026-02-08 11:21:58 +08:00
mod e55a05f6a6 Merge branch 'anomalyco:dev' into dev 2026-02-07 00:43:00 -05:00
mod e5ce677899 fix: rename glm 5 stealth from 'Stealth' to 'Pony Alpha' 2026-02-07 00:42:50 -05:00
Aiden Cline e1747322ad Merge pull request #826 from modpotato/dev
add pony alpha (glm 5 stealth)
2026-02-06 23:21:17 -06:00
Aiden Cline 9303c7be2e Merge pull request #825 from cantalupo555/feat/add-openrouter-mimo-v2-flash
feat: add Xiaomi MiMo-V2-Flash on OpenRouter
2026-02-06 16:43:34 -06:00
John Doe 204eb52c0d feat: pony alpha (glm 5 demo) on openrouter 2026-02-06 21:06:54 +00:00
John Doe a2abd136f5 feat: pony alpha (glm 5 demo) on openrouter 2026-02-06 21:02:40 +00:00
Aiden Cline ea6e487e77 fix: change anthropic default to 200k instead of 1M since not everyone can access the 1M 2026-02-06 13:46:09 -06:00
Aiden Cline 1033ee450c Merge pull request #821 from 888-wzk/feature/chenger_20260128
Added Claude Opus 4.6 model configuration file
2026-02-06 11:00:49 -06:00
Aiden Cline de8e46b2ab Merge pull request #823 from dpuyosa/venice
Venice: Tweak model generation script
2026-02-06 11:00:37 -06:00
Aiden Cline 8181d97317 Merge pull request #824 from vglafirov/feat/gitlab-opus-4-6
feat(gitlab): add Claude Opus 4.6 model (duo-chat-opus-4-6)
2026-02-06 11:00:11 -06:00
Vladimir Glafirov a5c9640163 feat(gitlab): add Claude Opus 4.6 model (duo-chat-opus-4-6)
Add the newly released Claude Opus 4.6 model for GitLab Duo Agentic Chat.

Related:
- AI Gateway MR: https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist/-/merge_requests/4492
2026-02-06 17:04:17 +01:00
cantalupo555 c220f2a790 feat: add Xiaomi MiMo-V2-Flash on OpenRouter 2026-02-06 12:52:35 -03:00
Frank c88c849e5a Merge pull request #822 from imdevarsh/imdevarsh/openrouter-opus-4.6
feat(openrouter): add claude opus 4.6 to openrouter models list
2026-02-06 10:07:38 -05:00
dpuyosa 75ff468a9a [venice] Refactor model generation with privacy field
- Add optional privacy field to ModelSpec schema
- Use privacy field to determine open_weights capability
- Preserve existing output token limit when smaller than proposed
2026-02-06 13:18:47 +01:00
Devarsh 5b9186f6a9 feat(openrouter): add claude opus 4.6 to openrouter models list 2026-02-06 18:06:33 +13:00
城二 974713311b feat: Added Claude Opus 4.6 model configuration file 2026-02-06 11:11:19 +08:00
Aiden Cline 2d143f96d1 Merge pull request #813 from cgilly2fast/dev
feat: add opus 4.6 to firmware provider
2026-02-05 16:25:47 -06:00
Aiden Cline 4c4cd139f8 Merge pull request #812 from fhennerkes/dev
poe: add Claude Opus 4.6 model
2026-02-05 16:25:29 -06:00
Aiden Cline 22688b1260 Merge pull request #816 from markusylisiurunen/add-eu-opus-4.6
Add the missing EU variant back for Opus 4.6 on AWS Bedrock
2026-02-05 16:23:54 -06:00
Aiden Cline 13631caba9 Merge pull request #817 from dpuyosa/venice
Venice: Add Claude Opus 4.6 and GLM 4.7 models
2026-02-05 16:21:41 -06:00
dpuyosa 7e901e93bf [venice] Add Claude Opus 4.6 and GLM 4.7 models
- Add claude-opus-4.6 model configuration for Venice provider
- Add zai-org-glm-4.7-flash model configuration for Venice provider
2026-02-05 22:44:27 +01:00
Markus Ylisiurunen ace9626163 also fix pricing for opus 4.5 2026-02-05 23:25:25 +02:00
Markus Ylisiurunen 2bd869959b fix pricing 2026-02-05 23:12:40 +02:00
Markus Ylisiurunen efecbc137c Add EU variant for Opus 4.6 2026-02-05 23:03:01 +02:00
Colby Gilbert cae3f84930 Merge branch 'anomalyco:dev' into dev 2026-02-05 12:49:38 -08:00
Colby Gilbert 37cdea639f feat: add opus 4.6 2026-02-05 12:49:19 -08:00
Ryan Vogel 2c67792e4b Merge pull request #811 from anomalyco/add-claude-opus-4-6
Fix Claude Opus 4.6 model IDs and remove incorrect variants
2026-02-05 15:49:03 -05:00
Ryan Vogel 24addedada Fix Vertex AI model ID to claude-opus-4-6@default 2026-02-05 15:46:07 -05:00
Ryan Vogel dc9f404dbb Condense AGENTS.md model configuration section 2026-02-05 15:44:00 -05:00
Ryan Vogel db2212ab9f Update AGENTS.md with model configuration learnings 2026-02-05 15:42:47 -05:00
Ryan Vogel e2777a44ed Fix Vertex AI model ID: claude-opus-4-6@default -> claude-opus-4-6 2026-02-05 15:41:53 -05:00
fhennerkes c0f0394f67 poe: add Claude Opus 4.6 model 2026-02-05 12:39:00 -08:00
Ryan Vogel a762f47461 Fix model IDs: remove unannounced dated alias, remove EU Bedrock, fix Bedrock ID (v1:0 -> v1), fix Vertex ID (@20260205 -> @default)
Fixes #809
2026-02-05 15:38:28 -05:00
Aiden Cline 768f841f79 Merge pull request #781 from Dagnan/add-glm-4.7-flash-deepinfra
feat(deepinfra): add GLM-4.7-Flash model
2026-02-05 14:34:27 -06:00
Aiden Cline 00f239a852 Merge pull request #770 from jerilynzheng/feat/add-vercel-models-jan-30
vercel: add new models and interleaved support
2026-02-05 14:19:20 -06:00
Michel Pigassou 69f72041e1 Added missing interleaved/reasoning_content for GLM 4.7-Flash 2026-02-05 21:16:25 +01:00
Aiden Cline 43e98540ec fix: output limit for opus 4.6 on gh copilot 2026-02-05 14:15:56 -06:00
jerilynzheng f0854ab7b8 vercel: add interleaved = true for confirmed models
Add interleaved reasoning support to models confirmed by other providers:
- Claude: 3.7-sonnet, haiku-4.5, opus-4/4.1/4.5/4.6, sonnet-4/4.5
- DeepSeek: R1, V3.2-thinking
- MiniMax: M2, M2.1
- Kimi: K2-thinking, K2-thinking-turbo, K2.5
- GLM: 4.5, 4.6, 4.7, 4.7-flashx

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 12:14:02 -08:00
Aiden Cline a05a47097f Merge pull request #799 from iamanishx/deepinfra-kimi
feat: added support for kimi k2.5 (deepinfra)
2026-02-05 14:08:08 -06:00
jerilynzheng ed96ac7c74 fix: update Claude Opus 4.6 knowledge cutoff to 2025-05
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 12:03:40 -08:00
jerilynzheng 3985ee8556 vercel: add Claude Opus 4.6
Add anthropic/claude-opus-4.6 from Vercel AI Gateway:
- 1M context window, 128K output
- $5.00/$25.00 per 1M tokens (input/output)
- Supports vision, reasoning, and tool use

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 12:03:11 -08:00
Aiden Cline 53c150347f Merge pull request #808 from stickyburn/chutes-qwen3-coder-next
chore: add qwen3-coder-next for chutes.ai
2026-02-05 14:01:46 -06:00
Aiden Cline 1b4b15d73b Merge pull request #807 from smrdotgg/patch-1
Fix release and last updated dates for GPT-5.3 Codex
2026-02-05 14:01:37 -06:00
stickyburn 535b1afe4f chore: add qwen3 coder next for chutes.ai 2026-02-05 14:41:59 -05:00
Mathis e239c4d51e Add configuration for Claude Opus 4.6 model (#806) 2026-02-05 14:24:07 -05:00
imanishx 3dddd7b5e3 fix: interleaved opt added
Signed-off-by: imanishx <manishbiswal754@gmail.com>
2026-02-05 19:05:25 +00:00
Semere Tereffe 941487c8d4 Fix release and last updated dates for GPT-5.3 Codex 2026-02-05 21:52:29 +03:00
Ryan Vogel ce3bbe64a3 Update context window to 1M tokens for all Claude Opus 4.6 models 2026-02-05 13:39:48 -05:00
Aiden Cline 183dd5c4f3 Merge pull request #803 from anomalyco/add-claude-opus-4-6
Add Claude Opus 4.6 model
2026-02-05 12:39:29 -06:00
Ryan Vogel b4733df6b7 Merge branch 'dev' into add-claude-opus-4-6 2026-02-05 13:38:54 -05:00
Ryan Vogel 921ec8f8fc Add cost.context_over_200k long context pricing to all Claude Opus 4.6 models 2026-02-05 13:36:52 -05:00
Aiden Cline 6c28f3974c Merge pull request #804 from rexdotsh/feat/add-anthropic-opus-4-6
feat: add opus 4.6
2026-02-05 12:34:34 -06:00
Aiden Cline 8b3a813da9 Merge pull request #802 from dmmulroy/cloudflare-opus-4-6
cloudflare-ai-gateway: add claude opus 4.6
2026-02-05 12:34:00 -06:00
rexdotsh 10297c8490 feat: add opus 4.6 2026-02-05 23:58:13 +05:30
Ryan Vogel 61c8d50df2 Add Claude Opus 4.6 model across Anthropic, Bedrock, and Vertex AI providers 2026-02-05 13:26:28 -05:00
Dax Raad 4faf622d1e add gpt-5.3-codex.toml 2026-02-05 13:26:24 -05:00
Dillon Mulroy 89db412884 cloudflare-ai-gateway: add claude opus 4.6 2026-02-05 13:24:36 -05:00
Frank 107b285e1c update zen models 2026-02-05 13:14:06 -05:00
Frank 8bd58cf186 update zen models 2026-02-05 13:04:56 -05:00
Aiden Cline 9573a8fccc Merge pull request #796 from manascb1344/nebius-token-factory-models
feat: add Nebius Token Factory models
2026-02-05 11:45:09 -06:00
Aiden Cline 0153e6408a Merge pull request #792 from Alex-wuhu/dev
feat: add deepseek OCR model configuration and Qwen3 Coder Next model…
2026-02-05 11:44:28 -06:00
imanishx 8cb19035ff feat: added tomal for kini k2.4 (deepinfra)
Signed-off-by: imanishx <manishbiswal754@gmail.com>
2026-02-05 09:08:33 +00:00
captain1379 7c0e1e142f fix: removed old models 2026-02-05 14:02:59 +08:00
captain1379 7aeca69c4e fix: fix logo 2026-02-05 13:44:38 +08:00
Aiden Cline cfde47ca60 Revert "Update Amazon Bedrock models to add cross-region inference and remove deprecated models"
This reverts commit bc58036964.
2026-02-04 12:11:29 -06:00
Aiden Cline b01c07a3d0 Merge pull request #793 from zainhas/patch-1
[fix] Rename model to 'Qwen3 Coder Next FP8'
2026-02-04 10:33:22 -06:00
Aiden Cline 444c3071ee Merge pull request #795 from riccardogiorato/dev
remove wrongly typed Kimi-K2-5.toml
2026-02-04 10:32:27 -06:00
manascb1344 42a79c717d feat(nebius): update Meta-Llama, NVIDIA models and mark deprecated
- Update Llama-3.3-70B-Instruct (Base & Fast) with new pricing
- Mark Llama-3.1-405B-Instruct as deprecated (no longer available)
- Update Llama-3.1-Nemotron-Ultra-253B-v1 with new pricing
- Mark DeepSeek-V3 as deprecated (replaced by V3.2 and V3-0324)
2026-02-04 20:18:37 +05:30
manascb1344 578df73ffb feat(nebius): update Z.ai, OpenAI, Moonshot AI, and NousResearch models
- Update GLM-4.5 and GLM-4.5-Air with new pricing
- Update gpt-oss-120b and gpt-oss-20b with new pricing and features
- Update Kimi-K2-Instruct with new pricing and multimodal support
- Update Hermes-4-405B and Hermes-4-70B with new pricing
2026-02-04 20:17:51 +05:30
manascb1344 2639e20a97 feat(nebius): add new models from Z.ai, Moonshot AI, Meta, and NVIDIA
- Add GLM-4.7 and GLM-4.7-FP8 (Z.ai)
- Add Kimi-K2-Thinking (Moonshot AI)
- Add Llama-Guard-3-8B, Meta-Llama-3.1-8B-Instruct (Base & Fast) (Meta)
- Add Nemotron-Nano-V2-12b and NVIDIA-Nemotron-3-Nano-30B-A3B (NVIDIA)
2026-02-04 20:17:14 +05:30
manascb1344 ca6206b78e feat(nebius): add Qwen models to Token Factory
- Add Qwen3-Next-80B-A3B-Thinking
- Add Qwen3-30B-A3B-Thinking-2507 and Qwen3-30B-A3B-Instruct-2507
- Add Qwen3-Coder-30B-A3B-Instruct
- Add Qwen3-32B (Base & Fast)
- Add Qwen2.5-Coder-7B-fast
- Add Qwen2.5-VL-72B-Instruct
- Add Qwen3-Embedding-8B
2026-02-04 20:16:46 +05:30
manascb1344 51fe42982f feat(nebius): add DeepSeek models to Token Factory
- Add DeepSeek-V3.2, DeepSeek-V3-0324 (Base & Fast), DeepSeek-R1-0528 (Base & Fast)
- These are new models available on Nebius Token Factory
2026-02-04 20:16:21 +05:30
manascb1344 4c78ea9f36 feat(nebius): add new providers for Nebius Token Factory
- Add MiniMaxAI provider with MiniMax-M2.1 model
- Add PrimeIntellect provider with INTELLECT-3 model
- Add black-forest-labs provider with FLUX.1-schnell and FLUX.1-dev
- Add BAAI provider with bge-multilingual-gemma2 and BGE-ICL
- Add intfloat provider with e5-mistral-7b-instruct
- Add Google provider with Gemma-2-2b-it, Gemma-2-9b-it-fast, Gemma-3-27b-it, and Gemma-3-27b-it-fast
2026-02-04 20:16:01 +05:30
Riccardo Giorato 9092f0b106 Delete Kimi-K2-5.toml 2026-02-04 11:22:49 +01:00
Zain Hasan 1acd3c199a Rename model to 'Qwen3 Coder Next FP8' 2026-02-04 01:57:58 -08:00
Alex-wuhu 7deb00a333 feat: add deepseek OCR model configuration and Qwen3 Coder Next model configuration 2026-02-04 16:56:28 +08:00
samsja f180f49df5 Add Intellect 3 model from Prime Intellect 2026-02-03 23:58:12 -08:00
Aiden Cline 59f13d1c0a feat: make all openrouter models use openrouter sdk 2026-02-03 23:15:41 -06:00
Aiden Cline ce6950074f Revert "Add Bedrock cross-region inference profiles and update validation"
This reverts commit 89f62005cc.
2026-02-03 23:08:05 -06:00
Aiden Cline b2b0f612f4 Merge pull request #788 from zainhas/dev
[Together AI] add qwen3 coder next
2026-02-03 22:48:52 -06:00
Aiden Cline d1e92ce8ad Merge pull request #790 from anomalyco/update-cf-workers
fix: update cf workers ai
2026-02-03 22:48:41 -06:00
Aiden Cline 20c81eb600 fix: update cf workers ai 2026-02-03 22:47:12 -06:00
Frank 6934bf2c66 Merge pull request #789 from qychen2001/dev
feat(models): add Kimi-K2.5 model support
2026-02-03 22:55:46 -05:00
QiyuanChen 83503944ba feat(models): add Kimi-K2.5 model support
Add support for Moonshot AI's Kimi-K2.5 model with reasoning capabilities,
structured output, and multi-modal support (text/image input, text output).
Configured with a large context window of 262,000 tokens for both input
and output. Added to both SiliconFlow and SiliconFlow CN providers.
2026-02-04 11:45:28 +08:00
Zain Hasan 536ac44708 add qwen3 coder next 2026-02-03 14:54:42 -08:00
Aiden Cline 02f7969d53 Merge pull request #786 from unexge/push-lpupkorvtnuw
Update Amazon Bedrock models to add cross-region inference and remove deprecated models
2026-02-03 15:30:30 -06:00
Matt Silverlock 0ba8852f91 use official ai-gateway-provider package for Cloudflare AI Gateway 2026-02-03 15:41:11 -05:00
Burak Varlı 89f62005cc Add Bedrock cross-region inference profiles and update validation
- Add Nova models for Global, US, EU, and APAC regions
- Add Llama 3.1/3.2 cross-region profiles for US and EU
- Add Claude Sonnet 4/3.7 APAC profiles
- Add Claude Sonnet 4.5/3.7/3.5 US Gov profiles
- Update validate-bedrock to include ap-southeast-1 region
- Skip us-gov models in validation (requires GovCloud access)
2026-02-03 20:10:40 +00:00
Aiden Cline 5afc754db3 Merge pull request #697 from berget-ai/feat/add-berget-ai-provider
feat: add Berget.AI provider
2026-02-03 12:15:36 -06:00
Aiden Cline 2fdfeecfc8 Merge pull request #784 from bendews/patch-1
Increase Github Copilot GPT 4.1 context limit from 64k to 128k
2026-02-03 09:24:29 -06:00
Aiden Cline 7bf852e19f Merge pull request #785 from thePrnvBot/chore--updating-free-openrouter-models
fix: Update models tool call to false
2026-02-03 09:24:07 -06:00
Burak Varlı bc58036964 Update Amazon Bedrock models to add cross-region inference and remove deprecated models
This change adds a new script to validate all Amazon Bedrock models by making a simple inference request using model identifiers.
As a result of that script, made some changes to make sure all model identifiers are usable via Amazon Bedrock:
- Added cross-region inference for various models including DeepSeek, Llama, Amazon Nova
- Removed some reprecated/EoL'd models including Amazon Titan, Claude v2, Cohere Command Light
2026-02-03 13:43:07 +00:00
thePrnvBot 613843b529 fix: update nousresearch model tool call to false 2026-02-03 16:12:39 +04:00
thePrnvBot 836b07aeaf fix: update cognitivecomputation model tool call to false 2026-02-03 16:12:10 +04:00
thePrnvBot e4f8c752ac fix: update allenai model tool call to false 2026-02-03 16:11:48 +04:00
thePrnvBot fa04882d5f fix: update liquid models tool call to false 2026-02-03 16:11:36 +04:00
thePrnvBot e69df42539 fix: update llama model tool call to false 2026-02-03 16:11:18 +04:00
thePrnvBot 64b7e989eb fix: update tng-r1t-chimera :free tool call to false 2026-02-03 16:10:53 +04:00
Ben Dews abf1259e58 Increase context limit from 64k to 128k 2026-02-03 21:22:15 +10:00
Aiden Cline 93fe136ec1 Merge pull request #777 from xiaojiezj/zenmux_dev
feat: ““Replace the chat-completion protocol in the Zenmux provider with the Anthropic protocol, and replace the model.”
2026-02-02 20:50:32 -06:00
Aiden Cline be098329c5 Merge pull request #782 from fhennerkes/dev
poe: model update 2/2/26
2026-02-02 20:49:42 -06:00
fhennerkes 884e901c3f poe: model update 2/2/26 2026-02-02 18:22:49 -08:00
Michel Pigassou 81ddc26ed0 feat(deepinfra): add GLM-4.7-Flash model
Add zai-org/GLM-4.7-Flash to DeepInfra provider

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-02 22:04:36 +01:00
Aiden Cline e35973bdf9 Merge pull request #775 from Track07-cda/alibaba-cn_kimi
feat(alibaba-cn): add Kimi K2 Thinking and K2.5 models to alibaba-cn provider
2026-02-02 10:52:51 -06:00
Aiden Cline f94d9dda7f Merge pull request #607 from unexge/push-svvwrlmunkkt
Add cross-region inference profiles for Claude 4.x family models in Amazon Bedrock
2026-02-02 10:20:13 -06:00
xiaojie.zj d354b55137 feat: “Replace the chat-completion protocol with the Anthropic protocol, and replace the model.” 2026-02-02 18:03:42 +08:00
Track07-cda e30f361b88 feat(alibaba-cn): add reasoning content support for Kimi models
Add interleaved reasoning_content field to Kimi K2 Thinking and K2.5.
Also correct the display name for Moonshot Kimi K2.5.
2026-02-02 16:28:02 +08:00
Track07-cda efa90f6fbf feat(alibaba-cn): add Kimi K2 Thinking and K2.5 models
Add new model definitions for Moonshot Kimi K2 Thinking and K2.5.
Update Moonshot Kimi K2 Instruct metadata including open weights
status and output token limits.
2026-02-02 14:13:06 +08:00
Aiden Cline 93d03d87c1 Merge pull request #772 from thePrnvBot/chore--updating-free-openrouter-models
feat: add free openrouter models
2026-01-31 21:41:49 -06:00
Aiden Cline 67b31f3371 Merge pull request #773 from ccurme/cc/gpt-5.2-structured-output
fix: add structured_output to gpt-5.1 and 5.2
2026-01-31 20:58:12 -06:00
Aiden Cline 0513b73b17 fix: correct model id 2026-01-31 20:39:40 -06:00
Chester Curme 866974df3a add structured_output to gpt-5.1 and 5.2 2026-01-31 21:39:31 -05:00
thePrnvBot fd07fe7953 feat: add free qwen models to openrouter provider 2026-01-31 20:25:30 +04:00
thePrnvBot d176299fdf feat: add free nemotron models to openrouter provider 2026-01-31 20:24:53 +04:00
thePrnvBot 6193824e92 feat: add gpt oss free models to openrouter 2026-01-31 20:23:25 +04:00
thePrnvBot b85b481fd0 feat: add hermes 3 llama 3.1 405b free model 2026-01-31 20:22:54 +04:00
thePrnvBot e33d225a0b chore: update deepseek r1 0528 free tool call to false 2026-01-31 20:22:02 +04:00
thePrnvBot 3c9e76cf89 feat: add tng-r1t-chimera free model 2026-01-31 20:21:22 +04:00
thePrnvBot 42e7f67b67 feat: add dolphin mistral 24b venice edition 2026-01-31 20:20:53 +04:00
thePrnvBot 0e46820a00 feat: add seedream model 2026-01-31 20:20:16 +04:00
thePrnvBot e7dd66e51a feat: add free meta llama models 2026-01-31 20:19:28 +04:00
thePrnvBot ea1d856847 feat: add free black forest lab models 2026-01-31 20:18:46 +04:00
thePrnvBot 26fd570130 feat: added free liquid, sourceful and allenai models 2026-01-31 20:17:30 +04:00
Aiden Cline 008c521304 Merge branch 'dev' into feat/add-vercel-models-jan-30 2026-01-30 16:35:40 -06:00
Aiden Cline c6870e97c5 Merge pull request #717 from MichaelYochpaz/fix-vertex-anthropic-npm-import
fix(google-vertex-anthropic): Fix incorrect NPM package used for Anthropic models used through Vertex
2026-01-30 15:57:19 -06:00
jerilynzheng e7e8af6934 vercel: add 5 new models from Vercel AI Gateway
Add new models:
- alibaba/qwen3-max-thinking: Qwen 3 Max with reasoning
- arcee-ai/trinity-large-preview: Trinity 400B MoE model
- moonshotai/kimi-k2.5: Kimi K2.5 with vision and reasoning
- openai/gpt-4o-mini-search-preview: GPT-4o Mini search variant
- zai/glm-4.7-flashx: GLM 4.7 Flash lightweight model

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-30 13:38:07 -08:00
Aiden Cline 665a9fe17d Merge pull request #767 from remorses/model-schema
add model-schema.json endpoint for model autocomplete
2026-01-30 13:32:54 -06:00
Aiden Cline 98114d5721 fix or glm flash 2026-01-30 13:21:57 -06:00
Aiden Cline 2deedb5fa5 Merge pull request #762 from davidcharbonnier/dev
Add GLM 4.7 Flash model on Openrouter
2026-01-30 13:20:33 -06:00
Aiden Cline 43cb68a64e Merge pull request #768 from amazon-nova-api/nova-provider
Add nova as a model provider
2026-01-30 13:19:57 -06:00
Adnan Hajar ee89f7ee6b Add nova as a model provider 2026-01-30 14:01:14 -05:00
Tommy D. Rossi 6f45f3949f add model-schema.json endpoint for model autocomplete 2026-01-30 15:51:04 +01:00
David Charbonnier ebafef01d7 feat: add glm 4.7 flash model on openrouter 2026-01-30 09:06:48 -05:00
captain1379 77dccbe959 feat: add Jiekou.AI provider
Add Jiekou.AI as a new LLM provider with 102 models including:
- DeepSeek (V3, R1, OCR)
- Qwen (Qwen3, Qwen2.5)
- Claude (Opus, Sonnet, Haiku)
- GPT models (GPT-5.x, GPT-4.x, GPT-OSS)
- Gemini (Pro, Flash)
- GLM (4.5, 4.7)
- Kimi (K2, K2.5)
- Llama (3.x, 4.x)
- And more...

Jiekou.AI is an OpenAI-compatible API provider.

Co-Authored-By: Claude (pa/claude-opus-4-5-20251101) <noreply@anthropic.com>
2026-01-30 18:44:11 +08:00
Frank 8b2b4b40a1 update zen models 2026-01-30 00:52:31 -05:00
Frank 96da5d8331 update zen models 2026-01-29 16:46:15 -05:00
Frank 0146cb114e update zen models 2026-01-29 16:38:42 -05:00
Aiden Cline 21177b3f6b Merge pull request #760 from cgilly2fast/dev
feat(firmware): add kimi models and clean up model names
2026-01-29 15:02:50 -06:00
Colby Gilbert 522c486815 fix: wrong name for kimi k2.5 2026-01-29 12:16:15 -08:00
Colby Gilbert 85ef0fe0a8 feat: add kimi models 2026-01-29 10:33:25 -08:00
Colby Gilbert 70681d3398 chore: rename glm and gpt oss models 2026-01-29 10:33:17 -08:00
Frank c2a6830fde sync 2026-01-29 12:38:07 -05:00
Frank 4b9631cb89 update zen models 2026-01-29 12:35:06 -05:00
Aiden Cline 9efb6c1a73 Merge pull request #742 from 888-wzk/feature/chenger_20260128
feat(models): Add configuration files for the Kimi K2.5, GPT-5.2-Codex, Qwen3-Max-Thinking, and GLM 4.7 FlashX models.
2026-01-29 10:45:16 -06:00
Aiden Cline 9b5adb8230 Merge pull request #751 from cravenceiling/fix/openrouter-google-gemma-models
add and fix some google gemma models from openrouter
2026-01-29 10:44:52 -06:00
Aiden Cline 9105b7ba75 Merge pull request #753 from otterDeveloper/patch-1
fireworks: Raise Kimi K2.5 max output
2026-01-29 10:44:40 -06:00
Aiden Cline a0dc4149cd Merge pull request #754 from fanweixiao/dev
fix(vivgrid): set npm for gemini-3 models for vivgrid provider
2026-01-29 10:43:38 -06:00
Aiden Cline ccb98b9597 Merge pull request #755 from friendliai/minpeter/add-minimax-friendli-model
feat(friendli): add MiniMax M2.1 model and update Qwen3
2026-01-29 10:42:14 -06:00
Aiden Cline c33581d89d Merge pull request #757 from s-scheck/feature/adjust-pricing-of-devstral-2512
feat: adjust pricing of devstral-2512 hosted by mistral
2026-01-29 10:41:58 -06:00
Aiden Cline ab1a8c21db Merge pull request #759 from FrancoStino/patch-5
Delete providers/nvidia/models/z-ai/glm-4.7.toml
2026-01-29 10:41:45 -06:00
Davide Ladisa f969e060c8 Delete providers/nvidia/models/z-ai/glm-4.7.toml
Duplicate

https://github.com/anomalyco/models.dev/blob/dev/providers/nvidia/models/z-ai/glm4.7.toml
2026-01-29 17:17:59 +01:00
Sinan Scheck 66823bcd6e chore: adjust pricing of devstral-2512 hosted by mistral 2026-01-29 11:45:20 +01:00
minpeter 01f391f1fe Add MiniMax M2.1 model and update Qwen3 date
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 18:55:00 +09:00
minpeter 1d2ddf9b1d Update friendli provider model configs
Remove outdated Qwen3 and Llama 4 model configurations.
Reorganize meta-llama models into subdirectory.
Upgrade GLM model to 4.7 with increased context limits (202,752 tokens).
2026-01-29 18:42:08 +09:00
C.C. Fan a34c2a390b fix(vivgrid): set npm for gemini-3 models for vivgrid provider 2026-01-29 16:43:32 +08:00
Frank 0c0d917719 sync 2026-01-29 03:16:34 -05:00
otterDeveloper e5dcee15bb fireworks: increase kimi-k2p5 max output 2026-01-29 02:04:24 -06:00
城二 0894de420e feat(models): Add family and interleaved fields to Kimi K2.5 and GLM 4.7 FlashX configuration files 2026-01-29 10:36:04 +08:00
Aiden Cline abfad44131 Merge pull request #734 from riccardogiorato/dev
[together.ai] add four new models: Qwen3-235B, Qwen3-Next-80B, Kimi-K2-Instruct, GLM 4.7
2026-01-28 20:13:26 -06:00
Aiden Cline cc3566a9a2 Merge pull request #747 from monotykamary/update-kimi-k2.5-model
feat(synthetic): update Kimi K2.5 model configuration
2026-01-28 20:12:59 -06:00
Aiden Cline 71b90fe6ce Merge pull request #748 from dpuyosa/venice
Venice: Adjust limit context/output token limits for all models
2026-01-28 20:12:42 -06:00
Aiden Cline c854148259 Merge pull request #749 from esafak/chore/kimi-k2.5
chore: disable `temperature` in `moonshotai/kimi-k2.5`
2026-01-28 20:12:30 -06:00
Aiden Cline 980b64e860 Merge pull request #750 from esafak/feat/zai-glm-4.7-flash
feat: Add `zai-coding-plan/glm-4.7-flash`
2026-01-28 20:12:12 -06:00
cravenceiling 632fc61b95 add to the limit section 2026-01-28 19:33:02 -05:00
cravenceiling 5a76cee029 add and fix some google gemma models from openrouter 2026-01-28 19:07:09 -05:00
Emre Şafak 0971bd00f3 feat: Add zai-coding-plan/glm-4.7-flash.
* Create the file `providers/zai-coding-plan/models/glm-4.7-flash.toml` to define the new model.
* Set the model name to `GLM-4.7-Flash`.
* Configure model capabilities including reasoning, tool call, and knowledge cutoff of `2025-04`.
* Define context limit as `200_000` tokens.
* Set input and output costs to zero.
2026-01-28 18:44:46 -05:00
Emre Şafak 94fca7064d chore: disable temperature in moonshotai/kimi-k2.5 2026-01-28 18:11:32 -05:00
dpuyosa 40ad678ae7 [venice] Adjust limit context/output token limits for all models
- All models limit context/output was reduced by 2.4%
2026-01-28 18:34:59 +01:00
Tom X Nguyen e18738adda feat(synthetic): update Kimi K2.5 model configuration
Update model config with corrected values:
- max_output: 65_536 (from 32_768)
- cost.input: 0.55, cost.output: 2.19
- modalities.input: [text, image]
- Add interleaved section for reasoning_content
- Use underscores for large numbers
2026-01-28 23:39:59 +07:00
Aiden Cline 0b003c9c18 add new arcee models 2026-01-28 10:50:59 -05:00
Aiden Cline cb5035a8ee Merge pull request #743 from zainhas/dev
add kimi k2.5
2026-01-28 10:30:17 -05:00
Aiden Cline 01e3069901 Merge pull request #745 from reissbaker/kk25
Add Kimi K2.5 for Synthetic
2026-01-28 10:29:59 -05:00
Aiden Cline 7b577ad7a8 Merge pull request #737 from cravenceiling/add-google-gemma-3-27b-it-free
feat: add google-gemma-3-27b-it:free model
2026-01-28 10:29:21 -05:00
Matt Baker 55e72aa8db Correct output tokens 2026-01-28 02:08:58 -08:00
Matt Baker a8fc1d2e44 Add Kimi K2.5 for Synthetic 2026-01-28 02:07:52 -08:00
Riccardo Giorato 101b5042bd Create Kimi-K2-5.toml 2026-01-28 10:57:37 +01:00
Riccardo Giorato 7b835b2f29 Merge remote-tracking branch 'upstream/dev' into dev 2026-01-28 10:50:29 +01:00
Aiden Cline 9658a500f7 Merge pull request #740 from thatoddmailbox/dev
Fix Kimi pricing for fireworks-ai
2026-01-28 02:24:39 -05:00
Aiden Cline 7030a7c77f Merge pull request #741 from Alex-wuhu/dev
feat(models): add Kimi K2.5 and GLM-4.7-Flash model
2026-01-28 02:24:12 -05:00
Frank 2be2a8c109 Update zai models 2026-01-28 01:49:08 -05:00
Frank 465335102f Update kimi-k2.5.toml 2026-01-28 01:38:18 -05:00
城二 82ddcad9f8 feat(models): Add configuration files for the Kimi K2.5, GPT-5.2-Codex, Qwen3-Max-Thinking, and GLM 4.7 FlashX models. 2026-01-28 14:31:21 +08:00
Zain Hasan 9acd2ffa60 add kimi k2.5 2026-01-27 22:30:24 -08:00
Alex-wuhu b3d2cfdc34 feat(models): add Kimi K2.5 and GLM-4.7-Flash model 2026-01-28 14:25:53 +08:00
Alex Studer eead89fd8e fix kimi pricing for fireworks-ai 2026-01-28 01:20:01 -05:00
Aiden Cline 48de510380 Merge pull request #635 from mthezi/feature/add-302ai-provider
feat: add 302ai provider
2026-01-27 22:01:19 -05:00
Aiden Cline 52332705ca Merge pull request #736 from alissonlauffer/chore/update-chutes-kimi-k2.5
feat(chutes): update Kimi K2.5 TEE model capabilities
2026-01-27 22:00:07 -05:00
Aiden Cline 08e5d0f830 Update Kimi-K2.5-TEE.toml configuration settings 2026-01-27 21:59:39 -05:00
Aiden Cline 0b7f253ee0 Merge pull request #739 from xinrui-z/feat/aihubmix-add-models
feat(models): add kimi-k2.5, coding-glm-4.7, glm-4.6v, and qwen3-max
2026-01-27 21:54:59 -05:00
Xinrui bfe953d2f0 feat(models): add kimi-k2.5, coding-glm-4.7, glm-4.6v, and qwen3-max 2026-01-28 10:48:40 +08:00
cravenceiling 641fa6f2e7 feat: add google-gemma-3-27b-it:free model 2026-01-27 19:34:05 -05:00
Alisson Lauffer c344db1bf8 feat(chutes): update Kimi K2.5 TEE model capabilities
Enable reasoning, tool calling, and multimodal input support for the
Kimi K2.5 TEE model. Increase context limit from 32k to 262k tokens and
output limit from 8k to 65k tokens. Add support for image and video
inputs alongside text. Configure interleaved reasoning content field.
2026-01-27 21:05:33 -03:00
Aiden Cline 36c6206d32 Merge pull request #732 from mmealman/add_fireworks_k2p5
Added Kimi K2.5 to FireworksAI.
2026-01-27 17:54:31 -05:00
Aiden Cline 4f6a59d7be Merge pull request #729 from gary149/feat/huggingface-kimi-k2.5
feat(huggingface): add Kimi-K2.5 model
2026-01-27 17:54:15 -05:00
Aiden Cline f5b8e3fe83 Merge pull request #735 from spiffytech/dev
Add Kimi K2.5 to Ollama Cloud
2026-01-27 17:53:31 -05:00
Aiden Cline 07c70ca9f2 Merge pull request #731 from arguiot/add-vercel-kimi-k2.5
Add Kimi K2.5 to Vercel provider
2026-01-27 17:53:22 -05:00
Aiden Cline d35ad7ec49 Merge pull request #727 from ProlowN/dev
fix : removed duplicate kimi k2.5 model from venice
2026-01-27 17:53:09 -05:00
Aiden Cline 7c57f4ce15 Merge pull request #733 from dpuyosa/dev
Venice: Add interleaved thinking to k2.5
2026-01-27 17:52:44 -05:00
spiffytech 83eeb304a5 Add Kimi K2.5 to Ollama Cloud 2026-01-27 16:08:16 -05:00
Aiden Cline a13f101e0c Merge pull request #638 from jerome-benoit/feature/sap-ai-core-updates
fix(sap-ai-core): use working provider fork for stable OpenCode integration
2026-01-27 15:32:40 -05:00
Riccardo Giorato ec6101a629 Merge remote-tracking branch 'upstream/dev' into dev 2026-01-27 21:00:55 +01:00
Riccardo Giorato 231313aad0 Add four new models: Qwen3-235B, Qwen3-Next-80B, Kimi-K2-Instruct, GLM-4.7 2026-01-27 21:00:44 +01:00
dpuyosa b9793731e6 Add interleaved thinking to k2.5 2026-01-27 20:32:38 +01:00
Frank 22edc4d92d update zen model 2026-01-27 14:12:42 -05:00
Frank 3f62b2dd5a update moonshot models 2026-01-27 14:05:13 -05:00
Mark Mealman d57592dba3 Added Kimi K2.5 to FireworksAI. 2026-01-27 14:00:19 -05:00
Frank e2b43f180c Merge pull request #730 from esafak/moonshotai/kimi-k2.5
chore: add `moonshotai/kimi-k2.5` model
2026-01-27 13:59:59 -05:00
Arthur Guiot 0acff9cf7c add Kimi K2.5 to Vercel provider 2026-01-27 10:50:37 -08:00
Emre Şafak 563c43f004 add moonshotai/kimi-k2.5 model 2026-01-27 13:46:30 -05:00
Victor Muštar e53bb9c7ad feat(huggingface): add Kimi-K2.5 model 2026-01-27 18:38:18 +01:00
Frank 1522bc4a9a update zen models 2026-01-27 12:34:50 -05:00
Frank c28701d579 update zen models 2026-01-27 12:34:29 -05:00
Magnus eb5bff1f6a fix : removed duplicate kimi k2.5 model from venice 2026-01-27 18:01:37 +01:00
Frank 15b4b02e6e update zen models 2026-01-27 12:00:36 -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
Aiden Cline b1910161d4 Merge pull request #726 from ProlowN/dev
Added kimi k2.5 to Venice AI
2026-01-27 11:45:18 -05:00
Magnus 13e48c2ca0 fix/ wrong output size 2026-01-27 17:44:27 +01:00
Magnus 516cfe355d fix/ wrong family name 2026-01-27 17:09:38 +01:00
Magnus 068eacd6b3 Added kimi k2.5 to Venice AI 2026-01-27 17:06:02 +01:00
Aiden Cline 336e43494b Merge pull request #719 from Jakey-Jakey/dev
add-kimi-k2.5 from OpenRouter
2026-01-27 11:05:16 -05:00
Aiden Cline 7fc046f833 Merge pull request #720 from kassieclaire/add-kimi-k2p5-model
feat(providers): add Kimi K2.5 model
2026-01-27 11:04:43 -05:00
Jan Szypulski 2c63a024b3 delete unrecognized model family 2026-01-27 17:04:36 +01:00
Aiden Cline a572cf8a1a Merge pull request #721 from matthusby/dev
[Chutes] Add new model configs and update pricing for several models
2026-01-27 11:03:54 -05:00
Aiden Cline e335f919f2 Merge pull request #722 from FrancoStino/dev
feat(providers): Add NVIDIA models: Kimi K2.5 and GLM-4.7
2026-01-27 11:03:38 -05:00
Aiden Cline 4e883ea026 Merge branch 'dev' into dev 2026-01-27 11:02:10 -05:00
Aiden Cline 3dfb74d1ea Merge pull request #723 from arshadbarves/feat/nvidia-kimi-k2.5
feat(nvidia): add Kimi K2.5 multimodal model
2026-01-27 11:01:42 -05:00
Aiden Cline edb551b275 Merge pull request #724 from dpuyosa/dev
Venice: Add Kimi K2.5 model configuration
2026-01-27 11:01:29 -05: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
dpuyosa d95d22e89c [venice] Add Kimi K2.5 model configuration
- Add new Kimi K2.5 model with 262K context support
- Include pricing for input, output, and cache_read operations
- Enable reasoning, tool calling, and structured output capabilities
- Support text and image input with text output
2026-01-27 16:23:08 +01:00
Davide Ladisa dc771f54df Update knowledge and release dates in kimi-k2.5.toml 2026-01-27 15:52:43 +01:00
Arshad Barves 27b99e9ccf feat(nvidia): add Kimi K2.5 multimodal model
Add Kimi K2.5, a 1T parameter multimodal MoE model by Moonshot AI
with support for text, image, and video inputs.

Key features:
- 256K context window (262,144 tokens)
- Native multimodal support (text, image, video)
- Interleaved reasoning with reasoning_content field
- Tool calling and temperature control
- Open weights available

Model ID: moonshotai/kimi-k2.5
Provider: NVIDIA NIM
Validation:  Passes bun validate
2026-01-27 20:00:42 +05:30
Davide Ladisa c04069b5a3 Merge pull request #102 from FrancoStino/add-nvidia-models-kimi-glm
Add NVIDIA models: Kimi K2.5 and GLM-4.7
2026-01-27 15:01:43 +01:00
Davide Ladisa af08a750b2 Add GLM-4.7 with correct filename and family field 2026-01-27 15:01:13 +01:00
Davide Ladisa ed4270cc8f Remove old glm4_7.toml to rename to glm-4.7.toml 2026-01-27 15:01:03 +01:00
Davide Ladisa dae3873284 Fix GLM-4.7 release date to December 2025 and update knowledge cutoff 2026-01-27 14:59:23 +01:00
Davide Ladisa 6daad4c4eb Update knowledge cutoff dates to more accurate values 2026-01-27 14:57:07 +01:00
Davide Ladisa 5302dc4452 Add NVIDIA models: Kimi K2.5 and GLM-4.7 2026-01-27 14:53:55 +01:00
Matt Husby 7d26d504ec Add new model configs and update pricing for several models 2026-01-27 07:58:35 -05:00
kassieclaire 63f116b27f fix: remove interleaved reasoning for kimi-k2.5 2026-01-27 07:05:35 -05:00
kassieclaire bf6582bb83 fix: update knowledge cutoff to 2025-01 for kimi-k2.5 2026-01-27 06:25:46 -05:00
Kassie Povinelli 965f5365bc Update providers/kimi-for-coding/models/k2p5.toml
checked docs for kimi-for-coding plan, still shows up as this lower value, so going with it for now -- keep an eye on the docs in case they update the information

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-27 06:19:39 -05:00
kassieclaire 3b5717f6b9 feat(providers): add Kimi K2.5 model 2026-01-27 06:12:01 -05:00
Jakey-Jakey cae7be4925 Add 'video' modality to input options 2026-01-27 04:01:00 -05:00
Jakey-Jakey d218bb7fe8 Add cache_read cost to kimi-k2.5 configuration 2026-01-27 03:56:18 -05:00
Jakey-Jakey 9f5b80af72 Add knowledge parameter with value '2025-01' 2026-01-27 03:55:37 -05:00
Jakey-Jakey 6c928db808 Remove knowledge field from kimi-k2.5.toml
Remove knowledge field from configuration.
2026-01-27 03:54:38 -05:00
Jakey-Jakey 63b1cfb9fc Add provider section to kimi-k2.5.toml 2026-01-27 03:53:43 -05:00
Jakey-Jakey ade61a5018 Add files via upload 2026-01-27 03:45:43 -05:00
Aiden Cline e768c2afbd Merge pull request #713 from qychen2001/dev
feat(providers): update siliconflow-cn model catalog
2026-01-26 21:01:47 -05:00
Aiden Cline 31e503a516 Merge pull request #715 from dpuyosa/dev
Venice: Add cache_read to GLM 4.7
2026-01-26 21:00:43 -05:00
Frank 98a455cb0f sync 2026-01-26 18:24:50 -05:00
Michael Yochpaz f1d2e47772 fix(google-vertex-anthropic): use @ai-sdk/google-vertex/anthropic npm package
The google-vertex-anthropic provider requires the `/anthropic` subpath import for thinking/reasoning to work correctly with Claude models on Vertex AI.
2026-01-26 22:09:05 +00:00
dpuyosa 4d82211cea Add cache_read to GLM 4.7 2026-01-26 22:59:16 +01:00
mthezi 4e0a2d34b4 refactor(models): update family names for various models to improve consistency 2026-01-26 14:47:20 +08:00
⌞L⌝ effa34d17b Merge branch 'anomalyco:dev' into feature/add-302ai-provider 2026-01-26 14:29:57 +08:00
QiyuanChen ed59411f9e feat(providers): update siliconflow-cn model catalog
Add new Pro tier models for deepseek-ai and moonshotai, including DeepSeek-R1, DeepSeek-V3 series, and Kimi-K2-Thinking models with reasoning capabilities. Remove older Qwen, Kimi-K2, and other legacy model configurations.
2026-01-26 12:57:56 +08:00
Aiden Cline 1286f6449c Merge pull request #710 from hsyysy/dev
feat(provider): add DeepSeek-V3.2 for Nvidia
2026-01-25 22:56:41 -05:00
Aiden Cline f92551d3ac Merge pull request #709 from fanweixiao/feat/add-vivgrid-models
add gpt-5.1-codex-max, gpt-5.2-codex and more models for vivgrid provider
2026-01-25 22:56:31 -05:00
Aiden Cline 8c502a36b9 Delete pnpm-lock.yaml 2026-01-25 21:29:19 -05:00
Aiden Cline 6e40a4744a Merge pull request #712 from xinrui-z/fix/aihubmix-provider-invalid-type
fix(provider): correct invalid type in provider.toml
2026-01-25 21:28:54 -05:00
Xinrui 5ac346644a fix(provider): correct invalid type in provider.toml 2026-01-26 10:12:08 +08:00
Thomas Young c03332fb3d feat(provider): add DeepSeek-V3.2 for Nvidia 2026-01-25 20:10:23 +08:00
C.C. Fan acb8319afb add gpt-5.1-codex-max, gpt-5.2-codex, gemini-3-pro-preview and gemini-3-flash-preview for vivgrid provider 2026-01-25 16:37:27 +08:00
Aiden Cline 568f5319be Merge pull request #708 from jsdtxm/feat/add-glm-4.7
feat(provider): add Pro/zai-org/GLM-4.7 for SiliconFlow-CN
2026-01-24 23:39:40 -05: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
xiamin 0fb16d2cb8 feat(provider): add Pro/zai-org/GLM-4.7 for SiliconFlow-CN 2026-01-25 12:16:12 +08:00
Aiden Cline 18e555c2af Merge pull request #656 from fchange/feat/new-provider
feat: add moark provider
2026-01-24 23:15:07 -05:00
Aiden Cline 1938af666f Merge pull request #707 from arshadbarves/fix/nvidia-glm4.7-model-id
fix(nvidia): correct model ID for GLM-4.7 (z-ai/glm4.7)
2026-01-24 23:12:22 -05:00
Arshad Barves fea35d7bb4 fix(nvidia): correct model ID for GLM-4.7 (z-ai/glm4.7)
Rename model file from glm-4.7.toml to glm4.7.toml to generate the
correct model ID z-ai/glm4.7 (without dot) as per NVIDIA API specification.

The model ID is derived from the file path, so the filename must match
the exact model identifier used by the provider's API.

- Renamed: providers/nvidia/models/z-ai/glm-4.7.toml → glm4.7.toml
- Model ID: z-ai/glm-4.7 → z-ai/glm4.7
- Validation:  Passes bun validate
2026-01-25 09:34:50 +05:30
Aiden Cline 53b821523b Merge pull request #700 from vglafirov/feat/gitlab-gpt-5-2
feat(gitlab): add GPT-5.2 model definition (duo-chat-gpt-5-2)
2026-01-24 12:50:30 -05:00
Aiden Cline 813b2d57b3 Merge pull request #704 from jsdtxm/feat/add-minimax-m2-1
feat(provider): add MiniMax M2.1 for SiliconFlow
2026-01-24 12:50:18 -05:00
xiamin ee5c39bb18 fix: move MiniMax-M2.1 config 2026-01-24 22:17:29 +08:00
xiamin ec2bf4bf7c feat(provider): add MiniMax M2.1 for SiliconFlow-CN 2026-01-24 16:16:03 +08:00
xiamin d2d6bc2d6c chore: remove MiniMax-M2.1.toml symlink 2026-01-24 16:15:15 +08:00
xiamin a4978b8b1c feat(provider): add MiniMax M2.1 for SiliconFlow 2026-01-24 16:08:32 +08:00
Frank 545bf83089 update zen models 2026-01-23 23:19:34 -05:00
Vladimir Glafirov 5651a0efe1 feat(gitlab): add GPT-5.2 model definition (duo-chat-gpt-5-2) 2026-01-23 16:10:47 +01:00
Frank b5fc3e3f54 update zen models 2026-01-23 01:19:18 -05:00
Frank c8f6d7ace2 update zen models 2026-01-23 01:12:50 -05:00
Frank 4dd2e77ad1 update zen models 2026-01-23 01:05:55 -05:00
Aiden Cline e5e859ac63 fix context limit for copilto gpt-4.1 2026-01-22 19:37:27 -06:00
Christian Landgren eb98dd4305 fix: address Copilot review comments
- Change Mistral family from 'mistral' to 'mistral-small' for consistency
- Fix Llama 3.3 70B knowledge date from '2024-12' to '2023-12'
- Set tool_call to false for KB-Whisper-Large (speech-to-text models don't support tool calling)
2026-01-23 01:10:35 +01:00
Christian Landgren cb8d8e8698 chore: remove Qwen3 32B model 2026-01-23 01:05:12 +01:00
Christian Landgren 3cb9a1cd3d feat: add Berget.AI provider
Add Berget.AI as an OpenAI-compatible provider with base URL api.berget.ai/v1.

Models included:
- Text: Llama 3.3 70B, Qwen3 32B, GPT-OSS-120B, GLM 4.7, Mistral Small 3.2 24B
- Embedding: Multilingual-E5-large-instruct, Multilingual-E5-large
- Rerank: bge-reranker-v2-m3
- Speech-to-Text: KB-Whisper-Large
2026-01-23 01:01:40 +01:00
Aiden Cline 830a03e46b Merge pull request #696 from vglafirov/feat/gitlab-openai-models
fix: increase output token limit for GitLab Claude models to 64k
2026-01-22 15:20:31 -08:00
Vladimir Glafirov b21c8870a5 fix: align GitLab Claude models with native Anthropic model capabilities
Updated to match native Anthropic model definitions:
- attachment: false → true (supports image/pdf attachments)
- reasoning: false → true (supports extended thinking)
- modalities.input: ["text"] → ["text", "image", "pdf"]
- Added knowledge cutoff dates from native models
2026-01-23 00:18:27 +01:00
Vladimir Glafirov 4bcba6a482 fix: increase output token limit for GitLab Claude models to 64k
The output limit was set to 4,096 tokens which caused tool calls with
large content (like file generation) to be truncated mid-JSON.

Updated to match standard Anthropic model limits:
- duo-chat-opus-4-5: 4,096 → 64,000
- duo-chat-sonnet-4-5: 4,096 → 64,000
- duo-chat-haiku-4-5: 4,096 → 64,000
2026-01-23 00:02:49 +01:00
Aiden Cline c67ccd8def Merge pull request #694 from cgilly2fast/dev
chore: remove deepseek-coder for firmware provider
2026-01-22 11:51:38 -08:00
Colby Gilbert 7aa00eb8dc chore: remove deepseek-coder for firmware provider 2026-01-22 11:48:50 -08:00
Aiden Cline d799a6ae6e Merge pull request #692 from vglafirov/feat/gitlab-openai-models
feat(gitlab): add OpenAI GPT-5 model definitions
2026-01-22 08:52:22 -08:00
Vladimir Glafirov a770639c25 feat(gitlab): add OpenAI GPT-5 model definitions
Add GitLab Duo model definitions for OpenAI GPT-5 family:
- duo-chat-gpt-5-1: GPT-5.1 flagship model
- duo-chat-gpt-5-mini: GPT-5 Mini (cost-effective)
- duo-chat-gpt-5-codex: GPT-5 Codex (agentic coding)
- duo-chat-gpt-5-2-codex: GPT-5.2 Codex
2026-01-22 17:43:59 +01:00
Jan Szypulski d934e26168 add cloudferro sherlock as provider 2026-01-22 16:11:45 +01:00
mthezi ea20440d0d fix: update model family name for gpt-4.1-nano 2026-01-22 13:51:54 +08:00
Aiden Cline eef424f296 Merge pull request #686 from zhzy0077/nvidia-patch
Add nvidia 2 new models.
2026-01-21 16:23:25 -08:00
Aiden Cline 05415ee2ec Merge pull request #685 from spiffytech/dev
Remove duplicate GLM-4.7 model file
2026-01-21 16:20:01 -08:00
Aiden Cline 23e99a093a Merge pull request #687 from eliasto/ovhcloud/update-models
Update OVHcloud AI Endpoints models
2026-01-21 16:19:52 -08:00
Aiden Cline 02df983581 Merge pull request #688 from gitpush-gitpaid/dev
Added PDF to input modalities for gpt 5.2 codex
2026-01-21 16:19:36 -08:00
Aiden Cline 3d102d3bd9 Add 'pdf' to input modalities in gpt-5.2-codex.toml 2026-01-21 18:19:14 -06:00
gitpush-gitpaid 6307a2c223 added PDF to input modalities for gpt 5.2 codex 2026-01-21 18:30:18 -05:00
Aiden Cline d79ae1d684 chore: kill deprecated copilot models from list 2026-01-21 16:59:11 -06:00
Elias TOURNEUX 67d192dd9c Update OVHcloud AI Endpoints models 2026-01-21 08:17:47 -05:00
lazy 74cb010892 feat(qihang): add Gemini 2.5 Flash and GPT-5.2 models 2026-01-21 15:19:30 +08:00
zhzy0077 10acfc848d Add nvidia 2 new models. 2026-01-21 08:39:12 +08:00
spiffytech 5943a24d41 Remove duplicate GLM-4.7 model file 2026-01-20 14:02:19 -05:00
Aiden Cline a52b64222e Merge pull request #684 from sebastiand-cerebras/final-removal-of-glm4_6
Remove deprecated zai-glm-4.6 model (Jan 20, 2026)
2026-01-20 10:17:47 -08:00
Seb Duerr a767bf0a6d Remove deprecated zai-glm-4.6 model (Jan 20, 2026)
Thank you for your patience and understanding with our timeline adjustments! I truly appreciate your team's responsiveness and flexibility in working with us on this deprecation.

As of January 20, 2026, the zai-glm-4.6 model has been officially deprecated.
2026-01-20 09:56:33 -08:00
Aiden Cline b131f86a1f Merge pull request #666 from spiffytech/dev
Update Ollama Cloud models. Add generator for model files.
2026-01-20 08:06:40 -08:00
Aiden Cline c84e382bbe Merge pull request #679 from WSQS/dev
feat: add GLM-4.7-Flash for zhipuai provider
2026-01-20 08:03:16 -08:00
Aiden Cline 9de5f304fe Merge pull request #683 from nickdowse/dev
Fix: Fix incorrect OpenAI, Gemini prices
2026-01-20 08:03:07 -08:00
Aiden Cline 8a854771d7 Merge pull request #677 from ivivek/dev
feat: add GLM-4.7 to google-vertex
2026-01-20 08:02:57 -08:00
Aiden Cline b190cdaecc Merge pull request #678 from dpuyosa/UpdateModel
Venice: Update provider package
2026-01-20 08:02:47 -08:00
Aiden Cline 5712350b30 Merge pull request #680 from cgilly2fast/cgilly2fast/firmware-provider
feat: add cerebras glm 4.7 and gpt OSS, clean up claude model ids
2026-01-20 08:02:12 -08:00
Nick Dowse b933688a77 Fix incorrect openai, gemini prices 2026-01-20 10:06:03 -05:00
dpuyosa 64f034bb72 Update interleaved field to reasoning_content
- Change field value in claude-sonnet-45, gemini-3-flash-preview, qwen3-235b-a22b-thinking-2507, and zai-org-glm-4.7 configs
2026-01-20 15:34:42 +01:00
Frank 72de414c2f Merge pull request #681 from tars90percent/minimax-provider-names
Add MiniMax coding plan providers
2026-01-20 09:11:13 -05:00
Frank bc6698d98b sync 2026-01-20 09:10:16 -05: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
tars90percent e0fcf8f638 Add MiniMax coding plan providers 2026-01-20 13:42:43 +08:00
Colby Gilbert 36a6197da9 feat: add cerebras glm 4.7 and gpt OSS, clean up claude model ids 2026-01-19 21:34:34 -08:00
WSQS f6d82c43a7 feat: add GLM-4.7-Flash for zhipuai 2026-01-20 10:49:21 +08:00
dpuyosa 44b8ed5871 Comment-out 'api' for validation script 2026-01-20 01:30:13 +01:00
dpuyosa c0d9ec4777 Update Venice provider package:
- Replace @ai-sdk/openai-compatible with venice-ai-sdk-provider
- Fix cache_control limitations
- Add Venice-specific features
2026-01-20 01:11:34 +01:00
spiffytech 2ae1e23591 Update Ollama Cloud models. Add generator for model files. 2026-01-19 17:29:38 -05:00
Vivek K 1ff1405664 feat: add GLM-4.7 to google-vertex 2026-01-20 00:43:34 +05:30
Aiden Cline 1c32145339 Merge pull request #674 from zerone0x/add/gpt-5.1-codex-max
feat(openrouter): add openai/gpt-5.1-codex-max model
2026-01-19 09:52:54 -08:00
Aiden Cline fbebe356b5 Merge pull request #675 from ElecTwix/glm-4.7-flash
feat: add glm-4.7-flash model
2026-01-19 09:52:25 -08:00
ElecTwix e694f0136f feat: add glm-4.7-flash model 2026-01-19 20:44:29 +03:00
zerone0x 5062058b6a feat(openrouter): add openai/gpt-5.1-codex-max model
Add GPT-5.1-Codex-Max model to OpenRouter provider. This model is available
in OpenRouter's API but was missing from models.dev.

Pricing sourced from OpenRouter API.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-20 01:25:22 +08:00
Aiden Cline 7b132f2cd8 Merge pull request #673 from gary149/feat/huggingface-glm-4.7-flash
feat(huggingface): add GLM-4.7-Flash model
2026-01-19 08:49:44 -08:00
Victor Muštar e319a707fd feat(huggingface): add GLM-4.7-Flash model 2026-01-19 17:36:59 +01:00
Aiden Cline 627ac7bcf1 Merge pull request #671 from uniquename/ollama/glm-4.7
feat: add Ollama GLM-4.7 model configuration file
2026-01-19 07:38:50 -08:00
Aiden Cline 89408c71e0 Merge pull request #669 from dpuyosa/UpdateModel
Venice: Replace vision models glm4.6v -> qwen3-vl
2026-01-19 07:38:29 -08:00
Aiden Cline 0651768fd9 Merge pull request #672 from sebastiand-cerebras/add-glm4_6-deprecation-notice
Re-add zai-glm-4.6 temporarily until Jan 20, 2026
2026-01-19 07:38:00 -08:00
Seb Duerr c8ce0db2b1 Re-add zai-glm-4.6 temporarily until Jan 20, 2026
Thanks for the incredibly fast merge! We appreciate the efficiency, though we need to temporarily re-add GLM 4.6. The model will be officially deprecated on January 20, 2026. Our apologies for any confusion - we should have been clearer about the timeline in the original PR.
2026-01-19 07:14:34 -08:00
User c3b177ed7a feat: add Ollama GLM-4.7 model configuration file 2026-01-19 12:45:35 +00:00
dpuyosa 1ce4dc41c1 Update model configurations:
- Add qwen3-vl-235b-a22b model
- Remove deprecated zai-org-glm-4.6v model
2026-01-19 10:49:32 +01:00
Aiden Cline 438e834043 add input field to more openai models 2026-01-19 00:59:44 -06:00
Jérôme Benoit 189aa03281 Apply suggestion from @jerome-benoit 2026-01-19 04:02:10 +01:00
Aiden Cline 5f293ca6ce Merge pull request #665 from sebastiand-cerebras/removal_of_glm4_6
Remove deprecated zai-glm-4.6 model from Cerebras provider
2026-01-17 22:50:25 -08:00
Aiden Cline 490a03f2d9 Remove deprecated zai-glm-4.6 model from Cerebras provider 2026-01-17 22:49:51 -08:00
Aiden Cline cbd215cbc1 Merge pull request #652 from hueyexe/dev
feat: add GPT 5.2 Codex to Azure and Azure Cognitive Services
2026-01-17 22:48:21 -08:00
Aiden Cline 1b49c365a0 fix: restore gpt-5.2-codex.toml as symlink to fix validation CI 2026-01-18 00:46:56 -06:00
Aiden Cline 51d2a4f2b6 Merge pull request #664 from jerome-benoit/feat/sap-ai-core-claude-4.5-opus
feat(sap-ai-core): add Claude 4.5 Opus and align pricing
2026-01-17 19:02:07 -08:00
Seb Duerr afba23ed62 Remove deprecated zai-glm-4.6 model from Cerebras provider 2026-01-17 18:37:18 -08:00
Jérôme Benoit 9e25ca1521 feat(sap-ai-core): add Claude 4.5 Opus and align pricing
- Add Claude 4.5 Opus model with official Anthropic pricing
- Align cache pricing for Claude 3 Sonnet, Gemini 2.5 models, and GPT-5 Mini with official pricing
2026-01-18 01:08:12 +01:00
Aiden Cline 971e8734ae Merge pull request #659 from KagurazakaNyaa/dev
Update SiliconFlow model list
2026-01-16 20:35:02 -08:00
Aiden Cline ef7731ec13 Merge pull request #661 from cgilly2fast/cgilly2fast/firmware-provider
fix: make gpt-nano and mini calculate as 0 price
2026-01-16 20:32:32 -08:00
Colby Gilbert e2d8670828 chore: update firmware provider docs url 2026-01-16 17:04:53 -08:00
神楽坂·喵 ecfab1717a Merge branch 'anomalyco:dev' into dev 2026-01-17 08:21:48 +08:00
KagurazakaNyaa ac037c57ad fix pangu family 2026-01-17 08:20:30 +08:00
KagurazakaNyaa a886d60715 fix kat family 2026-01-17 08:11:32 +08:00
Colby Gilbert 44e980e810 fix: make gpt-nano and mini calculate as 0 price 2026-01-16 15:42:37 -08:00
Aiden Cline d1f3ddfe44 Merge pull request #660 from jerilynzheng/feat/vercel-models-update-2
vercel: add new models from Vercel AI Gateway
2026-01-16 12:59:21 -08:00
Aiden Cline f0192d8759 Update gpt-5.2-codex.toml 2026-01-16 14:52:45 -06:00
jerilynzheng 070fd89c38 vercel: add new models from Vercel AI Gateway
- Add bytedance/seed-1.8 (multimodal with reasoning)
- Add openai/gpt-5.2-codex (agentic coding)
- Add recraft/recraft-v2 and recraft-v3 (image generation)
- Add recraft to model family schema

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 12:11:47 -08:00
神楽坂·喵 0ae941ee4d Merge branch 'anomalyco:dev' into dev 2026-01-17 01:03:43 +08:00
KagurazakaNyaa 3a4cc60e04 update siliconflow model list 2026-01-17 01:02:33 +08:00
Aiden Cline a243d9ba84 Merge pull request #658 from litvix-whale/feat/add-minimax-m2-1
feat(provider): add MiniMax M2.1 for DeepInfra
2026-01-16 08:15:39 -08:00
Kyrylo Lytvishko 5be35e44e4 feat(provider): add MiniMax M2.1 for DeepInfra 2026-01-16 18:04:00 +02: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
Aiden Cline 433008fef0 fix: more abacus things - fix model ids 2026-01-16 00:18:21 -06:00
franco bfb6bb315a feat: add moark provider 2026-01-16 10:26:06 +08:00
Aiden Cline 7f49452691 Merge pull request #653 from dpuyosa/UpdateModel
Venice: Update generate script & add new models (sonnet 4.5, gpt 5.2 codex)
2026-01-15 12:57:31 -08:00
Aiden Cline 6b793ad28e rm raptor mini model 2026-01-15 12:42:06 -06:00
mthezi 53d77d2f2b chore: update output limits for various models 2026-01-15 18:42:04 +08:00
dpuyosa a8436a1e8a Add new model configurations:
- Add claude-sonnet-45 model configuration
 - Add openai-gpt-52-codex model configuration
2026-01-15 10:18:29 +01:00
dpuyosa 2ef222a882 Updated model configurations:
- Changed family from 'llama' to 'hermes' in hermes-3-llama-3.1-405b
 - Changed family from 'glm' to 'glmv' in zai-org-glm-4.6v
 - Added interleaved reasoning_details field in zai-org-glm-4.6v
2026-01-15 10:16:49 +01:00
dpuyosa da6e0354da Updated family inference logic:
- Refactored family inference to use ModelFamilyValues and subsequence matching algorithm
2026-01-15 10:14:09 +01:00
Aiden Cline 5aa046c596 fix: abacus provider 2026-01-14 23:58:31 -06:00
hueyexe f54b8d8c6d Add gpt 5.2 codex to azure cognitive services 2026-01-15 16:00:15 +11:00
hueyexe a2d657f75b Add gpt 5.2 codex to azure 2026-01-15 15:58:42 +11: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
Aiden Cline 5a329d79bc Merge pull request #650 from cgilly2fast/cgilly2fast/firmware-provider
refactor: simplify model ids so sub agents work
2026-01-14 15:18:26 -08:00
Colby Gilbert 1e9ee75804 refactor: simplify model ids so sub agents work 2026-01-14 15:07:36 -08:00
Aiden Cline 64e82beb55 Merge pull request #645 from TheEpTic/dev
chore: Add gpt-5.2-codex to GitHub Copilot provider
2026-01-14 14:59:58 -08:00
Frank 256bab07a3 update zen models 2026-01-14 16:27:53 -05:00
Frank 78fd2e0fa0 update zen models 2026-01-14 16:18:51 -05:00
Aiden Cline 969430c25e Merge pull request #647 from KonarkRajMisra/dev
Add GPT-5.2-Codex to OpenRouter
2026-01-14 12:39:08 -08:00
Aiden Cline c4b43c090d Merge pull request #646 from brandon93s/52-input
chore(openai): gpt-5.2-codex input limit
2026-01-14 12:38:52 -08:00
Konark Misra bfb92b5e46 Add GPT-5.2-Codex to OpenRouter 2026-01-14 12:15:39 -08:00
TheEpTic b0e5b914c8 Fix context size 2026-01-14 20:03:52 +00:00
Brandon Smith 66e5d76e05 input 2026-01-14 13:53:57 -06:00
TheEpTic f1f27989d8 Add gpt-5.2-codex to GitHub Copilot provider 2026-01-14 19:41:09 +00:00
Aiden Cline 949f9b9909 Merge pull request #623 from cyhhao/add-gpt-5-2-codex
feat: add gpt-5.2-codex model
2026-01-14 11:25:43 -08:00
Aiden Cline 6a614ab0ac Update model family name in gpt-5.2-codex.toml 2026-01-14 13:24:47 -06:00
Aiden Cline 664079661d Merge pull request #641 from liyishuai/iflow-cleanup
chore(iflowcn): cleanup models
2026-01-14 07:46:53 -08:00
Aiden Cline 58e2fd8462 Merge pull request #642 from brandon93s/openai-codex-input-limit
openai: codex input context limit
2026-01-14 07:31:37 -08:00
Aiden Cline 25eda4cc82 Merge pull request #612 from Alex-wuhu/dev
add LLM Provider : novita ai
2026-01-14 07:30:55 -08:00
Alex-wuhu c60ec95e75 Update model family names for consistency and clarity 2026-01-14 23:04:51 +08:00
Alex 952de0d081 Merge branch 'anomalyco:dev' into dev 2026-01-14 23:00:39 +08:00
Brandon Smith 453f16ce42 add input limit for codex models 2026-01-14 08:32:48 -06:00
Alex-wuhu 01f338231e Update LLM info 2026-01-14 19:10:34 +08:00
Yishuai Li ce48f4ee7b chore(iflowcn): cleanup models
Signed-off-by: Yishuai Li <yishuai.li@pingcap.com>
2026-01-14 16:53:58 +08:00
Aiden Cline db79e08e38 Merge pull request #636 from Eric-Guo/patch-1
Using CN in API key, so it won't loading both siliconflow-cn and siliconflow
2026-01-13 21:36:47 -08:00
Aiden Cline 71cf624135 Merge pull request #640 from fanweixiao/dev
feat(provider): Add configuration for GPT-5.1 Codex Max model to Vivgrid provider
2026-01-13 21:36:36 -08:00
Aiden Cline 9f7c0cec79 Merge pull request #639 from anomalyco/update-model-families
Update model families
2026-01-13 21:36:21 -08:00
C.C. 399b469927 Add configuration for GPT-5.1 Codex Max model 2026-01-14 02:55:08 +00:00
Aiden Cline bcb7182f67 tweak 2026-01-13 20:07:18 -06:00
Aiden Cline 1008f394ee wip 2026-01-13 18:33:02 -06:00
Aiden Cline 1a96ad9764 Merge pull request #637 from dpuyosa/UpdateModel
Venice: Updated llama-3.2-3b model configuration
2026-01-13 15:00:59 -08:00
Jérôme Benoit 0ada0ed52e fix(sap-ai-core): use temporary fork for stable OpenCode integration 2026-01-13 19:52:14 +01:00
dpuyosa 4c39b53744 Updated llama-3.2-3b model configuration:
- Removed structured_output property
2026-01-13 13:52:50 +01:00
Eric Guo d84aff0e75 Using CN in API key, so it won't loading both siliconflow-cn and siliconflow 2026-01-13 20:16:29 +08:00
mthezi c9aefb0af1 feat: add 302ai provider 2026-01-13 14:21:52 +08:00
Aiden Cline 6e6d31f803 Merge pull request #634 from serithemage/feat/upstage-solar-pro3
upstage: add solar-pro3 model
2026-01-12 16:54:34 -08:00
Dohyun Jung ad0e98f745 upstage: add solar-pro3 model
Add Solar Pro 3 model with 128K context window.
Pricing is estimated based on Solar Pro 2 (official pricing not yet published).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 09:04:13 +09:00
Aiden Cline c76336dcb5 Merge pull request #631 from msanft/msanft/ci/fix
ci: fix deploy workflow
2026-01-12 14:45:32 -08:00
Aiden Cline a752e16754 Merge pull request #633 from serithemage/fix/upstage-api-url
upstage: fix API base URL
2026-01-12 14:44:35 -08:00
Dohyun Jung e5dea00090 upstage: fix API base URL
Change API URL from https://api.upstage.ai to https://api.upstage.ai/v1/solar
to match the correct endpoint for OpenAI-compatible API access.

Reference: https://console.upstage.ai/docs/models/solar-pro-2

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 07:00:44 +09:00
Moritz Sanft af10061a5c ci: fix deploy workflow 2026-01-12 10:17:33 +01:00
Aiden Cline 5204232521 Merge pull request #620 from matthusby/dev
Update all chutes models with data for the api, and fix formatting on bunch of them.
2026-01-11 11:17:49 -08:00
Aiden Cline d180bd1f8b Merge pull request #619 from cgilly2fast/cgilly2fast/firmware-provider
feat: add firmware provider models
2026-01-11 11:16:53 -08:00
Aiden Cline 3cf7f9f3c2 Merge pull request #626 from davidcharbonnier/dev
Add Qwen3 Coder 30B A3B Instruct to Openrouter
2026-01-11 11:15:09 -08:00
Aiden Cline 5771ec68d0 Merge pull request #627 from jerilynzheng/feat/vercel-models-update
feat: add new models from Vercel AI Gateway
2026-01-10 22:30:56 -08:00
jerilynzheng bbbe1c10dd vercel: add family field to new models
Add family field to 99 new models following existing provider patterns:
- OpenAI: gpt-5, gpt-5.1, gpt-5.2, gpt-oss, o3, text-embedding, codex
- Google: gemini-flash, gemini-pro, gemini-embedding, imagen-4
- Anthropic: claude-sonnet
- xAI: grok
- Meta: llama-3.1, llama-3.2
- Mistral: devstral-small, devstral-medium, ministral, mistral-large
- DeepSeek: deepseek-v3
- Alibaba: qwen-max, qwen-coder, qwen-embedding, qwen3-*
- Others: kimi-k2, minimax-m2.1, glm-4.x, voyage, flux, etc.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 22:18:14 -08:00
jerilynzheng e69e3fe493 vercel: add new models from Vercel AI Gateway
- Add 105+ new models from Vercel AI Gateway API
- Update pricing and limits synced from API
- Remove deprecated models (grok-2, mistral-large, etc.)
- Rename claude-4.5-sonnet -> claude-sonnet-4.5 to match API

New models include:
- GPT-5.x series (gpt-5, gpt-5.1, gpt-5.2, codex variants)
- Gemini 2.5/3.x with image generation support
- Grok 4.x series
- GLM 4.5-4.7 series
- Llama 3.x/4.x series
- DeepSeek v3.x series
- Qwen3 series
- Various embedding models (voyage, text-embedding)
- Image generation (Flux, Imagen 4.0)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 22:07:24 -08:00
David Charbonnier d467cd4a1e feat: add qwen3 coder 30b a3b instruct model to openrouter provider 2026-01-10 18:27:02 -05:00
Aiden Cline b86678775c Merge pull request #622 from shelvick/fix-opus-4.5-cache-pricing
Fix Claude Opus 4.5 cache pricing (3x too high)
2026-01-10 14:34:20 -08:00
Aiden Cline 650ece42a3 Merge pull request #625 from shelvick/fix-azure-deepseek-pricing
Fix Azure DeepSeek V3.2 pricing
2026-01-10 14:33:59 -08:00
Scott Helvick 188a869ea9 Fix Azure DeepSeek V3.2 pricing
Corrected pricing to match Azure AI Foundry rates:
- Input: $0.28 → $0.58 per 1M tokens
- Output: $0.42 → $1.68 per 1M tokens
- Removed cache_read (Azure doesn't offer prompt caching for third-party models)

Fixes #624
2026-01-10 22:04:34 +00:00
cyhhao 94310d742d Add gpt-5.2-codex model 2026-01-11 01:55:50 +08:00
Scott Helvick ab8d9dc081 Fix Claude Opus 4.5 cache pricing (3x too high)
Anthropic reduced Opus 4.5 cache pricing. Updated:
- Amazon Bedrock (regional and global)
- Azure
- Helicone (also fixed floating point precision)

cache_read: 1.50 → 0.50
cache_write: 18.75 → 6.25
2026-01-10 17:02:07 +00:00
Matt Husby 74fb94a6d1 Update all chutes models with data for the api, and fix formatting for a bunch of them. 2026-01-09 21:23:32 -05:00
Colby Gilbert 930a70dbac update firmware logo 2026-01-09 10:50:23 -08:00
Aiden Cline 0480d3cd23 Merge pull request #601 from xinrui-z/aihubmix-free-model
aihubmix: add free models
2026-01-09 09:53:21 -08:00
Aiden Cline 0a7cab6773 Merge pull request #602 from msanft/msanft/privatemode-ai
Add privatemode.ai provider
2026-01-09 09:52:40 -08:00
Colby Gilbert b232abe303 add firmware provider models 2026-01-09 09:15:58 -08:00
Alex-wuhu a50c04d060 Update minimax-m2.1.toml 2026-01-09 13:31:49 +08:00
Aiden Cline 21bd51da8f bump sst version 2026-01-08 23:20:19 -06:00
Aiden Cline 4f9aea44a6 Merge pull request #606 from qychen2001/add/siliconflow-models-2025-01-06
Add 3 new SiliconFlow models (GLM-4.7, GLM-4.6V, DeepSeek-V3.2)
2026-01-08 19:37:49 -08:00
Aiden Cline 524fd462fa Delete providers/siliconflow-cn/models/zai-org/GLM-4.7.toml 2026-01-08 21:36:53 -06:00
Aiden Cline 43d7b9b558 Delete providers/siliconflow-cn/models/zai-org/GLM-4.6V.toml 2026-01-08 21:36:38 -06:00
Aiden Cline 8ac502e533 Delete providers/siliconflow-cn/models/deepseek-ai/DeepSeek-V3.2.toml 2026-01-08 21:36:20 -06:00
opencode-agent[bot] b51d257ee2 Added 3 SiliconFlow CN models via symlinks
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2026-01-09 03:31:46 +00:00
Aiden Cline 1c23f5bb42 Merge pull request #610 from fanweixiao/dev
feat(provider): add vivgrid provider
2026-01-08 19:29:04 -08:00
Aiden Cline 9e6a1a7e18 Merge pull request #615 from friendliai/update-freindli-model-list-250108
Update the list of friendli provider models
2026-01-08 19:28:20 -08:00
Aiden Cline 457b824af9 Merge pull request #618 from dpuyosa/UpdateModel
Venice: Add cache_write pricing support and update model configurations:
2026-01-08 16:07:16 -08:00
dpuyosa 4604b25070 Add cache_write pricing support and update model configurations:
- Updated generate-venice.ts to handle cache_write
 - Updated claude-opus-45.toml with cache_write pricing
 - Removed deprecated zai-org-glm-4.6.toml model
2026-01-09 00:57:18 +01:00
Aiden Cline 3445f7f2b8 Merge pull request #616 from vglafirov/dev
feat: added GitLab Duo Agentic models
2026-01-08 15:44:32 -08:00
Vladimir Glafirov ab9f44ca5f Updated gitlab logo 2026-01-08 20:11:01 +01:00
Aaron Iker e4bf0b52e4 Merge pull request #617 from anomalyco/provider-logo-adjustments
feat: Small provider logo adjustments
2026-01-08 12:40:10 +01:00
Aaron Iker 8acc313424 fix: friendli logo size 2026-01-08 12:36:37 +01:00
Aaron Iker fe52c00b19 feat: abacus logo adjustment 2026-01-08 12:36:20 +01:00
Vladimir Glafirov ee5767efaa feat: added GitLab Duo Agentic models 2026-01-08 09:38:48 +01:00
minpeter 16389046d1 Add K EXAONE 236B A23B model configuration
The model configuration has been added to the provider's models
directory. The file includes necessary metadata such as name, family,
supported features, release date, cost, limits, and modalities.
2026-01-08 13:01:24 +09:00
minpeter 430c89cf0f Remove DeepSeek R1 0528 configuration
Deleted the provider configuration file for DeepSeek R1 0528 as it has
been deprecated or is no longer supported.
2026-01-08 13:01:19 +09:00
C.C. 1ad46ad294 fix: vivgrid logo size and color 2026-01-08 09:54:37 +08:00
Aiden Cline caf7fc09a8 Merge pull request #614 from gary149/feat/huggingface-model-updates
feat(huggingface): add 5 new models, remove 5 deprecated
2026-01-07 13:06:15 -08:00
Victor Muštar 7cf962bea9 feat(huggingface): add 5 new models, remove 5 deprecated 2026-01-07 22:00:18 +01:00
Aiden Cline 012ace7de6 Merge pull request #608 from Algowary/dev
Chutes Models Update
2026-01-07 08:54:50 -08:00
Aiden Cline 224e4c0a59 Merge pull request #611 from dpuyosa/UpdateModel
Venice: Updated GLM 4.7 model configuration
2026-01-07 08:54:04 -08:00
Aiden Cline 49afb24047 Merge pull request #613 from scwgoire/scw-devstral2
feat(scaleway): add devstral 2 123B to Scaleway catalog
2026-01-07 08:53:33 -08:00
Gregoire de Turckheim 909d0f63a1 feat(scaleway): add devstral 2 123B to Scaleway catalog 2026-01-07 16:07:12 +01:00
Alex-wuhu cc2619dd5f add LLM Provider : novita ai 2026-01-07 19:27:42 +08:00
Xinrui 38ffcec5d0 AIHubMix: Update model 2026-01-07 17:35:58 +08:00
Xinrui 788c911a40 AIHubMix: Update model 2026-01-07 17:35:37 +08:00
dpuyosa e195692307 Updated GLM 4.7 model configuration:
- Enabled reasoning capability
 - Reduced input cost from 0.85 to 0.55
 - Reduced output cost from 2.75 to 2.65
 - Increased context limit from 131_072 to 202_752
 - Increased output limit from 32_768 to 50_688
 - Added interleaved reasoning_details field
2026-01-07 09:55:11 +01:00
C.C. 003d5ea41d feat(provider): add vivgrid provider 2026-01-07 08:42:55 +08:00
Aiden Cline 33bb01c66e Merge pull request #609 from sebastiand-cerebras/adding_new_glm_47_model
feat(cerebras): add zai-glm-4.7 model
2026-01-06 16:35:34 -08:00
Seb Duerr 84366efe77 revert: remove interleaved flag
Remove the temporary interleaved field from the model schema and the Cerebras zai-glm-4.7 definition.
2026-01-06 16:22:24 -08:00
Seb Duerr a70ca6a4ce Merge branch 'dev' into adding_new_glm_47_model 2026-01-06 18:10:41 -06:00
Seb Duerr 8b0a6ce497 feat(schema): add model interleaved flag
- Add optional  field to model schema\n- Set  for Cerebras zai-glm-4.7
2026-01-06 16:08:15 -08:00
Seb Duerr 391197e8b9 feat(cerebras): add zai-glm-4.7 model
Adds a models.dev definition for Z.ai GLM 4.7 under the Cerebras provider.
2026-01-06 15:55:24 -08:00
Algowarry a52699b069 Chutes Models Update
Updated the models attributed to the Chutes.ai provider with accurate info derived from the API.
2026-01-06 14:51:33 -05:00
Burak Varlı f14775e355 Add cross-region inference profiles for Claude 4.x family models in Amazon Bedrock
Amazon Bedrock requires usage of cross-region inference for some models, especially the latest models including all Claude 4.x family.
This change creates model files for all Claude 4.x models for cross-region inference profiles for Global, US and EU.
2026-01-06 11:41:49 +00:00
Xinrui 00d7bf8b2b add model 2026-01-06 19:05:33 +08:00
QiyuanChen e150d03dc5 Add 3 new SiliconFlow models (GLM-4.7, GLM-4.6V, DeepSeek-V3.2) 2026-01-06 17:05:53 +08:00
Aiden Cline 7b984aaeec Merge pull request #605 from anomalyco/opencode/issue604-20260106043944
Made api optional for @ai-sdk/openai
2026-01-05 20:56:56 -08:00
opencode-agent[bot] 40bcce25de Made api optional for @ai-sdk/openai
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2026-01-06 04:41:52 +00:00
Moritz Sanft cded6124ac Add privatemode.ai provider 2026-01-05 11:25:08 +01:00
Xinrui b0b0dac51b aihubmix: add free models 2026-01-05 17:26:31 +08:00
Xinrui b34b1f418c aihubmix: add free models 2026-01-05 17:25:03 +08:00
Aiden Cline 840fe7fef6 Merge pull request #600 from xiaojiezj/zenmux_dev
feat: Update the model configuration file based on ZenMux’s model list
2026-01-04 23:27:39 -08:00
xiaojie.zj 8f070f49b3 fix: fix validate 2026-01-05 15:23:24 +08:00
Aiden Cline fa61b458a0 Merge pull request #599 from billycao/billy/remove-Kimi-K2-Instruct
fix: Remove Kimi-K2-Instruct for provider Synthetic
2026-01-04 22:49:06 -08:00
xiaojie.zj 6ac98b8a8f feat: Update the model configuration file based on ZenMux’s model list 2026-01-05 14:18:23 +08:00
Billy Cao b643aa45b0 Remove Kimi-K2-Instruct for provider Synthetic 2026-01-04 20:06:15 -08:00
Aiden Cline 65b43b44c1 Merge pull request #598 from ishaksebsib/feat/groq-provider
Feat: update Groq provider with latest pricing, limits, and capabilities
2026-01-04 11:16:54 -08:00
ishaksebsib 7a7fe98987 groq: update structured output capability for models that support it 2026-01-04 20:48:46 +03:00
ishaksebsib f94e0257c2 groq: update input and output cost/limit 2026-01-04 20:42:33 +03:00
ishaksebsib 0df9997e71 groq: update status for deprecated models 2026-01-04 20:41:21 +03:00
Aiden Cline d1710b2b08 Merge pull request #597 from xinrui-z/aihubmix-add-minimax-m2.1-and-glm-4.7
aihubmix: add glm-4.7 and minimax-m2.1
2026-01-03 23:15:14 -08:00
Xinrui b568ddd33d aihubmix: add glm-4.7 and minimax-m2.1 2026-01-04 14:50:47 +08:00
Aiden Cline 4b96508663 Merge pull request #595 from dpuyosa/UpdateModel
Venice: Fixed modalities for grok-code-fast-1 and minimax-m21
2026-01-02 09:56:24 -08:00
Aiden Cline 4b02644ff9 Merge pull request #486 from xinrui-z/update/aihubmix
aihubmix: add models
2026-01-02 09:55:55 -08:00
Xinrui c35f968adc aihubmix: add models 2026-01-02 21:48:49 +08:00
dpuyosa 75957fb866 Update model configurations for grok-code-fast-1 and minimax-m21:
- Set attachment to false for both models
 - Update last_updated to 2026-01-02 for both models
 - Remove image input modality from grok-code-fast-1
 - Remove image input modality from minimax-m21
 - Add interleaved reasoning_content field to minimax-m21
 - Add family field to minimax-m21
2026-01-02 02:59:42 +01:00
Aiden Cline 07da33848a Merge pull request #582 from mark182es/fix/update-chutes-models-20251229
feat: add new Chutes TEE providers and fix model configuration fields
2026-01-01 16:05:23 -08:00
Aiden Cline 5d2d213aa4 Merge pull request #592 from janspoerer/provider-abacus
Added Abacus as a provider
2026-01-01 11:57:35 -08:00
Jan Spoerer 46728af37c Transformed the Abacus logo into a matching format, color, size to the other logos 2026-01-01 20:52:26 +01:00
Jan Spoerer 8ce390ce26 Added Abacus svg 2026-01-01 20:48:26 +01:00
Aiden Cline 53a61d9e31 Merge pull request #593 from fhennerkes/dev
Poe: update 1/1/26
2026-01-01 10:46:49 -08:00
fhennerkes 4be86ce87f Merge poe-pricing-sync into dev (selective)
Added new models:
- Cerebras: gpt-oss-120b-cs, zai-glm-4.6-cs
- Google: gemini-3-flash
- Novita: glm-4.6v, glm-4.7, kat-coder-pro, minimax-m2.1
- OpenAI: gpt-image-1.5

Updated pricing and configuration:
- Google Gemini 2.5 Flash/Pro cache pricing corrections
- Google Nano Banana models pricing updates
- xAI Grok models: added image input support
2026-01-01 10:34:26 -08:00
github-actions 989e70553e chore: sync Poe pricing 2026-01-01 18:01:20 +00:00
fhennerkes 1b78419770 chore: restore Poe pricing sync automation 2026-01-01 09:59:25 -08:00
Jan Spoerer 3a7a4e9654 Added Abacus as a provider 2025-12-31 15:14:36 +01:00
Aiden Cline 7ea8fba795 Merge pull request #589 from dpuyosa/UpdateModel
Venice: Added new models Grok Code Fast 1 and Minimax M2.1
2025-12-30 14:40:21 -08:00
dpuyosa 3a61532edb Updated model configurations and added new models:
- gemini-3-flash-preview: updated last_updated and added cache_read cost
 - grok-code-fast-1: added new model configuration
 - kimi-k2-thinking: updated release_date, last_updated, and cache_read cost
 - minimax-m21: added new model configuration
2025-12-30 22:06:38 +01:00
Aiden Cline f4069f92d3 Merge pull request #588 from jerome-benoit/fix/sap-ai-core-claude-haiku-4.5
fix(sap-ai-core): rename anthropic--claude-haiku-4.5 to anthropic--cl…
2025-12-30 11:34:55 -08:00
Jérôme Benoit b9588df9ed fix(sap-ai-core): rename anthropic--claude-haiku-4.5 to anthropic--claude-4.5-haiku
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2025-12-30 20:03:13 +01:00
Aiden Cline a9aaa0f9ae Merge pull request #587 from cravenceiling/refactor/siliconflow-model-ids
refactor siliconflow model ids
2025-12-30 10:31:34 -08:00
Aiden Cline f5428a81a8 fix: some model dates 2025-12-30 12:23:25 -06:00
cravenceiling 0a55c3d1cd refactor siliconflow model ids
* Change the model file structure to use foldes for ids containing `/`
* Update the models and file structure in the `providers/siliconflow-cn` directory
2025-12-30 09:57:37 -05:00
Aiden Cline 59ce57823c Merge pull request #586 from mounta11n/patch-1
Fix typo from 4B to 8B
2025-12-29 20:03:53 -08:00
Yazan Agha-Schrader eb85004c3e Fix typo from 4B to 8B 2025-12-30 04:31:27 +01:00
Aiden Cline 53afc6aefb Merge pull request #584 from jerome-benoit/feat/sap-ai-core-claude-updates
feat(sap-ai-core): add Claude Haiku 4.5 and cache pricing for Claude …
2025-12-29 14:57:14 -08:00
Frank 54d0d65ed5 update zen models 2025-12-29 16:56:56 -05:00
Aiden Cline eaa25b5268 Merge pull request #579 from wojons/dev
Modify cost parameters in MiniMax-M2.1.toml
2025-12-29 13:17:06 -08:00
Aiden Cline 001367833d Merge pull request #583 from dpuyosa/UpdateModel
Venice: Update/fix 'release_date' for many models
2025-12-29 13:16:40 -08:00
Jérôme Benoit a24b564ee7 feat(sap-ai-core): add Claude Haiku 4.5 and cache pricing for Claude models 2025-12-29 22:01:37 +01:00
dpuyosa d5d1b36cb8 Update/fix 'release_date' for many models 2025-12-29 20:26:17 +01:00
Marco b1d82a1946 fix: add missing fields to all chutes models
Add structured_output field
2025-12-29 18:14:15 +01:00
Marco b19dceffdd feat: add new TEE providers, update context sizes and pricing
New TEE providers:
- MiniMaxAI: M2.1-TEE
- NousResearch: Hermes-4-405B-FP8-TEE
- Qwen: Qwen2.5-VL-72B-Instruct-TEE, Qwen3-235B-A22B-Instruct-2507-TEE, Qwen3-Coder-480B-A35B-Instruct-FP8-TEE
- deepseek-ai: DeepSeek-R1-0528-TEE, DeepSeek-R1-TEE, DeepSeek-V3-0324-TEE, DeepSeek-V3.1-TEE, DeepSeek-V3.1-Terminus-TEE, DeepSeek-V3.2-TEE
- moonshotai: Kimi-K2-Thinking-TEE
- openai: GPT-OSS-120B-TEE
- zai-org: GLM-4.5-TEE, GLM-4.7-TEE

Updates:
- Fixed context window sizes for multiple models
- Updated pricing for all affected providers
- Added NVIDIA Nemotron 3 Nano 30B model
2025-12-29 17:48:04 +01:00
Frank 057361ad5e update zen models 2025-12-29 10:23:30 -05:00
Aiden Cline d2939fa5ad rm perplexity deprecated model 2025-12-28 17:57:11 -06:00
Alexis Okuwa 8952013668 Add interleaved section with reasoning_content field 2025-12-28 15:09:31 -08:00
Alexis Okuwa e033fc186d Modify cost parameters in MiniMax-M2.1.toml
Updated cost parameters for input and output.
2025-12-27 18:47:30 -08:00
Aiden Cline 9250fbe2bc Merge pull request #567 from b3nw/feat/add-nano-gpt-models
Feat: Add Nano-GPT provider models
2025-12-26 22:49:12 -08:00
Ben e6ab0814e2 Feat: Add Nano-GPT provider models 2025-12-27 05:25:59 +00:00
Aiden Cline 4bd8337131 Merge pull request #574 from friendliai/feat/add-friendli-provider
fix: correct friendli model file structure for API IDs with slashes
2025-12-26 20:54:00 -08:00
Aiden Cline cb2c762dec Merge pull request #575 from otterDeveloper/fireworks-pull-2
add Firework's MiniMax-M2.1
2025-12-26 20:53:40 -08:00
Miguel Medina 8bf3ff5fca feat: add minimax 2.1
https://app.fireworks.ai/models/fireworks/minimax-m2p1
2025-12-26 22:34:05 -06:00
Miguel Medina dfb7e0087a fix: update context and pricing
obtained from https://app.fireworks.ai/models/fireworks/minimax-m2
2025-12-26 22:27:20 -06:00
minpeter 7a55ce44e7 fix: restructure friendli model files to match API IDs with slashes
- Change model file structure to use directories for IDs containing '/'
- Update generate-friendli.ts to create directory structure instead of replacing '/' with '-'
- Fixes 404 errors caused by model ID mismatch (e.g., Qwen/Qwen3-30B-A3B vs Qwen-Qwen3-30B-A3B)
2025-12-26 04:19:24 +09:00
Aiden Cline 006d0208f0 Merge pull request #558 from friendliai/feat/add-friendli-provider
Add Friendli serverless endpoints provider
2025-12-24 22:23:33 -08:00
Frank 7ac941d483 update zen mdoels 2025-12-24 14:34:23 -05:00
Aiden Cline 31ec6424b2 Merge pull request #570 from dpuyosa/UpdateModel
Venice: Update zai-org-glm-4.7
2025-12-24 09:15:49 -08:00
dpuyosa 0279094eff Update glm 4.7 data 2025-12-24 17:41:52 +01:00
Aiden Cline 889dabce96 Merge pull request #569 from b3nw/feat/update-nvidia-models
Feat/update nvidia models
2025-12-24 07:33:12 -08:00
Aiden Cline b68935b403 Merge pull request #566 from otterDeveloper/fireworks-pull-1
Add recent fireworks models
2025-12-24 07:32:55 -08:00
Aiden Cline 1ba3c3cc4a Merge pull request #568 from M16X/deepinfra-glm-4.7
Rename glm-4.7.toml to GLM-4.7.toml
2025-12-24 07:32:23 -08:00
b3nw 31feccceda Merge branch 'sst:dev' into feat/update-nvidia-models 2025-12-24 08:11:26 -06:00
Ben ea4063510f feat(nvidia): model update 2025-12-24 14:10:40 +00:00
minpeter e5c683d830 Update Friendli logo to use currentColor in SVG 2025-12-24 15:07:05 +09:00
Nazar 07bbf78e9c Rename glm-4.7.toml to GLM-4.7.toml 2025-12-24 11:32:41 +05:30
Miguel Medina bc6981debc fix: increase output token limit
16_384 seems to be the ui limit
2025-12-23 23:01:31 -06:00
Miguel Medina 4eb339327e fix: document interleaved thinking 2025-12-23 22:58:13 -06:00
Aiden Cline ef30eb2bca Merge pull request #565 from M16X/deepinfra-glm-4.7
Add GLM-4.7 for DeepInfra
2025-12-23 20:26:16 -08:00
Nazar 9aa2515fd5 deepinfra: add interleaved reasoning for glm-4.7 2025-12-24 09:45:44 +05:30
Aiden Cline 02420741cf Merge pull request #563 from dpuyosa/UpdateModel
Venice: Add cost.cache_read to kimi-k2-thinking
2025-12-23 20:11:57 -08:00
Aiden Cline df4fa098b2 Merge pull request #564 from superhighfives/cgleason/fix-cloudflare-workers-pricing
Adds missing pricing information for Workers in Cloudflare AI Gateway
2025-12-23 20:11:47 -08:00
Miguel Medina e5069994ba feat: document fireworks.ai models 2025-12-23 22:03:53 -06:00
Nazar 067df451a5 [deepinfra] glm-4.7: update knowledge cut off time 2025-12-24 08:31:27 +05:30
Nazar 3c9f132359 deepinfra: remove cache_write for glm-4.7 2025-12-24 08:29:00 +05:30
Nazar 6fd63482ae deepinfra: add docs on output limit 2025-12-24 08:24:54 +05:30
Nazar c2a81337f5 deepinfra: deprecate glm-4.5 2025-12-24 08:20:09 +05:30
Nazar 450053341e deepinfra: add glm-4.7 2025-12-24 08:12:50 +05:30
Charlie Gleason 1c4e1ec6b6 Adds missing pricing information 2025-12-23 18:20:48 -08:00
dpuyosa e4a102b68f Add cost.cache_read to kimi-k2-thinking 2025-12-24 03:15:58 +01:00
Aiden Cline 336e4583ba fix: filename 2025-12-23 18:54:03 -06:00
Frank 2abd51895b update zen models 2025-12-23 19:18:53 -05:00
Aiden Cline 3a9d8af6a5 Merge pull request #562 from dsingal0/dev
add GLM 4.7 for baseten provider
2025-12-23 15:34:45 -08:00
Dhruv Singal a66d418cfa Rename glm-4.7.toml‎ to GLM-4.7.toml‎ 2025-12-23 14:48:38 -08:00
Dhruv Singal cc6079297c add glm 4.7 2025-12-23 14:48:06 -08:00
Aiden Cline 09d5d80a8a Merge pull request #561 from KevinPoorDeveloper/dev
Add GLM 4.7 for Provider Venice.ai
2025-12-23 14:17:14 -08:00
Kevin cb4a5843c5 Add GLM 4.7 for Provider Venice.ai
New model toml
2025-12-23 13:41:02 -08:00
Aiden Cline d54bc052eb Merge pull request #560 from superhighfives/cgleason/fix-workers-model-ids
Fix Workers AI models in Cloudflare AI Gateway
2025-12-23 12:17:22 -08:00
Aiden Cline e174f5400f fix: properly set interleaved setting for glm 4.7 2025-12-23 14:09:20 -06:00
Charlie Gleason 821f350e9a Add model families 2025-12-23 10:58:08 -08:00
Aiden Cline 663b10c8b3 Merge pull request #557 from no1wudi/mini
feat: add MiniMax-M2.1 model configuration
2025-12-23 10:43:10 -08:00
Charlie Gleason f6ff799d21 Update models 2025-12-23 10:22:16 -08:00
Charlie Gleason a15c161d2d Fix Workers AI model references and model names 2025-12-23 10:18:43 -08:00
minpeter 6a97400dd7 Update reasoning and open_weights for Friendli models 2025-12-23 19:46:11 +09:00
minpeter 506ab5646c Add Friendli provider with 11 models 2025-12-23 19:17:00 +09:00
minpeter 0c4b20a7ad Refactor API key argument parsing to remove redundant null checks 2025-12-23 19:15:14 +09:00
minpeter e47641da01 Fix TypeScript type errors in generator scripts
- Fix possible undefined array access in generate-friendli.ts
- Fix undefined type assignments in generate-venice.ts
- Use safe array access with .at() and nullish coalescing operators

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-23 19:06:40 +09:00
minpeter 6d6743331c Add Friendli serverless endpoints provider
- Add provider configuration for Friendli serverless endpoints
- Implement auto-generation script (generate-friendli.ts)
- Add 11 models: Llama, Qwen, DeepSeek-R1, EXAONE, GLM
- Handle TOKEN-based pricing (4 models) and SECOND-based pricing (7 models)
- Auto-infer model families and open_weights status

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-23 19:02:25 +09:00
Huang Qi 88471de736 feat: add MiniMax-M2.1 model configuration
Add new MiniMax-M2.1 reasoning model to both global and Chinese providers
* Supports reasoning capabilities, temperature settings, and tool calls
* Includes open weights support with context limit of 196,608 tokens
* Pricing: $0.30/input and $1.20/output per million tokens
2025-12-23 14:44:41 +08:00
Aiden Cline a090e9a69a Merge pull request #556 from InduwaraSMPN/dev-copy
Adds configuration for Openrouter/MiniMax M2.1 model
2025-12-22 22:10:19 -08:00
InduwaraSMPN 63b1f5e6a9 Adds configuration for MiniMax M2.1 model
Introduces support for MiniMax M2.1 with detailed model parameters,
cost estimates, and modality specifications to enable integration and
usage with the provider ecosystem.
2025-12-23 11:37:45 +05:30
Aiden Cline 0abcb5b3cf Merge pull request #554 from dpuyosa/VeniceUpdate
Venice: Update Autogenerate Script
2025-12-22 20:49:09 -08:00
Aiden Cline f0ae336593 Merge pull request #555 from no1wudi/glm
fix: set costs to 0 for zai-coding-plan provider
2025-12-22 20:48:41 -08:00
Huang Qi f4b3e08d2a fix: set costs to 0 for zai-coding-plan provider
Updated cost configuration for GLM-4.7 model to reflect subscription-based
billing rather than token-based pricing. Since zai-coding-plan uses a
subscription model, all per-token costs should be zero.
- Changed input cost from 0.6 to 0
- Changed output cost from 2.2 to 0
- Changed cache_read cost from 0.11 to 0
2025-12-23 12:38:18 +08:00
Frank 87ccab8807 update zen models 2025-12-22 19:43:48 -05:00
dpuyosa e571d678ac Update cost.cache_read for models that support cache 2025-12-23 01:30:24 +01:00
dpuyosa d6650a05df Update generate-venice.ts to include new cache feature (cache_read cost) 2025-12-23 01:28:41 +01:00
Frank 4be4bea336 update zen models 2025-12-22 19:11:48 -05:00
Aiden Cline 840be0e2b8 Merge pull request #551 from reissbaker/glm-4.7
Add Synthetic's GLM-4.7 hosting
2025-12-22 15:54:53 -08:00
Matt Baker 484a603366 Add interleaved thinking setting 2025-12-22 15:45:40 -08:00
Frank b604eabecf update zen models 2025-12-22 18:13:41 -05:00
Frank fb4abefa68 update zen models 2025-12-22 17:49:12 -05:00
Aiden Cline e3e89e4fbf Merge pull request #552 from titouv/dev
Add OpenRouter Z.AI GLM 4.7
2025-12-22 14:33:28 -08:00
Aiden Cline e7bc32be6b fix 2025-12-22 16:31:59 -06:00
Aiden Cline e469476732 Merge pull request #553 from superhighfives/cgleason/fix-model-mapping
Fix model mapping for Cloudflare AI Gateway.
2025-12-22 14:24:35 -08:00
Charlie Gleason 0d448bf0a2 Updated Cloudflare AI Gateway models 2025-12-22 14:11:24 -08:00
Titouan V d408d60f49 openrouter glm 4.7 add interleaved reasoning_content 2025-12-22 21:54:21 +00:00
Titouan V ea0250433c feat: add openrouter z.ai glm 4.7 2025-12-22 21:32:24 +00:00
Matt Baker e22dd2f3de Add Synthetic's GLM-4.7 hosting 2025-12-22 13:27:22 -08:00
Frank 39e5930b3b update zen models 2025-12-22 12:02:12 -05:00
Aiden Cline a6093eafe6 Merge pull request #548 from no1wudi/glm
feat: add glm-4.7 model with interleaved thinking
2025-12-22 08:07:41 -08:00
Huang Qi 26778bd4cf feat: add glm-4.7 model with interleaved thinking
Add GLM-4.7 model configuration to zai, zai-coding-plan, zhipuai,
and zhipuai-coding-plan providers. The model features interleaved
reasoning capability with reasoning_content field.

* Created glm-4.7.toml in zai and zai-coding-plan providers
* Added symlinks in zhipuai and zhipuai-coding-plan providers
* Configured with same pricing and limits as glm-4.6
* Supports reasoning, tool_call, and temperature settings
2025-12-22 23:12:48 +08:00
Aiden Cline 970c13f8d7 Merge pull request #546 from dpuyosa/RemoveDeprecated
Venice: Remove deprecated model devstral-2-2512
2025-12-21 20:00:38 -08:00
Aaron Iker 4654d1f039 Merge pull request #547 from sst/visually-align-logo-weights
fix: Visually align provider logos
2025-12-21 23:14:01 +01:00
Aaron Iker b2b7f7e99a fix: align colors, subtle fills 2025-12-21 23:09:03 +01:00
Aaron Iker 9a19c74ef9 fix: remaining provider logos 2025-12-21 22:42:41 +01:00
Aaron Iker 6fafd70000 fix: reorder some provider logos 2025-12-21 22:38:00 +01:00
dpuyosa 1e64e546cc Remove deprecated model devstral-2-2512 2025-12-21 22:25:02 +01:00
Aaron Iker d35af033d0 fix: visually align provider logos 2025-12-21 22:08:18 +01:00
Aiden Cline 9264f8bead deepinfra: add minimax m2 & kimi k2 thinking 2025-12-20 23:39:17 -06:00
Aiden Cline cf2c8aecd3 Merge pull request #545 from JaviMaligno/oss-agent/issue-528-add-nvidia-nemotron-3-nano
fix: Add Nvidia Nemotron 3 Nano
2025-12-20 19:14:43 -08:00
Aiden Cline 469026c193 Delete validation_output.json 2025-12-20 17:30:42 -06:00
Javier 13f09f8b90 fix: Add Nvidia Nemotron 3 Nano (#528)
Fixes #528

---
Changes prepared with assistance from OSS-Agent
2025-12-21 00:05:05 +01:00
Aiden Cline 620c92a5ed Merge pull request #544 from dpuyosa/RemoveDeprecated
Venice: Remove deprecated model qwen3-235b
2025-12-20 12:35:39 -08:00
Aiden Cline 6b6e733a72 Revert "tweak: update ollama logo, add ollama local"
This reverts commit 8ff1ca4747.
2025-12-20 14:28:03 -06:00
Aiden Cline be1f2f9bc8 Revert "fix: validation err"
This reverts commit 91e7dac265.
2025-12-20 14:27:59 -06:00
Aiden Cline bf6f1ac1c9 Revert "fix: env"
This reverts commit 4105e28730.
2025-12-20 14:27:57 -06:00
Aiden Cline b01ccb1504 Revert "fix: handle empty dir"
This reverts commit 62ff421d08.
2025-12-20 14:27:54 -06:00
Aiden Cline b07097c62b Revert "fix: dir check"
This reverts commit 4e69c0f724.
2025-12-20 14:27:53 -06:00
Aiden Cline 4e69c0f724 fix: dir check 2025-12-20 14:01:01 -06:00
Aiden Cline 62ff421d08 fix: handle empty dir 2025-12-20 13:57:27 -06:00
dpuyosa d9f270fe31 Remove deprecated model qwen3-235b 2025-12-20 20:52:31 +01:00
Aiden Cline 4105e28730 fix: env 2025-12-20 13:03:11 -06:00
Aiden Cline 91e7dac265 fix: validation err 2025-12-20 12:42:39 -06:00
Aiden Cline 8ff1ca4747 tweak: update ollama logo, add ollama local 2025-12-20 12:40:47 -06:00
Aiden Cline 3f4d29af7b revert venice ai npm change 2025-12-20 12:07:18 -06:00
Aiden Cline 7a9c0a9591 Revert "Merge pull request #543 from sst/revert-536-VeniceUpdate"
This reverts commit 16f9f608de, reversing
changes made to 9b0ae67d59.
2025-12-20 12:06:09 -06:00
Aiden Cline 16f9f608de Merge pull request #543 from sst/revert-536-VeniceUpdate
Revert "Venice Autogenerate Script"
2025-12-20 08:50:00 -08:00
Aiden Cline 6a8adee790 Revert "Venice Autogenerate Script" 2025-12-20 10:49:49 -06:00
Frank 9b0ae67d59 update zen models 2025-12-20 02:37:04 -05:00
Frank 42275ae674 update zen model 2025-12-20 01:26:13 -05:00
Aiden Cline 1c4ec77b81 moonshot: add interleaved setting 2025-12-19 17:01:40 -06:00
Aiden Cline 94028fdbdb Merge pull request #536 from dpuyosa/VeniceUpdate
Venice Autogenerate Script
2025-12-19 14:27:50 -08:00
Aiden Cline 321a4fb35b Merge pull request #542 from ParthSareen/parth/update-ollama-deps-and-api
providers: fix ollama api url
2025-12-19 14:26:42 -08:00
Aiden Cline 4cea7b5651 Merge branch 'dev' into parth/update-ollama-deps-and-api 2025-12-19 16:26:01 -06:00
Aiden Cline 68385a4efa ci: fix validation 2025-12-19 16:25:38 -06:00
ParthSareen bf449e0a9f providers: fix ollama api url 2025-12-19 14:19:35 -08:00
Aiden Cline 5526d7f615 switch venice ai to use openrouter aisdk pkg, fix deepseek v3.2 on openrouter 2025-12-19 16:07:14 -06:00
Aiden Cline 5feaf08c52 Merge pull request #541 from ParthSareen/parth/update-ollama-deps-and-api
provider: update ollama cloud, and use openai compat
2025-12-19 12:32:58 -08:00
ParthSareen 3a6c747433 provider: update ollama cloud, and use openai compat 2025-12-19 12:29:56 -08:00
David Hill 22f0d939e3 fix: update zen logo 2025-12-19 15:06:51 +00:00
Aiden Cline 25a49727b1 Merge pull request #538 from no1wudi/dev
feat: add xiaomi provider with mimo-v2-flash model
2025-12-18 21:14:22 -08:00
Huang Qi b8d9ded7d3 feat: add xiaomi provider with mimo-v2-flash model
Integrate Xiaomi AI services into the models.dev ecosystem by adding
support for their MiMo-V2-Flash model through OpenAI-compatible API.

* Add xiaomi provider configuration with api.xiaomimimo.com endpoint
* Configure environment variable XIAOMI_API_KEY for authentication
* Add mimo-v2-flash model with 256k context window and reasoning support
* Set pricing at /usr/bin/zsh.07 input / /usr/bin/zsh.21 output per 1M tokens
* Enable tool calling and interleaved reasoning capabilities
* Configure as open weights model for transparency

This addition follows the existing provider pattern and maintains
compatibility with the OpenAI SDK through @ai-sdk/openai-compatible.
2025-12-19 12:59:59 +08:00
Aiden Cline f21fef4c5d fix: oepnrouter gemini 3 flash 2025-12-18 19:43:55 -06:00
Frank 45a6ccce32 update zen models 2025-12-18 13:36:49 -05:00
Aiden Cline 0836bb84e5 Merge pull request #537 from s-scheck/feat/add-two-free-mistral-models
add two free mistral models
2025-12-18 08:32:05 -08:00
Sinan Scheck f357887fd4 add two free mistral models 2025-12-18 17:14:44 +01:00
Aiden Cline afde8f6b81 Merge pull request #535 from davidcharbonnier/dev
Google VertexAI - Add gemini-3-flash-preview model
2025-12-18 07:42:42 -08:00
David Charbonnier 142435d232 vertex: add gemini-3-flash-preview model 2025-12-18 10:21:38 -05:00
dpuyosa f646fadeb4 Merge branch 'sst:dev' into VeniceUpdate 2025-12-18 16:21:11 +01:00
dpuyosa 07fcc36057 Update README.md 2025-12-18 16:16:23 +01:00
Aiden Cline ffbe6dc6b6 Merge pull request #533 from no1wudi/dev
feat: add Xiaomi MiMo-V2-Flash model configuration
2025-12-18 07:03:19 -08:00
dpuyosa ac1a717bf3 Update Venice models with Generate Script 2025-12-18 15:40:06 +01:00
dpuyosa 22404d19f6 Add readme 2025-12-18 15:32:32 +01:00
dpuyosa 5034aacb9b Add Venice autogenerate script.
Add Venice logo.
2025-12-18 15:16:46 +01:00
Aiden Cline d20f4c3309 Merge pull request #534 from requestyai/requesty/gemini-3-flash
requesty: gemini 3 flash
2025-12-18 05:42:10 -08:00
John Costa 2b1d1e73c4 requesty: gemini 3 flash 2025-12-18 10:31:53 +00:00
Huang Qi f30fecfdc0 feat: add Xiaomi MiMo-V2-Flash model configuration
Add new Xiaomi MiMo-V2-Flash model to Zenmux provider with complete
specification including capabilities, pricing, limits, and modalities.
* Configured reasoning and tool calling capabilities
* Set knowledge cutoff date to 2024-12-01
* Defined cost structure (input: $0.07, output: $0.21)
* Established context limits (256K input, 32K output)
* Text-only modality support
2025-12-18 16:58:49 +08:00
Aiden Cline 12eeb32b60 Merge pull request #532 from DanRioDev/patch-2
hotfix: correct Copilot Gemini 3 model naming
2025-12-17 16:57:54 -08:00
Dan (Danilo) Rio (Ribeiro) 992d354085 hotfix: correct model naming 2025-12-17 20:49:42 -03:00
Aiden Cline 22a09c2506 Merge pull request #531 from KevinPoorDeveloper/dev
Add Gemini 3 Flash Preview model configuration
2025-12-17 15:15:10 -08:00
Aiden Cline 2c973f6be7 Merge pull request #530 from DanRioDev/patch-1
Add Gemini 3 Flash to Copilot
2025-12-17 15:00:54 -08:00
Kevin 0a6e9046d7 Add Gemini 3 Flash Preview model configuration 2025-12-17 14:59:56 -08:00
Dan (Danilo) Rio (Ribeiro) f24f850e22 Update Gemini model details in TOML file 2025-12-17 19:57:08 -03:00
Aiden Cline 5ff7fad6c3 Merge pull request #529 from markusylisiurunen/fix-gemini-3-flash-preview-pricing
Fix Gemini 3 Flash Preview pricing
2025-12-17 12:39:42 -08:00
Markus Ylisiurunen cee38f160d fix OpenRouter as well 2025-12-17 22:29:08 +02:00
Markus Ylisiurunen 8cbe01b9fc use the correct Gemini 3 Flash prices 2025-12-17 22:15:41 +02:00
Aiden Cline f16290906a Merge pull request #523 from sst/opencode/issue521-20251217020621
Created siliconflow-cn provider with CN API
2025-12-17 10:06:04 -08:00
Aiden Cline 9a3789408f Merge pull request #527 from mvarrieur/add-opus-4.5
Bedrock: Add Opus 4.5
2025-12-17 09:29:39 -08:00
Michael Varrieur f5894edf77 Add new fields 2025-12-17 12:25:09 -05:00
Michael Varrieur ece7021c2c Add back Bedrock 4.5 provider 2025-12-17 12:23:09 -05:00
Aiden Cline c8c8e31920 Revert "Fixed broken symlink in vercel/cerebras"
This reverts commit df62e66cb7.
2025-12-17 10:31:12 -06:00
Aiden Cline a54e4d580c Merge pull request #525 from shkumbinhasani/add-gemini-3-flash-preview
Add Gemini 3 Flash Preview model
2025-12-17 08:19:09 -08:00
Aiden Cline ff2c7bb84a Merge pull request #526 from shkumbinhasani/add-gemini-3-flash-preview-openrouter
Add Gemini 3 Flash Preview to OpenRouter
2025-12-17 08:18:56 -08:00
shkumbinhasani 866f9673aa Add Gemini 3 Flash Preview to OpenRouter 2025-12-17 17:16:12 +01:00
shkumbinhasani ee2b9d8a30 Add Gemini 3 Flash Preview model 2025-12-17 17:12:47 +01:00
Frank 4bb140ab53 update zen models 2025-12-17 11:09:12 -05:00
opencode-agent[bot] df62e66cb7 Fixed broken symlink in vercel/cerebras
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-17 02:11:52 +00:00
opencode-agent[bot] 3a457d5c96 Created siliconflow-cn provider with CN API
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-17 02:08:23 +00:00
Charlie Gleason eb31887b3d Fix model mapping 2025-12-15 16:14:58 -08:00
Frank 14c7777ca5 update zen models 2025-12-15 15:52:34 -05:00
Aiden Cline ec7e706fcd Merge pull request #516 from fhennerkes/dev
poe: add 7 new models
2025-12-15 12:38:48 -08:00
fhennerkes c963c1ef4d Poe: remove deepseek-v3.2 2025-12-15 12:24:04 -08:00
fhennerkes 81ae5e3bab Merge branch 'sst:dev' into dev 2025-12-15 12:17:56 -08:00
Aiden Cline 29e0135d9a Merge pull request #520 from shelvick/add-azure-models-dec-2025
Add new Azure models: GPT-5.2 Chat, DeepSeek-V3.2, Kimi K2 Thinking
2025-12-15 11:59:58 -08:00
Scott Helvick 8ec1d1477c add new azure models: gpt-5.2-chat, deepseek-v3.2, deepseek-v3.2-speciale, kimi-k2-thinking
- GPT-5.2 Chat: multimodal chat model (128K context, 16K output)
- DeepSeek-V3.2: reasoning model with tool calling (128K context/output)
- DeepSeek-V3.2-Speciale: specialized variant without tool calling
- Kimi K2 Thinking: agentic reasoning model with interleaved thinking (262K context/output)

All models symlinked to Azure Cognitive Services.
2025-12-15 18:47:48 +00:00
Aiden Cline ccb453d05d add glm 4.6v 2025-12-15 10:35:39 -06:00
Aiden Cline 952d7f8990 Merge pull request #519 from helmifraser/add-bedrock-kimi-k2-thinking
Adds Kimi K2 Thinking model config to Amazon Bedrock provider
2025-12-15 08:21:38 -08:00
Aiden Cline 51fe45b82f Add interleaved option to moonshot model config 2025-12-15 10:21:06 -06:00
Helmi Fraser 31e86578d2 Adds Kimi K2 Thinking model config to Amazon Bedrock provider 2025-12-15 13:01:57 +00:00
Aiden Cline deb1a65df6 Merge pull request #501 from ASMAE20/feat/add_new_supported_model_to_cortecs
feat: add new supported models
2025-12-14 23:44:08 -08:00
ASMAE20 df0101cf2d fix: validation issue 2025-12-15 08:26:27 +01:00
ASMAE20 f84d599fd1 fix: add interleaved parameter 2025-12-15 08:08:50 +01:00
Aiden Cline 943cc7dcce Merge pull request #517 from shamil2/add-sherlock-models
Add OpenRouter Sherlock models
2025-12-14 15:55:41 -08:00
Shamil GHASEETA b270d8149b Add OpenRouter Sherlock models: Think Alpha and Dash Alpha
- Sherlock Think Alpha: Reasoning-focused model with 1.8M context
- Sherlock Dash Alpha: Speed-focused model with 1.8M context
- Both are free during alpha, multimodal, excel at tool calling
2025-12-14 23:30:16 +01:00
Adam 154d9edb53 feat: model family 2025-12-14 04:07:47 -06:00
Adam 8de746edab feat: model family 2025-12-14 03:41:22 -06:00
fhennerkes a80bec3776 poe: add 7 new models
Add new Poe models:
- gemini-deep-research (Google)
- deepseek-v3.2 (Novita)
- gpt-5.1-codex-max (OpenAI)
- gpt-5.2 (OpenAI)
- gpt-5.2-instant (OpenAI)
- gpt-5.2-pro (OpenAI)
- claude-code (Poe Tools)
2025-12-13 23:46:42 -08:00
Aiden Cline 2380542c68 Merge pull request #515 from helmifraser/update-bedrock-models
Amazon Bedrock: updates available models
2025-12-13 11:05:23 -08:00
Aiden Cline 287e00198d Merge pull request #514 from superhighfives/cloudflare-ai-gateway-updates
Update Cloudflare AI Gateway model configurations
2025-12-13 08:58:53 -08:00
Helmi Fraser d64d6cefbb Add Qwen Bedrock models: Qwen3 Next and Qwen3 VL 2025-12-13 12:09:41 +00:00
Helmi Fraser 53b4d3d6ca Add OpenAI Bedrock models: GPT OSS (20B, 120B with and without safeguard) 2025-12-13 12:06:38 +00:00
Helmi Fraser 222d9442ba Add NVIDIA Bedrock models: Nemotron Nano (9B and 12B variants) 2025-12-13 12:06:38 +00:00
Helmi Fraser 08bd1c04d0 Add Mistral AI Bedrock models: Ministral, Mistral Large, Mixtral, Voxtral 2025-12-13 12:06:38 +00:00
Helmi Fraser 820357141f Add Google Bedrock models: Gemma 3 (4B, 12B, 27B variants) 2025-12-13 12:06:38 +00:00
Helmi Fraser b47069079a Add Amazon Bedrock models: Nova 2 Lite and Titan Text Express 2025-12-13 12:06:38 +00:00
Frank 9972fed6a5 update zen model 2025-12-13 00:14:21 -05:00
Charlie Gleason b417cb6f26 Update Cloudflare AI Gateway model configurations
- Update model TOML files for anthropic, openai, replicate, and workers-ai providers
- Add new generation scripts (generate_model_names.sh, generate_model_toml.sh, utils.sh)
- Add model_names.json and API response data
- Remove duplicate/deprecated model files
- Standardize model configuration format
2025-12-12 17:06:09 -08:00
Frank f7a4d0f3c5 update zen models 2025-12-12 13:55:30 -05:00
Helmi Fraser a52d5318be Adds MiniMax M2 model config for Amazon Bedrock 2025-12-12 15:44:01 +00:00
Frank 19f27546d8 update zen models 2025-12-11 23:55:18 -05:00
Aiden Cline 6624336d0b Merge pull request #513 from ai13f/patch-7
Update GPT model version to 5.2 with new settings
2025-12-11 19:10:12 -08:00
Aiden Cline 39883b120f Merge pull request #512 from no1wudi/dev
Unify GLM model names to GLM-x.y pattern
2025-12-11 19:09:45 -08:00
ai13f 44851914d8 Update GPT model version to 5.2 with new settings 2025-12-11 22:09:20 -05:00
Huang Qi 93b50c296c Unify GLM model names to GLM-x.y pattern
- Update GLM 4.5V to GLM-4.5V in zai and zai-coding-plan providers
- Ensures consistent naming convention across GLM serial models
2025-12-12 11:02:53 +08:00
Aiden Cline 4bf5a8a71d Merge pull request #498 from riccardogiorato/dev
feat: updating together ai models with newer ones up to December 2025
2025-12-11 17:48:41 -08:00
Aiden Cline 1709d6e5b7 Add interleaved option to Kimi-K2-Thinking model 2025-12-11 19:47:18 -06:00
Aiden Cline 5db0bf3bb4 Merge pull request #510 from KevinPoorDeveloper/dev
Add GPT 5.2 for Venice.ai provider
2025-12-11 17:24:39 -08:00
Kevin 3a9778785e Merge pull request #1 from KevinPoorDeveloper/Add-GPT-5.2-for-Venice
Add configuration for OpenAI GPT-5.2 model for Venice.ai
2025-12-11 17:15:22 -08:00
Kevin 2aa6914767 Add configuration for OpenAI GPT-5.2 model for Venice.ai 2025-12-11 17:00:34 -08:00
David Hill e8fbabf47a fix: update ollama logo 2025-12-12 00:42:26 +00:00
David Hill dbbc7e3fbb fix: update zen logo 2025-12-12 00:09:49 +00:00
David Hill 9101e7f5fc fix: update zen logo 2025-12-11 23:01:16 +00:00
Aiden Cline 2fe1240277 Merge pull request #509 from Mickael-Roger/typo-in-devstal-name
There is a Typo in the paid Devstral Name on openrouter (Indicate Free)
2025-12-11 13:42:36 -08:00
MickaelRoger f80b415e45 There is a Typo in the paid Devstral Name on openrouter (It indicates Free) 2025-12-11 22:21:10 +01:00
Aiden Cline 8536e0c69b Merge pull request #508 from Mickael-Roger/add-mistral-devstral-2
Add MistralAI Devstral 2 (Free and Paid) infered on Openrouter
2025-12-11 13:15:29 -08:00
MickaelRoger bca891d82e Add MistralAI Devstral 2 (Free and Paid) infered on Openrouter 2025-12-11 21:40:16 +01:00
Aiden Cline c3bf224da9 Merge pull request #507 from Reusek/dev
Add OpenRouter GPT-5.2 models
2025-12-11 12:32:44 -08:00
Aiden Cline c773a4d651 Merge pull request #506 from AleksanderBondar/dev
Copilot - GPT 5.2
2025-12-11 12:31:46 -08:00
Albert Klinkovský ce032da6e2 Add OpenRouter GPT-5.2 models 2025-12-11 21:27:23 +01:00
Aleksander Bondar 60fdf0ea38 Copilot - GPT 5.2 2025-12-11 21:22:45 +01:00
Aiden Cline d959c9415c Merge pull request #505 from shkumbinhasani/fix-gpt-5.2-models
Fix GPT-5.2 models to match GPT-5.1 structure
2025-12-11 11:17:34 -08:00
shkumbinhasani 3705c15a39 Fix GPT-5.2 models to match GPT-5.1 structure 2025-12-11 20:15:21 +01:00
Aiden Cline 22cc1a5a27 Merge pull request #504 from shkumbinhasani/add-gpt-5.2-models
Add OpenAI GPT-5.2 model family
2025-12-11 11:12:41 -08:00
shkumbinhasani e3815e2698 Add OpenAI GPT-5.2 model family 2025-12-11 20:09:49 +01:00
Aiden Cline 3675e0654c Merge pull request #502 from s-scheck/add-two-mistral-models
feat: add mistral-small-2506 and mistral-embed
2025-12-11 07:57:47 -08:00
Aiden Cline 947e18adb8 Merge pull request #503 from matthusby/dev
Update the Chutes models from the api output
2025-12-11 07:57:29 -08:00
Matt Husby b468fca6a7 Update the Chutes models from the api output 2025-12-11 08:47:45 -05:00
Sinan Scheck 3ff33acb1b add mistral small 2506 model 2025-12-11 12:23:18 +01:00
Sinan Scheck eca4a579de add mistrals embedding model 2025-12-11 12:22:48 +01:00
ASMAE20 ec418b3d5c feat: add new supported models 2025-12-11 08:49:07 +01:00
Aiden Cline 0c66fc84a2 fix: copilot pdf 2025-12-10 23:06:36 -06:00
Riccardo Giorato 0c76289971 Update GLM-4.6.toml 2025-12-10 22:15:40 +01:00
Riccardo Giorato af87011435 Update Kimi-K2-Thinking.toml 2025-12-10 22:13:55 +01:00
Riccardo Giorato 32d4d0dce5 Update gpt-oss-120b.toml 2025-12-10 22:12:29 +01:00
Riccardo Giorato 68ec7759d4 Add new model configurations for DeepSeek-V3-1, Rnj-1-Instruct, Kimi-K2- 2025-12-10 22:08:33 +01:00
Dax Raad 2ef3dd0d2d add family to UI 2025-12-10 14:35:14 -05:00
Aiden Cline 207947d310 Merge pull request #494 from FrancoStino/patch-4
Create kimi-k2-thinking.toml
2025-12-10 11:34:46 -08:00
Dax Raad 8698310f77 add models.dev family 2025-12-10 14:29:36 -05:00
Aiden Cline b32ec1eb29 tweak openrouter deepseek v3.2 2025-12-10 13:11:02 -06:00
Aiden Cline 247c315077 tweak: baseten deepseekv3.2 2025-12-10 11:23:44 -06:00
Aiden Cline 10d232abb9 fix: deepseek 2025-12-10 11:17:09 -06:00
Davide Ladisa 38b9d89fd7 Update kimi-k2-thinking.toml 2025-12-10 17:36:27 +01:00
Aiden Cline 68309a87db Merge pull request #493 from FrancoStino/patch-3
Create devstral-2-123b-instruct-2512.toml
2025-12-10 07:13:27 -08:00
Aiden Cline 06b00f24f7 Merge pull request #495 from no1wudi/dev
feat: add GLM-4.6V model to ZAI providers
2025-12-10 07:13:08 -08:00
Aiden Cline aecf1d3e15 Merge pull request #492 from FrancoStino/patch-2
Create ministral-14b-instruct-2512.toml
2025-12-10 07:12:46 -08:00
Aiden Cline 174d0b1513 Merge pull request #496 from s-scheck/labs-devstral-small-2512
add labs-devstral-small-2512
2025-12-10 07:11:39 -08:00
Sinan Scheck db4d06b32a add labs-devstral-small-2512 2025-12-10 15:37:12 +01:00
Huang Qi 3a9c0633fe feat: add GLM-4.6V model to ZAI providers
- Add GLM-4.6V model to ZAI provider with official pricing (/usr/bin/zsh.3//usr/bin/zsh.9 per 1M tokens)
- Add GLM-4.6V model to ZAI Coding Plan provider with free pricing (0/0)
- Create symlinks for zhipuai and zhipuai-coding-plan providers
- Based on official Z.AI documentation (Dec 8, 2025)
- Features: 128K context, native tool calling, multimodal support
- Modalities: text, image, video input → text output
- Open source model with MIT license
- Add proper formatting with trailing newlines
2025-12-10 21:26:15 +08:00
Davide Ladisa 51e58ec2fc Create kimi-k2-thinking.toml 2025-12-10 11:00:40 +01:00
Davide Ladisa aeee4cd3eb Create devstral-2-123b-instruct-2512.toml 2025-12-10 10:45:57 +01:00
Davide Ladisa 80c693345d Update ministral-14b-instruct-2512.toml 2025-12-10 10:26:13 +01:00
Davide Ladisa 3a8a4eca79 Create ministral-14b-instruct-2512.toml 2025-12-10 10:24:25 +01:00
Aiden Cline f49b0f8828 openrouter gemini interleaved 2025-12-09 15:35:09 -06:00
Frank 9792d9bc0e Update interleaved field name 2025-12-09 21:22:42 +00:00
Aiden Cline 8a762009c4 name -> field 2025-12-09 15:06:58 -06:00
Aiden Cline 255960f1d1 interleaved thinking tweaks 2025-12-09 14:44:08 -06:00
Aiden Cline 8bc49fece7 Merge pull request #491 from sst/cursor/update-schema-add-interleaved-146b
Update schema add interleaved
2025-12-09 12:33:44 -08:00
Cursor Agent 8ad9873ac0 Refactor: Move interleaved to its own section
Co-authored-by: frank <frank@anomalyinnovations.com>
2025-12-09 18:56:56 +00:00
Cursor Agent 656973307d feat: Add interleaved support for Claude Sonnet and Kimi K2
Co-authored-by: frank <frank@anomalyinnovations.com>
2025-12-09 18:56:16 +00:00
Cursor Agent afcffa357f feat: Add interleaved support to model configuration
Co-authored-by: frank <frank@anomalyinnovations.com>
2025-12-09 18:50:39 +00:00
Cursor Agent 5321a3d5fd feat: Add interleaved option to Model schema
Co-authored-by: frank <frank@anomalyinnovations.com>
2025-12-09 18:49:05 +00:00
Aiden Cline 98d27c6268 Merge pull request #485 from fhennerkes/dev
Poe: price and model update 25/12/8
2025-12-09 10:19:11 -08:00
fhennerkes 6092e00b87 poe: ree-add pdf as input modality for anthropic models 2025-12-09 10:16:38 -08:00
fhennerkes b794ee9bd9 Merge branch 'sst:dev' into dev 2025-12-09 10:05:42 -08:00
Aiden Cline 597350692c Merge pull request #487 from ProlowN/dev
feat/Removed deprecated models and added new models for Venice
2025-12-09 09:52:11 -08:00
Aiden Cline f4280b9793 Merge pull request #490 from ThomsenDrake/add-devstral-2-latest
feat: add Devstral 2 model configuration
2025-12-09 09:51:48 -08:00
Drake Thomsen c9db39c5d2 feat: add Devstral 2 model configuration
Adds devstral-medium-latest.toml with the new Devstral 2 123B Instruct model
specifications including 256k context window and updated capabilities.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2025-12-09 12:42:32 -05:00
Aiden Cline 36cf6c178f Merge pull request #488 from onlylonly/dev
add GPT OSS 120B and GPT OSS 20B model configuration files for VertexAI
2025-12-09 07:52:09 -08:00
Aiden Cline 10d3a81f45 Merge pull request #489 from jerome-benoit/fix/sap-ai-core-env
fix: update env variable name for SAP AI Core provider
2025-12-09 07:49:37 -08:00
Jérôme Benoit 0be9b2ed3b fix: update env variable name for SAP AI Core provider
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2025-12-09 16:42:43 +01:00
onlylonly 9428a93e37 add GPT OSS 120B and GPT OSS 20B model configuration files for VertexAI 2025-12-09 12:43:52 +00:00
Magnus cf659278af feat/Removed deprecated models and added new models 2025-12-09 12:46:49 +01:00
Xinrui a6b28915fe aihubmix: add models claude-opus-4.5, gpt-5.1-codex-max, coding-glm-4.6-free 2025-12-09 19:18:08 +08:00
fhennerkes 4cbcd96c1f Merge poe-pricing-sync into dev (selective)
Includes:
- Unify openai folder naming (openAi -> openai) - 35 files
- Update pricing for existing Poe models (Anthropic, Google, xAI, OpenAI)
- Add 4 new Poe models with tool support:
  - claude-opus-4.5
  - nano-banana-pro
  - kimi-k2-thinking
  - grok-4.1-fast-reasoning

66 files changed, 125 insertions(+), 93 deletions(-)
2025-12-08 21:19:49 -08:00
fhennerkes 285778e4f7 poe: add pricing sync script and update 12/8 2025-12-08 21:06:36 -08:00
fhennerkes 93a614b748 poe: unify openai folder naming 2025-12-08 21:06:36 -08:00
fhennerkes 94dd76937a Merge branch 'sst:dev' into poe-pricing-sync 2025-12-08 19:18:18 -08:00
Aiden Cline cda8c3087b Merge pull request #484 from dogmatic69/azure/gpt-5.1-codex-max
add azure gpt-5.1-codex-max model
2025-12-08 14:03:25 -08:00
Carl Sutton (dogmatic69) 12eb654e40 add azure gpt-5.1-codex-max model 2025-12-08 22:47:43 +01:00
Aiden Cline 6f58b8baac Merge pull request #325 from H2Shami/helicone-models
add helicone models + helicone model generation script
2025-12-08 13:17:03 -08:00
Hammad Shami 2388b6d188 update helicone svg + add more helicone models 2025-12-08 13:04:21 -08:00
Aiden Cline 644cf45916 Merge pull request #483 from djmaze/update_mistral_large
Update mistral-large for 2512 and separate model versions
2025-12-08 08:32:37 -08:00
djmaze 5d50a962ff Update mistral-large for 2512 and separate model versions 2025-12-08 16:43:06 +01:00
Aiden Cline 0c37a91efc Merge pull request #480 from crankycoder/vng/deepseek-3.2
add deepseek/Deepseek 3.2
2025-12-07 20:30:03 -08:00
Victor Ng 5b8cb39265 add deepseek/Deepseek 3.2 2025-12-07 23:27:47 -05:00
Aiden Cline d7a539e5ea fix: anthropic models so they properly list pdf as valid modality 2025-12-07 22:08:14 -06:00
Aiden Cline 28caae468e Merge pull request #478 from elithrar/cf-aig-naming
fix: cloudflare-ai-gateway naming
2025-12-07 14:56:46 -08:00
Matt Silverlock fbe0ea0088 cloudflare: fix model gen 2025-12-07 16:54:53 -05:00
Matt Silverlock d2b7ba3957 cloudflare: update models 2025-12-07 16:29:38 -05:00
Matt Silverlock 474273e07d cloudflare: update models 2025-12-07 16:00:58 -05:00
Matt Silverlock 92bbedc98c --amend 2025-12-07 15:37:51 -05:00
Matt Silverlock 84e5977791 cloudflare: fix @cf -> workers-ai/ model naming + update provider.toml 2025-12-07 15:37:41 -05:00
Aiden Cline cb75588156 Merge pull request #475 from georgeglarson/add-claude-opus-4-5
Add Claude Opus 4.5 model to Venice provider (claude-opus-45)
2025-12-06 11:09:39 -08:00
Aiden Cline 214db72999 Merge pull request #476 from elithrar/cloudflare-ai-gateway
add provider: Cloudflare AI Gateway
2025-12-06 11:02:51 -08:00
george larson fc96c36f78 Remove unsupported beta field 2025-12-06 19:02:37 +00:00
Matt Silverlock 9b0a01d0ea fix: use ai-gateway-provider npm pkg 2025-12-06 12:55:58 -05:00
Matt Silverlock e86098c536 add provider: Cloudflare AI Gateway 2025-12-06 12:49:51 -05:00
george larson e63f152a63 Add Claude Opus 4.5 model as claude-opus-45.toml 2025-12-06 12:16:27 +00:00
george larson c7a8e153c9 Rename model file to match Venice API naming convention 2025-12-06 12:16:26 +00:00
george larson 8792dd616b Update knowledge cutoff to 2025-03 2025-12-06 12:08:32 +00:00
george larson f94eecdc22 Update providers/venice/models/claude-opus-4-5.toml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-05 21:17:52 -05:00
george larson 5ee1a42976 Add Claude Opus 4.5 model to Venice provider 2025-12-05 23:52:18 +00:00
Aiden Cline 17fc6274bd Merge pull request #474 from nicolasgere/dev
Add baseten deepseek 3.2
2025-12-05 12:40:00 -08:00
Nicolas Gere-lamaysouette 5b4bc2b49b add baseten deepseek 3.2 2025-12-05 12:05:40 -08:00
Aiden Cline 496d7cf3c7 Merge pull request #396 from sst/opencode/issue395-20251118055255
Added GPT-5 Pro to Azure Cognitive Services
2025-12-05 09:18:45 -08:00
Aiden Cline b36a5d14a7 Merge pull request #473 from FrancoStino/patch-1
Create mistral-large-3-675b-instruct-2512.toml
2025-12-05 09:12:10 -08:00
Davide Ladisa 07beb4bc47 Update mistral-large-3-675b-instruct-2512.toml 2025-12-05 18:06:48 +01:00
Davide Ladisa be0749a120 Update mistral-large-3-675b-instruct-2512.toml 2025-12-05 18:05:17 +01:00
Aiden Cline ad66a95921 Merge pull request #472 from AleksanderBondar/dev
Copilot - GPT 5.1 Codex Max
2025-12-05 08:52:10 -08:00
Davide Ladisa c0c8477742 Create mistral-large-3-675b-instruct-2512.toml 2025-12-05 17:46:26 +01:00
Frank 2015955f8c fix codex model output modalities 2025-12-05 09:08:36 -05:00
Frank a30bb0a8c1 Update zen models 2025-12-05 09:06:30 -05:00
Aleksander Bondar 95c0cf00a3 Copilot - GPT 5.1 Codex Max 2025-12-05 11:14:15 +01:00
Aiden Cline a9963d76a8 Merge pull request #471 from teeverc/openai-5.1-codex-make
feat(openai): add OpenAI 5.1 Codex Max
2025-12-04 19:47:48 -08:00
teeverc 51af74ccb4 Fix OpenAI GPT-5.1 Codex Max display name 2025-12-04 19:25:52 -08:00
teeverc 098fd5a7c8 Add OpenAI GPT-5.1-Codex-Max model 2025-12-04 19:22:50 -08:00
Aiden Cline ab11eb9675 Merge pull request #470 from jerome-benoit/feat/add-sap-ai-core-provider
feat: add SAP AI Core provider models
2025-12-04 18:13:01 -08:00
Jérôme Benoit 609623c5fc fix: address valid review comments
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2025-12-05 01:57:08 +01:00
Jérôme Benoit f4942b8147 refactor: remove deprecated SAP AI Core models
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2025-12-05 01:49:35 +01:00
Jérôme Benoit c91f50d974 Revert "fix: mismerge SAP AI Core models"
This reverts commit ee18b6096d.
2025-12-05 01:48:40 +01:00
Jérôme Benoit ee18b6096d fix: mismerge SAP AI Core models
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2025-12-05 01:44:39 +01:00
Jérôme Benoit f26b68b8a8 feat: add SAP AI Core provider models
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2025-12-05 01:44:39 +01:00
Aiden Cline 876cd26ee8 Merge pull request #469 from Cyber-Ice/dev
Added hf:deepseek-ai/DeepSeek-V3.2 to synthetic
2025-12-04 12:59:32 -08:00
Aiden Cline 6b30a0be14 kill agentrouter 2025-12-04 14:55:11 -06:00
Cyber-Ice 5c09ced055 Create DS-V3.2 for synthetic 2025-12-04 20:48:13 +00:00
Aiden Cline 632739e71a Merge pull request #468 from ProlowN/dev
Added Grok 4.1 Fast to Venice
2025-12-04 09:52:10 -08:00
Magnus 234b0feaf4 Merge branch 'dev' of https://github.com/prolowN/models.dev into dev 2025-12-04 13:16:11 +01:00
Magnus 4bc2362b9e feat/Added Grok 4.1 Fast to Venice 2025-12-04 13:16:03 +01:00
Aiden Cline 4a0805d71e Merge pull request #467 from snadeau123/feat/add-deepseek-v3.2-speciale
feat: add DeepSeek V3.2 Speciale model
2025-12-03 14:31:16 -08:00
Sebastien Nadeau 8f01616d74 feat: add DeepSeek V3.2 Speciale model 2025-12-03 17:18:46 -05:00
Aiden Cline 51c376c666 Merge pull request #466 from jerome-benoit/feat/add-sap-ai-core-provider
feat: Add SAP AI Core provider
2025-12-03 13:51:11 -08:00
Jérôme Benoit ee22cc4888 fix: add missing last_updated and open_weights fields to SAP AI Core models 2025-12-03 22:43:18 +01:00
Jérôme Benoit a7fc4aba20 Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-03 22:08:09 +01:00
Jérôme Benoit 804a89b62f Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-03 22:07:21 +01:00
OpenCode Bot 54dec2f61b feat: add SAP AI Core provider
Add SAP AI Core provider with support for:
- GPT-4o
- Claude 3.5 Sonnet
- Gemini 1.5 Pro

SAP AI Core provides access to 40+ models from OpenAI, Anthropic, Google,
Amazon, Meta, Mistral, and AI21 through a unified platform.

Provider uses @mymediset/sap-ai-provider npm package and authenticates
via SAP_AI_SERVICE_KEY environment variable (SAP BTP service key JSON).
2025-12-03 21:56:32 +01:00
Aiden Cline d24dc115fc fix: ollama cloud model name 2025-12-03 14:44:53 -06:00
Aiden Cline 2b0f0ccc42 Merge pull request #465 from InduwaraSMPN/dev
Add DeepSeek-V3.2 and Kimi-K2-Thinking model configurations to the iflowcn provider
2025-12-03 08:26:36 -08:00
InduwaraSMPN 1bb65943e8 Refactor model names for consistency in DeepSeek-V3, Kimi-K2, and MiniMax-M2 configurations 2025-12-03 21:35:01 +05:30
InduwaraSMPN a8bde6c08c Add DeepSeek-V3.2 and Kimi-K2-Thinking model configurations to the iflowcn provider 2025-12-03 21:28:56 +05:30
Aiden Cline 364914c501 Merge pull request #464 from ProlowN/dev
Add Venice models: Gemini 3 Pro Preview and Kimi K2 Thinking
2025-12-03 07:37:21 -08:00
Magnus b42b72b6d5 Add Venice models: Gemini 3 Pro Preview and Kimi K2 Thinking 2025-12-03 13:36:16 +01:00
Aiden Cline 0bc8f23411 Merge pull request #462 from briansakal/dev
add openrouter/deepseek-v3.2
2025-12-02 21:01:42 -08:00
Aiden Cline adcea4c7f9 Merge pull request #463 from matthusby/dev
Update Chutes models based on the api output.
2025-12-02 20:57:32 -08:00
Matt Husby 92e85a7e14 Update Chutes models based on the api output. 2025-12-02 20:28:39 -05:00
Brian Sakal e7b215e8be add openrouter/deepseek-v3.2 2025-12-02 19:51:10 -05:00
Aiden Cline f2419e88bf Merge pull request #460 from ghostdevv/update-cf-models
chore: update cloudflare workers ai models
2025-12-02 11:50:04 -08:00
Aiden Cline 7f7bd5af92 Merge pull request #461 from ghostdevv/update-docs-schema-status
docs: fix schema status info
2025-12-02 11:43:25 -08:00
Willow (GHOST) c035249f96 docs: fix schema status info 2025-12-02 19:24:22 +00:00
Willow (GHOST) e180854216 chore: update cloudflare workers ai models 2025-12-02 19:20:00 +00:00
Aiden Cline dd10de3aa8 Merge pull request #458 from EasyDevv/edit
feat: add DeepSeek-V3.2 models and update Kimi-K2-Thinking pricing
2025-12-02 09:21:52 -08:00
Aiden Cline 8bd2b3595f Merge pull request #459 from briansunter/add-kimi-for-coding-provider
Add Kimi For Coding provider
2025-12-01 23:38:42 -08:00
Brian Sunter 87fc6287b3 Add Kimi For Coding provider
- Add kimi-for-coding provider with Kimi K2 Thinking model
- Uses @ai-sdk/anthropic with custom API endpoint
- 262K context, 32K output, supports reasoning/tool_call/structured_output
2025-12-01 20:26:09 -10:00
EasyDev 39c74282af Merge branch 'dev' into edit 2025-12-02 10:52:04 +09:00
easydev 654fb92653 feat: update Kimi-K2-Thinking pricing and add DeepSeek-V3.2 models
- Update Kimi-K2-Thinking costs
- Add DeepSeek-V3.2 and DeepSeek-V3.2-Speciale models to chutes provider
2025-12-02 10:17:37 +09:00
Aiden Cline 7241e658bb Merge pull request #457 from shelvick/fix-azure-tool-call-settings
fix tool_call settings for azure deepseek-r1-0528 and mai-ds-r1
2025-12-01 14:21:04 -08:00
Scott Helvick f84f37a508 fix tool_call settings for azure deepseek-r1-0528 and mai-ds-r1
- Enable tool_call for deepseek-r1-0528 (supports function calling)
- Disable tool_call for mai-ds-r1 (does not support function calling)
2025-12-01 22:13:33 +00:00
Aiden Cline fc67863d7a Merge pull request #454 from shelvick/add-azure-llama-models
Add Meta Llama models to Azure and Azure Cognitive Services
2025-11-29 19:04:29 -08:00
Aiden Cline 0d5e78e407 Merge pull request #455 from shelvick/add-azure-microsoft-models
Add Microsoft Phi and MAI models to Azure providers
2025-11-29 19:04:14 -08:00
Aiden Cline 303f668568 Merge pull request #456 from shelvick/add-azure-mistral-models
add mistral models to azure and azure cognitive services
2025-11-29 16:01:01 -08:00
Aiden Cline ac8b56ab57 Merge pull request #449 from shelvick/add-azure-embedding-models-and-router
Add embedding models and model-router to Azure providers
2025-11-29 15:59:48 -08:00
Scott Helvick 70e6b9c506 add mistral models to azure and azure cognitive services
Add 6 Mistral models to Azure and Azure Cognitive Services providers:
- Mistral Nemo
- Mistral Small 3.1 (mistral-small-2503)
- Mistral Medium 3 (mistral-medium-2505)
- Mistral Large 24.11 (mistral-large-2411)
- Ministral 3B
- Codestral 25.01

Azure Cognitive Services files are symlinks to Azure equivalents.
2025-11-29 23:08:42 +00:00
Scott Helvick 4dd70ef24a add microsoft phi and mai models to azure providers
Add 15 Microsoft models to Azure and Azure Cognitive Services:
- Phi-4 series: Phi-4, Phi-4-mini, Phi-4-multimodal, Phi-4-reasoning,
  Phi-4-mini-reasoning, Phi-4-reasoning-plus
- Phi-3.5 series: Phi-3.5-mini-instruct, Phi-3.5-MoE-instruct
- Phi-3 series: mini/small/medium variants (4k/8k/128k context)
- MAI-DS-R1 (Microsoft's DeepSeek R1 distillation)

Pricing from Azure AI Foundry. Tool calling only enabled for
Phi-4-mini, Phi-4-mini-reasoning, and MAI-DS-R1 (officially supported).
Reasoning mode only for Phi-4-reasoning variants and MAI-DS-R1.
2025-11-29 22:24:12 +00:00
Scott Helvick 8f9b00fbae add Meta Llama models to Azure and Azure Cognitive Services
Adds 10 Meta Llama models to Azure with Azure-specific pricing:
- Llama 4 Maverick 17B 128E Instruct FP8
- Llama 4 Scout 17B 16E Instruct
- Llama 3.3 70B Instruct
- Llama 3.2 90B Vision Instruct
- Llama 3.2 11B Vision Instruct
- Meta Llama 3.1 405B Instruct
- Meta Llama 3.1 70B Instruct
- Meta Llama 3.1 8B Instruct
- Meta Llama 3 70B Instruct
- Meta Llama 3 8B Instruct

Azure Cognitive Services models are symlinked to Azure equivalents.
2025-11-29 21:46:17 +00:00
Aiden Cline 372190649d Merge pull request #451 from shelvick/add-azure-cohere-models
add Cohere models to Azure providers
2025-11-29 13:22:30 -08:00
Aiden Cline 6ee919b10a Merge pull request #452 from shelvick/fix-deepseek-symlinks
convert ACS DeepSeek files to symlinks
2025-11-29 13:22:17 -08:00
Aiden Cline ce3adc2062 Merge pull request #453 from shelvick/add-azure-xai-models
add xAI Grok models to Azure providers
2025-11-29 13:22:01 -08:00
Scott Helvick 983e390391 add xAI Grok models to Azure providers
Adds 6 xAI Grok models to Azure and Azure Cognitive Services:
- grok-3
- grok-3-mini
- grok-4
- grok-4-fast-reasoning
- grok-4-fast-non-reasoning
- grok-code-fast-1
2025-11-29 21:04:45 +00:00
Scott Helvick 56c5af723c convert ACS DeepSeek files to symlinks 2025-11-29 20:50:25 +00:00
Scott Helvick cd63d80bb8 convert ACS embedding/router files to symlinks 2025-11-29 20:49:26 +00:00
Scott Helvick b36c116166 add Cohere models to Azure providers
Command models:
- Command A
- Command R (08-2024)
- Command R+ (08-2024)

Embed models:
- Embed v3 English
- Embed v3 Multilingual
- Embed v4 (multimodal)
2025-11-29 20:47:49 +00:00
Scott Helvick 78b299bc77 add model-router pricing ($0.14/1M input tokens) 2025-11-29 20:42:40 +00:00
Aiden Cline c3e0370e99 Merge pull request #450 from shelvick/add-azure-deepseek-models
add DeepSeek models to Azure providers
2025-11-29 12:14:19 -08:00
Scott Helvick 0a27b3ee73 add DeepSeek models to Azure providers
Adds 4 DeepSeek models to both Azure and Azure Cognitive Services:
- DeepSeek-R1
- DeepSeek-R1-0528
- DeepSeek-V3-0324
- DeepSeek-V3.1
2025-11-29 20:02:41 +00:00
Scott Helvick d6a4db8bf1 add embedding models and model-router to azure providers 2025-11-29 19:30:08 +00:00
Aiden Cline 826a781aa9 add claude opus 4.5 to google vertex 2025-11-29 11:29:01 -06:00
Aiden Cline 1bd182a227 Merge pull request #448 from yug49/add-io-intelligence-provider
fix: resolve "Bad Request" issue when using IO.NET provider
2025-11-29 09:24:55 -08:00
yug49 a4bdad02d5 refactor: rename provider folder from io-intelligence to io-net 2025-11-29 21:09:46 +05:30
Yug Agarwal 5fe017495f Merge branch 'sst:dev' into add-io-intelligence-provider 2025-11-29 20:21:01 +05:30
yug49 8966ec1760 fix: resolve 'bad request' error when using IO.NET models 2025-11-29 20:18:27 +05:30
Aiden Cline f4a4b89d52 Merge pull request #444 from InduwaraSMPN/dev
fix(models): correct model name in gpt-5 configuration
2025-11-28 13:40:02 -08:00
Aiden Cline 9311540505 Merge pull request #446 from no1wudi/dev
feat: add minimax-cn provider with China region endpoints
2025-11-28 08:20:46 -08:00
Huang Qi a056753dfe style: make MiniMax logos square with centered content
Update logo dimensions from 35x28 to 35x35 for both MiniMax and
MiniMax-cn providers to create square logos with centered original content.

Changes:
- Changed width="35" height="28" to width="35" height="35"
- Updated viewBox from "0 0 35 28" to "0 0 35 35"
- Wrapped path in <g transform="translate(0, 3.5)> to vertically center content

This ensures visual consistency across provider logos while maintaining
the original logo appearance within the new square dimensions.
2025-11-29 00:04:24 +08:00
Huang Qi b6ed422e36 chore: fix MiniMax capitalization consistency
Correct the capitalization of Minimax to MiniMax across all provider and model configuration files to maintain consistent branding.

* Updated provider.toml files for both minimax and minimax-cn
* Updated MiniMax-M2 model configuration files
* Updated synthetic model reference for hf:MiniMaxAI/MiniMax-M2
2025-11-28 18:32:41 +08:00
Huang Qi 49b4d5f489 feat: add minimax-cn provider with China region endpoints
Create new minimax-cn provider supporting Chinese region with
updated API and documentation URLs, following naming convention
for -cn providers.

Changes:
- Created provider directory structure
- Updated API URL: api.minimaxi.com (vs api.minimax.io)
- Updated docs URL: platform.minimaxi.com (vs platform.minimax.io)
- Set provider name: 'Minimax (China)' (matches -cn convention)
- Linked existing MiniMax-M2 model to avoid duplication
- Copied provider logo for consistency

Files added:
- providers/minimax-cn/provider.toml
- providers/minimax-cn/logo.svg
- providers/minimax-cn/models/MiniMax-M2.toml (symbolic link)

This enables Chinese region access while maintaining
configuration consistency with the main minimax provider.
2025-11-28 18:14:42 +08:00
Jay V 48358b91b7 Update TogetherAI logo to use currentColor for dynamic theming 2025-11-27 19:45:54 -05:00
Jay V 772b9a19b5 Update IO Intelligence logo to use currentColor for dynamic theming 2025-11-27 19:44:25 -05:00
Jay V f0de2acb12 Update Cohere logo to use currentColor for dynamic theming 2025-11-27 19:43:48 -05:00
Frank 911de6a5be update zen models 2025-11-27 09:58:30 -05:00
Frank efbe043093 Merge pull request #443 from mdrxy/mdrxy/add-opus-4.5-alias
Add missing Opus 4.5 ID entry
2025-11-27 09:26:46 -05:00
InduwaraSMPN 9c49209afc fix(models): correct model name in gpt-5 configuration 2025-11-27 14:01:20 +05:30
Mason Daugherty 876ff875af Add missing Opus 4.5 alias entry 2025-11-27 00:21:32 -05:00
Aiden Cline 37254145ef Merge pull request #441 from InduwaraSMPN/dev
feat(providers): add agentrouter provider files and model configs
2025-11-26 20:43:43 -08:00
InduwaraSMPN fa52c7c431 style: add trailing newline to agentrouter logo and model config files 2025-11-27 09:10:21 +05:30
InduwaraSMPN 4f701f3ba5 feat(providers): add agentrouter provider files and model configs 2025-11-27 09:07:15 +05:30
Aiden Cline f24a719ec7 Merge pull request #432 from yug49/add-io-intelligence-provider
Add IO Intelligence (io.net) provider with 17 models
2025-11-26 16:38:55 -08:00
Aiden Cline 3671b16d97 Change logo.svg fill color to currentColor 2025-11-26 18:38:00 -06:00
Frank 3634c492f5 update zen models 2025-11-26 14:01:52 -05:00
Aiden Cline 03aa3bdfee Merge pull request #440 from markjaquith/fix/remove-non-global-bedrock-opus-4.5--PR
fix: remove non-global prefixed amazon-bedrock opus 4.5 model
2025-11-26 09:26:22 -08:00
Mark Jaquith 50db5cc1c4 fix: remove non-global prefixed amazon-bedrock opus 4.5 model
Opus 4.5 is currently ONLY available via global inference and requires
the global prefix.

https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html
2025-11-26 12:17:28 -05:00
Aiden Cline aa43b2a47b Merge pull request #436 from codegrandpa/dev
add Bailing in provider options
2025-11-26 08:48:21 -08:00
Aiden Cline 6ff4f5de06 Merge pull request #437 from requestyai/feat/requesty-models
requesty: opus 4.5 + gemini 3
2025-11-26 08:00:25 -08:00
Aiden Cline 654b0bfc07 Merge pull request #438 from gapeleon/dev
fix: correct input types for qwen3-omni-30b-a3b-captioner
2025-11-26 07:59:30 -08:00
Aiden Cline c9867f10b9 Merge pull request #439 from badlogic/fix-claude-opus-4-5-cache-pricing
Fix Claude Opus 4.5 cache pricing
2025-11-26 07:57:56 -08:00
Mario Zechner b195943be1 Fix Claude Opus 4.5 cache pricing
The cache pricing was 3x too high:
- cache_read should be sh.50/MTok (was .50/MTok)
- cache_write should be .25/MTok (was 8.75/MTok)

Source: https://www.anthropic.com/pricing#anthropic-api
2025-11-26 16:32:26 +01:00
Gapeleon 5544c44b3e fix: correct input types for qwen3-omni-30b-a3b-captioner
The model was listed as accepting audio+text inputs
But actually supports audio-only.
Updated the model configuration to reflect the correct input types.
2025-11-26 23:09:43 +11:00
谨谕 7234fb989f update logo 2025-11-26 17:58:45 +08:00
John Costa f43c1aefe1 requesty: opus 4.5 + gemini 3 2025-11-26 08:19:51 +00:00
Aiden Cline e9e3edb880 Merge pull request #435 from guillaumeboehm/feat/openrouter_opus_4.5
Add openrouter Opus 4.5
2025-11-25 23:10:48 -08:00
谨谕 eb565e4b48 Merge remote-tracking branch 'origin/dev' into dev 2025-11-26 15:03:23 +08:00
谨谕 78de69502e change logo 2025-11-26 15:03:10 +08:00
Guillaume BOEHM 7c4a238877 feat: Add openrouter Opus 4.5 2025-11-26 07:57:19 +01:00
codegrandpa 323b1635cb Merge branch 'sst:dev' into dev 2025-11-26 14:42:47 +08:00
谨谕 b626d5c7cf Merge remote-tracking branch 'origin/dev' into dev 2025-11-26 14:38:25 +08:00
谨谕 ab41c7dcf0 add log 2025-11-26 14:28:51 +08:00
Aiden Cline 038850ae84 Merge pull request #434 from crankycoder/add-qwen3-coder-flash
feat: Add Qwen3 Coder Flash model to OpenRouter provider
2025-11-25 20:07:51 -08:00
codegrandpa 35541e89e3 Merge branch 'sst:dev' into dev 2025-11-26 10:39:06 +08:00
谨谕 e596f72954 Add new provider: bailing 2025-11-26 10:32:57 +08:00
yug49 edbd13d4dc Update IO.NET logo 2025-11-26 07:31:14 +05:30
Aiden Cline e7d02c0b1e Merge pull request #433 from cevr/dev
Global Amazon Bedrock Opus 4.5
2025-11-25 17:21:02 -08:00
yug49 d8223a85a1 Add IO Intelligence provider with 17 models
- Add OpenAI-compatible provider configuration
- Include 17 production-ready AI models:
  * 3 reasoning models (DeepSeek R1, Kimi K2 Thinking, Qwen 3 235B)
  * 4 vision models (Llama 3.2 90B, Llama 4 Maverick, Qwen 2.5 VL, Mistral Large)
  * Flagship model: Llama 4 Maverick with 430K context window
  * Specialized coding models: Qwen 3 Coder 480B, Devstral Small
- All models include complete pricing, context limits, and capabilities
- Verified against live API endpoint
- Includes cache pricing for prompt caching support
2025-11-26 05:38:37 +05:30
Aiden Cline 1d4e501333 Merge pull request #429 from InduwaraSMPN/dev
Add siliconflow provider
2025-11-25 14:08:22 -08:00
InduwaraSMPN 1c47dbd2a4 refactor(svg): update SiliconFlow logo to use viewBox and currentColor 2025-11-25 23:20:14 +05:30
Aiden Cline 09ac80dc03 Merge pull request #430 from wantpinow/add-opus-4.5-vercel
Add Claude 4.5 Opus to Vercel provider
2025-11-25 09:02:41 -08:00
cevr 6ffbcc19ec fix 2025-11-25 11:54:38 -05:00
cevr a050c466df add global 2025-11-25 08:06:10 -05:00
Patrick Frenett 8969051007 feat: add opus to vercel 2025-11-25 10:51:03 +00:00
InduwaraSMPN 851c76579d Add Qwen/Qwen2.5-72B-Instruct model configuration 2025-11-25 14:12:14 +05:30
InduwaraSMPN c15acd175d Add siliconflow provider assets (logo + models)
Add model configuration files for multiple models (e.g., BAIDU ERNIE-4.5-300B-A47B, DeepSeek R1 Distill Qwen 14B/32B, ByteDance Seed-OSS 36B, Tencent Hunyuan A13B/MT-7B, stepfun-ai/step3) with metadata (release dates, cost, limits, modalities) and the provider logo.svg asset.
2025-11-25 14:00:45 +05:30
Frank 3d2e4cebc3 update zen models 2025-11-24 23:18:29 -05:00
Aiden Cline 7ad32ff36a Merge pull request #428 from kavhnr/fix/anthropic-opus-latest-flag
fix(anthropic): add (latest) flag and correct last_updated for Opus 4.5
2025-11-24 15:50:10 -08:00
kavhnr a1a807ebf2 fix(anthropic): corrected the name and last_updated fields in the claude-opus-4-5.toml file 2025-11-24 16:44:46 -07:00
Frank 3af5ce08ae add input token limit 2025-11-24 18:29:34 -05:00
Aiden Cline 4866af45db Merge pull request #427 from cau1k/feat/azure-opus-4-5
Add Claude Opus 4.5 to Azure providers
2025-11-24 15:14:52 -08:00
cau1k 202c2c32fc Add Claude Opus 4.5 to Azure providers 2025-11-24 18:12:50 -05:00
Aiden Cline 923f032621 Merge pull request #426 from djmaze/patch-3
Correct output cost for kimi-k2-thinking on Fireworks.ai
2025-11-24 14:48:49 -08:00
Martin Honermeyer 6b1ec0d344 Correct output cost for kimi-k2-thinking on Fireworks.ai
It has been corrected on their info page: https://app.fireworks.ai/models/fireworks/kimi-k2-thinking
2025-11-24 23:47:29 +01:00
Aiden Cline cbaccdc0d0 Merge pull request #425 from markjaquith/feat/amazon-bedrock/opus-4.5--PR
add claude opus 4.5 to amazon bedrock provider
2025-11-24 14:26:08 -08:00
Mark Jaquith 1ea18acbda add claude opus 4.5 to amazon bedrock provider 2025-11-24 17:14:09 -05:00
Aiden Cline 2c1689b2ab use openrouter sdk for the models that need it 2025-11-24 15:50:31 -06:00
Aiden Cline 5e4933ea4a fix: copilot opus 4.5 2025-11-24 15:22:36 -06:00
Frank 87e4f0506a Update zen models 2025-11-24 15:23:55 -05:00
Aiden Cline f68ad8e452 Merge pull request #424 from shkumbinhasani/add-opus-4-5-copilot
Add Claude Opus 4.5 to GitHub Copilot provider
2025-11-24 12:15:38 -08:00
opencode-agent[bot] ed685fb812 Updated limits: 128k context, 16k output
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-24 20:04:03 +00:00
shkumbinhasani dfcd8d9b6e add claude-opus-4-5 to github-copilot provider 2025-11-24 20:42:33 +01:00
Aiden Cline 5e41716f12 add opus 4.5 2025-11-24 13:15:58 -06:00
fhennerkes d84c0950ad poe: update 11/24/25 2025-11-24 11:07:39 -08:00
fhennerkes b40004d3e5 Merge branch 'sst:dev' into poe-pricing-sync 2025-11-24 10:36:58 -08:00
Frank 06c3d9ff71 update zen models 2025-11-24 11:58:16 -05:00
Victor Ng 6c4c957945 feat: Add Qwen3 Coder Flash model to OpenRouter provider 2025-11-24 08:36:21 -05:00
Aiden Cline d845c921e9 Merge pull request #423 from sebastiand-cerebras/cerebras-models-update-251123
chore: remove deprecated qwen-3-coder-480b model
2025-11-23 18:00:50 -08:00
Seb Duerr 073001d5b7 remove deprecated qwen-3-coder-480b model 2025-11-23 16:55:01 -08:00
Frank c8162a6f67 update zen models 2025-11-23 17:50:07 -05:00
Aiden Cline b4120dacfd Merge pull request #422 from fifthfrankie/update-ollama-cloud
fix: update ollama-cloud model naming convention with cloud suffix
2025-11-23 14:19:17 -08:00
Frankie Seabrook 99791a4cae Update ollama-cloud model naming convention with cloud suffix 2025-11-23 22:06:17 +00:00
Aiden Cline b461476ca3 Merge pull request #421 from djmaze/patch-2
Add kimi-k2-thinking model to Fireworks.ai provider
2025-11-23 12:59:27 -08:00
djmaze edd46d7718 Add kimi-k2-thinking model to Fireworks.ai provider
Source: https://app.fireworks.ai/models/fireworks/kimi-k2-thinking
2025-11-23 21:56:27 +01:00
Aiden Cline 66ef0ed411 Merge pull request #420 from fifthfrankie/fix-invalid-dates
fix: correct invalid dates
2025-11-23 12:22:38 -08:00
Frankie Seabrook 409556596b fix: correct invalid dates 2025-11-23 20:15:15 +00:00
Aiden Cline a5354243e6 Merge pull request #419 from fifthfrankie/add-ollama-cloud
Add ollama-cloud provider
2025-11-22 09:04:45 -08:00
Frankie Seabrook b3c3eeed66 Add remaining Ollama Cloud models 2025-11-22 14:48:40 +00:00
Frankie Seabrook 2b86b91c85 Add ollama-cloud provider with GPT-OSS, Qwen3 Coder, and Qwen-VL models 2025-11-22 14:24:52 +00:00
github-actions 38088350d0 chore: sync Poe pricing 2025-11-22 02:59:48 +00:00
Aiden Cline d8af587642 Merge pull request #418 from yharaskrik/jaybell/fix-command-a-reasoning-toml-file-name
fix(cohere): remove space missed in file name
2025-11-21 16:21:16 -08:00
jaybell 107258833a fix(cohere): remove space missed in file name 2025-11-21 16:20:13 -08:00
Aiden Cline 32184a0b3e Merge pull request #415 from yharaskrik/jaybell/fix-output-tokens-for-cohere-command-a
fix(cohere): switch output tokens for a and a reasoning
2025-11-21 16:14:54 -08:00
jaybell 94802d0abf fix(cohere): switch output tokens for a and a reasoning 2025-11-21 16:12:25 -08:00
Frank 9729e841b1 Update zen models 2025-11-21 15:49:24 -05:00
Aiden Cline 178c0dd5f3 Merge pull request #414 from yharaskrik/jaybell/add-cohere-models
feat(cohere): add cohere models
2025-11-21 12:27:09 -08:00
jaybell f0d721e83d fix: strip colors of cohere svg 2025-11-21 11:55:19 -08:00
jaybell 87b695b30c feat(cohere): add cohere models 2025-11-21 11:34:09 -08:00
Aiden Cline 416ca63afd Merge pull request #410 from cau1k/fix/foundry-ai-sdk-anthropic
Fixes Azure/Azure Cognitive Services to use @ai-sdk/anthropic
2025-11-21 11:03:32 -08:00
Aiden Cline b69d548c3c Merge pull request #413 from DanielSLew/add-gpt-oss-safeguard-20b
feat: add OpenRouter GPT OSS Safeguard 20B model
2025-11-21 08:22:16 -08:00
Daniel Lew 9d7c0401a4 feat: add OpenRouter GPT OSS Safeguard 20B model
Add support for OpenAI's GPT OSS Safeguard 20B model via OpenRouter. This is a safety reasoning model optimized for content classification, LLM filtering, and trust & safety labeling tasks.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 10:52:26 -05:00
Aiden Cline 184cb483a0 Merge pull request #412 from ariane-emory/chore/bury-sherlock
chore: remove dead 'Sherlock'cloaked OR models
2025-11-20 21:43:02 -08:00
Ariane Emory c0cc5635b6 chore: the cloaked models Sherlock Dash Alpha and Sherlock Think Alpha models on OpenRouter are no longer available, remove them. 2025-11-21 00:12:30 -05:00
Aiden Cline 9fbba7ab27 Merge pull request #411 from InduwaraSMPN/dev
Fix release and last updated dates in GLM-4.6.toml
2025-11-20 19:18:24 -08:00
github-actions 660a648755 chore: sync Poe pricing 2025-11-21 03:06:33 +00:00
S.M. Pasindu Nadun Induwara 1c32fc3cc4 Fix release and last updated dates in GLM-4.6.toml 2025-11-21 08:20:29 +05:30
cau1k 1acf083ef5 fix: @ai-sdk/anthropic 2025-11-20 19:21:29 -05:00
Aiden Cline 69526507d8 Revert "tweak: make zai-coding plan use anthropic endpoint"
This reverts commit f41d957b75.
2025-11-20 14:17:56 -06:00
Aiden Cline 3a6da3e379 Revert "fix: typo"
This reverts commit 400c7b1f03.
2025-11-20 14:17:54 -06:00
Aiden Cline 400c7b1f03 fix: typo 2025-11-20 13:49:08 -06:00
Aiden Cline f41d957b75 tweak: make zai-coding plan use anthropic endpoint 2025-11-20 13:46:49 -06:00
Aiden Cline 0ca213481f Merge pull request #374 from fhennerkes/dev
Add Poe.com as provider
2025-11-20 11:01:10 -08:00
Aiden Cline bb9cb8ff78 fix: hiphen xai models 2025-11-20 10:05:25 -06:00
github-actions 243736847c chore: sync Poe pricing 2025-11-20 03:05:25 +00:00
Aiden Cline 5389818cb7 Merge pull request #409 from cau1k/fix/azure-anthropic
Fixes @anthropic-ai/foundry-sdk providers for azure claude models
2025-11-19 18:19:55 -08:00
fhennerkes f99734c4a0 Poe: remove models without tool support 2025-11-19 18:11:39 -08:00
fhennerkes e76beef925 Merge poe-pricing-sync into dev 2025-11-19 18:08:58 -08:00
fhennerkes ca9770f550 Merge branch 'sst:dev' into dev 2025-11-19 18:04:42 -08:00
fhennerkes 0a6a797332 Merge branch 'sst:dev' into poe-pricing-sync 2025-11-19 18:04:23 -08:00
cau1k 8f6f2847f3 fix: add @anthropic-ai/foundry-sdk providers to azure claude models 2025-11-19 20:54:11 -05:00
Frank 6b7f85410f Update Zen models 2025-11-19 20:46:01 -05:00
Aiden Cline de0b10f9e8 Merge pull request #408 from shariqriazz/add-xai-grok-4.1-fast-models
Add grok-4.1-fast models to xAI provider
2025-11-19 17:32:27 -08:00
Shariq Riaz 166622d802 Add grok-4.1-fast models to xAI provider 2025-11-20 06:29:17 +05:00
Aiden Cline 2228b82414 Merge pull request #407 from shariqriazz/add-grok-4.1-fast-model
Add grok-4.1-fast model
2025-11-19 17:25:31 -08:00
Shariq Riaz 6a3977b808 Add grok-4.1-fast model - Free for 2 weeks then prices apply 2025-11-20 06:21:32 +05:00
Aiden Cline 0c74df28c1 Merge pull request #406 from ariane-emory/chore/remove-dead-or-models
chore: remove dead cloaked models from the OpenRouter provider.
2025-11-19 16:55:41 -08:00
Ariane Emory ce7986f7f5 tidy: save Opencode users some unnecessary keystrokes by removing the obsolete cloaked models from the OpenRouter provider to so that its section of the list doesn't become a graveyard of dead models. 2025-11-19 19:42:07 -05:00
fhennerkes 388d06110a Merge branch 'sst:dev' into poe-pricing-sync 2025-11-19 16:38:44 -08:00
fhennerkes 7b951012a6 poe: sonic 3, Gemini 3, qwen3 2025-11-19 16:38:09 -08:00
Aiden Cline 3c5c66b366 Merge pull request #405 from cau1k/feat/azure-cs-anthropic-support
adds claude models to azure and azure cognitive services
2025-11-19 14:23:25 -08:00
cau1k 357fa48559 feat: add claude models to azure and symlinks to azure cognitive services 2025-11-19 16:57:51 -05:00
Aiden Cline 8c316ca33e Merge pull request #403 from wantpinow/add-gemini-3-pro-preview
Add Google Gemini 3 Pro Preview model to Vercel provider
2025-11-19 09:32:27 -08:00
Patrick Frenett d0c998e4b9 Add Google Gemini 3 Pro Preview model to Vercel provider 2025-11-19 17:22:00 +00:00
Aiden Cline 7412c88501 Merge pull request #401 from akakenle/add-aihubmix-provider
Updated the aihubmix provider model, added Gemini 3 and GPT 5.1
2025-11-19 07:38:05 -08:00
Aiden Cline fe8fcaf53a Merge pull request #402 from Atomzwieback/add-openrouter-gemini-3-pro-preview
Add Google Gemini 3 Pro Preview for OpenRouter
2025-11-19 07:36:31 -08:00
Atomzwieback 1d2a99a313 Add Google Gemini 3 Pro Preview for OpenRouter
Add google/gemini-3-pro-preview model to OpenRouter provider with specifications:
- Input: $2/M tokens, Output: $12/M tokens
- Context window: 1,050,000 tokens
- Max output: 66,000 tokens
- Supports reasoning, tool calling, and multimodal inputs (text, image, audio, video, pdf)
- Knowledge cutoff: January 2025
- Released: November 18, 2025
2025-11-19 15:46:36 +01:00
akakenle 4a055a8bbf Create gemini-3-pro-preview.toml 2025-11-19 17:27:35 +08:00
akakenle 2702bab5a7 add new model Gemini3、gpt5.1 2025-11-19 17:27:28 +08:00
github-actions 2b85c75b3b chore: sync Poe pricing 2025-11-19 03:07:25 +00:00
Frank 3de62ded10 update zen models 2025-11-18 14:45:09 -05:00
Aiden Cline 217070ed90 fix: copilot gemini 2025-11-18 13:42:50 -06:00
Frank e7c089158d Update zen models 2025-11-18 14:42:29 -05:00
Aiden Cline 15ed8c0b1a Merge pull request #400 from iljod/dev
Add Gemini 3 Pro Preview to GitHub Copilot provider
2025-11-18 10:43:05 -08:00
iljod 8e1c4db1a5 Add Gemini 3 Pro Preview model for copilot 2025-11-18 19:27:21 +01:00
ai13f e2e6876174 Add gemini 3 pro preview (#399) 2025-11-18 12:19:35 -05:00
Aiden Cline e8d76a1018 Merge pull request #398 from TylerBarnes/add-gemini-3-pro-preview
Add Gemini 3 Pro Preview model
2025-11-18 08:59:37 -08:00
Tyler Barnes 8754585b75 Merge origin/dev into add-gemini-3-pro-preview
Resolved conflict in gemini-3-pro-preview.toml by keeping our more accurate version:
- Correct release date: 2025-11-18 (not 2025-01-01)
- Correct context window: 1M tokens (not 200k)
- Correct output limit: 64k tokens (not 65.5k)
- Includes context_over_200k pricing tier from official docs
2025-11-18 08:47:14 -08:00
Tyler Barnes 0c449f8f96 Add Gemini 3 Pro Preview model
- Model ID: gemini-3-pro-preview
- 1M token context window, 64k output
- Native multimodal support (text, image, video, audio, pdf)
- Reasoning capabilities with thinking levels
- Pricing: $2/$12 per 1M tokens (<=200k), $4/$18 (>200k)
- Knowledge cutoff: January 2025
2025-11-18 08:37:03 -08:00
Dax Raad 1ffae7c905 add: Gemini 3 Pro Preview model from Google 2025-11-18 11:33:03 -05:00
opencode-agent[bot] 5f101d1644 Added GPT-5 Pro to Azure Cognitive Services
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-18 05:54:49 +00:00
Aiden Cline 0cb3e3498b fix: minimax api 2025-11-17 10:32:45 -06:00
Aiden Cline b99f043b71 Merge pull request #394 from mlazuardy/update-deepseek
Update DeepSeek model costs and last_updated
2025-11-17 08:05:41 -08:00
mlazuardy 0a345c9fd7 Update DeepSeek model costs and last_updated 2025-11-17 22:53:39 +07:00
Aiden Cline 38e6bd10e0 update minimax 2025-11-17 01:15:59 -06:00
Aiden Cline 6300eccf7d Merge pull request #393 from PanAchy/feature/add-azure-cognitive-services-support
add support for azure cognitive services provider
2025-11-16 19:52:15 -08:00
github-actions 698acde9d8 chore: sync Poe pricing 2025-11-17 03:11:30 +00:00
Youssef Achy 5fc6a44227 added azure cognitive services with symlinks to azure models to minimize maintenance 2025-11-16 20:57:38 -06:00
Aiden Cline 812f6c4af7 Merge pull request #392 from teeverc/5.1-family
feat(openai): add 5.1 family
2025-11-16 18:24:14 -08:00
teeverc 596bc43e89 feat: add 5.1 family 2025-11-16 17:38:07 -08:00
Aiden Cline bf930b2424 fix 2025-11-16 00:34:58 -06:00
Aiden Cline c9d0bcc1f7 Merge pull request #390 from kcrommett/dev
Adding Sherlock Alpha models for Openrouter
2025-11-15 21:41:12 -08:00
Kyle Crommett bf3c9cc5ee Merge branch 'dev' of github.com:kcrommett/models.dev into dev 2025-11-15 21:28:01 -08:00
Kyle Crommett e1e3f813bb Adding Sherlock Alpha modesl for Openrouter 2025-11-15 21:27:37 -08:00
Aiden Cline c922eedcc5 fix: copilot limits 2025-11-15 20:39:20 -06:00
Aiden Cline 5c5ffa75de Merge pull request #389 from Mickael-Roger/update-openrouter-minimax-m2
Update the minimax M2 model for openrouter
2025-11-15 10:51:42 -08:00
MickaelRoger ba7845cd52 Update the minimax M2 model for openrouter: Remove Minimax M2 Free that no longer exists and add the priced Minimax M2 2025-11-15 16:23:11 +01:00
github-actions 995fa74d56 chore: sync Poe pricing 2025-11-15 03:02:22 +00:00
Jay 4f499c750b Modify logo.svg to use currentColor for fills
Updated logo.svg to change fill colors to 'currentColor'.
2025-11-14 19:05:23 -05:00
Frank c6c2107fa4 experimental tiered cost structure 2025-11-14 18:47:57 -05:00
Aiden Cline 5493d62012 Merge pull request #388 from thebongy/add-azure-gpt-5.1-models
Add Azure OpenAI GPT-5.1 series models
2025-11-14 12:44:35 -08:00
Rishit Bansal 92a4c21765 Add Azure OpenAI GPT-5.1 series models
Added cost data and model configurations for the GPT-5.1 series announced on November 14, 2025:

- GPT-5.1: Adaptive reasoning model with multimodal support
- GPT-5.1 Chat: Interactive chat with chain-of-thought
- GPT-5.1 Codex: Advanced coding with enhanced tool handling
- GPT-5.1 Codex Mini: Compact, cost-effective coding variant

Pricing based on Standard Global deployment tier from Azure AI Foundry announcement.
2025-11-15 02:08:45 +05:30
Aiden Cline fe4fbb9e1c Merge pull request #387 from eliasto/add-ovhcloud-reasoning-models
Add OVHcloud AI Endpoints reasoning models
2025-11-14 12:32:21 -08:00
Elias TOURNEUX 3b52def3fc Add OVHcloud AI Endpoints reasoning models 2025-11-14 15:28:25 -05:00
fhennerkes e9d0e35f28 Poe: update GPT-5.1 models 2025-11-14 10:17:20 -08:00
Aiden Cline 619dbe3b4c Merge pull request #372 from wojons/dev
Adding Minimax as a provodier with the M2 model
2025-11-14 09:55:50 -08:00
Aiden Cline 0b195f495a Merge pull request #386 from seaweeduk/add-openrouter-gpt-5.1-models
Add GPT 5.1 models to openrouter provider
2025-11-14 07:36:01 -08:00
seaweeduk 0c1f109a24 Fix pricing for gpt-5.1-codex-mini 2025-11-14 14:25:52 +00:00
Aiden Cline d70936ad17 Merge pull request #385 from xiaojiezj/zenmux_dev
add: add new models to ZenMux provider
2025-11-14 04:44:23 -08:00
seaweeduk 756a859e7e Add OpenRouter GPT-5.1 models (gpt-5.1, gpt-5.1-chat, gpt-5.1-codex, gpt-5.1-codex-mini) 2025-11-14 11:30:27 +00:00
xiaojie.zj 93c1e74e4c add: add new models to ZenMux provider 2025-11-14 16:05:25 +08:00
Frank b2e5463e04 Update zen models 2025-11-14 01:00:16 -05:00
Frank 5203a00e16 update zen models 2025-11-13 23:48:06 -05:00
github-actions dde87d62e2 chore: sync Poe pricing 2025-11-14 03:08:36 +00:00
Aiden Cline 83a038148a Merge pull request #384 from AleksanderBondar/dev
Add GPT 5.1-Codex and GPT 5.1-Codex-mini to github-copilot
2025-11-13 16:08:46 -08:00
Aleksander Bondar ebfd29c368 Add GPT 5.1-Codex and GPT 5.1-Codex-mini to github-copilot 2025-11-14 00:01:57 +01:00
Aiden Cline 9876997dc1 Merge pull request #383 from AleksanderBondar/dev
Add GPT 5.1 for github-copilot
2025-11-13 14:52:48 -08:00
Aleksander Bondar 51e4890bfc Add GPT 5.1 for github-copilot 2025-11-13 23:50:31 +01:00
Aiden Cline 484adb805e Merge pull request #381 from matthusby/dev
Kimi K2 pricing update for chutes
2025-11-13 14:33:58 -08:00
Matt Husby 6edc462966 Kimi K2 pricing update for chutes 2025-11-13 17:21:35 -05:00
Aiden Cline 9b4c1cbf0f update deprecated groq models 2025-11-13 16:00:27 -06:00
Aiden Cline 715e45d2cc Merge pull request #380 from monotykamary/add-gpt-5.1
feat(openai): add gpt-5.1 model
2025-11-13 13:52:47 -08:00
Tom X Nguyen 88a5722dfa feat(openai): add gpt-5.1 model 2025-11-14 04:12:17 +07:00
Aiden Cline 94c28944c8 Merge pull request #379 from redzrush101/add-minimax-m2-and-enable-glm-reasoning
Add MiniMax M2 model and enable reasoning for GLM-4.6
2025-11-13 10:03:24 -08:00
yassin d8add53e7a Add MiniMax M2 model and enable reasoning for GLM-4.6 2025-11-13 18:54:43 +01:00
fhennerkes 8c2bbb7338 Merge branch 'sst:dev' into poe-pricing-sync 2025-11-13 09:49:02 -08:00
Aiden Cline d97dcdb2e5 Merge pull request #378 from requestyai/feat/requesty-models
requesty: adding new models and fixing names of previous ones
2025-11-13 09:19:17 -08:00
John Costa 36c7bd261e feat: adding new models 2025-11-13 17:07:40 +00:00
John Costa e98e716fc7 fix: correcting model names 2025-11-13 17:01:35 +00:00
Frank 7c298c3ae3 update zen model 2025-11-13 11:22:18 -05:00
Aiden Cline 2fbe983cb0 Merge pull request #377 from eliasto/add-ovhcloud-ai-endpoints-provider
Update of OVHcloud AI Endpoints prices
2025-11-13 07:36:25 -08:00
Elias TOURNEUX 8b98367b8b Update of OVHcloud AI Endpoints prices 2025-11-13 09:34:53 -05:00
Aiden Cline a3875fb69d Merge pull request #376 from sst/opencode/issue375-20251113055408
Updated GitHub Copilot model limits
2025-11-12 22:02:25 -08:00
opencode-agent[bot] 638e7f7809 Updated GitHub Copilot model limits
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-13 05:56:15 +00:00
fhennerkes 6be5cd4bfd Update poe/novita/qwen3-max-n.toml 2025-11-12 19:47:59 -08:00
github-actions 1041784528 chore: sync Poe pricing 2025-11-13 03:10:16 +00:00
Alexis Okuwa 402f517655 Refine API validation logic in schema.ts
Refactor API validation logic for OpenAI and Anthropic compatibility.
2025-11-12 16:53:14 -08:00
Alexis Okuwa c5d5eabcbb Refactor Provider validation logic for clarity 2025-11-12 16:39:33 -08:00
fhennerkes a70972d8ab Merge branch 'sst:dev' into dev 2025-11-12 11:37:56 -08:00
fhennerkes 627562d5d2 remove update script 2025-11-12 11:24:11 -08:00
fhennerkes 7ab18a4a7b Merge branch 'poe-pricing-sync' into dev 2025-11-12 11:22:04 -08:00
fhennerkes 6a36627e84 Merge branch 'sst:dev' into poe-pricing-sync 2025-11-12 11:19:30 -08:00
fhennerkes 9c25701d6f add context_length to update script and add missing new lines 2025-11-12 11:16:00 -08:00
Aiden Cline 29d0799fab Merge pull request #373 from eliasto/add-ovhcloud-ai-endpoints-provider
Add OVHcloud AI Endpoints provider
2025-11-12 10:53:03 -08:00
Elias TOURNEUX 6623724f21 Add OVHcloud AI Endpoints provider 2025-11-12 13:36:04 -05:00
Alexis Okuwa f6bc9bfbef Update schema validation for API field requirements 2025-11-12 09:08:06 -08:00
Aiden Cline 8aac965baf update perplexity npm pacjage 2025-11-12 10:34:24 -06:00
Alexis Okuwa fe41132d75 Change npm package from openai-compatible to anthropic 2025-11-11 21:05:09 -08:00
Alexis Okuwa 968657ad28 Merge branch 'sst:dev' into dev 2025-11-11 21:03:38 -08:00
Alexis Okuwa 79dd151b3d Rename minimax-m2.toml to MiniMax-M2.toml 2025-11-11 21:01:03 -08:00
Alexis Okuwa 69c3bbc841 Add logo.svg for minimax provider 2025-11-11 21:00:06 -08:00
Alexis Okuwa 6b70c368c9 Add files via upload 2025-11-11 20:56:59 -08:00
Alexis Okuwa b323fa280b Add Minimax-M2 model configuration 2025-11-11 20:56:14 -08:00
Alexis Okuwa f089d775bf Update output limit in MiniMax-M2 configuration 2025-11-11 20:32:41 -08:00
Aiden Cline 7da99658b0 add gh copilot raptor mini 2025-11-11 22:20:42 -06:00
Aiden Cline cd6e6079db mark copilot sonnet 3.5 as deprecated 2025-11-11 21:57:25 -06:00
Aiden Cline abc01d0d6e Merge pull request #370 from teeverc/baseten-kimi-k2-thinking
Add Kimi K2 Thinking for Baseten Provider
2025-11-11 19:22:39 -08:00
teeverc 0b8ac4035d fix knowledge date 2025-11-11 18:49:53 -08:00
teeverc f5133c98f1 Add Baseten Kimi K2 Thinking model 2025-11-11 18:42:47 -08:00
Alexis Okuwa 511a95c128 Merge branch 'sst:dev' into dev 2025-11-11 18:25:24 -08:00
Alexis Okuwa 6c67cd105c Create minimax-m2.toml 2025-11-11 10:53:08 -08:00
Alexis Okuwa 2fa751911a Add Minimax provider configuration file 2025-11-11 10:52:46 -08:00
Aiden Cline 4de4665f66 Merge pull request #368 from DanRioDev/kwaipilot-kat-coder-pro-free
Add Kwaipilot Kat Coder Pro (free) model from OpenRouter provider
2025-11-11 09:04:21 -08:00
Aiden Cline 2273498a2d Merge pull request #367 from nicognaW/update-vercel-minimax-m2-cost
Update vercel minimax m2 cost
2025-11-11 08:20:09 -08:00
Dan Rio 70e920cc8c Add Kwaipilot Kat Coder Pro (free) model to OpenRouter provider
- Added kwaipilot/kat-coder-pro:free model configuration
- 256K context window, optimized for agentic coding tasks
- 73.4% SWE-Bench Verified performance
- Free tier model with $0 input/output costs
- Tool-call and temperature parameter support enabled
2025-11-11 12:30:47 -03:00
nk 0c6638c0d5 Update vercel minimax m2 cost 2025-11-11 16:36:11 +08:00
Frank 418b4abe5e update zen models 2025-11-11 02:11:39 -05:00
fhennerkes b9da6b5053 add more models, update script 2025-11-10 15:53:28 -08:00
fhennerkes 82e0d996a9 Merge branch 'sst:dev' into poe-pricing-sync 2025-11-10 15:51:10 -08:00
Frank 93d2ef6614 Merge pull request #366 from ccurme/cc/structured_output
feat: add structured_output
2025-11-10 14:57:53 -05:00
Frank f169acedcf render in web 2025-11-10 14:57:08 -05:00
Frank 8bfcbaf1ed sync 2025-11-10 14:50:23 -05:00
Chester Curme 80e7846fb0 update google 2025-11-10 14:30:33 -05:00
Chester Curme c4f212deea update openai 2025-11-10 14:30:16 -05:00
Chester Curme 029c9a694d update schema 2025-11-10 14:29:53 -05:00
Aiden Cline 1b4486ad75 fix: missing costs 2025-11-10 00:49:05 -06:00
Aiden Cline bda672f541 Merge pull request #364 from alexanderbakin/dev
add OpenAI models for Deep Infra
2025-11-09 10:56:57 -08:00
Alexander Bakin 2128831a4a add OpenAI models for Deep Infra 2025-11-09 21:48:14 +03:00
Aiden Cline 5b73efb39a Merge pull request #361 from wojons/dev
bad file name forgot .toml
2025-11-08 14:08:55 -08:00
Alexis Okuwa ff5ff83de7 bad file name forgot .toml 2025-11-08 17:05:33 -05:00
Aiden Cline 205b2fc0eb Merge pull request #351 from matthusby/dev
update the chutes models per what the api is saying.
2025-11-08 11:50:52 -08:00
Aiden Cline 67b47aecaf Merge pull request #360 from spmurrayzzz/fix/qwen3-coder-baseten
fix(providers): use correct baseten qwen3 coder prefix
2025-11-08 11:34:39 -08:00
Stephen Murray dbee0a670b fix(providers): use correct baseten qwen3 coder alias 2025-11-08 14:24:24 -05:00
Matt Husby add928643c Update models from the chutes api with context formatted correctly 2025-11-08 14:23:39 -05:00
Aiden Cline 15ed408968 Merge pull request #359 from wojons/patch-8
add kimi-k2-thinking for synthetic proivder
2025-11-08 10:42:14 -08:00
Alexis Okuwa 3542942557 add kimi-k2-thinking for synthetic proivder 2025-11-07 22:53:12 -08:00
fhennerkes 2d0c2c0d1d Merge branch 'sst:dev' into dev 2025-11-07 09:57:09 -08:00
Aiden Cline d563290c51 Merge pull request #357 from Arindam200/update
feat: update Nebius provider to Token Factory endpoints
2025-11-07 07:07:28 -08:00
Arindam Majumder ff08f1fac9 Merge branch 'sst:dev' into update 2025-11-07 13:01:50 +05:30
Arindam200 400d090acd feat: update Nebius provider to Token Factory endpoints
- Changed provider name from "Nebius AI Studio" to "Nebius Token Factory"
- Updated API and documentation URLs to tokenfactory.nebius.com domain
2025-11-07 13:00:29 +05:30
fhennerkes 8fb299c3a4 Merge prices from poe-pricing-sync 2025-11-06 18:08:46 -08:00
github-actions 425778ef96 chore: sync Poe pricing 2025-11-07 01:57:58 +00:00
fhennerkes a711cda19e Testing price update for GPT-5 2025-11-06 17:57:37 -08:00
fhennerkes f1d8766771 Update naming and pricing update script 2025-11-06 16:55:26 -08:00
fhennerkes 19108aae85 False price change to test workflow 2025-11-06 16:16:24 -08:00
fhennerkes 77ed552ba0 Merge branch 'sst:dev' into poe-pricing-sync 2025-11-06 15:59:01 -08:00
fhennerkes 157f5b500f Add automated price update for Poe 2025-11-06 15:55:57 -08:00
fhennerkes 45f2315cc1 Merge branch 'sst:dev' into dev 2025-11-06 15:49:44 -08:00
fhennerkes 560b4d19f3 add initial models (xai, openai, anthropic, google) 2025-11-06 15:48:13 -08:00
fhennerkes 9e13c58ee8 update provider Poe 2025-11-06 12:29:38 -08:00
Frank db75a6d97e add openrouter/polaris-alpha model 2025-11-06 15:14:22 -05:00
fhennerkes 3f73018e90 add provider: Poe 2025-11-06 11:58:38 -08:00
Aiden Cline 03d92b07d3 Merge pull request #356 from shariqriazz/add-kimi-k2-thinking-models
Add Kimi K2 thinking models
2025-11-06 08:41:44 -08:00
Shariq Riaz 0804a75fd9 Add Kimi K2 thinking models to Moonshot AI and OpenRouter
- Add kimi-k2-thinking and kimi-k2-thinking-turbo to moonshotai provider
- Add moonshotai/kimi-k2-thinking to openrouter provider
- All models marked as reasoning=true for thinking capabilities
- Set open_weights=true to match other Kimi K2 models
- Context window: 256K (262,144 tokens)
- Max output: 256K (262,144 tokens)
- Knowledge cutoff: 2024-08
- Cache read: $0.15/M tokens for all models
- Pricing: k2-thinking ($0.60 input, $2.50 output), k2-thinking-turbo ($1.15 input, $8 output)
- Released November 6, 2025
2025-11-06 21:33:40 +05:00
Frank 234ba091f2 update zen model 2025-11-04 17:51:08 -05:00
Aiden Cline e208f35ba5 Merge pull request #352 from ProlowN/venice/zai-org-glm-4.6
Added new glm4.6 model to venice
2025-11-04 09:38:21 -06:00
Aiden Cline d4062d94ab Merge pull request #353 from ProlowN/venice/update-limit-format
chore/updated the limit format for venice models
2025-11-04 09:36:53 -06:00
Aiden Cline 60f6a3e8f2 Merge pull request #354 from nicognaW/dev
Add MiniMax M2 model to vercel
2025-11-04 09:35:23 -06:00
nk 2d0aa23319 Add MiniMax M2 model to vercel 2025-11-04 21:04:17 +08:00
Magnus f22aecb8c8 fix/Updated glm4.6 to use new limit format 2025-11-04 12:35:03 +01:00
Magnus b7a75e1103 chore/updated the limit format 2025-11-04 12:31:24 +01:00
Magnus 62079d181e Added new glm4.6 model to venice 2025-11-04 11:23:32 +01:00
Frank 0e56ea3cca update zen model 2025-11-03 17:39:44 -05:00
Frank 23c7d0b05f update zen models 2025-11-03 15:03:29 -05:00
Aiden Cline 6f0071fbb3 Merge pull request #348 from wojons/dev
Updating Nvidia provider with qwen and nemotron
2025-11-03 10:46:37 -06:00
Frank 3eb1731be6 Update zen models 2025-11-03 11:19:48 -05:00
Aiden Cline 9a05e46d15 Merge pull request #349 from wojons/patch-7
Add configuration for nvidia-nemotron-nano-9b-v2
2025-11-02 18:03:41 -06:00
Alexis Okuwa b60dac5222 Add configuration for nvidia-nemotron-nano-9b-v2 2025-11-02 15:47:12 -08:00
Alexis Okuwa c8b274a187 Enable reasoning and open weights in Qwen model 2025-11-02 15:42:38 -08:00
Alexis Okuwa 554a9f8b2e Update Qwen model configuration settings 2025-11-02 15:41:51 -08:00
Alexis Okuwa da18b361d5 Update NVIDIA Nemotron Nano 9B model details 2025-11-02 15:35:56 -08:00
Aiden Cline 343ee552ca fix: iflow logo 2025-11-02 11:43:17 -06:00
Aiden Cline 9e172ae125 Merge pull request #346 from shariqriazz/add-iflowcn-provider
Add iFlow provider with 17 models
2025-11-02 11:41:45 -06:00
Aiden Cline 26130c13a3 Revert "Updated iFlow logo to use currentColor"
This reverts commit 7a47f09825.
2025-11-02 11:39:48 -06:00
opencode-agent[bot] 7a47f09825 Updated iFlow logo to use currentColor
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-02 17:35:58 +00:00
Shariq Riaz eb6c2f2cc4 Add iFlow logo
- Added official iFlow logo SVG with gradient design
- Square format with transparent background
- Purple gradient from #5C5CFF to #AE5CFF
2025-11-02 21:04:10 +05:00
Aiden Cline 0e2c58b789 Merge pull request #345 from shariqriazz/add-minimax-m2-nvidia-provider
Add MiniMax-M2 model to NVIDIA provider
2025-11-02 09:53:49 -06:00
Shariq Riaz 059e6c9602 Add iFlow provider with 17 models
- Created iflowcn provider with OpenAI-compatible API
- Added TStars-2.0 (Taobao Star Language Model)
- Added Qwen3 series: Coder-Plus, Coder, Max, VL-Plus, Max-Preview, 32B, 235B variants
- Added Kimi-K2 and K2-Instruct-0905 models
- Added DeepSeek series: V3.2-Exp, V3.1-Terminus, R1, V3-671B
- Added GLM-4.6 model
- All models free with various context windows (128K-256K)
- Based on https://platform.iflow.cn/en/docs
2025-11-02 18:05:45 +05:00
Shariq Riaz d6b4ee62f9 Add MiniMax-M2 model to NVIDIA provider
- Created minimax-m2.toml with proper configuration
- 128K context window, 16K output tokens
- Supports reasoning, tool calling, and temperature control
- Open weights model with MIT license
- Based on NVIDIA NIM documentation
2025-11-02 18:00:22 +05:00
Aiden Cline 4e76627126 Merge pull request #344 from djmaze/patch-1
Add minimax-m2 model to Fireworks
2025-11-01 17:15:25 -05:00
Martin Honermeyer 98e7c06049 Add minimax-m2 model to Fireworks 2025-11-01 17:37:42 +01:00
Aiden Cline 83792428cc Merge pull request #341 from matthusby/rename-minimax-m2-on-chutes
Rename the folder to match what is on the card
2025-10-31 17:08:37 -05:00
Matt Husby b8b6ac4c2a Rename the folder to match what is on the card 2025-10-31 16:59:55 -05:00
Aiden Cline 91a03818a6 Merge pull request #339 from EasyDevv/edit
Update chutes provider models
2025-10-31 10:39:56 -05:00
Aiden Cline 6dc1c28049 Merge pull request #340 from sst/mark-gh-models-deprecated
certain copilot models were deprecated recently, marking them as such
2025-10-31 10:39:35 -05:00
Aiden Cline 8892829ba7 certain copilot models were deprecated recently, marking them as such 2025-10-31 10:38:05 -05:00
Frank fdc2db4805 update zen logo 2025-10-31 09:28:14 -04:00
Aiden Cline b97ee92330 Merge pull request #338 from kevint-cerebras/add-cerebras-zai-glm-4-6
Add cerebras zai glm 4 6
2025-10-30 15:38:28 -05:00
Aiden Cline f2a45de6bb Merge pull request #272 from yukukotani/rename-vertex-anthropic
Rename google-vertex-anthropic to avoid conflict with google-vertex
2025-10-30 14:46:50 -05:00
EasyDev 33b2f62454 add: minimaxai and updated zai-org models to chutes provider
- Add minimaxai provider directory with models
- Add GLM-4.5 and GLM-4.6 models to zai-org
2025-10-30 11:13:21 +09:00
EasyDev 7e67c08c03 chore: remove outdated models from chutes provider
- Remove Qwen3-30B-A3B-Thinking-2507
- Remove Devstral-Small-2505
- Remove DeepSeek-V3.1-turbo
- Remove Kimi-Dev-72B
- Remove GLM-4.5-turbo
2025-10-30 11:11:40 +09:00
kevint-cerebras cfe27e858e update cerebras models: glm 4.6 2025-10-29 13:03:53 -07:00
Aiden Cline 1a9b28e431 fix: logo color 2025-10-29 15:03:17 -05:00
kevint-cerebras 13f5013084 Add zai-glm-4.6 model to Cerebras provider
Adds Z.AI GLM-4.6 model hosted by Cerebras with:
- Context window: 128k tokens (131,072)
- Max completion: 40k tokens (40,960)
- Free pricing (0 input/output)
- Text-only modalities
- No prompt caching
2025-10-29 12:58:19 -07:00
Aiden Cline d644b1526e Merge pull request #335 from xiaojiezj/zenmux_dev
add(providers): add ZenMux provider
2025-10-29 14:33:29 -05:00
Aiden Cline 616172e08c Merge pull request #337 from gary149/add-minimax-m2
Add MiniMax-M2 to Hugging Face
2025-10-29 10:09:51 -05:00
Victor Muštar fccc07baec Add MiniMax-M2 to Hugging Face 2025-10-29 15:59:53 +01:00
Aiden Cline 43199134db Merge pull request #336 from Ilia-TheNetworkFirm/feat/aws-bedrock-qwen
Add AWS Bedrock Deepseek v3.1 and Qwen models
2025-10-29 09:52:37 -05:00
opencode-agent[bot] a8863edde5 Fixed open_weights as required field
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-10-29 14:51:51 +00:00
Ilia Okhotnikov d7d353fff7 Add AWS Bedrock Deepseek v3.1 and Qwen models 2025-10-29 13:39:21 +01:00
Aiden Cline 695ad2e648 Merge pull request #333 from la55u/patch-1
fix: remove grok-4-fast-free
2025-10-28 10:28:29 -05:00
xiaojie.zj 2ebec11676 add(provuders): ZenMux 2025-10-28 15:01:39 +08:00
Frank adf931e21a update zen models 2025-10-28 00:00:03 -04:00
Aiden Cline c7a4506895 Merge pull request #334 from mahaat/dev
add minimax models to openrouter
2025-10-27 22:50:49 -05:00
adit 343dfdf009 add open weights field 2025-10-28 09:37:36 +07:00
Frank 86138343a8 Change output cost from 1.25 to 5.00 2025-10-27 21:23:58 -04:00
adit 2c0474a591 add minimax models to openrouter 2025-10-28 07:55:36 +07:00
Andras Lassu a4325dc1e3 Merge pull request #1 from la55u/copilot/revert-last-commit
Restore kimi-k2:free.toml model configuration
2025-10-27 22:58:08 +01:00
copilot-swe-agent[bot] e15bd893d6 Revert deletion of kimi-k2:free.toml
Co-authored-by: la55u <30611343+la55u@users.noreply.github.com>
2025-10-27 21:55:52 +00:00
copilot-swe-agent[bot] 6caa1d8625 Initial plan 2025-10-27 21:46:21 +00:00
Andras Lassu 23bfb56ca7 Delete providers/openrouter/models/moonshotai/kimi-k2:free.toml 2025-10-27 22:43:53 +01:00
Andras Lassu b8367fb8d2 remove grok-4-fast-free 2025-10-27 22:38:10 +01:00
Dax 60d32aa297 Delete providers/opencode/models/code-supernova.toml 2025-10-27 16:29:23 -04:00
Aiden Cline fce08f9ff1 Merge pull request #332 from Sewer56/minimax-m2
Added: MiniMax-M2 from Synthetic.new , update token limits on GLM
2025-10-27 10:04:38 -05:00
Sewer56 0cfd710300 Added: MiniMaxM2 from Synthetic
Verified with `https://dev.synthetic.new/docs/openai/models`

The limits- 64k output on self-hosted models, and 196_608 tokens are directly obtained from 1st party source.
2025-10-27 13:23:40 +00:00
Aiden Cline c67908a3f0 Merge pull request #331 from sutoiku/dev
Add `gpt-5-pro` model cards for openai and openrouter providers
2025-10-27 07:12:18 -05:00
Aurelien Ribon 935abd695f Set proper release dates 2025-10-26 21:10:07 +01:00
Aurelien Ribon a3af044b76 Add gpt-5-pro model cards for openai and openrouter 2025-10-26 21:08:21 +01:00
Aiden Cline 6aaec4681f Merge pull request #330 from Yub0/update-scw-models
feat(providers): update scaleway models
2025-10-25 16:28:11 -05:00
Valentin LAMBOLEY-DEPOIRE 2e6ea3fe46 feat(providers): update scaleway models
Signed-off-by: Valentin LAMBOLEY-DEPOIRE <vlamboley@scaleway.com>
2025-10-25 19:41:48 +02:00
Aiden Cline 1548a725f0 Merge pull request #327 from sst/add-latest
anthropic models add (latest)
2025-10-24 01:07:31 -05:00
Aiden Cline 99362b3812 anthropic models add (latest) 2025-10-24 01:06:39 -05:00
Aiden Cline cbaf3389d7 Merge pull request #326 from cyberofficial/vultr
Fix: Adjust Vultr Model Context and Output Limits Based on Empirical Testing
2025-10-23 17:45:44 -05:00
Cyber Official e0dbb542a6 Update context and output limits for Vultr models
Adjusted the 'context' and 'output' token limits in TOML configs for deepseek-r1-distill-llama-70b, deepseek-r1-distill-qwen-32b, gpt-oss-120b, kimi-k2-instruct, and qwen2.5-coder-32b-instruct models to reflect new capacity constraints.
2025-10-23 18:13:01 -04:00
Aiden Cline c4f59629ca Merge pull request #324 from vytenisstaugaitis/dev
fix(ui): use correct variable name for scroll position
2025-10-23 15:53:29 -05:00
Aiden Cline 1fc3f0fe04 add exacto models 2025-10-23 15:51:25 -05:00
Hammad Shami 76e0508747 add helicone models + helicone model generation script 2025-10-23 13:43:27 -07:00
vytenisstaugaitis f3df9c33b6 fix(ui): use correct variable name for scroll position 2025-10-23 23:20:44 +03:00
Aiden Cline 3222c3fff2 fix: vercel claude 3.5 haiku 2025-10-23 15:14:39 -05:00
Aiden Cline 9c4b2f995d Merge pull request #322 from ashktn/google-vertex-anthropic-claude-4-5
(fix) - use correct vertex model id for claude 4.5 models
2025-10-22 22:48:55 -05:00
ashktn 7f2199fa73 (fix) - use correct vertex model id for claude 4.5 models 2025-10-22 23:40:42 -04:00
Aiden Cline bdfa9b20e3 fix: color 2025-10-22 15:39:51 -05:00
Aiden Cline a8b3e0881e Merge pull request #321 from cyberofficial/vultr
Add Vultr
2025-10-22 15:32:33 -05:00
Cyber Official 13d6d49ce0 Add open_weights flag to Vultr model configs
Added the open_weights property for deepseek-r1-distill-llama-70b, deepseek-r1-distill-qwen-32b, gpt-oss-120b, kimi-k2-instruct, and qwen2.5-coder-32b-instruct models. Also updated Vultr logo.svg viewBox from 36.09 to 42 to be square
2025-10-22 16:17:32 -04:00
Aiden Cline 22daff09ac Merge pull request #312 from ashktn/google-vertex-anthropic-claude-4-5
Add claude-haiku-4.5@20251001 and claude-sonnet-4-5@20250929 to google-vertex-anthropic
2025-10-22 09:46:01 -05:00
Aiden Cline bebe28eb3d Merge pull request #318 from obostjancic/obostjancic/feat/embedding-models
Add Embedding Models
2025-10-22 09:44:23 -05:00
Cyber Official 0d4a3dd8c0 Adjust context limit in kimi-k2-instruct.toml 2025-10-22 08:49:39 -04:00
Cyber Official 5b355175ae Adjust context limit in qwen2.5-coder model 2025-10-22 08:49:14 -04:00
Cyber Official ea6adce1e9 Adjust context limit in gpt-oss-120b model config 2025-10-22 08:48:35 -04:00
Cyber Official b341b1cecf Update output limit to match context size 2025-10-22 06:10:18 -04:00
Cyber Official b49f607030 Update Vultr model metadata with true values 2025-10-22 03:39:28 -04:00
Cyber Official 76e1ef2697 Add Vultr provider with 5 models, pricing, and logo 2025-10-22 03:19:23 -04:00
Ogi ff4bd7daa3 add output costs 2025-10-22 09:11:47 +02:00
Frank 29938a2c41 Merge pull request #320 from akakenle/add-aihubmix-provider
Provider AIhubmix Information Optimization
2025-10-21 12:18:31 -04:00
Frank e98a8e2a5e Update logo.svg with new SVG content 2025-10-21 12:17:56 -04:00
akakenle fe740b7b03 Change nmp to AIhubmix in the package @aihubmix/ai-sdk-provider within aisdk 2025-10-21 23:01:55 +08:00
Ogi 1c8e970188 fix validation 2025-10-21 10:08:13 +02:00
Aiden Cline bbf0e6f634 Merge pull request #317 from Yub0/add-scaleway-provider
feat(providers): add scaleway
2025-10-20 10:21:06 -05:00
Ogi b1227d7e51 Add Embedding Models 2025-10-20 14:38:54 +02:00
Valentin LAMBOLEY-DEPOIRE da32d0de05 feat(providers): add scaleway
Signed-off-by: Valentin LAMBOLEY-DEPOIRE <vlamboley@scaleway.com>
2025-10-20 13:32:45 +02:00
akakenle 420f163541 Merge branch 'add-aihubmix-provider' of https://github.com/akakenle/models.dev into add-aihubmix-provider 2025-10-20 17:58:30 +08:00
akakenle f5af8930c9 Update logo and optimize information 2025-10-20 17:57:07 +08:00
Frank 54903a77c9 Merge pull request #315 from akakenle/add-aihubmix-provider
Add AIHubMix provider with 23 AI models
2025-10-19 22:09:31 -04:00
Frank 753f70a18a Delete providers/aihubmix/logo.svg 2025-10-19 22:08:48 -04:00
akakenle 19631535be Add AIHubMix provider with 23 AI models
- Add new provider AIHubMix with OpenAI-compatible API
- Include 23 popular AI models:
  - Claude series (Sonnet 4.5, Haiku 4.5, Opus 4.1)
  - GPT-5 series (GPT-5, GPT-5-Pro, GPT-5-Mini, GPT-5-Nano, GPT-5-Codex)
  - GPT-4 series (GPT-4.1, GPT-4.1-Mini, GPT-4.1-Nano, GPT-4o variants)
  - o4-mini
  - Gemini series (2.5-Pro, 2.5-Flash)
  - DeepSeek series (V3.2-Exp, V3.2-Exp-Think)
  - Qwen3 series (Coder 480B, 235B Instruct, 235B Thinking)
  - GLM-4.6
  - Kimi K2-0905
2025-10-18 21:24:33 +08:00
ashktn 4a07e28475 Add claude-haiku-4.5@20251001 and claude-sonnet-4-5@20250929 to google-vertex-anthropic 2025-10-17 23:41:06 -04:00
Frank 72053ca665 Update zen model 2025-10-17 19:04:06 -04:00
Aiden Cline bf50aec8c8 Merge pull request #310 from Alejandro-CSt/dev
update copilot claude haiku 4.5 limits
2025-10-17 13:50:25 -05:00
Alejandro Chinchilla 845896f7f9 update copilot claude haiku 4.5 limits 2025-10-17 11:56:35 -06:00
Aiden Cline d045d9c77b update copilot sonnet 4.5 2025-10-17 10:49:55 -05:00
Aiden Cline 2ec786f87b Merge pull request #306 from d-oit/NVIDIA-DeepSeek-V3.1-Terminus
feat(nvidia): add DeepSeek V3.1 Terminus model configuration
2025-10-17 09:28:48 -05:00
Aiden Cline 036a7868e1 Merge pull request #309 from nicolasgere/dev
chore(baseten): Add glm model
2025-10-17 09:28:01 -05:00
nicolasgere 47b455c1d0 add glm model 2025-10-17 09:38:53 -04: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
Dominik Oswald 350bc439ca feat(nvidia): add DeepSeek V3.1 Terminus model configuration
Added DeepSeek V3.1 Terminus configuration file at
providers/nvidia/models/deepseek-ai/deepseek-v3.1-terminus.toml.

This model follows the NVIDIA-style configuration pattern and includes
unique capabilities for DeepSeek V3.1 Terminus.

Key details:
- Release date: 2025-09-22
- Last updated: 2025-09-22
- Reasoning + temperature enabled
- Tool call supported
- Closed weights
- Context limit: 128k
- Output limit: 8,192 tokens
- Input/output modalities: text
2025-10-17 10:51:57 +02:00
Aiden Cline 8660aaf404 Merge pull request #303 from dragove/patch-2
fix: rename GLM-4.6 to GLM-4.6.toml
2025-10-16 20:34:06 -05:00
金雄镕 c31b4b8a60 fix: rename GLM-4.6 to GLM-4.6.toml 2025-10-17 09:12:57 +08:00
Aiden Cline 0b61a1a687 Merge pull request #302 from Alejandro-CSt/dev
fix: github copilot claude haiku 4.5 filename
2025-10-16 17:27:14 -05:00
Alejandro Chinchilla 8ba9299d84 fix: github copilot claude haiku 4.5 filename 2025-10-16 16:08:31 -06:00
Frank ac2f036229 Update zen models 2025-10-16 16:27:34 -04:00
Frank 45c42336f8 Merge pull request #301 from sambarnes/patch-1
fix: rename openrouter claude-4.5-haiku to claude-haiku-4.5
2025-10-16 15:56:14 -04:00
sam 0b830ce9e8 fix: rename openrouter claude-4.5-haiku to claude-haiku-4.5 2025-10-16 13:52:52 -06:00
Frank 6bf185d37e Update zen models 2025-10-16 09:50:29 -04:00
Frank d2989e0b49 Update deprecated status 2025-10-16 09:50:06 -04:00
Frank ab2400a943 Merge pull request #299 from titouv/dev
add github-copilot/claude-haiku-4.5
2025-10-16 09:14:10 -04:00
Frank af64ee23c6 Merge pull request #300 from krissetto/add-anthropic-model-aliases
Add all Anthropic model aliases
2025-10-16 09:13:10 -04:00
Christopher Petito e0af92e404 Add all Anthropic model aliases
model aliases found on https://docs.claude.com/en/docs/about-claude/models/overview

Signed-off-by: Christopher Petito <chrisjpetito@gmail.com>
2025-10-16 13:32:59 +02:00
Titouan V d65ee47bed add github-copilot/claude-haiku-4.5 2025-10-16 07:08:49 +00:00
Aiden Cline f737ea3bc8 Merge pull request #298 from mattgillard/add-bedrock-haiku-4-5
added haiku 4.5 to bedrock
2025-10-16 00:49:26 -05:00
Matt Gillard 1d0a08da4e added haiku 4.5 to bedrock 2025-10-16 16:31:18 +11:00
Aiden Cline 3ef025e2f7 Merge pull request #296 from dragove/patch-1
Add GLM-4.6 to ModelScope provider models
2025-10-15 23:16:22 -05:00
Aiden Cline f04a24b49a Merge pull request #297 from 0xrsydn/dev
feat: add claude haiku 4.5 & gpt 5 image on openrouter
2025-10-15 23:16:12 -05:00
0xrsydn 4fa419c57b feat: add claude haiku 4.5 & gpt 5 image on openrouter 2025-10-16 10:59:58 +07:00
金雄镕 b860271916 Add GLM-4.6 to ModelScope provider models 2025-10-16 10:36:59 +08:00
Aiden Cline 7005d6b4e2 Merge pull request #294 from shaper/shaper/pr/haiku-4.5
Vercel AI Gateway: add claude haiku 4.5
2025-10-15 19:46:38 -05:00
Walter Korman e3ee74e6c9 Vercel AI Gateway: add claude haiku 4.5 2025-10-15 17:37:10 -07:00
Aiden Cline 7493e1dbab Merge pull request #293 from mikesoylu/patch-1
[fix] Update output cost in claude-haiku-4-5 model
2025-10-15 17:14:20 -05:00
Mike Soylu fef49d5216 Update output cost in claude-haiku-4-5 model
Based on pricing here: https://docs.claude.com/en/docs/about-claude/pricing
2025-10-15 15:07:14 -07:00
Frank fccf735ccf Update zen models 2025-10-15 13:59:58 -04:00
Aiden Cline db133a691d fix: haiku 4.5 cost 2025-10-15 12:51:46 -05:00
Aiden Cline 3fc673bb3e flip reasoning 2025-10-15 12:25:08 -05:00
Aiden Cline 0c3cff5a9e claude haiku 4.5 2025-10-15 12:24:36 -05:00
Frank 7007d191ff Merge pull request #266 from mikehostetler/dev
Add optional `deprecated` field to model schema
2025-10-15 12:46:33 -04:00
Frank 621f160e03 sync 2025-10-15 12:45:06 -04:00
Frank fda7c96feb Merge branch 'dev' into pr/266 2025-10-15 12:13:52 -04:00
Frank 8940213999 Merge pull request #289 from shaper/shaper/pr/update-oct-14
Vercel AI Gateway: update to reflect latest model library
2025-10-15 12:08:11 -04:00
Frank f314c1388f Merge pull request #267 from rubnogueira/feat/google-ai-flash-09-2025
fix: gemini 2.5 family pricing
2025-10-15 12:05:35 -04:00
Frank 5b653772f4 Merge branch 'dev' into pr/267 2025-10-15 12:03:18 -04:00
Frank 3ba2e3a547 remove non svg logo 2025-10-15 12:03:00 -04:00
Aiden Cline 10bf001687 Merge pull request #291 from kkailaasa/dev
fix: rename nvidia kimi-k2-0905-preview.toml to kimi-k2-instruct-0905.toml
2025-10-15 09:44:29 -05:00
kk 500143d74c Merge pull request #1 from kkailaasa/update-nvidia-kimi-k2-0905-model-name
fix: rename kimi-k2-0905-preview.toml to kimi-k2-instruct-0905.toml
2025-10-15 15:49:03 +02:00
kk 5e9ca14f15 fix: rename kimi-k2-0905-preview.toml to kimi-k2-instruct-0905.toml to match nvidia model name 2025-10-15 09:46:56 -04:00
Frank e03bc6a696 Update zen models 2025-10-15 02:53:32 -04:00
Frank 3bddaab1a3 Update zen models 2025-10-15 02:33:46 -04:00
Frank 32c9fe87d5 Update zen models 2025-10-15 02:28:46 -04:00
Aiden Cline 1d3d1bd1a5 Merge pull request #268 from niharm/add-gemini-2.5-flash-image
Add gemini-2.5-flash-image pricing
2025-10-14 21:38:27 -05:00
Aiden Cline d4ac99304b Merge pull request #270 from niharm/add-gemini-live-2.5-flash-2
Add Gemini Live 2.5 Flash
2025-10-14 21:38:17 -05:00
Aiden Cline d742b42d1b Merge pull request #269 from niharm/add-gemini-live-2.5-flash
Add Gemini Pro/Flash TTS Models
2025-10-14 21:37:53 -05:00
Walter Korman 8e51f08515 Vercel AI Gateway: update to reflect latest model library 2025-10-14 19:03:33 -07:00
Frank 1f666feccb Merge pull request #271 from Arindam200/dev
Add: Nebius AI Studio Provider
2025-10-14 13:43:16 -04:00
Frank 473684aef4 Merge pull request #274 from jeanbispo/patch-1
Fix npm package for Perplexity provider
2025-10-14 13:42:18 -04:00
Frank aae6fd4333 Merge branch 'dev' into pr/271 2025-10-14 13:41:38 -04:00
Frank 7a284aa576 Merge branch 'dev' into pr/274 2025-10-14 13:40:20 -04:00
Frank e6c2ed3ef2 Merge pull request #273 from shariqriazz/add-nvidia-kimi-k2-0905
Add Kimi K2 0905 model to NVIDIA provider
2025-10-14 13:39:58 -04:00
Frank e479a1102f Merge pull request #275 from wojons/patch-2
Add configuration for DeepSeek V3.2 Exp model
2025-10-14 13:39:03 -04:00
Frank 31d6117b7b Merge pull request #276 from wojons/patch-3
Change model name to 'GPT OSS 20B' and update costs
2025-10-14 13:38:52 -04:00
Frank e8a229db95 Merge pull request #282 from wojons/patch-4
openrouter Qwen: Qwen3 30B A3B Thinking 2507
2025-10-14 13:38:03 -04:00
Frank 3ced1a4723 Merge pull request #284 from wojons/patch-6
Add Qwen3 Next 80B A3B Thinking model configuration
2025-10-14 13:37:21 -04:00
Frank 5a470ca285 Merge pull request #283 from wojons/patch-5
opencode Qwen: Qwen3 30B A3B Instruct 2507 Enable tool_call and adjust context/output limits
2025-10-14 13:37:05 -04:00
Frank 2516f9f458 Merge pull request #287 from ASMAE20/feat/add-claude-sonnet-4.5-to-cortecs
Feat: add claude sonnet 4.5 to Cortecs
2025-10-14 13:36:36 -04:00
Frank 828f2a7651 Merge branch 'dev' into pr/284 2025-10-14 13:36:28 -04:00
Frank 268d157d07 Merge branch 'dev' into pr/287 2025-10-14 13:36:06 -04:00
Frank 9511348dd7 Merge pull request #288 from marvinroman/add-alibaba-models
Add comprehensive Alibaba Cloud Model Studio models
2025-10-14 13:34:46 -04:00
Frank 21b3814006 Merge branch 'dev' into pr/288 2025-10-14 13:25:22 -04:00
Aiden Cline e65dec17da Merge pull request #285 from sst/fix-codex-cost
fix: add cost to codex
2025-10-14 11:50:11 -05:00
Aiden Cline 1f25a3018c Revert "fix: script"
This reverts commit bd725a0b19c6ed2689b26d583f95e40ca1eecbd4.
2025-10-14 11:47:55 -05:00
Aiden Cline c0e1380178 fix: add cost to codex 2025-10-14 11:46:47 -05:00
Aiden Cline 11b24f0ae1 Merge pull request #286 from no1wudi/dev
providers/modelscope: Remove Qwen3-Coder-480B-A35B-Instruct model
2025-10-14 11:46:24 -05:00
Frank 8e1c9c9a89 Merge branch 'dev' into pr/286 2025-10-14 12:17:30 -04:00
Frank dfbbb9e1ac ci: fix 2025-10-14 12:10:05 -04:00
Marvin Roman 0c53491bbe Add comprehensive Alibaba Cloud Model Studio models
Adds 88 models across Alibaba International (Singapore) and Alibaba-CN (Beijing) regions:
- 39 models for alibaba provider (Singapore pricing)
- 59 models for alibaba-cn provider (Beijing pricing)

Includes:
- Text generation models (Qwen3, Qwen, QwQ series)
- Vision models (Qwen-VL, Qwen3-VL, QVQ)
- Multimodal models (Qwen-Omni with audio/video support)
- Open-source models (Qwen2.5, Qwen3 series)
- Specialized models (coding, math, translation, OCR, ASR)
- Third-party models (DeepSeek, Kimi - Beijing only)
2025-10-14 13:36:50 +08:00
Frank 06745bade4 display beta models 2025-10-13 22:19:12 -04:00
ASMAE20 c6b855bf0e feat: add Sonnet 4.5 to Cortecs provider 2025-10-13 11:31:34 +01:00
Huang Qi 71c87f0cb7 providers/modelscope: Remove Qwen3-Coder-480B-A35B-Instruct model variant
Remove Qwen3-Coder-480B-A35B-Instruct.toml from the modelscope provider
as the API service for this model variant is no longer available.
This ensures the model catalog accurately reflects the currently
supported models.
2025-10-13 14:45:00 +08:00
Alexis Okuwa cb828af6aa Add Qwen3 Next 80B A3B Thinking model configuration 2025-10-09 17:18:31 -07:00
Alexis Okuwa 1c2208d532 Enable tool_call and adjust context/output limits
Updated tool_call setting and increased context and output limits.
2025-10-09 17:15:25 -07:00
Alexis Okuwa 351bafc004 Update context and output limits in TOML file 2025-10-09 17:13:02 -07:00
Aiden Cline f9281cca60 Merge pull request #277 from bowber/dev
Added GLM 4.6 Turbo &  DeepSeek V3.2 Exp models for Chutes provider
2025-10-09 09:05:41 -05:00
bowber ecf2cd98e0 Add open_weights and update release dates in TOML 2025-10-09 21:00:51 +07:00
bowber 1af75357a9 Add GLM 4.6 Turbo model configuration for Chutes 2025-10-09 20:32:54 +07:00
bowber 062a6ecc59 Update DeepSeek V3.2 Exp configuration settings for Chutes 2025-10-09 20:28:18 +07:00
Jean Bispo 73511f0776 Fix npm package for Perplexity provider 2025-10-08 20:43:51 -03:00
Frank 8d397086d8 Update zen model 2025-10-08 16:03:30 -04:00
Frank 9ed51f688e Update zen model 2025-10-08 16:00:10 -04:00
Frank 11e2efd78d Update zen models 2025-10-08 14:53:21 -04:00
Shariq Riaz 5aa751037a Fix: Set NVIDIA Kimi K2 0905 costs to 0.0
- Updated input/output costs to 0.0 to match other NVIDIA models
- Removed cache_read cost as NVIDIA models don't have associated costs
2025-10-08 00:32:38 +05:00
Shariq Riaz 7946a5e9a3 Add Kimi K2 0905 model to NVIDIA provider
- Added moonshotai/kimi-k2-0905-preview.toml to NVIDIA provider
- Model is open source and available through NVIDIA's API
- Same specifications as the original MoonshotAI provider version
2025-10-08 00:29:28 +05:00
Yuku Kotani fe5e6a57fb Rename google-vertex-anthropic to avoid conflict with google-vertex 2025-10-07 16:19:45 +09:00
Arindam200 d2ec5b06cd update model name 2025-10-07 01:24:38 +05:30
Arindam Majumder 203e1b7cb7 Merge branch 'sst:dev' into dev 2025-10-06 23:53:33 +05:30
Arindam200 26a8106564 feat: add Nebius AI Studio provider 2025-10-06 23:53:06 +05:30
Alexis Okuwa 96152858b6 Change model name to 'GPT OSS 20B' and update costs
Updated model name and cost values for GPT OSS 20B.
2025-10-05 01:57:10 -07:00
Alexis Okuwa ba65c91e90 Add configuration for DeepSeek V3.2 Exp model 2025-10-05 01:53:17 -07:00
nihar fd2c462316 Add Gemini Live 2.5 Flash 2025-10-03 18:19:24 -07:00
nihar 684c227a9a Remove key 2025-10-03 17:57:35 -07:00
nihar 573eb59575 Add Gemini Pro/Flash TTS Models 2025-10-03 17:53:39 -07:00
nihar 15bd77a926 Add gemini-2.5-flash-image 2025-10-03 17:22:08 -07:00
Ruben Nogueira 95ada8a5ad fix: gemini 2.5 family pricing 2025-10-03 22:56:05 +01:00
Jay e9fddf9844 Update documentation URL in provider.toml 2025-10-03 16:36:05 -04:00
Jay 9062458823 Update provider name and documentation URL 2025-10-03 16:35:45 -04:00
Mike Hostetler 460c87b1c3 Add optional deprecated field to model schema and update README documentation 2025-10-03 08:26:03 -05:00
Frank dfcfe80408 Merge pull request #265 from reissbaker/glm-4.6
Add GLM-4.6 to Synthetic's model listing
2025-10-03 09:21:13 -04:00
Matt Baker 63104a33bb Add GLM-4.6 2025-10-02 12:50:48 -07:00
Frank b6e9e2a6d0 Update zen models 2025-10-02 15:08:30 -04:00
ASMAE20 bb8a100b63 Resolve conflicts and update logo 2025-10-02 14:56:48 +01:00
Frank f9767590ee Update zen model 2025-10-01 17:54:24 -04:00
Aiden Cline c2efda2aeb fix: anthropic sonnet 4.5 (#262) 2025-10-01 17:39:58 -04:00
Frank 61e44c56ff Merge pull request #254 from 0xrsydn/dev
chore: update claude 4.5 context length to 1M on openrouter & add glm 4.6 on openrouter
2025-10-01 09:08:47 -04:00
Frank 03456e3651 Merge pull request #255 from gary149/add-glm-4-6-hf
Add GLM-4.6 to Hugging Face
2025-10-01 09:08:25 -04:00
Frank d3ab3d9116 Merge pull request #257 from thuanpham582002/dev
[chores] Add GLM-4.6 model for chutes provider
2025-10-01 09:08:16 -04:00
Frank 2ee0000a4d Merge pull request #259 from niharm/remove-sonnet-4-5-reasoning-price
Remove reasoning prices for Sonnet 4.5
2025-10-01 09:00:25 -04:00
nihar 83ef452ab6 Remove incorrect reasoning prices for Sonnet models 2025-09-30 17:56:40 -07:00
thuanpham582002 516cacfd0e Add GLM-4.6 model with expanded 200k context window and 128k max output tokens across chutes providers 2025-10-01 05:57:04 +07:00
thuanpham582002 521f04de9a Add GLM-4.6 model with expanded 200k context window and 128k max output tokens across chutes providers 2025-10-01 05:57:04 +07:00
Victor Muštar bc3c32898e Add Hugging Face metadata for GLM-4.6 2025-09-30 18:52:12 +02:00
Aiden Cline fa702b0353 fix: bedrock model id (#253) 2025-09-30 11:23:25 -05:00
0xrsydn 9a1efdac57 feat add glm 4.6 on openrouter 2025-09-30 23:10:33 +07:00
0xrsydn d14d7301ec update 1M context length on openrouter 2025-09-30 23:04:31 +07:00
ai13f 1d3df54b2e Update claude-sonnet-4.5.toml (#252) 2025-09-30 10:23:29 -05:00
Frank e621ae94b1 Add sonnet 4.5 to Vercel AI Gateway 2025-09-30 07:04:41 -04:00
Frank c5b265ce52 Merge pull request #249 from edbramwell/dev
bedrock 4.5
2025-09-30 07:00:54 -04:00
Frank b8ec034463 Merge pull request #251 from no1wudi/dev
Add GLM-4.6 model with expanded 200k context window and 128k output
2025-09-30 06:59:46 -04:00
Huang Qi 35f920aa6c Add GLM-4.6 model with expanded 200k context window and 128k max output tokens across zai and zhipuai providers 2025-09-30 15:25:39 +08:00
Ed Bramwell 5ce8878778 bedrock 4.5 2025-09-29 20:27:32 +01:00
Aiden Cline 47a71d06c5 github copilot sonnet 4.5 (#247) 2025-09-29 14:09:57 -04:00
Frank 094060436f Add sonnet 4.5 to openrouter 2025-09-29 13:49:10 -04:00
Frank 2ddd8dd162 Merge pull request #246 from ai13f/patch-4
Create claude-sonnet-4-5-20250929.toml
2025-09-29 13:40:31 -04:00
ai13f ba4f46da6b Create claude-sonnet-4-5-20250929.toml 2025-09-29 13:33:19 -04:00
Frank 8dd47a2a34 Add sonnet 4.5 models to Zen 2025-09-29 13:11:29 -04:00
Frank 91d02e553d fix styling 2025-09-29 13:01:34 -04:00
Frank e1a3ea7fe9 Merge pull request #227 from niharm/gemini-2-5-audio
Add Audio input/output tokens as special columns, filling in for Gemini 2.5 Flash
2025-09-29 12:21:14 -04:00
Frank 93ebf12980 Merge pull request #237 from epicwhale/dev
add -latest alias for gemini flash and flash-lite
2025-09-29 11:50:03 -04:00
Frank 12f904a9bb Merge pull request #245 from nwp/add-xai-grok-code-fast-1-to-vercel-provider
Add Grok Code Fast 1 model to Vercel provider
2025-09-29 11:49:25 -04:00
Nathan Phelps da95d7067b Add Grok Code Fast 1 model to Vercel provider 2025-09-29 09:16:02 -05:00
Frank d8c0f2bf4d Merge pull request #239 from CarlosGtrz/add-deepseek-v3.1-terminus-chutes
Add DeepSeek V3.1 Terminus model to Chutes provider
2025-09-29 09:28:29 -04:00
Frank e3efd48829 Merge pull request #240 from thuanpham582002/dev
fix: rename Turbo to turbo in model filenames DeepSeek-V3.1-Turbo and GLM-4.5-Turbo
2025-09-29 09:27:27 -04:00
Frank 694095bec9 Merge pull request #242 from nwp/add-xai-grok-code-fast-1
Add Grok Code Fast 1 Model to xAI Provider
2025-09-29 09:27:17 -04:00
Frank ed67b13c64 Merge pull request #243 from nwp/add-xai-grok-4-fast-to-vercel-provider
Add Grok 4 Fast models to Vercel Provider
2025-09-29 09:26:12 -04:00
Frank 3bfa20e027 Merge pull request #244 from wojons/patch-1
Modify Grok 4 Fast configuration parameters
2025-09-29 09:25:59 -04:00
Alexis Okuwa 5009c8713c Modify Grok 4 Fast configuration parameters
Updated cost parameters and output limits for Grok 4 Fast.
2025-09-28 19:28:49 -07:00
Nathan Phelps b81b92bfe7 Add Grok 4 Fast models to Vercel Provider 2025-09-28 15:38:02 -05:00
Nathan Phelps ea1bddfe8d Add Grok Code Fast 1 Model 2025-09-28 15:25:37 -05:00
nihar dfcd3fc268 Add output_audio and gemini 2.5 flash lite preview 2025-09-27 14:21:14 -07:00
nihar 9718c42638 PR Feedback 2025-09-27 12:22:28 -07:00
Frank ba48140362 Update zen models 2025-09-27 12:38:59 -04:00
thuanpham582002 5cc449e343 fix: rename Turbo to turbo in model filenames
- DeepSeek-V3.1-Turbo.toml -> DeepSeek-V3.1-turbo.toml
- GLM-4.5-Turbo.toml -> GLM-4.5-turbo.toml
2025-09-27 20:35:14 +07:00
Carlos Gutierrez 3c19a29013 Add DeepSeek V3.1 Terminus model to Chutes provider 2025-09-26 15:11:16 -07:00
dayson b405b5a616 Delete providers/google/models/models/gemini-flash-lite-latest 2025-09-26 18:28:02 +01:00
dayson 8a3d24ef1e feat: add gemini flash-lite latest (alias)
alias always points to most recent flash-lite version
2025-09-26 18:27:46 +01:00
dayson 27ffe234e2 feat: add gemini flash-lite latest (alias)
alias always points to most recent flash-lite version
2025-09-26 18:26:36 +01:00
dayson 178de2e0a7 feat: add gemini flash latest (alias)
alias always points to most recent flash version
2025-09-26 18:23:27 +01:00
Frank ac659a3002 update zen models 2025-09-26 13:06:10 -04:00
Jay 166c64941f Fix logo 2025-09-26 12:43:31 -04:00
Frank 607ecb189b Merge pull request #231 from trevorrecker/gpt-4o-snapshots
feat: Add OpenAI gpt-4o snapshot versions
2025-09-26 12:42:56 -04:00
Frank 070d29f523 Merge pull request #229 from thuanpham582002/dev
chore(chutes): add zai-org/GLM-4.5-Turbo, deepseek-ai/DeepSeek-V3.1-Turbo
2025-09-26 12:37:15 -04:00
Frank f203eb4bae Merge pull request #230 from tamirzb/dev
Add new chutes Qwen3 models
2025-09-26 12:31:36 -04:00
Frank 10c3576990 Merge pull request #235 from apepper/GEMINI_API_KEY
Google provider: Add additional env GEMINI_API_KEY
2025-09-26 12:30:30 -04:00
Frank f83061d1c9 Merge pull request #225 from billycao/billy/DeepSeek-V3.1-Terminus
chore(synthetic): Add DeepSeek-V3.1-Terminus
2025-09-26 12:02:58 -04:00
Frank 2551142623 Merge pull request #232 from rekram1-node/add-gemini-previews
feat: add gemini 2.5 & 2.5 flash lite previews for 09-25
2025-09-26 12:02:13 -04:00
Billy Cao 66a691c025 Set reasoning = true for DeepSeek V3.1 models 2025-09-26 06:52:45 -07:00
ASMAE20 45384a5038 fix: logo types and pricing models 2025-09-26 11:14:06 +01:00
Alexander Pepper c430cc3e18 Google provider: Add additional env GEMINI_API_KEY
This is the same env that Gemini CLI uses:

> Option 2: Gemini API Key
>  Best for: Developers who need specific model control or paid tier access
>
> Benefits:
>
> Free tier: 100 requests/day with Gemini 2.5 Pro
> Model selection: Choose specific Gemini models
> Usage-based billing: Upgrade for higher limits when needed
> ```
> # Get your key from https://aistudio.google.com/apikey
> export GEMINI_API_KEY="YOUR_API_KEY"
> gemini
> ```

Source: https://github.com/google-gemini/gemini-cli?tab=readme-ov-file#option-2-gemini-api-key
2025-09-26 10:23:17 +02:00
Fredy Álvarez 33bcd8863c chore(vercel): gpt-5-codex (#226)f 2025-09-25 23:12:12 -04:00
Noah Gao 845d26162e chore(openrouter): add gpt-5-codex (#228) 2025-09-25 23:12:03 -04:00
rekram1-node f8fc588447 feat: add gemini 2.5 & 2.5 flash lite previews for 09-25 2025-09-25 14:44:13 -05:00
Trevor Recker 34fc629c51 Add OpenAI gpt-4o snapshot versions 2025-09-25 11:52:20 -05:00
Tamir Zahavi-Brunner dd881da4d2 Add new chutes Qwen3 models 2025-09-25 20:02:54 +08:00
thuanpham582002 b8548fa688 chore(chutes): add deepseek-ai/DeepSeek-V3.1-Turbo 2025-09-25 18:35:26 +07:00
thuanpham582002 762b45ec75 chore(chutes): add zai-org/GLM-4.5-Turbor 2025-09-25 18:15:37 +07:00
nihar 92934f8814 Add audio input as a column 2025-09-24 22:56:37 -07:00
Billy Cao 93e07266ad Add DeepSeek-V3.1-Terminus for provider Synthetic 2025-09-24 10:39:58 -07:00
Frank 7c86f7f945 Merge pull request #223 from niharm/add-gemini-models
Add Google/gemini-2.5-flash-lite.toml (separately from preview model)
2025-09-24 12:48:52 -04:00
Frank 82c717053b Merge pull request #224 from ASMAE20/feat/add-cortecs-provider
Feat: Add Cortecs Provider
2025-09-24 12:47:41 -04:00
Frank c24d7c3fe7 Delete providers/cortecs/logo.svg 2025-09-24 12:43:32 -04:00
ASMAE20 0426253af0 feat: add cortecs provider 2025-09-24 15:43:14 +01:00
Frank 5e67df81a7 update zen provider 2025-09-24 09:16:50 -04:00
nihar 8199b29fbb Update context for gemini-2.5-flash-lite-preview-06-17 2025-09-23 22:32:59 -07:00
nihar 83802fc49c Add Gemini 2.5 Flash Lite 2025-09-23 22:13:00 -07:00
Frank d6a17db8d5 allow model overriding provider api 2025-09-24 01:05:04 -04:00
Frank a49a1fed26 Merge pull request #216 from no1wudi/dev
fix: remove Kimi-K2-Instruct from ModelScope provider
2025-09-23 21:14:44 -04:00
Frank 100f614d52 Merge pull request #222 from aemr3/add-copilot-gpt5-codex
feat: add github copilot gpt-5-codex
2025-09-23 19:06:28 -04:00
Frank 6cee1b055a Merge pull request #209 from InfHorus/dev
Add LucidQuery provider with LucidNova RF1-100B and LucidQuery Nexus Coder models
2025-09-23 18:47:26 -04:00
Frank bf16007610 sync 2025-09-23 18:46:54 -04:00
Emre 038f68c509 feat: add github copilot gpt-5-codex 2025-09-23 14:34:38 -07:00
InfHorus b01a72b87c Update logo.svg 2025-09-23 23:23:00 +02:00
Dax 724fb159c8 Remove experimental flag from gpt-5-codex.toml
Removed experimental flag from gpt-5-codex model configuration.
2025-09-23 16:59:55 -04:00
Frank 0afec59ce1 add gpt-5-codex to zen 2025-09-23 16:45:01 -04:00
Frank 8410bad044 Merge pull request #193 from d-oit/feat/nvidia-provider
Add NVIDIA provider models with standardized IDs
2025-09-23 15:00:23 -04:00
Frank d2f99794f4 update readme 2025-09-23 14:58:41 -04:00
Frank 37f1c0854c remove mode id 2025-09-23 14:56:20 -04:00
Frank 10ce3c7e38 Merge pull request #221 from ai13f/patch-3
Create gpt-5-codex.toml
2025-09-23 14:46:11 -04:00
ai13f 9321898b75 Create gpt-5-codex.toml 2025-09-23 14:36:18 -04:00
Frank b4f1289ce7 Merge pull request #191 from OpeOginni/fix/update-requesty-config
fix(requesty): update npm package to openai-compatible
2025-09-23 14:32:25 -04:00
Frank 33746fb463 Merge pull request #205 from gary149/qwen3-next-80b
Add new Qwen models and Kimi-K2-Instruct-0905 configuration files
2025-09-23 14:29:47 -04:00
Frank 747a0932a0 sync 2025-09-23 14:29:07 -04:00
Frank 83d7934522 sync 2025-09-23 14:23:21 -04:00
Frank 7b7d005865 Merge pull request #214 from zhangweiii/feat/add-model-zhipu-coding-plan
feat: add zhipu ai coding plan
2025-09-23 12:17:44 -04:00
Frank 87a116b32d sync 2025-09-23 12:16:04 -04:00
Frank 3ecfe2dea5 Merge pull request #215 from albertilagan/xai/grok-4-fast
feat: add Grok 4 fast
2025-09-23 12:11:02 -04:00
Frank f4e84e77a8 Merge pull request #217 from esafak/deepseek-terminus
feat: add Deepseek v3.1 Terminus
2025-09-23 11:57:57 -04:00
Frank 8000fa483d Update gpt-5-codex 2025-09-23 11:52:42 -04:00
Frank f1baab1a0d Merge pull request #220 from shantur/patch-1
Create gpt-5-codex.toml
2025-09-23 11:44:40 -04:00
Shantur Rathore 9b6d6a2375 Create gpt-5-codex.toml 2025-09-23 13:10:26 +01:00
Emre Şafak 02f99bbab5 feat: add Deepseek v3.1 Terminus 2025-09-22 12:46:16 -04:00
Huang Qi af4b703c92 fix: remove Kimi-K2-Instruct from ModelScope provider 2025-09-22 17:41:29 +08:00
Albert Ilagan 79c89af8db feat: add Grok 4 fast 2025-09-21 22:14:02 +08:00
zhangweiii edf69d1422 feat: add zhipu ai coding plan 2025-09-21 20:23:30 +08:00
Emre Şafak bbe94a950d feat: add Grok 4 fast (free) (#213)
* feat: add Grok 4 fast (free)

* Update providers/openrouter/models/x-ai/grok-4-fast:free.toml

Co-authored-by: heguro <65112898+heguro@users.noreply.github.com>

---------

Co-authored-by: heguro <65112898+heguro@users.noreply.github.com>
2025-09-20 18:54:30 -04:00
Frank 1c7799fe76 Add zen code-supernova 2025-09-19 16:56:07 -04:00
Frank 5eb9f03f76 Add zen code-supernova 2025-09-19 16:53:18 -04:00
Frank bb40a42fb7 Merge pull request #173 from ghostdevv/more-cf-ai-models 2025-09-19 00:56:11 -04:00
Frank c18843b550 Merge pull request #194 from d-oit/add-perplexity-provider 2025-09-19 00:54:35 -04:00
Frank 443cc3f595 Merge pull request #198 from anntnzrb/feature/add-longcat-model 2025-09-19 00:53:37 -04:00
Frank dee5eb9f2f Merge pull request #200 from sudokai/patch-1 2025-09-19 00:53:06 -04:00
Frank a91addbaff Merge pull request #201 from yuan-alex/yuan-alex/fix-fireworks-gpt-oss
fix(fireworks): move GPT OSS models to correct directory
2025-09-19 00:52:02 -04:00
Frank 25c88d22c6 Merge pull request #211 from rekram1-node/fix-baseten 2025-09-19 00:48:53 -04:00
rekram1-node f898e5e104 fix: baseten models 2025-09-18 16:14:44 -05:00
Frank 4ee605deb0 Add alibaba-cn provider 2025-09-18 00:03:18 -04:00
Frank 584cb04fb4 Add z.ai coding plan 2025-09-17 16:47:36 -04:00
InfHorus 826ef33a29 Added Provider: LucidQuery and their two models
lucidquery-nexus-coder: specialized for coding tasks using an inverted hybrid architecture
lucidnova-rf1-100b: General model with web-access, diffusion-based reasonning coupled with AR response engine
2025-09-16 18:20:34 +02:00
Chad Kunde 6374b7c56f Add openrouter qwen3-next 80b A3b instruct (#203)
Knowledge cutoff is assumed to be the same as qwen3 models, but it's
not clearly posted.
2025-09-16 03:15:52 -04:00
Matt Baker a1350d5f40 Update Kimi-K2-Instruct-0905 context length (#208)
We support 256k context length for the newest Kimi K2
2025-09-16 03:15:24 -04:00
Frank 5a458325aa Update zen provider 2025-09-15 17:42:17 -04:00
Dax 06d63e12ee Remove experimental flag from kimi-k2.toml 2025-09-13 06:07:39 -04:00
Jay 2340429972 Delete providers/synthetic/logo.svg
Incorrect format, use currentColor only
2025-09-12 19:23:39 -04:00
Victor Muštar 32a520a3d3 Fix whiteline consistency in Qwen3-Next-80B-A3B-Thinking.toml
Remove extra blank line to match repository conventions.
2025-09-12 18:37:41 +02:00
Victor Muštar bca4226878 Add new Qwen models and Kimi-K2-Instruct-0905 configuration files 2025-09-12 18:22:20 +02:00
Alex Yuan 2e347648a9 fix: move Fireworks GPT OSS models to correct directory structure
Moved gpt-oss-120b.toml and gpt-oss-20b.toml from accounts/fireworks/ to accounts/fireworks/models/ to match the expected directory structure.
2025-09-11 14:57:52 -04:00
Kaixi Luo 19d5399a6d Update kimi-k2-turbo-preview.toml
> "Latest release of kimi-k2-0905-preview model, with an expanded 256K context window and enhanced coding capabilities. If you need faster response speed, you can use the kimi-k2-turbo-preview model, which always tracks the latest version of kimi-k2 and maintains the same functionality, but the output speed has been increased to 60tokens/s, with a maximum of 100tokens/s."
2025-09-11 10:06:34 +02:00
Aiden Cline 93585ba4fa fix: github copilot models (#199) 2025-09-11 00:51:30 -04:00
Frank a9301afe8e Update zen provider 2025-09-10 23:53:18 -04:00
Frank 2a488016f5 Update zen provider 2025-09-10 23:24:06 -04:00
anntnzrb b5db915f0f feat: add pricing info to LongCat Flash Chat model
- Add missing [cost] section with input/output pricing
2025-09-10 20:16:41 -05:00
anntnzrb bf11bf4ac8 feat: add LongCat-Flash-Chat-FP8 model to Chutes provider
- Create TOML configuration for meituan-longcat/LongCat-Flash-Chat-FP8 model
- Include proper pricing, context limits, and modality settings
- Validate configuration with bun validate command
- Verify model availability through Chutes API

This commit adds a new model from the meituan-longcat provider to the Chutes platform configuration.
2025-09-10 16:00:40 -05:00
Frank c4ef61971b Merge pull request #197 from bismitpanda/dev
Update pricing of `openrouter` `openai/gpt-oss-120b`
2025-09-10 15:58:31 -04:00
Frank 6eb01aac67 Merge pull request #186 from anntnzrb/feat/update-prov-chutes
sync: update chutes provider Kimi models to match API endpoint
2025-09-10 15:57:44 -04:00
Bismit Panda dbeaccf169 Update pricing of openrouter openai/gpt-oss-120b 2025-09-11 00:44:52 +05:30
_nderscore 6733520985 fix: unique name for Synthetic's Kimi K2 0905 (#196) 2025-09-09 23:07:48 -04:00
Frank caf8bec61d Display reasoning token cost 2025-09-09 18:16:41 -04:00
Frank dafb86f42e Update zen provider 2025-09-09 17:30:24 -04:00
Frank b71977af78 Add reasoning cost for grok models 2025-09-09 16:03:17 -04:00
Frank b4896d7ada Update zen provider 2025-09-09 15:50:54 -04:00
CI/CD Tester a29960db3f Reorganize NVIDIA models into subfolders by provider and update README with optional organization instructions 2025-09-09 17:07:45 +02:00
Frank 2ecca630e6 Update zen models 2025-09-09 05:49:50 -04:00
Frank 7fcfb3afb4 Update zen models 2025-09-09 02:46:26 -04:00
Matt Baker 86238a7b72 Fix Synthetic model IDs (#188) 2025-09-09 01:33:18 -04:00
CI/CD Tester 415a74fac5 Add Perplexity provider with Sonar models 2025-09-08 21:19:20 +02:00
CI/CD Tester 97c303a3f9 Add id fields to NVIDIA provider models and update registry 2025-09-08 20:58:57 +02:00
OpeOginni 033436243d fix(requesty): update npm package to openai-compatible and add API endpoint 2025-09-08 15:26:13 +02:00
anntnzrb a1e594f7d9 restore: keep Kimi-K2-Instruct-75k model during transition period 2025-09-07 12:17:08 -05:00
anntnzrb 811277dec7 sync: update chutes provider Kimi models to match API endpoint 2025-09-06 21:05:02 -05:00
Frank 5ed40fe25f Merge pull request #181 from d-oit/feat/nvidia-provider
feat(nvidia): add models
2025-09-06 17:55:01 -04:00
Stephen Murray 770e4b4b6d feat: add sonoma alpha models (#185) 2025-09-05 21:47:42 -04:00
nicolasgere 5be267c0aa add kimi and fix qwen (#184) 2025-09-05 21:34:28 -04:00
Stephen Murray 806542cd41 fix(openrouter): use correct context limits for qwen3 max (#183)
Co-authored-by: Dax <d@ironbay.co>
2025-09-05 13:31:22 -04:00
Tom befacedb2b feat(groq): add Kimi K2 Instruct 0905 model (#180)
* feat: add Kimi K2 Instruct 0905 model for Groq

* fix: update pricing for Kimi K2 Instruct 0905 model
2025-09-05 13:31:08 -04:00
Dax d653b23a1e Modify limit settings in qwen3-max.toml
Updated context and output values in the limit section.
2025-09-05 13:30:06 -04:00
Stephen Murray 0fed5ac629 feat(openrouter): add qwen3 max (#182) 2025-09-05 11:51:40 -04:00
CI/CD Tester 8d965020ae Add additional NVIDIA models: DeepSeek R1, Llama Ultra 253B, Gemma 3 27B, Phi 4 Multimodal, Qwen3 235B, Parakeet TDT 0.6B 2025-09-05 12:52:16 +02:00
CI/CD Tester c554bf3877 Add NVIDIA models: OCR v1, Whisper Large v3, Flux 1 Dev, Cosmos Nemotron 34B 2025-09-05 12:50:14 +02:00
CI/CD Tester e5ef54715a feat: Add Qwen3 Coder 480B A35B Instruct to Nvidia provider
- Add Qwen3 Coder 480B A35B Instruct model
- 262K context window, code generation optimized
- Tool calling and temperature support
- Trial pricing (0.0 cost)
2025-09-05 12:35:11 +02:00
CI/CD Tester f940317a97 feat: Add Nvidia provider with DeepSeek V3.1 model
- Add Nvidia provider configuration for NIM
- Include DeepSeek V3.1 model with 128K context
- Support for reasoning and tool calling
- OpenAI-compatible API integration
2025-09-05 12:32:54 +02:00
Frank ba1d5a6ce2 add kimi k2 0905 model 2025-09-05 01:23:07 -04:00
Frank 6922b4d279 Fail deploy if build fails 2025-09-05 01:11:31 -04:00
Frank c47561e488 fix baseten logo 2025-09-05 00:57:55 -04:00
Frank ed7b830131 Merge pull request #174 from esafak/feat/hermes-4
feat: add Hermes 4 70B, Hermes 4 405B
2025-09-05 00:41:02 -04:00
Frank 54f7b29388 Merge pull request #165 from 0xrsydn/dev
Added Grok Code Fast 1 on Openrouter provider
2025-09-05 00:39:57 -04:00
Frank 7674f353a0 Merge pull request #177 from bigs/feat/fireworks-add-4-models
Add DeepSeek V3.1, GLM-4.5 variants, Qwen3 Coder 480B to Fireworks provider
2025-09-05 00:39:30 -04:00
Frank 082a9739b8 fix basten provider 2025-09-05 00:37:30 -04:00
Tom eb35280316 feat: add kimi-k2-0905 model (#178) 2025-09-05 00:28:25 -04:00
Tom e4f38d773c fix: update baseten npm to openai-compatible (#179) 2025-09-05 00:28:02 -04:00
nicolasgere ea151a21fc Add baseten as provider (#168)
* add baseten providers for qwen

* add baseten providers for qwen
2025-09-04 23:43:46 -04:00
ai13f fdb5b01486 Added Grok Code Fast 1 on Github Copilot (#167) 2025-09-04 23:42:50 -04:00
Frank ef094bb857 update oc zen provider 2025-09-03 14:29:53 -04:00
Cole Brown 035ff459c2 feat(fireworks): add DeepSeek V3.1, GLM-4.5 (+Air), Qwen3 Coder 480B A35B Instruct 2025-09-03 14:12:02 -04:00
Frank 77527e8b22 Merge pull request #175 from rekram1-node/fix-deepseek-chat
fix: deepseek-chat output limit
2025-09-03 13:19:36 -04:00
Dax 9343c5f015 Rename provider from 'opencode zen' to 'opencode' 2025-09-03 12:36:38 -04:00
Frank f3d58ac50d update oc zen provider 2025-09-03 10:48:53 -04:00
Frank a64c58bd6f Update opencode zen provider 2025-09-03 09:09:32 -04:00
rekram1-node acb1551f83 fix: deepseek-chat output limit 2025-08-31 22:18:47 -05:00
Fayçal Mitidji 0a87de42ab Feat: Add Synthetic.new provider and models (#170) 2025-08-30 07:23:34 -05:00
Emre Şafak 8533f88c6d feat: add Hermes 4 70B, Hermes 4 405B 2025-08-30 01:34:05 -04:00
GHOST 0b77631219 feat: add new cf workers ai models 2025-08-30 03:01:30 +01:00
Frank 58cb8fe59e Update grok code name 2025-08-27 10:30:45 -04:00
Frank de24ff9053 Revert adding openai compatible endpoing to non openai compatible sdk 2025-08-27 10:30:16 -04:00
Aiden Cline 408ba3c4cf fix: google model api (#166) 2025-08-27 08:17:04 -05:00
0xrsydn ea3ca4b188 Added Grok Code Fast 1 on Openrouter provider 2025-08-27 11:44:59 +07:00
Frank cf6249c393 update sonic model name 2025-08-26 16:32:23 -04:00
Frank f1d9c09de4 Update sonic model name 2025-08-26 16:14:53 -04:00
Frank 1a475835c7 Merge pull request #135 from cork89/dev
Add multiple model searching
2025-08-27 00:16:42 +08:00
Frank c7a0b6a941 Merge pull request #132 from deathbeam/add-some-providers
Add API endpoints for Anthropic and Google openai compatible
2025-08-27 00:01:50 +08:00
Frank c0290ebae1 sync 2025-08-26 12:00:52 -04:00
Frank 31a48cc6c2 Merge branch 'dev' into pr/132 2025-08-26 11:40:17 -04:00
Frank cf933e3330 Merge pull request #156 from vamsimnet/fastrouter
Fastrouter
2025-08-26 23:15:28 +08:00
vamsimnet b9014eead9 change logo file 2025-08-26 13:20:14 +05:30
Frank 1c70e282ce Merge pull request #138 from ghostdevv/cloudflare-workers-ai
feat: add cloudflare workers ai
2025-08-26 05:48:20 +08:00
Frank c9dc279b2a Merge pull request #164 from edbramwell/dev
Update GPT-5-Chat on Azure with correct info
2025-08-26 05:47:16 +08:00
GHOST b35f9dff56 chore: make cloudflare svg square 2025-08-25 21:13:50 +01:00
GHOST b266a32a07 chore: remove old model
This uses their old billing system and a different name (`meta-llama`)
to the rest of the meta models. This model is available from cloudflare
under `@cf/meta/meta-llama-3-8b-instruct`.
2025-08-25 21:13:50 +01:00
GHOST f3f850fa16 fix: missing costs 2025-08-25 21:13:50 +01:00
GHOST 42ee48e556 fix: add missing limit/limit.output
I don't believe a lot of these have limits in the same way, primarily
due to being audio models. Putting 0 to satisfy the linter.
2025-08-25 21:13:50 +01:00
GHOST 31478d7180 fix: missing limit.output fields
The Cloudflare docs don't explicity provide this value, but their
glossary says that `max_tokens` cannot exceed the context window
2025-08-25 21:13:50 +01:00
GHOST 41721958c4 fix: cloudflare logo 2025-08-25 21:13:50 +01:00
GHOST b02b8e142b chore: update dates
From what I can tell all but a few of the models Cloudflare are running
are on Hugging Face, so I've gotten this data from there. It's not 100%
accurate, but it's better than nothing.
2025-08-25 21:13:50 +01:00
GHOST b5c883b3db feat: add cloudflare workers ai 2025-08-25 21:13:50 +01:00
Ed Bramwell 5026ce0ad6 update gpt-5-chat 2025-08-25 20:28:10 +01:00
Frank 589a5a485a Merge pull request #139 from ghostdevv/docs-provider-update
docs(fix): provider info has additional requirements
2025-08-26 01:10:12 +08:00
Frank adc6de0575 sync 2025-08-26 01:09:38 +08:00
Frank 8e008bc1c6 Merge pull request #155 from paflopes/dev
feat: Add Gemini 2.5 Flash model configuration for google-vertex
2025-08-26 00:44:39 +08:00
Frank bc3884d074 Merge pull request #160 from SubModel/dev
Add new provider: Submodel
2025-08-26 00:38:05 +08:00
Frank a24afbdccd Merge pull request #163 from hubertpysklo/add-qwen235b
Add Qwen 3 235B Instruct to Cerebras
2025-08-26 00:36:07 +08:00
Frank 6144f84d79 Merge pull request #158 from Mahamed-Belkheir/deepseek-3.1-updates
add: chutes deepseek v3.1 and thinking model, update deepseek provider context
2025-08-26 00:35:54 +08:00
Frank b7d964df77 Merge pull request #143 from d3vr/add-mistral-3.1-medium
Add: new Mistral Medium 3.1 and older Medium 3
2025-08-26 00:28:47 +08:00
Frank 8ca8325d2e test 2025-08-25 12:14:25 -04:00
Frank fec79a992c Merge pull request #157 from rekram1-node/deepseek-v3.1
add deepseek v3.1
2025-08-25 23:09:41 +08:00
vamsimnet e38ffce883 Merge branch 'fastrouter' of https://github.com/vamsimnet/models.dev into fastrouter 2025-08-25 12:40:04 +05:30
vamsimnet 26864dc8f0 change fill in logo svg file 2025-08-25 12:39:38 +05:30
Hubert Marek Pysklo 7340a9826e model_id 2025-08-24 21:11:45 -07:00
Hubert Marek Pysklo 54500283f9 add Qwen 3 235B Instruct 2025-08-24 21:08:23 -07:00
Mason a6c8accdf8 Add provider submodel and fix to new prices 2025-08-25 05:34:56 +08:00
Mahamed-Belkheir 7d34f2e678 add: chutes deepseek v3.1 and thinking model, update deepseek's chat and reasoner context 2025-08-24 11:13:48 +00:00
Mason 7fbf92a95b Add new provider: Submodel 2025-08-24 06:31:08 +08:00
rekram1-node 65a6de1f9d add deepseek v3.1 2025-08-22 22:17:51 -05:00
vamsimnet 6bbbf33ab5 Merge branch 'sst:dev' into fastrouter 2025-08-22 12:16:32 +05:30
vamsimnet 3e134a0964 add logo.svg 2025-08-22 12:15:28 +05:30
Phillipe Lopes 8f59a4bdb3 feat: Add Gemini 2.5 Flash model configuration for google-vertex 2025-08-21 09:58:39 -03:00
Mahamed-Belkheir 7d417bd1b5 add chutes' updated qwen3 30b models (#148) 2025-08-21 08:51:13 -04:00
Aiden Cline 66b4b3bf43 fix: kimi k2 free (#149) 2025-08-21 06:52:12 -05:00
Timo Clasen 403366db6d Remove preview from copilot gemini pro 2.5 (#151) 2025-08-21 06:51:57 -05:00
Aiden Cline 9e780af877 fix: opus id (#154) 2025-08-21 06:51:42 -05:00
vamsimnet a9af994900 Merge branch 'sst:dev' into fastrouter 2025-08-21 11:40:23 +05:30
vamsimnet 26aa29566e add and remove models 2025-08-21 11:39:05 +05:30
vamsimnet e2f5790a19 change dates of gemini models 2025-08-21 10:40:10 +05:30
Jay 7a258ab8ca Merge pull request #150 from rekram1-node/fix-opus
fix: gh copilot opus 4.1
2025-08-20 17:52:37 -04:00
rekram1-node 549f408671 fix: gh copilot opus 4.1 2025-08-20 10:59:07 -05:00
Dax Raad 448784a3ca sync 2025-08-20 01:01:17 -04:00
Dax Raad 58becd61ad sync 2025-08-20 00:59:22 -04:00
Dax Raad fb31035d51 sync 2025-08-20 00:57:01 -04:00
Dax Raad a28e9a4b90 add sonic 2025-08-20 00:52:22 -04:00
Jay V 95135a9bd6 fix logo 2025-08-18 19:52:15 -04:00
Jay 755ccf0552 Merge pull request #144 from Sawyerb/mercury-models
Adding Inception Logo
2025-08-18 19:25:55 -04:00
Frank f42ddd35b7 Add Zhipu AI provider 2025-08-15 13:53:45 +08:00
Frank 6d3491f8d5 Rename Zhipu AI to z.ai 2025-08-15 13:20:07 +08:00
Sawyer Birnbaum b54b5c47ca Rename Logomark.svg to logo.svg 2025-08-14 16:14:36 -07:00
Sawyer Birnbaum 28f23ceef8 Add files via upload 2025-08-14 16:13:58 -07:00
Andreas Parusel 341d9574cc Add gpt-5-chat.toml (#142) 2025-08-14 12:48:05 -04:00
d3vr 26553362f4 Add: new Mistral Medium 3.1 and older Medium 3 2025-08-14 12:04:43 +01:00
Dax Raad 70bfd50038 Rename Claude 4 Sonnet model file for consistent naming convention 2025-08-13 19:01:18 -04:00
ai13f 00f1cb68f9 Create gpt-5-mini.toml (#140) 2025-08-13 18:05:11 -04:00
GHOST 15efe2cfc6 docs(fix): provider info has additional requirements 2025-08-13 19:39:42 +01:00
Isaac Raja 4b381e74a5 fix: correct npm package reference for Google Vertex Anthropic provider (#136) 2025-08-13 07:14:06 -05:00
Frank a52492c095 Add moonshot ai china provider 2025-08-13 12:20:01 +08:00
Frank 6a02667dd8 Merge pull request #134 from d3vr/add-glm-45v
Add: GLM-4.5v
2025-08-13 00:07:50 -04:00
Jay V 09a2cc1e82 more logos 2025-08-12 19:44:18 -04:00
Jay V 19b9af7e30 displaying logos, adding more 2025-08-12 19:32:14 -04:00
Jay V f7cbcec648 Adding docs for logos 2025-08-12 17:18:32 -04:00
Jay V 6f264bb345 adding svg logos 2025-08-12 16:54:51 -04:00
Jay V f01842d5c4 adding agents.md 2025-08-12 15:02:06 -04:00
cork89 687fc2a859 Add multiple model searching 2025-08-12 09:01:08 -04:00
d3vr e429b2e624 Add: GLM-4.5v 2025-08-11 16:17:47 +01:00
Frank 429b76581c Add moonshot ai provider 2025-08-08 17:57:50 -04:00
Frank 6868e74ed9 Merge pull request #128 from kevcube/patch-2
chore: copilot/gpt-5 reduce context
2025-08-08 17:33:02 -04:00
Frank 56ff56bd25 Merge pull request #123 from Reidaa/lmstudio-gpt-oss
Add GPT OSS (20b only) to LM Studio provider
2025-08-08 17:32:04 -04:00
Frank bd27b40bec Merge pull request #118 from ben-vargas/vercel-gpt-oss
Vercel: Add GPT OSS models
2025-08-08 17:31:14 -04:00
Frank 78e7d13026 Merge pull request #117 from d3vr/chutes-together-gpt-oss
Chutes & TogetherAI: Added gpt-oss-120b
2025-08-08 17:30:55 -04:00
Frank 3f489fd309 Merge pull request #119 from Good1Cheese/dev
add qwen/qwen3-235b-a22b-thinking-2507 on openrouter
2025-08-08 17:29:54 -04:00
Frank 25adf12a2d fix info 2025-08-08 17:29:19 -04:00
Frank 8612c65a24 Merge pull request #127 from lentil32/feat/add-gpt5-azure-models
Add GPT-5 model configs for Azure
2025-08-08 17:26:32 -04:00
Frank 4c1de11f08 fix info 2025-08-08 17:23:37 -04:00
Frank 93e325de60 Merge pull request #130 from ImTheLeviDR/patch-3
Create gpt-5-nano.toml
2025-08-08 17:18:45 -04:00
Frank 0ab1d1ad71 Merge pull request #131 from ImTheLeviDR/patch-4
Create gpt-5-mini.toml
2025-08-08 17:18:41 -04:00
Frank b856f8e0ac Merge pull request #129 from ImTheLeviDR/patch-1
Create gpt-5.toml
2025-08-08 17:18:22 -04:00
Frank fef3780944 fix info 2025-08-08 17:17:41 -04:00
Frank 765ad56ab6 fix info 2025-08-08 17:17:19 -04:00
Frank 1b7cb8074d fix info 2025-08-08 17:16:42 -04:00
Frank 8753d3ba21 Merge pull request #120 from nickdowse-stripe/update-gpt4-pricing
Update OpenAI GPT-4 input/output token pricing
2025-08-08 17:10:25 -04:00
Frank 13b6ab800e update cache read cost for gpt-5 models 2025-08-08 17:09:56 -04:00
Frank e24d61197d typo 2025-08-08 17:03:33 -04:00
Frank 55750ec7f7 typo 2025-08-08 17:03:19 -04:00
Frank 8eba67ee46 sync 2025-08-08 17:03:09 -04:00
Frank 5cae032f72 Merge pull request #125 from d3vr/gpt-5-chat
Add gpt-5-chat-latest
2025-08-08 16:57:07 -04:00
Tomas Slusny 5a78e3d0a9 Add API endpoints for Anthropic and Google openai compatible
Google: https://ai.google.dev/gemini-api/docs/openai
Anthropic: https://docs.anthropic.com/en/api/openai-sdk

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
2025-08-08 13:10:07 +02:00
TheLeviDR 6ae05850f0 Create gpt-5-mini.toml 2025-08-08 10:37:51 +02:00
TheLeviDR 248eefc6a1 Create gpt-5-nano.toml 2025-08-08 10:35:33 +02:00
TheLeviDR 3b6ee56e42 Create gpt-5.toml 2025-08-08 10:31:23 +02:00
Kevin 1502837fa6 chore: copilot/gpt-5 reduce context
I received an error when my context was over 128k, updating model.
2025-08-08 12:48:40 +08:00
lentil32 06e7859933 Add GPT-5 model configs for Azure 2025-08-08 12:48:18 +09:00
Boston Cartwright f7d8b3932a add gpt-5 model config for github-copilot (#126) 2025-08-07 15:57:59 -04:00
d3vr d247a07754 gpt-5-chat: fix output token count 2025-08-07 19:38:01 +01:00
d3vr dbb76290e5 Add gpt-5-chat to OpenRouter too 2025-08-07 19:36:52 +01:00
Andrew Barba ebb2f73cd5 chore(vercel): gpt-5 (#124) 2025-08-07 14:32:38 -04:00
d3vr a21767e993 Add gpt-5-chat-latest 2025-08-07 19:32:22 +01:00
Dax Raad d4400a06bb disable temperature 2025-08-07 14:02:14 -04:00
Fayçal Mitidji 70397b8045 Add new GPT-5 models (#122) 2025-08-07 12:59:07 -05:00
Thomas KEMKEMIAN ab1a75f3ef Add GPT OSS (20b only) to LM Studio provider 2025-08-07 19:22:41 +02:00
Nick Dowse 37f1d59ef0 Update OpenAI GPT-4 input/output token pricing 2025-08-07 10:33:52 -04:00
Good1Cheese 5e6997110a add qwen/qwen3-235b-a22b-thinking-2507 on openrouter 2025-08-07 13:07:39 +09:00
Ben Vargas a69d3dacdd Add GPT OSS models to Vercel provider
- Add gpt-oss-120b with pricing $0.10/$0.50 per million tokens
- Add gpt-oss-20b with pricing $0.07/$0.30 per million tokens
- Both models support 131K context, 32K output, reasoning, and tool calling
- Pricing based on Vercel's AI Gateway documentation
2025-08-06 16:28:12 -06:00
d3vr 63ef6301e3 Chutes: Add gpt-oss-120b 2025-08-06 14:48:38 +01:00
d3vr 06e76672c5 TogetherAI: add gpt-oss-120b 2025-08-06 12:40:27 +01:00
vamsimnet 089a3738a8 add qwen model 2025-08-06 13:26:14 +05:30
vamsimnet 297715a9ff Removed .iml and .xml files from Git tracking and added to .gitignore 2025-08-06 13:02:22 +05:30
vamsimnet db4bc6557a add models 2025-08-06 12:59:25 +05:30
vamsimnet 40b40ad039 add models 2025-08-06 12:36:38 +05:30
vamsi.h 75e6804ca7 add open ai gpt 4.1 2025-08-06 11:38:00 +05:30
Fayçal Mitidji 8cdcfe09c0 Chutes: added missing models, updated costs and context windows (#111) 2025-08-05 13:56:49 -04:00
Fayçal Mitidji 3907a2231d Groq, Cerebras, Fireworks: Add new GPT OSS models (#114)
* Openrouter: Add new GPT OSS models

* Added new GPT models to Groq, Fireworks and Cerebras
2025-08-05 13:50:42 -04:00
Maaz Chowdhry 0adfd65bc1 Add Claude Opus 4.1 model configurations across multiple providers (#112)
* add Claude Opus 4.1 model configurations across multiple providers

* remove cost parameters from githyb-copilot opus 4.1
2025-08-05 13:50:09 -04:00
Dax Raad 7254aab04d add opus 4.1 2025-08-05 12:40:43 -04:00
Frank 3a5a74901f Merge pull request #110 from Mahamed-Belkheir/add-glm-4.5-fp8
add GLM-4.5-FP8 to chutes provider
2025-08-05 11:15:29 -04:00
Frank 6912c2b86f sync 2025-08-05 11:14:21 -04:00
Mahamed-Belkheir 976cdd7197 add GLM-4.5-FP8 to chutes provider 2025-08-05 14:42:02 +00:00
Frank 74b91dc710 sync 2025-08-04 21:32:07 -04:00
Frank 69d051f56f add opencode provider 2025-08-04 21:19:33 -04:00
Frank 8a3afb1543 Add LM Studio provider 2025-08-04 02:03:32 -04:00
Frank 937796bc23 Merge pull request #108 from sgoedecke/sgoedecke/add-cost-to-github-models
Add cost field to GitHub Models provider models
2025-08-04 01:44:23 -04:00
Sean Goedecke 8ad67cbe5d Add cost field to GitHub Models provider models 2025-08-04 00:23:40 +00:00
Frank 73d850748e Merge pull request #107 from joshualipman123/add-cerebras-via-vercel-ai-gateway
Add cerebras provided qwen3 coder via vercel ai gateway
2025-08-03 17:35:05 -04:00
Dax Raad b10a1a050a add posthog 2025-08-03 15:12:50 -04:00
joshualipman123 f1b6c7a46c Add cerebras provided qwen3 coder via vercel ai gateway 2025-08-03 11:57:18 -07:00
Frank 39dc586458 User worker to serve the site and api 2025-08-03 14:16:27 -04:00
Frank 27889b89ec Merge pull request #100 from Sawyerb/mercury-models
Adding Mercury Models
2025-08-02 21:25:37 -04:00
Frank 6e2dbb807b sync 2025-08-02 21:12:04 -04:00
Frank 1e2f933330 Add Zhipu AI provider 2025-08-02 21:01:12 -04:00
Sawyer Birnbaum f2c6825755 Update mercury.toml 2025-08-02 17:42:05 -07:00
Sawyer Birnbaum 7b38f54bb1 Update mercury-coder.toml 2025-08-02 17:41:42 -07:00
Frank 294d9c3fa4 Merge pull request #105 from shariqriazz/feat/provider-chutes
add chutes provider
2025-08-02 20:27:04 -04:00
Frank 05d8db3f3c sync 2025-08-02 20:26:27 -04:00
Frank 477a2daec8 Merge pull request #104 from d3vr/fix-cerebras-qwen3-coder-cost
fix: Corrected Cerebras Qwen 3 Coder cost
2025-08-02 20:24:08 -04:00
Frank cc48fccb0e sync 2025-08-02 20:22:51 -04:00
Frank aed58ce1e6 remove comments 2025-08-02 20:21:35 -04:00
Frank 6d12b216bb Merge pull request #99 from d3vr/add-modelscope-provider
feat: add ModelScope provider with 8 models
2025-08-02 20:20:13 -04:00
Frank cce82d5301 Merge pull request #98 from 0xrsydn/dev
feat: Add Qwen3 30B A3B-Instruct 2507 on OpenRouter
2025-08-02 20:08:06 -04:00
0xrsydn de198555ac add mistral:codestra- 2508 on openrouter 2025-08-03 04:34:41 +07:00
Chris Covington aa91010df3 Add Horizon Beta to OpenRouter provider (#106) 2025-08-01 21:24:45 -04:00
Shariq Riaz 818590d998 feat(chutes): add provider + models (DeepSeek V3 0324, DeepSeek R1 0528, Kimi K2 Instruct, Qwen3 Coder 480B A35B FP8, GLM-4.5 Air, Mistral Small 3.2 24B Instruct 2506, Devstral Small 2505) 2025-08-02 03:49:53 +05:00
d3vr 7678a063e2 fix: Corrected Cerebras Qwen 3 Coder cost 2025-08-01 22:22:40 +01:00
Dax Raad 9e817b0e42 add cerebras provider 2025-08-01 17:15:35 -04:00
Dax Raad 2e3f718c40 enable worker logs 2025-07-31 23:31:22 -04:00
Sawyer Birnbaum 15f8ff29d0 Update mercury-coder.toml 2025-07-31 15:33:14 -07:00
Sawyer Birnbaum e0b083c33d Update mercury.toml 2025-07-31 15:32:19 -07:00
Sawyer Birnbaum de9d11b8c7 Update provider.toml 2025-07-31 15:31:44 -07:00
Sawyer Birnbaum bba66f3a88 Create Mercury Coder 2025-07-31 15:27:58 -07:00
Sawyer Birnbaum c06b0bdd77 Create Mercury Model 2025-07-31 15:27:25 -07:00
Sawyer Birnbaum 1b3a98ecec Create Inception provider 2025-07-31 15:26:52 -07:00
d3vr 14d91be19c Add ModelScope provider models
- Added 6 Qwen models:
  - Qwen3-Coder-480B-A35B-Instruct
  - Qwen3-235B-A22B-Thinking-2507
  - Qwen3-235B-A22B-Instruct-2507
  - Qwen3-30B-A3B-Instruct-2507
  - Qwen3-30B-A3B-Thinking-2507
  - Qwen3-Coder-30B-A3B-Instruct
- Added ZhipuAI/GLM-4.5
- Added moonshotai/Kimi-K2-Instruct
2025-07-31 18:03:54 +01:00
d3vr 81bf97664a Add ModelScope provider
- New provider for ModelScope API
- Uses OpenAI-compatible SDK
- Requires MODELSCOPE_API_KEY environment variable
2025-07-31 17:37:45 +01:00
0xrsydn 2e34292d04 add qwen3 30b a3b instruct 2507 on openrouter provider 2025-07-31 23:36:22 +07:00
Frank 0c69e58ba9 Merge pull request #95 from d3vr/add-wandb-provider
feat: add Weights & Biases provider with 10 models
2025-07-31 10:54:18 -04:00
Frank c3cb4e116b Merge pull request #97 from sst/opencode/issue63-20250731144520
Fixed Gemini context windows: 2M→128K, 2M→1M
2025-07-31 10:53:13 -04:00
Frank 602cd057a5 sync 2025-07-31 10:52:54 -04:00
opencode-agent[bot] 91c28a8f57 Fixed Gemini context windows: 2M→128K, 2M→1M
Co-authored-by: fwang <fwang@users.noreply.github.com>
2025-07-31 14:46:39 +00:00
Frank dac7e214c3 Merge pull request #96 from sst/opencode/issue86-20250731140830
Fixed Claude Sonnet 4 GitHub Copilot config
2025-07-31 10:46:19 -04:00
opencode-agent[bot] 1fe1133add Fixed Claude Sonnet 4 GitHub Copilot config
Co-authored-by: fwang <fwang@users.noreply.github.com>
2025-07-31 14:09:57 +00:00
Frank 70837a8c6a Setup opencode action 2025-07-31 10:08:00 -04:00
d3vr 3595170026 refactor: reorganize W&B models into AI lab subfolders
Move all model configurations into proper AI lab subdirectories with
correct case-sensitive naming to match model IDs exactly.
2025-07-31 14:41:36 +01:00
d3vr 01095082ed feat: add Weights & Biases model configurations
Add 10 model configurations for W&B provider with accurate context windows,
pricing, and modalities based on official documentation.
2025-07-31 14:34:07 +01:00
d3vr 516398299e feat: add Weights & Biases provider
Add new provider configuration for Weights & Biases inference API with OpenAI-compatible interface.
2025-07-31 14:19:23 +01:00
Frank 973b50e3b4 Set Qwen3-235B-A22B-Thinking-2507 reasoning to true
closes #92
2025-07-31 08:36:50 -04:00
Frank a6ecdc75c9 Merge pull request #94 from d3vr/add-openrouter-horizon-alpha
feat: add OpenRouter Horizon Alpha model
2025-07-31 08:30:59 -04:00
d3vr 4ef310c78e feat: add OpenRouter Horizon Alpha model 2025-07-31 12:10:05 +01:00
Nick Galluzzo 838d918a08 fix: correct naming for z-ai/glm-4.5-air:free (#93) 2025-07-31 05:28:15 -05:00
Frank 60f2d80bc0 fix doc link 2025-07-30 17:13:30 -04:00
Frank 2bc25f1c57 Merge pull request #89 from gary149/add-new-hf-models
Add new Hugging Face models and fix file naming conventions
2025-07-30 08:41:55 -04:00
Frank fd01d421fb Merge pull request #91 from nick-galluzzo/feat/add-glm-4.5-air-free
feat: Add support for GLM 4.5 Air (free) model
2025-07-30 08:41:14 -04:00
Frank 696dc5e2f4 Merge pull request #90 from nick-galluzzo/fix/glm4.5-naming
fix: Remove "Air" from OpenRouter GLM 4.5
2025-07-30 08:40:52 -04:00
Nick Galluzzo ddca8005a1 feat: Add support for GLM 4.5 Air (free) model 2025-07-30 11:49:04 +07:00
Nick Galluzzo c297cbdf55 fix: Remove "Air" from OpenRouter GLM 4.5 2025-07-30 11:43:13 +07:00
Victor Muštar 798bee7337 Update Qwen3-235B-A22B-Thinking-2507 model configuration
- Update model metadata and capabilities
2025-07-30 01:22:12 +02:00
Victor Muštar 6a62b0eee0 Update GLM-4.5 model configuration
- Add cost information for input/output pricing
- Update model metadata
2025-07-30 01:19:48 +02:00
Victor Muštar b5b15e8bae Add new Hugging Face models and fix file naming conventions
- Rename DeepSeek model files to use proper capitalization
- Rename Kimi model file to use proper capitalization
- Add new Qwen3-235B-A22B-Thinking-2507 model
- Add GLM-4.5 and GLM-4.5-Air models from zai-org
2025-07-30 01:17:12 +02:00
Frank 69e91b1cee Merge pull request #74 from andrewneilson/copilot-july2025
(issue #70) Add copilot pro+ models and remove unsupported o1
2025-07-29 10:59:15 -04:00
Frank 439099c412 Merge pull request #73 from gary149/reorganize-hf-models
Reorganize Hugging Face models and fix model id
2025-07-29 10:58:09 -04:00
Frank 27a1005a63 sync 2025-07-29 10:24:38 -04:00
Frank 7a9f66a08a Add alibaba cloud provider 2025-07-29 10:21:12 -04:00
Frank fc90194ab4 Merge pull request #60 from isaacraja/feat/add-vertex-claude-models
feat: add Google Vertex AI Anthropic provider with Claude models
2025-07-29 09:39:25 -04:00
Frank 349010a3d0 Merge pull request #75 from obiMadu/dev
Add v0 models to Vercel AI Gateway
2025-07-29 09:32:47 -04:00
Frank d16da2b790 use symlinks 2025-07-29 09:31:43 -04:00
Frank 0840f4ba90 Merge pull request #78 from Nutlope/dev
Add Together AI as a provider
2025-07-29 09:19:05 -04:00
Frank 1195881a06 Merge pull request #80 from nick-galluzzo/fix/deepseek-tool-allowance
fix: Disable tool_call for deepseek-r1t2-chimera:free
2025-07-29 09:01:00 -04:00
Frank 02df845c58 Merge pull request #87 from simon-wg/patch-1
Adds codex mini to azure model list
2025-07-29 08:59:01 -04:00
Frank f08044362c Merge pull request #85 from 0xrsydn/dev
Added GLM 4.5 Air & Fixed GLM 4.5 TOML
2025-07-29 08:56:18 -04:00
Simon Westlin Green 8f96f4068a Create codex-mini.toml
Create azure codex mini model
2025-07-29 09:27:30 +02:00
0xrsydn d8ec134860 added glm 4.5 air on openrouter, fixed context & output limit, fix reasoning to true as it supports reasoning parameter 2025-07-29 11:20:09 +07:00
Frank db9731198f preserve provider and model id cases 2025-07-28 23:17:08 -04:00
Frank 291f4e6fc5 sync 2025-07-28 22:45:31 -04:00
Frank e891b5042a Add deepinfra provider 2025-07-28 22:27:34 -04:00
Frank 48bb64c4ee Merge pull request #79 from yihuikhuu/qwen3-coder-free
feat: add qwen3 coder free for openrouter
2025-07-27 19:54:31 -04:00
Frank fe98f371e6 Merge pull request #62 from gutomotta/fireworks-ai
Add Fireworks AI provider with some models useful for writing code
2025-07-27 19:53:30 -04:00
Frank ba5067ac4b Merge pull request #81 from nick-galluzzo/feature/add-kimi-k2-free
feat: add kimi-k2:free model
2025-07-27 19:51:57 -04:00
Frank fbdf227b45 Include model path in validation error 2025-07-27 19:41:45 -04:00
Frank 2060d3656b Merge pull request #55 from dmarjenburgh/venice-ai
Add Venice AI provider and 13 associated model configurations
2025-07-27 19:39:35 -04:00
Frank 5ee76694e1 Merge pull request #41 from hunkimForks/dev
feat: Add Upstage Solar models support
2025-07-27 19:38:05 -04:00
Frank cb261c479d Merge pull request #40 from mrmps/dev
Adds models provided by Inference.net
2025-07-27 19:36:55 -04:00
Frank 49ab5c5566 Merge pull request #34 from dtrugman/add-requesty-model-provider
Add Requesty provider
2025-07-27 19:35:19 -04:00
Frank 1f1d1431f6 Merge pull request #30 from sgoedecke/sgoedecke/add-github-models-provider
Add GitHub Models provider
2025-07-27 19:22:50 -04:00
Nick Galluzzo 3580b08f0a feat: add kimi-k2:free model 2025-07-26 16:28:46 +07:00
Nick Galluzzo bf6edbeeac chore: remove new line at EOF 2025-07-26 16:14:34 +07:00
Nick Galluzzo 7ebcacc095 fix: deepseek-r1t2-chimera:free to not allow tool calls 2025-07-26 16:01:27 +07:00
Aiden Cline 206fe69690 fix: qwen3-32b (#76) 2025-07-26 01:09:38 -04:00
Yihui Khuu 4d1db6e0ac feat: add qwen3 coder free for openrouter 2025-07-26 13:48:59 +10:00
Hassan El Mghari 7637e22548 fixed typo 2025-07-25 16:34:14 -04:00
Hassan El Mghari aa50022ef6 added Together AI as a provider 2025-07-25 16:32:27 -04:00
Obi Madu 7ae5fa9cf8 feat: remove 1.5 lg 2025-07-25 01:59:55 +01:00
Obi Madu bdb0b041b1 feat: add v0 models to vercel ai gateway 2025-07-25 01:58:28 +01:00
Andrew Neilson c585c38f91 (issue #70) Add copilot pro+ models and remove unsupported o1 2025-07-23 17:46:54 -07:00
Victor Muštar e4b9b6acd6 Reorganize Hugging Face models into vendor-specific directories
Move deepseek, Qwen, and moonshotai models into their own subdirectories for better organization
2025-07-23 11:19:55 +02:00
spoons-and-mirrors affbfa8012 Add Openrouter Qwen3 Coder (#71) 2025-07-22 20:34:20 -04:00
lolo md 755849cd90 add info for gpt-3.5-turbo (#67) 2025-07-22 20:22:50 -04:00
spoons-and-mirrors 6bfff28e20 Add Openrouter Qwen3 235B A22B Instruct 2507 model configurations (#69) 2025-07-21 15:26:37 -05:00
Victor Muštar d1c1306626 feat: add Hugging Face Inference provider (#61)
* feat: add Hugging Face Inference provider

- Add Hugging Face provider configuration with OpenAI-compatible API
- Include moonshotai/Kimi-K2-Instruct model with Groq routing
- Include deepseek-ai/DeepSeek-V3-0324 model
- Include deepseek-ai/DeepSeek-R1-0528 model
- All model configurations match their implementations in other providers

* names = huggingface ids

* Update model names in HuggingFace TOML files
2025-07-19 10:34:15 -04:00
Dax Raad 151da87a50 sync 2025-07-19 10:05:36 -04:00
Dax Raad fd9750d2c6 fix caps 2025-07-19 10:00:22 -04:00
Dax Raad 0f33de3ad9 added vercel ai gateway and renamed to v0 2025-07-19 09:52:33 -04:00
Guto Motta 4969f1ee7c Add Fireworks AI provider with some models useful for writing code 2025-07-18 11:09:32 -03:00
Isaac Raja 07c2f532c7 fix: change provider name from 'Vertex AI Anthropic' to 'Vertex'
- Update provider.toml name field to match maintainer feedback
- Keep consistent with existing Vertex provider naming
2025-07-17 16:14:09 +05:30
Isaac Raja 32c67d697c feat: add Google Vertex AI Anthropic provider with Claude models
- Add google-vertex-anthropic provider supporting @ai-sdk/google-vertex/anthropic
- Include 5 Claude models: claude-3-5-sonnet@20241022, claude-3-5-haiku@20241022, claude-3-7-sonnet@20250219, claude-sonnet-4@20250514, claude-opus-4@20250514
- Follow Vercel AI SDK naming convention with @YYYYMMDD suffix format
- Match existing schema with pricing, context limits, and modalities
- Follows pattern established by Google Vertex Gemini provider
2025-07-17 15:39:56 +05:30
Kendell R a0eedfb30f adjust mistralai/devstral-small-2505:free context limit (#49) 2025-07-16 14:37:53 -04:00
Dan Hernandez 1b69a4d2da Delete providers/openai/models/gpt-4.5-preview.toml (#56) 2025-07-16 07:19:59 -05:00
Rico Sta. Cruz 428ee4d7ab feat(openrouter): replace Gemini 2.5 Flash preview models with stable version (#58) 2025-07-16 07:19:00 -05:00
Daniel Marjenburgh 3d8fc6446b Mark all Venice AI models as having open weights in configuration files 2025-07-15 21:52:25 +02:00
Dax Raad ec3c80f071 add haiku to openrouter 2025-07-15 13:07:49 -04:00
Daniel Marjenburgh 0cb5c4b515 Update Venice AI provider configuration to include environment variable setup 2025-07-15 17:55:04 +02:00
Daniel Marjenburgh a1a4d02ab8 Add Venice AI provider and 13 associated model configurations 2025-07-15 16:40:27 +02:00
Kendell R 077a2dc7c6 fix: Kimi K2 reasoning and attachment flags in OpenRouter config (#51)
* Fix Kimi K2 reasoning flag in OpenRouter config

Kimi K2 is a regular instruct model, not a reasoning model like o1.
Set reasoning = false to correctly reflect its capabilities.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Disable attachment

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-15 06:20:41 -05:00
Jeremy Hon 0a256f87a2 fix: reduce kimi k2 output tokens from 131072 to 16384 (#54) 2025-07-15 06:18:32 -05:00
Kendell R 7863a8e0a8 Add Kimi K2 Instruct model support for Groq (#52)
* Add Kimi K2 Instruct model support for Groq

Adds moonshotai/kimi-k2-instruct model configuration for Groq provider.
- 131k context and output tokens
- Open source model with tool calling capabilities

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Disable attachment

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-15 00:27:32 -04:00
Maaz Chowdhry 2b0849aa20 Add OpenRouter free model endpoints (#38) (#48)
* Added moonshotai/kimi-k2

* Add OpenRouter free model endpoints (#38)
2025-07-13 22:49:10 -04:00
Rafal Kondratowicz 9384b47617 Add devstral models to openrouter (#35) 2025-07-11 21:35:33 -04:00
Timo Clasen 5945690d66 Update copilot sonnet 4 model name (#36) 2025-07-11 20:12:20 -04:00
Maaz Chowdhry 732c4198f6 Added moonshotai/kimi-k2 (#47) 2025-07-11 17:56:09 -04:00
Rasyidan Akbar F 9e4f8a730f Add Devstral Models to Openrouter (#45)
* Add devstral models to openrouter

* also add newest devstral small & medium

---------

Co-authored-by: Rafal Kondratowicz <rkondratowicz@users.noreply.github.com>
2025-07-11 17:35:16 -04:00
Dax Raad 1295b9dd9a mistral updates 2025-07-10 11:01:02 -04:00
Dax Raad 8b747baa3d temporary lower grok 4 output limit 2025-07-10 10:15:20 -04:00
Dax Raad d3e7a1d55a grok-4 openrouter 2025-07-10 07:35:40 -04:00
Kevin 852d705a7e Create grok-4.toml (#43) 2025-07-10 07:32:05 -04:00
Jay 8a9d20dad1 Create LICENSE 2025-07-09 19:11:53 -04:00
Sung Kim 830a8b0b61 feat: Add Upstage Solar models support
Add support for Upstage's Solar models, bringing Korea's #1 LLM provider to models.dev.

Upstage is a leading AI company in Korea, renowned for their high-performance Solar LLM series. This addition introduces two powerful Solar models:

�� Solar Pro2:
- Advanced reasoning capabilities with chain-of-thought support
- Tool calling and function execution
- 65,536 context window with 8,192 output tokens
- Competitive pricing at /bin/zsh.25/M tokens (input/output)
- Knowledge cutoff: 2025-03

 Solar Mini:
- Efficient, cost-effective model for production workloads
- Tool calling support without reasoning overhead
- 32,768 context window with 4,096 output tokens
- Budget-friendly at /bin/zsh.15/M tokens (input/output)
- Knowledge cutoff: 2024-09

Technical Implementation:
- Uses OpenAI-compatible API endpoint (https://api.upstage.ai)
- Requires UPSTAGE_API_KEY environment variable
- Full text input/output modality support
- Temperature control for both models
- Comprehensive TOML configuration following project standards

This integration expands models.dev's coverage of international AI providers, particularly strengthening representation of the Korean AI ecosystem.
2025-07-10 05:51:34 +09:00
Michael Ryaboy 0f732188cf Merge pull request #1 from mrmps/codex/add-inference.net-llm-models-and-pricing
Add Inference provider models
2025-07-09 12:53:47 -07:00
Michael Ryaboy cc01d0d47f Add Inference provider models 2025-07-09 12:49:56 -07:00
Dax Raad 7d25c5eee4 switch to openai compatible provider for openrouter 2025-07-02 14:53:54 -04:00
Daniel Trugman 4e559d647b Add requesty provider 2025-07-01 11:13:27 +01:00
Frank 6fd530b6b4 Merge pull request #33 from wienans/openrouter/models
Add more models from openrouter
2025-07-01 01:16:22 -04:00
Frank 1c7c8cc2fc Update o4-mini.toml 2025-07-01 01:13:42 -04:00
Frank 7a25a69f7e Merge pull request #28 from danfhernandez/feat/add-deep-research-models
feat: add OpenAI o3-deep-research and o4-mini-deep-research models
2025-07-01 01:11:54 -04:00
Frank 3427662f41 Merge pull request #32 from maskdotdev/patch-1
Fix modalities.output typo in README.md
2025-07-01 00:47:13 -04:00
wienans c575fcfef3 Add more openai models 2025-06-29 09:01:49 +00:00
wienans d30cd29066 Add Openrouter xAI 2025-06-29 08:52:30 +00:00
Kiyotaka f2d0ce14b5 Fix modalities.output typo in README.md 2025-06-28 07:24:27 -05:00
Jay V 1f9b6fbd26 style changes to web 2025-06-27 16:51:06 -04:00
Sean Goedecke 3b2d4a19a8 Add GitHub Models provider 2025-06-27 09:44:03 +00:00
Frank bc307aa078 Add openrouter gemini 2.5 pro model 2025-06-27 02:12:06 -04:00
Dan Hernandez 9009a74440 feat: add OpenAI o3-deep-research and o4-mini-deep-research models 2025-06-26 15:05:59 -04:00
Frank 7dffb5d031 Add cost for openrouter models
Closes #25
2025-06-24 16:18:40 -04:00
Frank d9a1adb1d5 Restructure nested model ids 2025-06-24 15:29:11 -04:00
Frank d3e9843abd Updated modalities structure 2025-06-23 17:41:14 -04:00
Frank b166d2a5de Update README.md 2025-06-23 17:15:19 -04:00
Frank 0e7a52fe0c Render cost to 2 decimals 2025-06-23 17:01:06 -04:00
Frank 320c099c02 Merge pull request #21 from ndraiman/openrouter
Added openrouter provider and top 10 programming models
2025-06-23 16:53:34 -04:00
Frank d2ab3fddc5 sync 2025-06-23 16:52:39 -04:00
Frank c8372a9f91 Merge branch 'dev' into pr/21 2025-06-23 15:54:29 -04:00
Frank 7d20df523e Merge pull request #23 from obiMadu/dev
Add Vertex AI Models
2025-06-23 15:44:21 -04:00
Frank e2ec99e9a3 sync 2025-06-23 15:43:27 -04:00
Frank bf825e8e17 Merge branch 'dev' into pr/23 2025-06-23 15:23:49 -04:00
Frank 89cf9c63b9 Merge pull request #24 from banjo/fix/gpt-4-correct-name
Update name for GPT-4 in OpenAI provider
2025-06-23 15:10:23 -04:00
Frank 6fe5e0de7c Rename open to open_weights 2025-06-23 15:05:42 -04:00
Frank 8f4c403b64 Track if model weights are public 2025-06-23 14:24:37 -04:00
Anton Ödman e9d68c4edb Update name for GPT-4 in OpenAI provider 2025-06-23 14:26:45 +02:00
Frank a418631ad4 Add missing release date 2025-06-22 22:30:44 -04:00
Frank 413b00aff4 Merge pull request #20 from aryasaatvik/feat/model-dates
feat: add release_date and last_updated fields
2025-06-22 22:24:09 -04:00
Frank 573c30c139 sync 2025-06-22 21:23:09 -04:00
Frank 69cc57f565 Mark release_date and last_updated required 2025-06-22 20:56:23 -04:00
Frank e260395f83 Fix sorting reset to asc on page refresh 2025-06-22 20:55:26 -04:00
Dax 11be6a3025 Update provider.toml 2025-06-22 19:18:10 -04:00
Dax Raad 414cbe47aa fix copilot names 2025-06-22 19:06:32 -04:00
Dax Raad 3eb8c0832c fix env 2025-06-22 18:38:10 -04:00
Dax Raad 6fd1a5a776 add api field 2025-06-22 18:35:34 -04:00
Dax Raad 3d1e5cfee0 github copilot models 2025-06-22 18:34:07 -04:00
Obi.M e9e89279f6 Merge branch 'sst:dev' into dev 2025-06-22 13:49:51 +01:00
Obi Madu 5e2363d6a0 feat: add vertex ai provider 2025-06-22 13:47:29 +01:00
Netanel Draiman 2e5a81ecab claude-4-sonnet-20250522 2025-06-21 17:42:31 +03:00
Netanel Draiman dca15642b4 Added openrouter provider and top 10 programming models 2025-06-21 15:51:43 +03:00
Saatvik Arya 96d57c90a5 chore: add @types/bun as a devDependency in package.json and bun.lock
- Included @types/bun version 1.2.16 in devDependencies for type definitions.
- Updated bun.lock to reflect the addition of @types/bun and related dependencies.
2025-06-21 14:18:22 +05:30
Saatvik Arya 6face3acb8 feat: implement URL state management for table sorting and filtering
- Added functions to manage URL query parameters for sorting and searching in the table.
- Implemented initialization of table state from URL parameters on page load and popstate events.
- Refactored search input handling to update URL parameters accordingly.
2025-06-21 14:18:04 +05:30
Saatvik Arya 77f330acb5 fix: add sortable cursor style to table header 2025-06-21 14:17:43 +05:30
Saatvik Arya 86b3368921 feat: add release date and last updated columns to rendered output
- Introduced new columns for Release Date and Last Updated in the rendered output.
- Updated the rendering logic to display corresponding model data for these fields.
2025-06-21 14:17:32 +05:30
Saatvik Arya 59ef568d79 fix: update release_date and last_updated for multiple models
- Updated release_date and last_updated fields for Anthropic Claude 2.1, Claude 2, DeepSeek Chat, Codestral, and Vercel models.
- Ensured all dates are accurate and follow the YYYY-MM-DD format.
2025-06-21 13:27:32 +05:30
Saatvik Arya fbc87e3434 feat: add comprehensive release dates for all AI models
- Updated 151+ model files across 11 providers with accurate release_date and last_updated fields
- Added dates for OpenAI, Azure, Anthropic, Google, Amazon Bedrock, Meta Llama, DeepSeek, xAI, Mistral, Groq, and other providers
- Corrected Llama 4 model dates to accurate release date (2025-04-05)
- Aligned Azure OpenAI models with corresponding OpenAI model dates
- Verified DeepSeek model dates through web research
- All dates follow YYYY-MM-DD format as per schema requirements
2025-06-21 13:13:40 +05:30
Saatvik Arya 7c007ccf77 feat(schema): add release_date and last_updated fields 2025-06-21 12:14:03 +05:30
Frank e3ecc39a94 Add tooltip 2025-06-20 17:54:21 -04:00
Frank d29a6bb7f3 Update model name 2025-06-19 18:06:28 -04:00
Frank c85cf693b5 Add cors 2025-06-19 17:54:56 -04:00
Frank 1feb325d51 refactor 2025-06-19 14:53:52 -04:00
Frank 381e37c4b1 Fix sorting 2025-06-19 14:50:27 -04:00
Frank a727649beb Reorder columns 2025-06-19 14:37:05 -04:00
Frank ead281da3c Update schema parsing 2025-06-19 14:22:53 -04:00
Frank add11fd432 Update data 2025-06-19 13:54:57 -04:00
Frank 0b2fc87444 Update data 2025-06-19 13:36:12 -04:00
Frank 1a19484b8c Update data 2025-06-19 12:59:13 -04:00
Frank 43c84718b8 Update data 2025-06-19 03:03:54 -04:00
Frank edc4a464e5 Update data 2025-06-19 02:56:13 -04:00
Frank 60eddd6231 Update data 2025-06-19 02:26:41 -04:00
Frank 9247d455ab Update modalities icon 2025-06-19 02:05:33 -04:00
Frank f8edfc4978 Update data 2025-06-19 02:05:06 -04:00
Frank 72f4d75424 Update data for google models 2025-06-19 01:53:30 -04:00
Frank 0b87a750d0 Render knowledge, tool call, input and output modalities 2025-06-19 01:39:52 -04:00
Frank 84fe7fd3ab Track tool_call, knowledge, and modalities 2025-06-19 01:28:00 -04:00
Frank d7fa41c64d organize css 2025-06-18 19:32:25 -04:00
Frank 26bfab18ea change copied color 2025-06-18 19:23:01 -04:00
Frank 04575856fe organize code 2025-06-18 19:10:22 -04:00
Frank bb5c741e11 copy model id 2025-06-18 18:44:57 -04:00
Frank da2b414136 Highlight useful columns 2025-06-18 18:31:36 -04:00
Frank 4d54b26a4a render numbers better 2025-06-18 18:26:57 -04:00
Frank f13c3d178a Fix styling 2025-06-18 18:23:56 -04:00
Frank aa0cca6366 cmd+k esc 2025-06-18 18:22:20 -04:00
Frank 763a34565b cmd+k 2025-06-18 18:16:29 -04:00
Frank 46172f4159 add sorting 2025-06-18 17:58:41 -04:00
Dax Raad cffe57f166 sync 2025-06-18 14:31:40 -04:00
Frank 74209c949a Merge pull request #4 from adeleke5140/fix-input-color-in-dark-mode
fix(style): make input text readable in dark mode
2025-06-18 14:15:16 -04:00
Frank 54efd37f20 sync 2025-06-18 14:14:29 -04:00
Frank 54f207b2a6 Merge branch 'dev' into pr/4 2025-06-18 14:10:56 -04:00
Frank 799c921848 Update Morph provider 2025-06-18 14:09:45 -04:00
Frank 152baf7d53 Add documentation links for various providers in TOML files 2025-06-18 13:56:21 -04:00
Frank 937b3c3559 Merge pull request #5 from danielmerja/llama-models
Add new provider Llama (LLama API) and all models for the Llama API.
2025-06-18 13:37:11 -04:00
Frank 347f02a063 sync 2025-06-18 13:36:25 -04:00
Frank 14221a1222 Delete package-lock.json 2025-06-18 12:49:56 -04:00
Frank 461d6506a3 Merge branch 'dev' into pr/5 2025-06-18 12:45:46 -04:00
Frank 44919f5c9d Merge pull request #14 from monotykamary/feat/add-google-gemini-2.5-models
feat(google): add gemini 2.5 pro, flash, and flash lite preview models
2025-06-18 09:23:28 -04:00
Tom X Nguyen 7acccd4471 feat(google): add gemini 2.5 pro, flash, and flash lite preview models
🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <noreply@opencode.ai>
2025-06-18 10:20:59 +07:00
Terence Bezman c40fcefb2b fix height of github icon (#13) 2025-06-17 21:14:41 -04:00
Dax Raad 2af16036a5 sync 2025-06-17 20:41:38 -04:00
Daniel Merja 0f00fc5559 Fix model name formatting in Cerebras Llama configuration 2025-06-18 00:39:38 +00:00
Dax Raad ee0b704e27 sync 2025-06-17 20:34:38 -04:00
Daniel Merja 2a4950d68d Add new provider Llama (LLama API) and all models for the Llama API. 2025-06-17 20:25:46 -04:00
bhaktatejas922 5a68248302 morph fast apply models (#7) 2025-06-17 19:57:11 -04:00
Dax Raad 5fc59c2320 sync 2025-06-17 19:55:45 -04:00
Dax a270820e87 Rework (#12)
* sync

* sync

* sync
2025-06-17 19:52:16 -04:00
Kenny d3bfa6bec4 fix(style): make input text readable in dark mode 2025-06-17 00:41:17 +01:00
4160 changed files with 87537 additions and 1309 deletions
+9 -6
View File
@@ -20,15 +20,18 @@ jobs:
with:
bun-version: latest
# Workaround for Pulumi version conflict:
# GitHub runners have Pulumi 3.212.0+ pre-installed, which removed the -root flag
# from pulumi-language-nodejs (see https://github.com/pulumi/pulumi/pull/21065).
# SST 3.17.x uses Pulumi SDK 3.210.0 which still passes -root, causing a conflict.
# Removing the system language plugin forces SST to use its bundled compatible version.
# TODO: Remove when sst supports Pulumi >3.210.0
- name: Fix Pulumi version conflict
run: sudo rm -f /usr/local/bin/pulumi-language-nodejs
- name: Install dependencies
run: bun install
- name: Run validation script
run: bun scripts/validate
- name: Generate data
run: bun scripts/generate
- run: bun sst deploy --stage=dev
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
+27
View File
@@ -0,0 +1,27 @@
name: opencode
on:
issue_comment:
types: [created]
jobs:
opencode:
if: |
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
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Run opencode
uses: sst/opencode/github@latest
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
with:
model: anthropic/claude-sonnet-4-20250514
+1 -1
View File
@@ -21,4 +21,4 @@ jobs:
run: bun install
- name: Run validation script
run: bun scripts/validate
run: bun validate
+5
View File
@@ -1,4 +1,9 @@
.env
.sst
.idea
dist
.DS_Store
node_modules
data/tokenspeed-monitor.sqlite
data/tokenspeed-monitor.sqlite-shm
data/tokenspeed-monitor.sqlite-wal
+48 -18
View File
@@ -1,27 +1,57 @@
# Agent Guidelines for models.dev
## Build/Test Commands
- **Build**: `bun run scripts/generate` - Generates api.json from TOML files
- **Validate**: `bun run scripts/validate` - Validates all TOML files against schemas
- **Deploy**: `sst deploy` - Deploy to Cloudflare Workers
- **Dev**: `sst dev` - Local development server
## Commands
- **Validate**: `bun validate` - Validates all provider/model configurations
- **Build web**: `cd packages/web && bun run build` - Builds the web interface
- **Dev server**: `cd packages/web && bun run dev` - Runs development server
- **No test framework** - No dedicated test commands found
## Code Style
- **Runtime**: Bun with TypeScript ESM modules
- **Imports**: Use explicit imports, prefer named imports over default
- **Types**: Use Zod schemas for validation, infer types with `z.infer<>`
- **Imports**: Use `.js` extensions for local imports (e.g., `./schema.js`)
- **Types**: Strict Zod schemas for validation, inferred types with `z.infer<typeof Schema>`
- **Naming**: camelCase for variables/functions, PascalCase for types/schemas
- **Error Handling**: Use try-catch blocks, throw Error objects with descriptive messages
- **Formatting**: 2-space indentation, semicolons, double quotes for strings
- **Error handling**: Use Zod's `safeParse()` with structured error objects including `cause`
- **Async**: Use `async/await`, `for await` loops for file operations
- **File operations**: Use Bun's native APIs (`Bun.Glob`, `Bun.file`, `Bun.write`)
## Architecture
- **Framework**: Hono for HTTP handling, SST for infrastructure
- **Data**: TOML files in `providers/` directory define models and providers
- **Validation**: All TOML files must pass schema validation before deployment
- **Output**: Generated `dist/api.json` serves as the API data source
- **Monorepo**: Workspace packages in `packages/` (core, web, function)
- **Config**: TOML files for providers/models in `providers/` directory
- **Validation**: Core package validates all configurations via `generate()` function
- **Web**: Static site generation with Hono server and vanilla TypeScript
- **Deploy**: Cloudflare Workers for function, static assets for web
## File Structure
- `app/schemas.ts` - Zod schemas for validation
- `app/worker.tsx` - Cloudflare Worker with JSX rendering
- `providers/*/` - TOML files defining providers and models
- `scripts/` - Build and validation scripts
## Conventions
- Use `export interface` for API types, `export const Schema = z.object()` for validation
- Prefix unused variables with underscore or use `_` for ignored parameters
- Handle undefined values explicitly in comparisons and sorting
- Use optional chaining (`?.`) and nullish coalescing (`??`) for safe property access
## Model Configuration
- Model `id` is **auto-injected** from filename (minus `.toml`) — never put `id` in TOML files
- Same model is duplicated across provider directories with no cross-referencing
- Schema uses `.strict()` — extra fields cause validation errors
### Bedrock Naming Patterns
- Dated models: `-v1:0` suffix (`anthropic.claude-3-5-sonnet-20241022-v1:0.toml`)
- Latest/undated models: bare `-v1` (`anthropic.claude-opus-4-6-v1.toml`)
- Region prefixes: `us.`, `eu.`, `global.` (default has no prefix)
### Vertex AI Naming Patterns
- Dated models: `@YYYYMMDD` (`claude-opus-4-5@20251101.toml`)
- Latest/undated models: `@default` (`claude-opus-4-6@default.toml`)
### Cost Schema
- `cost.context_over_200k` is a nested `Cost` object for >200K token pricing
- Cache pricing ratios: standard models use 10%/125% (read/write), regional variants may use 30%/375%
### Required vs Optional Fields
| Field | Required? | Notes |
|-------|-----------|-------|
| `name`, `release_date`, `last_updated` | Yes | Human-readable metadata |
| `attachment`, `reasoning`, `tool_call`, `open_weights` | Yes | Boolean capabilities |
| `cost`, `limit`, `modalities` | Yes | Objects with their own required fields |
| `family`, `knowledge`, `temperature`, `structured_output` | No | Optional metadata |
| `status` | No | Use for `"alpha"`, `"beta"`, `"deprecated"` lifecycle |
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 models.dev
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+127 -28
View File
@@ -1,9 +1,9 @@
<p align="center">
<a href="https://models.dev">
<picture>
<source srcset="dist/logo-dark.svg" media="(prefers-color-scheme: dark)">
<source srcset="dist/logo-light.svg" media="(prefers-color-scheme: light)">
<img src="dist/logo-light.svg" alt="Models.dev logo">
<source srcset="./logo-dark.svg" media="(prefers-color-scheme: dark)">
<source srcset="./logo-light.svg" media="(prefers-color-scheme: light)">
<img src="./logo-light.svg" alt="Models.dev logo">
</picture>
</a>
</p>
@@ -24,9 +24,19 @@ curl https://models.dev/api.json
Use the **Model ID** field to do a lookup on any model; it's the identifier used by [AI SDK](https://ai-sdk.dev/).
### Logos
Provider logos are available as SVG files:
```bash
curl https://models.dev/logos/{provider}.svg
```
Replace `{provider}` with the **Provider ID** (e.g., `anthropic`, `openai`, `google`). If we don't have a provider's logo, a default logo is served instead.
## Contributing
The data is stored in the repo as TOML files; organized by provider and model. This is used to generate this page and power the API.
The data is stored in the repo as TOML files; organized by provider and model. The logo is stored as an SVG. This is used to generate this page and power the API.
We need your help keeping the data up to date.
@@ -36,37 +46,81 @@ To add a new model, start by checking if the provider already exists in the `pro
#### 1. Create a Provider
If the AI provider doesn't already exist in the `providers/` directory:
If the provider isn't already in `providers/`:
1. Create a new folder in `providers/` with the provider's ID. For example, `providers/newprovider/`.
2. Add a `provider.toml` file with the provider information:
2. Add a `provider.toml` with the provider details:
```toml
name = "Provider Name"
npm = "@ai-sdk/provider" # AI SDK Package name
env = ["PROVIDER_API_KEY"] # Environment Variable keys used for auth
doc = "https://example.com/docs/models" # Link to provider's documentation
```
#### 2. Add a Model Definition
If the provider doesnt publish an npm package but exposes an OpenAI-compatible endpoint, set the npm field accordingly and include the base URL:
Create a new TOML file in the provider's `models/` directory where the filename is the model ID:
```toml
npm = "@ai-sdk/openai-compatible" # Use OpenAI-compatible SDK
api = "https://api.example.com/v1" # Required with openai-compatible
```
#### 2. Add a Logo (optional)
To add a logo for the provider:
1. Add a `logo.svg` file to the provider's directory (e.g., `providers/newprovider/logo.svg`)
2. Use SVG format with no fixed size or colors - use `currentColor` for fills/strokes
Example SVG structure:
```svg
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<!-- Logo paths here -->
</svg>
```
#### 3. Add a Model Definition
Create a new TOML file in the provider's `models/` directory where the filename is the model ID.
If the model ID contains `/`, use subfolders. For example, for the model ID `openai/gpt-5`, create a folder `openai/` and place a file named `gpt-5.toml` inside it.
```toml
name = "Model Display Name"
attachment = true # or false - supports file attachments
reasoning = false # or true - supports reasoning/chain-of-thought
temperature = true # or false - supports temperature parameter
attachment = true # or false - supports file attachments
reasoning = false # or true - supports reasoning / chain-of-thought
tool_call = true # or false - supports tool calling
structured_output = true # or false - supports a dedicated structured output feature
temperature = true # or false - supports temperature control
knowledge = "2024-04" # Knowledge-cutoff date
release_date = "2025-02-19" # First public release date
last_updated = "2025-02-19" # Most recent update date
open_weights = true # or false - models trained weights are publicly available
[cost]
input = 3.00 # Cost per million input tokens (USD)
output = 15.00 # Cost per million output tokens (USD)
inputCached = 0.30 # Cost per million cached input tokens (USD)
outputCached = 0.30 # Cost per million cached output tokens (USD)
input = 3.00 # Cost per million input tokens (USD)
output = 15.00 # Cost per million output tokens (USD)
reasoning = 15.00 # Cost per million reasoning tokens (USD)
cache_read = 0.30 # Cost per million cached read tokens (USD)
cache_write = 3.75 # Cost per million cached write tokens (USD)
input_audio = 1.00 # Cost per million audio input tokens (USD)
output_audio = 10.00 # Cost per million audio output tokens (USD)
[limit]
context = 200_000 # Maximum context window (tokens)
output = 8_192 # Maximum output tokens
context = 400_000 # Maximum context window (tokens)
input = 272_000 # Maximum input tokens
output = 8_192 # Maximum output tokens
[modalities]
input = ["text", "image"] # Supported input modalities
output = ["text"] # Supported output modalities
[interleaved]
field = "reasoning_content" # Name of the interleaved field "reasoning_content" or "reasoning_details"
```
#### 3. Submit a Pull Request
#### 4. Submit a Pull Request
1. Fork this repo
2. Create a new branch with your changes
@@ -89,19 +143,41 @@ Models must conform to the following schema, as defined in `app/schemas.ts`.
**Provider Schema:**
- `name`: String - Display name of the provider
- `npm`: String - AI SDK Package name
- `env`: String[] - Environment variable keys used for auth
- `doc`: String - Link to the provider's documentation
- `api` _(optional)_: String - OpenAI-compatible API endpoint. Required only when using `@ai-sdk/openai-compatible` as the npm package
**Model Schema:**
- `name`: String - Display name of the model
- `attachment`: Boolean - Whether the model supports file attachments
- `reasoning`: Boolean - Whether the model supports reasoning capabilities
- `temperature`: Boolean - Whether the model supports temperature control
- `cost.input`: Number - Cost per million input tokens (USD)
- `cost.output`: Number - Cost per million output tokens (USD)
- `cost.inputCached`: Number - Cost per million cached input tokens (USD)
- `cost.outputCached`: Number - Cost per million cached output tokens (USD)
- `limit.context`: Number - Maximum context window in tokens
- `limit.output`: Number - Maximum output tokens
- `name`: String Display name of the model
- `attachment`: Boolean — Supports file attachments
- `reasoning`: Boolean — Supports reasoning / chain-of-thought
- `tool_call`: Boolean - Supports tool calling
- `structured_output` _(optional)_: Boolean — Supports structured output feature
- `temperature` _(optional)_: Boolean — Supports temperature control
- `knowledge` _(optional)_: String — Knowledge-cutoff date in `YYYY-MM` or `YYYY-MM-DD` format
- `release_date`: String — First public release date in `YYYY-MM` or `YYYY-MM-DD`
- `last_updated`: String — Most recent update date in `YYYY-MM` or `YYYY-MM-DD`
- `open_weights`: Boolean - Indicate the model's trained weights are publicly available
- `interleaved` _(optional)_: Boolean or Object — Supports interleaved reasoning. Use `true` for general support or an object with `field` to specify the format
- `interleaved.field`: String — Name of the interleaved field (`"reasoning_content"` or `"reasoning_details"`)
- `cost.input`: Number — Cost per million input tokens (USD)
- `cost.output`: Number — Cost per million output tokens (USD)
- `cost.reasoning` _(optional)_: Number — Cost per million reasoning tokens (USD)
- `cost.cache_read` _(optional)_: Number — Cost per million cached read tokens (USD)
- `cost.cache_write` _(optional)_: Number — Cost per million cached write tokens (USD)
- `cost.input_audio` _(optional)_: Number — Cost per million audio input tokens, if billed separately (USD)
- `cost.output_audio` _(optional)_: Number — Cost per million audio output tokens, if billed separately (USD)
- `limit.context`: Number — Maximum context window (tokens)
- `limit.input`: Number — Maximum input tokens
- `limit.output`: Number — Maximum output tokens
- `modalities.input`: Array of strings — Supported input modalities (e.g., ["text", "image", "audio", "video", "pdf"])
- `modalities.output`: Array of strings — Supported output modalities (e.g., ["text"])
- `status` _(optional)_: String — Supported status:
- `alpha` - Indicate the model is in alpha testing
- `beta` - Indicate the model is in beta testing
- `deprecated` - Indicate the model is no longer served by the provider's public API
### Examples
@@ -111,6 +187,29 @@ See existing providers in the `providers/` directory for reference:
- `providers/openai/` - OpenAI GPT models
- `providers/google/` - Google Gemini models
### Working on frontend
Make sure you have [Bun](https://bun.sh/) installed.
```bash
$ bun install
$ cd packages/web
$ bun run dev
```
And it'll open the frontend at http://localhost:3000
### Manual testing with opencode
You can manually check provider changes with opencode by:
```bash
$ bun install
$ cd packages/web
$ bun run build
$ OPENCODE_MODELS_PATH="dist/_api.json" opencode
```
### Questions?
Open an issue if you need help or have questions about contributing.
-44
View File
@@ -1,44 +0,0 @@
import { z } from "zod";
// Define schema for provider.toml
export const ProviderSchema = z
.object({
name: z.string().min(1, "Provider name cannot be empty"),
env: z.array(z.string()).min(1, "Provider env cannot be empty"),
npm: z.string().min(1, "Provider npm module cannot be empty"),
})
.strict();
// Define schema for model files
export const ModelSchema = z
.object({
name: z.string().min(1, "Model name cannot be empty"),
attachment: z.boolean(),
reasoning: z.boolean(),
temperature: z.boolean(),
cost: z.object({
input: z.number().min(0, "Input price cannot be negative"),
output: z.number().min(0, "Output price cannot be negative"),
cache_read: z.number().min(0, "Cache read price cannot be negative").optional(),
cache_write: z.number().min(0, "Cache write price cannot be negative").optional(),
}),
limit: z.object({
context: z.number().min(0, "Context window must be positive"),
output: z.number().min(0, "Output tokens must be positive"),
}),
})
.strict();
// Define types based on schemas
export type Provider = z.infer<typeof ProviderSchema>;
export type Model = z.infer<typeof ModelSchema>;
// Define the API data structure
export interface ApiData {
[providerId: string]: Provider & {
id: string;
models: {
[modelId: string]: Model & { id: string };
};
};
}
-280
View File
@@ -1,280 +0,0 @@
import { Hono } from "hono";
import { cors } from "hono/cors";
import type { Fetcher } from "@cloudflare/workers-types";
import type { ApiData } from "./schemas";
interface Env {
ASSETS: Fetcher;
}
// Create a typed Hono app
const app = new Hono<{ Bindings: Env }>();
app.use("*", cors());
// Root route
app.get("/", async (c) => {
try {
// Get the api.json file using env.ASSETS binding
const apiJsonResponse = await c.env.ASSETS.fetch(
new URL("api.json", c.req.url)
);
if (!apiJsonResponse) {
throw new Error("api.json not found");
}
// Decode the JSON file
const apiData = (await apiJsonResponse.json()) as ApiData;
return c.html(
<html>
<head>
<title>Models.dev &mdash; An open-source database of AI models</title>
<meta
name="description"
content="Models.dev is a comprehensive open-source database of AI model specifications, pricing, and features."
/>
<meta
name="viewport"
content="width=device-width, initial-scale=1.0"
/>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link
rel="preconnect"
href="https://fonts.gstatic.com"
crossOrigin="anonymous"
/>
<link
href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Rubik:wght@300..900&display=swap"
rel="stylesheet"
/>
<script src="/index.js"></script>
<link rel="stylesheet" href="/index.css" />
<link
rel="icon"
href="/favicon.svg"
sizes="any"
type="image/svg+xml"
/>
<meta
property="og:image"
content="https://models.dev/social-share.png"
/>
</head>
<body>
<header>
<div class="left">
<h1>Models.dev</h1>
<span class="slash"></span>
<p>An open-source database of AI models</p>
</div>
<div class="right">
<a
class="github"
target="_blank"
rel="noopener noreferrer"
href="https://github.com/sst/models.dev"
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
>
<path
fill="currentColor"
d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2"
></path>
</svg>
</a>
<input
type="text"
id="searchInput"
onkeyup="filterTable()"
placeholder="Filter by provider or model..."
/>
<button id="btnHowToUse">How to use</button>
</div>
</header>
<table>
<thead>
<tr>
<th>Provider</th>
<th>Model</th>
<th>Provider ID</th>
<th>Model ID</th>
<th>Attachment</th>
<th>Reasoning</th>
<th>Temperature</th>
<th data-desc="per 1M tokens">Input Cost</th>
<th data-desc="per 1M tokens">Output Cost</th>
<th data-desc="per 1M tokens">Cache Read Cost</th>
<th data-desc="per 1M tokens">Cache Write Cost</th>
<th>Context Limit</th>
<th>Output Limit</th>
</tr>
</thead>
<tbody>
{Object.entries(apiData)
.sort(([, providerA], [, providerB]) =>
providerA.name.localeCompare(providerB.name)
)
.flatMap(([providerId, provider]) =>
Object.entries(provider.models)
.sort(([, modelA], [, modelB]) =>
modelA.name.localeCompare(modelB.name)
)
.map(([modelId, model]) => (
<tr key={`${providerId}-${modelId}`}>
<td>{provider.name}</td>
<td>{model.name}</td>
<td>{providerId}</td>
<td>{modelId}</td>
<td>{model.attachment ? "Yes" : "No"}</td>
<td>{model.reasoning ? "Yes" : "No"}</td>
<td>{model.temperature ? "Yes" : "No"}</td>
<td>${model.cost.input}</td>
<td>${model.cost.output}</td>
<td>{model.cost.cache_read ? `$${model.cost.cache_read}` : "-"}</td>
<td>{model.cost.cache_write ? `$${model.cost.cache_write}` : "-"}</td>
<td>{model.limit.context}</td>
<td>{model.limit.output}</td>
</tr>
))
)}
</tbody>
</table>
<dialog id="howToUse">
<div class="header">
<h2>How to use</h2>
<button id="btnClose">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<line
x1="18"
y1="6"
x2="6"
y2="18"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
/>
<line
x1="6"
y1="6"
x2="18"
y2="18"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
/>
</svg>
</button>
</div>
<div class="body">
<p>
<a href="/">Models.dev</a> is a comprehensive open-source
database of AI model specifications, pricing, and features.
</p>
<p>
There&apos;s no single database with information about all the
available AI models. We started Models.dev as a
community-contributed project to address this. We also use it
internally in{" "}
<a
href="https://opencode.ai"
target="_blank"
rel="noopener noreferrer"
>
opencode
</a>
.
</p>
<h2>API</h2>
<p>You can access this data through an API.</p>
<div class="code-block">
<code>
curl <a href="/api.json">https://models.dev/api.json</a>
</code>
</div>
<p>
Use the <b>Model ID</b> field to do a lookup on any model;
it&apos;s the identifier used by{" "}
<a
href="https://ai-sdk.dev/"
target="_blank"
rel="noopener noreferrer"
>
AI SDK
</a>
.
</p>
<h2>Contribute</h2>
<p>
The data is stored in the{" "}
<a
href="https://github.com/sst/models.dev"
target="_blank"
rel="noopener noreferrer"
>
GitHub repo
</a>{" "}
as TOML files; organized by provider and model. This is used to
generate this page and power the API.
</p>
<p>
We need your help keeping this up to date. Feel free to edit the
data and submit a pull request. Refer to the{" "}
<a href="https://github.com/sst/models.dev/blob/dev/README.md">
README
</a>{" "}
for more information.
</p>
</div>
<div class="footer">
<a
href="https://github.com/sst/models.dev"
target="_blank"
rel="noopener noreferrer"
>
Edit on GitHub
</a>
<a
href="https://sst.dev"
target="_blank"
rel="noopener noreferrer"
>
Created by SST
</a>
</div>
</dialog>
</body>
</html>
);
} catch (err) {
const error = err instanceof Error ? err : new Error(String(err));
return c.html(
<html>
<body>
<h1>Error</h1>
<p>{error.message}</p>
</body>
</html>
);
}
});
// Default route - return 404 for any other path
app.all("*", (c) => {
return c.html(
<html>
<body>
<h1>404 - Not Found</h1>
<p>The requested page does not exist.</p>
</body>
</html>,
404
);
});
export default {
fetch: app.fetch,
};
+83 -32
View File
@@ -1,35 +1,68 @@
{
"lockfileVersion": 1,
"configVersion": 0,
"workspaces": {
"": {
"name": "models.dev",
"dependencies": {
"@iarna/toml": "^2.2.5",
"hono": "^4.7.11",
"sst": "^3.17.3",
"zod": "^3.25.51",
"@cloudflare/workers-types": "^4.20250801.0",
"sst": "3.17.23",
},
},
"packages/core": {
"name": "models.dev",
"version": "0.0.0",
"dependencies": {
"zod": "catalog:",
},
"devDependencies": {
"@cloudflare/workers-types": "^4.20250605.0",
"@types/bun": "latest",
"@tsconfig/bun": "catalog:",
"@types/bun": "catalog:",
"@types/node": "catalog:",
},
"peerDependencies": {
"typescript": "^5",
},
"packages/function": {
"name": "@models.dev/function",
"devDependencies": {
"@cloudflare/workers-types": "4.20250522.0",
"@tsconfig/bun": "catalog:",
},
},
"packages/web": {
"name": "@models.dev/web",
"dependencies": {
"hono": "^4.8.0",
"models.dev": "workspace:*",
},
"devDependencies": {
"@types/bun": "^1.2.16",
},
},
},
"catalog": {
"@tsconfig/bun": "^1.0.8",
"@types/bun": "1.3.0",
"@types/node": "22.13.9",
"ai": "4.3.16",
"typescript": "5.8.2",
"zod": "3.24.2",
},
"packages": {
"@cloudflare/workers-types": ["@cloudflare/workers-types@4.20250605.0", "", {}, "sha512-e3/ZCXcpmk3jUNfq/2gyVYqeOqUhuQ0hsSdohSGscCgTkUI37QraVeCAOQtciKPDFXKOkaGGkmxg+RLYunbKuw=="],
"@iarna/toml": ["@iarna/toml@2.2.5", "", {}, "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg=="],
"@cloudflare/workers-types": ["@cloudflare/workers-types@4.20250801.0", "", {}, "sha512-BQmMdoOGClY23TesgkR1PeGrPvPsSFD/zW7pDzWZHkOEsqkPk2A91h52bP8GbtKYTl1vdaYjQgJlGsP6Ih4G0w=="],
"@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.6.1", "", { "dependencies": { "content-type": "^1.0.5", "cors": "^2.8.5", "eventsource": "^3.0.2", "express": "^5.0.1", "express-rate-limit": "^7.5.0", "pkce-challenge": "^4.1.0", "raw-body": "^3.0.0", "zod": "^3.23.8", "zod-to-json-schema": "^3.24.1" } }, "sha512-oxzMzYCkZHMntzuyerehK3fV6A2Kwh5BD6CGEJSVDU2QNEhfLOptf2X7esQgaHZXHZY0oHmMsOtIDLP71UJXgA=="],
"@tsconfig/bun": ["@tsconfig/bun@1.0.7", "", {}, "sha512-udGrGJBNQdXGVulehc1aWT73wkR9wdaGBtB6yL70RJsqwW/yJhIg6ZbRlPOfIUiFNrnBuYLBi9CSmMKfDC7dvA=="],
"@models.dev/function": ["@models.dev/function@workspace:packages/function"],
"@types/bun": ["@types/bun@1.2.15", "", { "dependencies": { "bun-types": "1.2.15" } }, "sha512-U1ljPdBEphF0nw1MIk0hI7kPg7dFdPyM7EenHsp6W5loNHl7zqy6JQf/RKCgnUn2KDzUpkBwHPnEJEjII594bA=="],
"@models.dev/web": ["@models.dev/web@workspace:packages/web"],
"@types/node": ["@types/node@22.15.29", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ=="],
"@tsconfig/bun": ["@tsconfig/bun@1.0.8", "", {}, "sha512-JlJaRaS4hBTypxtFe8WhnwV8blf0R+3yehLk8XuyxUYNx6VXsKCjACSCvOYEFUiqlhlBWxtYCn/zRlOb8BzBQg=="],
"@types/bun": ["@types/bun@1.2.16", "", { "dependencies": { "bun-types": "1.2.16" } }, "sha512-1aCZJ/6nSiViw339RsaNhkNoEloLaPzZhxMOYEa7OzRzO41IGg5n/7I43/ZIAW/c+Q6cT12Vf7fOZOoVIzb5BQ=="],
"@types/node": ["@types/node@22.13.9", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw=="],
"@types/react": ["@types/react@19.2.2", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA=="],
"accepts": ["accepts@2.0.0", "", { "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" } }, "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng=="],
@@ -45,7 +78,7 @@
"buffer": ["buffer@4.9.2", "", { "dependencies": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", "isarray": "^1.0.0" } }, "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg=="],
"bun-types": ["bun-types@1.2.15", "", { "dependencies": { "@types/node": "*" } }, "sha512-NarRIaS+iOaQU1JPfyKhZm4AsUOrwUOqRNHY0XxI8GI8jYxiLXLcdjYMG9UKS+fwWasc1uw1htV9AX24dD+p4w=="],
"bun-types": ["bun-types@1.2.16", "", { "dependencies": { "@types/node": "*" } }, "sha512-ciXLrHV4PXax9vHvUrkvun9VPVGOVwbbbBF/Ev1cXz12lyEZMoJpIJABOfPcN9gDJRaiKF9MVbSygLg4NXu3/A=="],
"bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="],
@@ -65,6 +98,8 @@
"cors": ["cors@2.8.5", "", { "dependencies": { "object-assign": "^4", "vary": "^1" } }, "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g=="],
"csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="],
"debug": ["debug@4.4.1", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ=="],
"define-data-property": ["define-data-property@1.1.4", "", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="],
@@ -121,7 +156,7 @@
"hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
"hono": ["hono@4.7.11", "", {}, "sha512-rv0JMwC0KALbbmwJDEnxvQCeJh+xbS3KEWW5PC9cMJ08Ur9xgatI0HmtgYZfOdOSOeYsp5LO2cOhdI8cLEbDEQ=="],
"hono": ["hono@4.8.0", "", {}, "sha512-NoiHrqJxoe1MYXqW+/0/Q4NCizKj2Ivm4KmX8mOSBtw9UJ7KYaOGKkO7csIwO5UlZpfvVRdcgiMb0GGyjEjtcw=="],
"http-errors": ["http-errors@2.0.0", "", { "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": "2.0.1", "toidentifier": "1.0.1" } }, "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ=="],
@@ -163,6 +198,8 @@
"mime-types": ["mime-types@3.0.1", "", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA=="],
"models.dev": ["models.dev@workspace:packages/core"],
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
"negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="],
@@ -229,33 +266,31 @@
"side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="],
"sst": ["sst@3.17.3", "", { "dependencies": { "aws-sdk": "2.1692.0", "aws4fetch": "1.0.18", "jose": "5.2.3", "opencontrol": "0.0.6", "openid-client": "5.6.4" }, "optionalDependencies": { "sst-darwin-arm64": "3.17.3", "sst-darwin-x64": "3.17.3", "sst-linux-arm64": "3.17.3", "sst-linux-x64": "3.17.3", "sst-linux-x86": "3.17.3", "sst-win32-arm64": "3.17.3", "sst-win32-x64": "3.17.3", "sst-win32-x86": "3.17.3" }, "bin": { "sst": "bin/sst.mjs" } }, "sha512-YIRANIa52CbocJfsMBQMZ+KTJmE/2uiO2qj9v6P8OLB0JDcaazt03dZjtkBDed6FDGSntwLtPlJBUpMC38dm1A=="],
"sst": ["sst@3.17.23", "", { "dependencies": { "aws-sdk": "2.1692.0", "aws4fetch": "1.0.18", "jose": "5.2.3", "opencontrol": "0.0.6", "openid-client": "5.6.4" }, "optionalDependencies": { "sst-darwin-arm64": "3.17.23", "sst-darwin-x64": "3.17.23", "sst-linux-arm64": "3.17.23", "sst-linux-x64": "3.17.23", "sst-linux-x86": "3.17.23", "sst-win32-arm64": "3.17.23", "sst-win32-x64": "3.17.23", "sst-win32-x86": "3.17.23" }, "bin": { "sst": "bin/sst.mjs" } }, "sha512-TwKgUgDnZdc1Swe+bvCNeyO4dQnYz5cTodMpYj3jlXZdK9/KNz0PVxT1f0u5E76i1pmilXrUBL/f7iiMPw4RDg=="],
"sst-darwin-arm64": ["sst-darwin-arm64@3.17.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-t9meY1OueFspreyQBGYKLKS+bfNcHn4wpqbXkSARf3rBWDLJw21PxhVL0VmDMRTrJ2gtV+WewB6GRPheD/DvFg=="],
"sst-darwin-arm64": ["sst-darwin-arm64@3.17.23", "", { "os": "darwin", "cpu": "arm64" }, "sha512-R6kvmF+rUideOoU7KBs2SdvrIupoE+b+Dor/eq9Uo4Dojj7KvYDZI/EDm8sSCbbcx/opiWeyNqKtlnLEdCxE6g=="],
"sst-darwin-x64": ["sst-darwin-x64@3.17.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-iiREB6oAEhbzy4LByrdiSRxquxrgnoqk0spdQIAxtSMQ0z+fUfzdv9xZyyREUlREs3g0UUi7l78XXqruoiCKmA=="],
"sst-darwin-x64": ["sst-darwin-x64@3.17.23", "", { "os": "darwin", "cpu": "x64" }, "sha512-WW4P1S35iYCifQXxD+sE3wuzcN+LHLpuKMaNoaBqEcWGZnH3IPaDJ7rpLF0arkDAo/z3jZmWWzOCkr0JuqJ8vQ=="],
"sst-linux-arm64": ["sst-linux-arm64@3.17.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-lJ906HJXiLUSsS9ZPXxnB3HJ72uFTeKscimH+cS3HlLMYns8skw5JzNi7qY+Yu0O3UUoYuTZYCjVvCzz4kmgDw=="],
"sst-linux-arm64": ["sst-linux-arm64@3.17.23", "", { "os": "linux", "cpu": "arm64" }, "sha512-TjtNqgIh7RlAWgPLFCAt0mXvIB+J7WjmRvIRrAdX0mXsndOiBJ/DMOgXSLVsIWHCfPj8MIEot/hWpnJgXgIeag=="],
"sst-linux-x64": ["sst-linux-x64@3.17.3", "", { "os": "linux", "cpu": "x64" }, "sha512-wkw22NQscYfvt7xyCKZRxjFRxJTIqgK9DcYjGZzC9RxizVWGEqoCBizTkLcLCm2Stnx00wfQ6+AhnowkmcH13A=="],
"sst-linux-x64": ["sst-linux-x64@3.17.23", "", { "os": "linux", "cpu": "x64" }, "sha512-qdqJiEbYfCjZlI3F/TA6eoIU7JXVkEEI/UMILNf2JWhky0KQdCW2Xyz+wb6c0msVJCWdUM/uj+1DaiP2eXvghw=="],
"sst-linux-x86": ["sst-linux-x86@3.17.3", "", { "os": "linux", "cpu": "none" }, "sha512-cLYOBBOPSTfHsi1YNDUY3L7PDS85YUoDYj/TsNrTAFRhRltauQHFwrTyHh+Ra1wFUd53RpyIIf4ck9eJ2s6Azw=="],
"sst-linux-x86": ["sst-linux-x86@3.17.23", "", { "os": "linux", "cpu": "none" }, "sha512-aGmUujIvoNlmAABEGsOgfY1rxD9koC6hN8bnTLbDI+oI/u/zjHYh50jsbL0p3TlaHpwF/lxP3xFSuT6IKp+KgA=="],
"sst-win32-arm64": ["sst-win32-arm64@3.17.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-WhauOsOMLuFJnW2a8j2TTQzLq3Zbrzm4fVupggd+KCTNIpuxbom2Xql5CWKKxwrGPL9/LRSjhdal1finF8dHmg=="],
"sst-win32-arm64": ["sst-win32-arm64@3.17.23", "", { "os": "win32", "cpu": "arm64" }, "sha512-ZxdkGqYDrrZGz98rijDCN+m5yuCcwD6Bc9/6hubLsvdpNlVorUqzpg801Ec97xSK0nIC9g6pNiRyxAcsQQstUg=="],
"sst-win32-x64": ["sst-win32-x64@3.17.3", "", { "os": "win32", "cpu": "x64" }, "sha512-M2NuLp9R0YfR5gAvxy5440BgxBYYtr8MGeIABEo3YaQWQlA9Q4wHWB83e3A5wYTaPra6Qma6tT7n3Mgx/4LJ8w=="],
"sst-win32-x64": ["sst-win32-x64@3.17.23", "", { "os": "win32", "cpu": "x64" }, "sha512-yc9cor4MS49Ccy2tQCF1tf6M81yLeSGzGL+gjhUxpVKo2pN3bxl3w70eyU/mTXSEeyAmG9zEfbt6FNu4sy5cUA=="],
"sst-win32-x86": ["sst-win32-x86@3.17.3", "", { "os": "win32", "cpu": "none" }, "sha512-xkS+BX9y6s0RfSyD2XXNLd5H0YCFDAU8QttV6peqio7U6L/r91pSewZKi5yOUsmLEcb1AK5UZT8V69WPovRotg=="],
"sst-win32-x86": ["sst-win32-x86@3.17.23", "", { "os": "win32", "cpu": "none" }, "sha512-DIp3s54IpNAfdYjSRt6McvkbEPQDMxUu6RUeRAd2C+FcTJgTloon/ghAPQBaDgu2VoVgymjcJARO/XyfKcCLOQ=="],
"statuses": ["statuses@2.0.1", "", {}, "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="],
"statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="],
"toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="],
"type-is": ["type-is@2.0.1", "", { "dependencies": { "content-type": "^1.0.5", "media-typer": "^1.1.0", "mime-types": "^3.0.0" } }, "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw=="],
"typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="],
"undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
"undici-types": ["undici-types@6.20.0", "", {}, "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="],
"unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="],
@@ -277,14 +312,30 @@
"yallist": ["yallist@4.0.0", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="],
"zod": ["zod@3.25.51", "", {}, "sha512-TQSnBldh+XSGL+opiSIq0575wvDPqu09AqWe1F7JhUMKY+M91/aGlK4MhpVNO7MgYfHcVCB1ffwAUTJzllKJqg=="],
"zod": ["zod@3.24.2", "", {}, "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ=="],
"zod-to-json-schema": ["zod-to-json-schema@3.24.3", "", { "peerDependencies": { "zod": "^3.24.1" } }, "sha512-HIAfWdYIt1sssHfYZFCXp4rU1w2r8hVVXYIlmoa0r0gABLs5di3RCqPU5DDROogVz1pAdYBaz7HK5n9pSUNs3A=="],
"@models.dev/function/@cloudflare/workers-types": ["@cloudflare/workers-types@4.20250522.0", "", {}, "sha512-9RIffHobc35JWeddzBguGgPa4wLDr5x5F94+0/qy7LiV6pTBQ/M5qGEN9VA16IDT3EUpYI0WKh6VpcmeVEtVtw=="],
"bun-types/@types/node": ["@types/node@24.0.3", "", { "dependencies": { "undici-types": "~7.8.0" } }, "sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg=="],
"http-errors/statuses": ["statuses@2.0.1", "", {}, "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="],
"models.dev/@types/bun": ["@types/bun@1.3.0", "", { "dependencies": { "bun-types": "1.3.0" } }, "sha512-+lAGCYjXjip2qY375xX/scJeVRmZ5cY0wyHYyCYxNcdEXrQ4AOe3gACgd4iQ8ksOslJtW4VNxBJ8llUwc3a6AA=="],
"opencontrol/@tsconfig/bun": ["@tsconfig/bun@1.0.7", "", {}, "sha512-udGrGJBNQdXGVulehc1aWT73wkR9wdaGBtB6yL70RJsqwW/yJhIg6ZbRlPOfIUiFNrnBuYLBi9CSmMKfDC7dvA=="],
"opencontrol/hono": ["hono@4.7.4", "", {}, "sha512-Pst8FuGqz3L7tFF+u9Pu70eI0xa5S3LPUmrNd5Jm8nTHze9FxLTK9Kaj5g/k4UcwuJSXTP65SyHOPLrffpcAJg=="],
"opencontrol/zod": ["zod@3.24.2", "", {}, "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ=="],
"openid-client/jose": ["jose@4.15.9", "", {}, "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA=="],
"bun-types/@types/node/undici-types": ["undici-types@7.8.0", "", {}, "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="],
"models.dev/@types/bun/bun-types": ["bun-types@1.3.0", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-u8X0thhx+yJ0KmkxuEo9HAtdfgCBaM/aI9K90VQcQioAmkVp3SG3FkwWGibUFz3WdXAdcsqOcbU40lK7tbHdkQ=="],
"models.dev/@types/bun/bun-types/@types/node": ["@types/node@24.0.3", "", { "dependencies": { "undici-types": "~7.8.0" } }, "sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg=="],
"models.dev/@types/bun/bun-types/@types/node/undici-types": ["undici-types@7.8.0", "", {}, "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="],
}
}

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

+20 -11
View File
@@ -1,19 +1,28 @@
{
"name": "models.dev",
"module": "index.ts",
"type": "module",
"private": true,
"devDependencies": {
"@cloudflare/workers-types": "^4.20250605.0",
"@types/bun": "latest"
"workspaces": {
"packages": [
"packages/*"
],
"catalog": {
"typescript": "5.8.2",
"@types/node": "22.13.9",
"@types/bun": "1.3.0",
"zod": "3.24.2",
"ai": "4.3.16",
"@tsconfig/bun": "^1.0.8"
}
},
"peerDependencies": {
"typescript": "^5"
"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",
"vercel:generate": "bun ./packages/core/script/generate-vercel.ts",
"wandb:generate": "bun ./packages/core/script/generate-wandb.ts"
},
"dependencies": {
"@iarna/toml": "^2.2.5",
"hono": "^4.7.11",
"sst": "^3.17.3",
"zod": "^3.25.51"
"@cloudflare/workers-types": "^4.20250801.0",
"sst": "3.17.23"
}
}
+15
View File
@@ -0,0 +1,15 @@
{
"name": "models.dev",
"version": "0.0.0",
"$schema": "https://json.schemastore.org/package.json",
"type": "module",
"dependencies": {
"zod": "catalog:"
},
"main": "./src/index.ts",
"devDependencies": {
"@tsconfig/bun": "catalog:",
"@types/bun": "catalog:",
"@types/node": "catalog:"
}
}
+505
View File
@@ -0,0 +1,505 @@
#!/usr/bin/env bun
import { mkdir } from "node:fs/promises";
import path from "node:path";
import { z } from "zod";
// Friendli API endpoint
const API_ENDPOINT = "https://api.friendli.ai/serverless/v1/models";
// Zod schemas for API response validation
const Functionality = z.object({
tool_call: z.boolean(),
parallel_tool_call: z.boolean(),
structured_output: z.boolean(),
});
const Pricing = z.object({
input: z.number(),
output: z.number(),
response_time: z.number(),
unit_type: z.enum(["TOKEN", "SECOND"]),
});
const FriendliModel = z
.object({
id: z.string(),
name: z.string(),
max_completion_tokens: z.number(),
context_length: z.number(),
functionality: Functionality,
pricing: Pricing,
hugging_face_url: z.string().optional(),
description: z.string().optional(),
license: z.string().optional(),
policy: z.string().optional().nullable(),
created: z.number(), // Unix timestamp
})
.passthrough();
const FriendliResponse = z.object({
data: z.array(FriendliModel),
});
// Family inference patterns
const familyPatterns: [RegExp, string][] = [
[/llama-3\.3/i, "llama-3.3"],
[/llama-3\.1/i, "llama-3.1"],
[/llama-4/i, "llama-4"],
[/qwen3/i, "qwen3"],
[/deepseek-r1/i, "deepseek-r1"],
[/glm-4/i, "glm-4"],
[/glm-5/i, "glm"],
];
function inferFamily(modelId: string, modelName: string): string | undefined {
for (const [pattern, family] of familyPatterns) {
if (pattern.test(modelId) || pattern.test(modelName)) {
return family;
}
}
return undefined;
}
function extractModelName(fullName: string): string {
// "meta-llama/Llama-3.3-70B-Instruct" -> "Llama 3.3 70B Instruct"
const parts = fullName.split("/");
const modelName = parts.at(-1) ?? fullName;
return modelName
.replace(/-/g, " ")
.replace(/\b\w/g, (l) => l.toUpperCase());
}
// TODO: Replace with functionality.parse_reasoning from API when available
function isReasoningModel(modelId: string): boolean {
// Non-reasoning: Llama 3.x Instruct, Qwen3 Instruct
const nonReasoningPatterns = [
/llama-3\.\d.*instruct/i,
/qwen3.*instruct/i,
];
for (const pattern of nonReasoningPatterns) {
if (pattern.test(modelId)) {
return false;
}
}
// Everything else is reasoning or hybrid reasoning
return true;
}
function formatNumber(n: number): string {
if (n >= 1000) {
// Format with underscores for readability (e.g., 131_072)
return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, "_");
}
return n.toString();
}
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);
}
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;
reasoning?: number;
cache_read?: number;
cache_write?: number;
};
limit?: {
context?: number;
input?: number;
output?: number;
};
modalities?: {
input?: string[];
output?: string[];
};
provider?: {
npm?: string;
api?: string;
};
}
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;
}
}
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;
};
limit: {
context: number;
output: number;
};
modalities: {
input: string[];
output: string[];
};
}
function mergeModel(
apiModel: z.infer<typeof FriendliModel>,
existing: ExistingModel | null,
): MergedModel {
const contextTokens = apiModel.context_length;
const outputTokens = apiModel.max_completion_tokens;
const openWeights = Boolean(apiModel.hugging_face_url);
const merged: MergedModel = {
// Always from API
name: extractModelName(apiModel.name),
attachment: false, // All Friendli models are text-only currently
reasoning: isReasoningModel(apiModel.id),
tool_call: apiModel.functionality.tool_call,
temperature: true,
release_date: timestampToDate(apiModel.created),
last_updated: getTodayDate(),
open_weights: openWeights,
limit: {
context: contextTokens,
output: outputTokens,
},
modalities: {
input: ["text"],
output: ["text"],
},
};
// structured_output only if true
if (apiModel.functionality.structured_output === true) {
merged.structured_output = true;
}
// Cost from API - ONLY include if unit_type is TOKEN
if (apiModel.pricing.unit_type === "TOKEN") {
merged.cost = {
input: apiModel.pricing.input,
output: apiModel.pricing.output,
};
} else {
console.log(
` Note: ${apiModel.id} uses ${apiModel.pricing.unit_type} pricing - cost section omitted`,
);
}
// Preserve from existing OR infer
if (existing?.family) {
merged.family = existing.family;
} else {
const inferred = inferFamily(apiModel.id, apiModel.name);
if (inferred) {
merged.family = inferred;
}
}
// Preserve manual fields from existing
if (existing?.knowledge) {
merged.knowledge = existing.knowledge;
}
if (existing?.interleaved !== undefined) {
merged.interleaved = existing.interleaved;
}
if (existing?.status !== undefined) {
merged.status = existing.status;
}
return merged;
}
function formatToml(model: MergedModel): string {
const lines: string[] = [];
// Basic fields
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}"`);
}
// Interleaved section (if present)
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}"`);
}
}
// Cost section (only if present)
if (model.cost) {
lines.push("");
lines.push(`[cost]`);
lines.push(`input = ${model.cost.input}`);
lines.push(`output = ${model.cost.output}`);
}
// Limit section
lines.push("");
lines.push(`[limit]`);
lines.push(`context = ${formatNumber(model.limit.context)}`);
lines.push(`output = ${formatNumber(model.limit.output)}`);
// Modalities section
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";
}
interface Changes {
field: string;
oldValue: string;
newValue: string;
}
function detectChanges(
existing: ExistingModel | null,
merged: MergedModel,
): Changes[] {
if (!existing) return [];
const changes: Changes[] = [];
const compare = (field: string, oldVal: unknown, newVal: unknown) => {
const oldStr = JSON.stringify(oldVal);
const newStr = JSON.stringify(newVal);
if (oldStr !== newStr) {
changes.push({
field,
oldValue: formatValue(oldVal),
newValue: formatValue(newVal),
});
}
};
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);
};
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("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 modelsDir = path.join(
import.meta.dirname,
"..",
"..",
"..",
"providers",
"friendli",
"models",
);
if (dryRun) {
console.log(`[DRY RUN] Fetching Friendli models from API...`);
} else {
console.log(`Fetching Friendli models from API...`);
}
// Fetch API data
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 = FriendliResponse.safeParse(json);
if (!parsed.success) {
console.error("Invalid API response:", parsed.error.errors);
process.exit(1);
}
const apiModels = parsed.data.data;
// Get existing files (recursively)
const existingFiles = new Set<string>();
try {
for await (const file of new Bun.Glob("**/*.toml").scan({
cwd: modelsDir,
absolute: false,
})) {
existingFiles.add(file);
}
} catch {
// Directory might not exist yet
}
console.log(
`Found ${apiModels.length} models in API, ${existingFiles.size} existing files\n`,
);
// Track API model IDs for orphan detection
const apiModelIds = new Set<string>();
let created = 0;
let updated = 0;
let unchanged = 0;
for (const apiModel of apiModels) {
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 {
const changes = detectChanges(existing, merged);
if (changes.length > 0) {
updated++;
if (dryRun) {
console.log(`[DRY RUN] Would update: ${relativePath}`);
} else {
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++;
}
}
}
// Check for orphaned files
const orphaned: string[] = [];
for (const file of existingFiles) {
if (!apiModelIds.has(file)) {
orphaned.push(file);
console.log(`Warning: Orphaned file (not in API): ${file}`);
}
}
// Summary
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();
+208
View File
@@ -0,0 +1,208 @@
#!/usr/bin/env bun
import { z } from "zod";
import path from "node:path";
import { mkdir, rm, readdir, stat } from "node:fs/promises";
// Helicone public model registry endpoint
const DEFAULT_ENDPOINT =
"https://jawn.helicone.ai/v1/public/model-registry/models";
// Zod schemas to validate the Helicone response
const Pricing = z
.object({
prompt: z.number().optional(),
completion: z.number().optional(),
cacheRead: z.number().optional(),
cacheWrite: z.number().optional(),
reasoning: z.number().optional(),
})
.passthrough();
const Endpoint = z
.object({
provider: z.string(),
providerSlug: z.string().optional(),
supportsPtb: z.boolean().optional(),
pricing: Pricing.optional(),
})
.passthrough();
const ModelItem = z
.object({
id: z.string(),
name: z.string(),
author: z.string().optional(),
contextLength: z.number().optional(),
maxOutput: z.number().optional(),
trainingDate: z.string().optional(),
description: z.string().optional(),
inputModalities: z.array(z.string()).optional(),
outputModalities: z.array(z.string()).optional(),
supportedParameters: z.array(z.string()).optional(),
endpoints: z.array(Endpoint).optional(),
})
.passthrough();
const HeliconeResponse = z
.object({
data: z.object({
models: z.array(ModelItem),
total: z.number().optional(),
filters: z.any().optional(),
}),
})
.passthrough();
function pickEndpoint(m: z.infer<typeof ModelItem>) {
if (!m.endpoints || m.endpoints.length === 0) return undefined;
// Prefer endpoint that matches author if available
if (m.author) {
const match = m.endpoints.find((e) => e.provider === m.author);
if (match) return match;
}
return m.endpoints[0];
}
function boolFromParams(params: string[] | undefined, keys: string[]): boolean {
if (!params) return false;
const set = new Set(params.map((p) => p.toLowerCase()));
return keys.some((k) => set.has(k.toLowerCase()));
}
function sanitizeModalities(values: string[] | undefined): string[] {
if (!values) return ["text"]; // default to text
const allowed = new Set(["text", "audio", "image", "video", "pdf"]);
const out = values.map((v) => v.toLowerCase()).filter((v) => allowed.has(v));
return out.length > 0 ? out : ["text"];
}
function formatToml(model: z.infer<typeof ModelItem>) {
const ep = pickEndpoint(model);
const pricing = ep?.pricing;
const supported = model.supportedParameters ?? [];
const nowISO = new Date().toISOString().slice(0, 10);
const rdRaw = model.trainingDate ? String(model.trainingDate) : nowISO;
const releaseDate = rdRaw.slice(0, 10);
const lastUpdated = releaseDate;
const knowledge = model.trainingDate
? String(model.trainingDate).slice(0, 7)
: undefined;
const attachment = false; // Not exposed by Helicone registry
const temperature = boolFromParams(supported, ["temperature"]);
const toolCall = boolFromParams(supported, ["tools", "tool_choice"]);
const reasoning = boolFromParams(supported, [
"reasoning",
"include_reasoning",
]);
const inputMods = sanitizeModalities(model.inputModalities);
const outputMods = sanitizeModalities(model.outputModalities);
const lines: string[] = [];
lines.push(`name = "${model.name.replaceAll('"', '\\"')}"`);
lines.push(`release_date = "${releaseDate}"`);
lines.push(`last_updated = "${lastUpdated}"`);
lines.push(`attachment = ${attachment}`);
lines.push(`reasoning = ${reasoning}`);
lines.push(`temperature = ${temperature}`);
lines.push(`tool_call = ${toolCall}`);
if (knowledge) lines.push(`knowledge = "${knowledge}"`);
lines.push(`open_weights = false`);
lines.push("");
if (
pricing &&
(pricing.prompt ??
pricing.completion ??
pricing.cacheRead ??
pricing.cacheWrite ??
(reasoning && pricing.reasoning)) !== undefined
) {
lines.push(`[cost]`);
if (pricing.prompt !== undefined) lines.push(`input = ${pricing.prompt}`);
if (pricing.completion !== undefined)
lines.push(`output = ${pricing.completion}`);
if (reasoning && pricing.reasoning !== undefined)
lines.push(`reasoning = ${pricing.reasoning}`);
if (pricing.cacheRead !== undefined)
lines.push(`cache_read = ${pricing.cacheRead}`);
if (pricing.cacheWrite !== undefined)
lines.push(`cache_write = ${pricing.cacheWrite}`);
lines.push("");
}
const context = model.contextLength ?? 0;
const output = model.maxOutput ?? 4096;
lines.push(`[limit]`);
lines.push(`context = ${context}`);
lines.push(`output = ${output}`);
lines.push("");
lines.push(`[modalities]`);
lines.push(`input = [${inputMods.map((m) => `"${m}"`).join(", ")}]`);
lines.push(`output = [${outputMods.map((m) => `"${m}"`).join(", ")}]`);
return lines.join("\n") + "\n";
}
async function main() {
const endpoint = DEFAULT_ENDPOINT;
const outDir = path.join(
import.meta.dirname,
"..",
"..",
"..",
"providers",
"helicone",
"models",
);
const res = await fetch(endpoint);
if (!res.ok) {
console.error(`Failed to fetch registry: ${res.status} ${res.statusText}`);
process.exit(1);
}
const json = await res.json();
const parsed = HeliconeResponse.safeParse(json);
if (!parsed.success) {
parsed.error.cause = json;
console.error("Invalid Helicone response:", parsed.error.errors);
console.error("When parsing:", parsed.error.cause);
process.exit(1);
}
const models = parsed.data.data.models;
// Clean output directory: remove subfolders and existing TOML files
await mkdir(outDir, { recursive: true });
for (const entry of await readdir(outDir)) {
const p = path.join(outDir, entry);
const st = await stat(p);
if (st.isDirectory()) {
await rm(p, { recursive: true, force: true });
} else if (st.isFile() && entry.endsWith(".toml")) {
await rm(p, { force: true });
}
}
let created = 0;
for (const m of models) {
const fileSafeId = m.id.replaceAll("/", "-");
const filePath = path.join(outDir, `${fileSafeId}.toml`);
const toml = formatToml(m);
await Bun.write(filePath, toml);
created++;
}
console.log(
`Generated ${created} model file(s) under providers/helicone/models/*.toml`,
);
}
await main();
+237
View File
@@ -0,0 +1,237 @@
#!/usr/bin/env bun
/**
* Generates model files from the data in Ollama Cloud's API.
*
* Ollama Cloud does not provide some data fields, such as release date or
* knowledge cutoff. The `family` field provided by Ollama Cloud may not match
* the values in family.ts. We expect that when TOML validaton fails, the
* maintainer will manually source those data points (such as from other
* provider TOML files, or from the internet at large). This script preserves
* those fields when overwriting Ollama Cloud's TOML files.
*/
import { z } from "zod";
import path from "node:path";
import type { Model } from "../src/schema";
import type { ModelFamily } from "../src/family";
const modelsDir = path.join(
import.meta.dirname,
"..",
"..",
"..",
"providers",
"ollama-cloud",
"models"
);
function modelFileName(modelName: string): string {
return modelName + ".toml";
}
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({
name: z.string(),
})
),
});
type OllamaTagsResponse = z.infer<typeof OllamaTagsResponse>;
const OllamaModelDetails = z.object({
modified_at: z.string(),
details: z.object({
parent_model: z.string(),
format: z.string(),
family: z.string(),
families: z.array(z.string()).nullable(),
parameter_size: z.string().transform(Number),
quantization_level: z.string(),
}),
model_info: z.record(z.union([z.string(), z.number()])),
capabilities: z.array(z.enum(["thinking", "completion", "tools", "vision"])),
});
type OllamaModelDetails = z.infer<typeof OllamaModelDetails>;
function generateToml(modelName: string, model: OllamaModel): string {
const lines: string[] = [];
lines.push(`name = "${modelName}"`);
lines.push(`family = "${model.family}"`);
lines.push(`attachment = ${model.attachment}`);
lines.push(`reasoning = ${model.reasoning}`);
lines.push(`tool_call = ${model.tool_call}`);
if (model.release_date) {
lines.push(`release_date = "${model.release_date}"`);
}
if (model.knowledge) {
lines.push(`knowledge = "${model.knowledge}"`);
}
lines.push(`last_updated = "${model.last_updated}"`);
lines.push(`open_weights = ${model.open_weights}`);
lines.push("");
lines.push("[limit]");
lines.push(`context = ${model.limit.context}`);
if (model.limit.output !== undefined) {
lines.push(`output = ${model.limit.output}`);
}
lines.push("");
lines.push("[modalities]");
lines.push(`input = ${JSON.stringify(model.modalities.input)}`);
lines.push(`output = ${JSON.stringify(model.modalities.output)}`);
return lines.join("\n") + "\n";
}
const tagsResponse = await fetch("https://ollama.com/api/tags");
if (!tagsResponse.ok) {
console.error(
`Failed to fetch tags: ${tagsResponse.status} ${tagsResponse.statusText}`
);
process.exit(1);
}
const tagsJson = await tagsResponse.json();
const tagsParsed = OllamaTagsResponse.safeParse(tagsJson);
if (!tagsParsed.success) {
console.error("Invalid tags response:", tagsParsed.error.errors);
process.exit(1);
}
const tagsData: OllamaTagsResponse = tagsParsed.data;
const modelNames = tagsData.models.map((m) => m.name);
console.log(`Fetching details for ${modelNames.length} models...`);
const modelsData: Array<{ name: string; data: OllamaModelDetails }> = [];
for (const modelName of modelNames) {
const showResponse = await fetch("https://ollama.com/api/show", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ model: modelName }),
});
if (!showResponse.ok) {
console.error(
`Failed to fetch details for ${modelName}: ${showResponse.status} ${showResponse.statusText}`
);
process.exit(1);
}
const showJson = await showResponse.json();
const showParsed = OllamaModelDetails.safeParse(showJson);
if (!showParsed.success) {
console.error(
`Invalid response for ${modelName}:`,
showParsed.error.errors
);
process.exit(1);
}
modelsData.push({ name: modelName, data: showParsed.data });
}
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 = null;
try {
const existingToml = await Bun.file(filePath).text();
existingData = Bun.TOML.parse(existingToml) as Omit<Model, "id">;
} catch {
// File doesn't exist
}
const family = existingData?.family ?? (data.details.family as ModelFamily);
const contextLength =
(data.model_info[`${data.details.family}.context_length`] as number) ?? 0;
const ollamaModel: OllamaModel = {
name,
family,
attachment: data.capabilities.includes("vision"),
reasoning: data.capabilities.includes("thinking"),
tool_call: data.capabilities.includes("tools"),
release_date: existingData?.release_date,
knowledge: existingData?.knowledge,
last_updated: new Date().toISOString().slice(0, 10),
open_weights: true,
modalities: {
input: data.capabilities.includes("vision")
? ["text", "image"]
: ["text"],
output: ["text"],
},
limit: {
context: contextLength,
output: existingData?.limit.output,
},
};
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}, Skipped: ${skipped}, Deleted: ${deleted}`);
+616
View File
@@ -0,0 +1,616 @@
#!/usr/bin/env bun
import { z } from "zod";
import path from "node:path";
import { readdir } from "node:fs/promises";
import { ModelFamilyValues } from "../src/family.js";
// Venice API endpoint
const API_ENDPOINT = "https://api.venice.ai/api/v1/models?type=text";
// Zod schemas for API response validation
const Capabilities = z
.object({
optimizedForCode: z.boolean().optional(),
quantization: z.string().optional(),
supportsAudioInput: z.boolean().optional(),
supportsFunctionCalling: z.boolean().optional(),
supportsLogProbs: z.boolean().optional(),
supportsReasoning: z.boolean().optional(),
supportsResponseSchema: z.boolean().optional(),
supportsVideoInput: z.boolean().optional(),
supportsVision: z.boolean().optional(),
supportsWebSearch: z.boolean().optional(),
})
.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: PricingTier,
output: PricingTier,
cache_input: PricingTier.optional(),
cache_write: PricingTier.optional(),
extended: ExtendedPricing.optional(),
})
.passthrough();
const ModelSpec = z
.object({
pricing: Pricing.optional(),
availableContextTokens: z.number(),
maxCompletionTokens: z.number().optional(),
capabilities: Capabilities,
constraints: z.any().optional(),
name: z.string(),
modelSource: z.string().optional(),
offline: z.boolean().optional(),
privacy: z.string().optional(),
traits: z.array(z.string()).optional(),
})
.passthrough();
const VeniceModel = z
.object({
created: z.number(),
id: z.string(),
model_spec: ModelSpec,
object: z.string(),
owned_by: z.string(),
type: z.string(),
})
.passthrough();
const VeniceResponse = z
.object({
data: z.array(VeniceModel),
object: z.string(),
type: z.string(),
})
.passthrough();
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);
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(capabilities: z.infer<typeof Capabilities>): string[] {
const mods: string[] = ["text"];
if (capabilities.supportsVision) mods.push("image");
if (capabilities.supportsAudioInput) mods.push("audio");
if (capabilities.supportsVideoInput) mods.push("video");
return mods;
}
function formatNumber(n: number): string {
if (n >= 1000) {
// Format with underscores for readability (e.g., 131_072)
return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, "_");
}
return n.toString();
}
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);
}
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;
reasoning?: number;
cache_read?: number;
cache_write?: number;
context_over_200k?: {
input?: number;
output?: number;
cache_read?: number;
cache_write?: number;
};
};
limit?: {
context?: number;
input?: number;
output?: number;
};
modalities?: {
input?: string[];
output?: string[];
};
provider?: {
npm?: string;
api?: string;
};
}
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;
}
}
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;
context_over_200k?: {
input: number;
output: number;
cache_read?: number;
cache_write?: number;
};
};
limit: {
context: number;
output: number;
};
modalities: {
input: string[];
output: string[];
};
}
function mergeModel(
apiModel: z.infer<typeof VeniceModel>,
existing: ExistingModel | null,
): MergedModel {
const spec = apiModel.model_spec;
const caps = spec.capabilities;
const contextTokens = spec.availableContextTokens;
const outputTokens = spec.maxCompletionTokens ?? Math.floor(contextTokens / 4);
const openWeights = spec.modelSource
? spec.modelSource.toLowerCase().includes("huggingface")
: spec.privacy === "private";
const inputModalities = buildInputModalities(caps);
if (existing?.modalities?.input?.includes("pdf") && !inputModalities.includes("pdf")) {
inputModalities.push("pdf");
}
const attachment =
caps.supportsVision === true ||
caps.supportsAudioInput === true ||
caps.supportsVideoInput === true;
const merged: MergedModel = {
name: spec.name,
attachment,
reasoning: caps.supportsReasoning === true,
tool_call: caps.supportsFunctionCalling === true,
temperature: true,
release_date: timestampToDate(apiModel.created),
last_updated: getTodayDate(),
open_weights: openWeights,
limit: {
context: contextTokens,
output: outputTokens,
},
modalities: {
input: inputModalities,
output: ["text"],
},
};
// structured_output only if true
if (caps.supportsResponseSchema === true) {
merged.structured_output = true;
}
// Cost from API
if (spec.pricing) {
merged.cost = {
input: spec.pricing.input.usd,
output: spec.pricing.output.usd,
...(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);
merged.family = inferred ?? existing?.family;
// Preserve manual fields from existing
if (existing?.knowledge) {
merged.knowledge = existing.knowledge;
}
if (existing?.interleaved !== undefined) {
merged.interleaved = existing.interleaved;
}
if (existing?.status !== undefined) {
merged.status = existing.status;
}
return merged;
}
function formatToml(model: MergedModel): string {
const lines: string[] = [];
// Basic fields
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}"`);
}
// Interleaved section (if present)
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}"`);
}
}
// Cost section
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}`);
}
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
lines.push("");
lines.push(`[limit]`);
lines.push(`context = ${formatNumber(model.limit.context)}`);
lines.push(`output = ${formatNumber(model.limit.output)}`);
// Modalities section
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";
}
interface Changes {
field: string;
oldValue: string;
newValue: string;
}
function detectChanges(
existing: ExistingModel | null,
merged: MergedModel,
): Changes[] {
if (!existing) return [];
const changes: Changes[] = [];
const compare = (field: string, oldVal: unknown, newVal: unknown) => {
const oldStr = JSON.stringify(oldVal);
const newStr = JSON.stringify(newVal);
if (oldStr !== newStr) {
changes.push({
field,
oldValue: formatValue(oldVal),
newValue: formatValue(newVal),
});
}
};
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);
};
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("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);
return changes;
}
async function main() {
const args = process.argv.slice(2);
const dryRun = args.includes("--dry-run");
const modelsDir = path.join(
import.meta.dirname,
"..",
"..",
"..",
"providers",
"venice",
"models",
);
// 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
const apiKeyArgIndex = args.findIndex((arg) => arg.startsWith("--api-key"));
if (apiKeyArgIndex !== -1) {
const arg = args[apiKeyArgIndex];
if (arg.includes("=")) {
apiKey = arg.split("=")[1];
} else if (args[apiKeyArgIndex + 1]) {
apiKey = args[apiKeyArgIndex + 1];
}
}
// Fall back to environment variable
if (!apiKey) {
apiKey = process.env.VENICE_API_KEY ?? null;
}
const includeAlpha = apiKey !== null;
if (dryRun) {
console.log(
`[DRY RUN] Fetching Venice models from API${includeAlpha ? " (including alpha models)" : ""}...`,
);
} else {
console.log(
`Fetching Venice models from API${includeAlpha ? " (including alpha models)" : ""}...`,
);
}
// Fetch API data
const fetchOptions: RequestInit = {};
if (apiKey) {
fetchOptions.headers = {
Authorization: `Bearer ${apiKey}`,
};
}
const res = await fetch(API_ENDPOINT, fetchOptions);
if (!res.ok) {
console.error(`Failed to fetch API: ${res.status} ${res.statusText}`);
if (res.status === 401) {
console.error("Invalid API key. Please check your VENICE_API_KEY.");
}
process.exit(1);
}
const json = await res.json();
const parsed = VeniceResponse.safeParse(json);
if (!parsed.success) {
console.error("Invalid API response:", parsed.error.errors);
process.exit(1);
}
const apiModels = parsed.data.data;
// Get existing files
const existingFiles = new Set<string>();
try {
const files = await readdir(modelsDir);
for (const file of files) {
if (file.endsWith(".toml")) {
existingFiles.add(file);
}
}
} catch {
// Directory might not exist yet
}
console.log(`Found ${apiModels.length} models in API, ${existingFiles.size} existing files\n`);
// Track API model IDs for orphan detection
const apiModelIds = new Set<string>();
let created = 0;
let updated = 0;
let unchanged = 0;
for (const apiModel of apiModels) {
const safeId = apiModel.id.replace(/\//g, "-");
const filename = `${safeId}.toml`;
const filePath = path.join(modelsDir, filename);
apiModelIds.add(filename);
const existing = await loadExistingModel(filePath);
const merged = mergeModel(apiModel, existing);
const tomlContent = formatToml(merged);
if (existing === null) {
// New file
created++;
if (dryRun) {
console.log(`[DRY RUN] Would create: ${filename}`);
console.log(` name = "${merged.name}"`);
if (merged.family) {
console.log(` family = "${merged.family}" (inferred)`);
}
console.log("");
} else {
await Bun.write(filePath, tomlContent);
console.log(`Created: ${filename}`);
}
} else {
// Check for changes
const changes = detectChanges(existing, merged);
if (changes.length > 0) {
updated++;
if (dryRun) {
console.log(`[DRY RUN] Would update: ${filename}`);
} else {
await Bun.write(filePath, tomlContent);
console.log(`Updated: ${filename}`);
}
for (const change of changes) {
console.log(` ${change.field}: ${change.oldValue}${change.newValue}`);
}
console.log("");
} else {
unchanged++;
}
}
}
// Check for orphaned files
const orphaned: string[] = [];
for (const file of existingFiles) {
if (!apiModelIds.has(file)) {
orphaned.push(file);
console.log(`Warning: Orphaned file (not in API): ${file}`);
}
}
// Summary
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();
+584
View File
@@ -0,0 +1,584 @@
#!/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",
LimitInput = "limit.input",
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;
input?: 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;
input?: 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 isOpenAIModel(modelId: string): boolean {
return modelId.startsWith("openai/");
}
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,
...(isOpenAIModel(apiModel.id) && contextLimit > outputLimit && { input: contextLimit - outputLimit }),
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)}`);
if (model.limit.input !== undefined) {
lines.push(`input = ${formatNumber(model.limit.input)}`);
}
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.input", existing.limit?.input, merged.limit.input);
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();
+525
View File
@@ -0,0 +1,525 @@
#!/usr/bin/env bun
import path from "node:path";
import { mkdir } from "node:fs/promises";
import { z } from "zod";
import { ModelFamilyValues } from "../src/family.js";
const API_ENDPOINT = "https://trace.wandb.ai/inference/analysis/artificialanalysis/models";
const Pricing = z
.object({
prompt: z.string().optional(),
completion: z.string().optional(),
image: z.string().optional(),
request: z.string().optional(),
input_cache_reads: z.string().optional(),
input_cache_writes: z.string().optional(),
})
.passthrough();
const WandbModel = z
.object({
id: z.string(),
name: z.string(),
created: z.number(),
input_modalities: z.array(z.string()),
output_modalities: z.array(z.string()),
context_length: z.number(),
max_output_length: z.number(),
pricing: Pricing.optional(),
supported_sampling_parameters: z.array(z.string()).default([]),
supported_features: z.array(z.string()).default([]),
})
.passthrough();
const WandbResponse = z
.object({
data: z.array(WandbModel),
})
.strict();
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;
input?: 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: Array<"text" | "audio" | "image" | "video" | "pdf">;
output: Array<"text" | "audio" | "image" | "video" | "pdf">;
};
}
interface Changes {
field: string;
oldValue: string;
newValue: string;
}
type SupportedModality = "text" | "audio" | "image" | "video" | "pdf";
const modalityMap: Record<string, SupportedModality | undefined> = {
text: "text",
image: "image",
audio: "audio",
video: "video",
pdf: "pdf",
file: "pdf",
files: "pdf",
};
const openWeightsPrefixes = new Set([
"deepseek-ai/",
"meta-llama/",
"microsoft/",
"MiniMaxAI/",
"moonshotai/",
"nvidia/",
"OpenPipe/",
"Qwen/",
"zai-org/",
]);
function timestampToDate(timestamp: number): string {
return new Date(timestamp * 1000).toISOString().slice(0, 10);
}
function getTodayDate(): string {
return new Date().toISOString().slice(0, 10);
}
function formatNumber(n: number): string {
if (n >= 1000) {
return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, "_");
}
return n.toString();
}
function formatDecimal(n: number): string {
return Number(n.toFixed(6)).toString();
}
function priceToPerMillion(value: string): number {
return Number((parseFloat(value) * 1_000_000).toFixed(6));
}
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);
for (const family of sortedFamilies) {
if (isSubstring(modelId, family) || isSubstring(modelName, family)) {
return family;
}
}
for (const family of sortedFamilies) {
if (matchesFamily(modelId, family) || matchesFamily(modelName, family)) {
return family;
}
}
return undefined;
}
function normalizeName(apiModel: z.infer<typeof WandbModel>): string {
const stripped = apiModel.name.replace(/^[^:]+:\s*/, "").trim();
return stripped || path.basename(apiModel.id);
}
function inferReasoning(apiModel: z.infer<typeof WandbModel>): boolean {
const text = `${apiModel.id} ${apiModel.name}`.toLowerCase();
return text.includes("thinking") || /\br1\b/.test(text) || text.includes("reasoning");
}
function inferOpenWeights(modelId: string): boolean {
for (const prefix of openWeightsPrefixes) {
if (modelId.startsWith(prefix)) {
return true;
}
}
return false;
}
function normalizeModalities(values: string[]): SupportedModality[] {
const normalized = values
.map((value) => modalityMap[value.toLowerCase()])
.filter((value): value is SupportedModality => value !== undefined);
return [...new Set(normalized)];
}
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 (cause) {
console.warn(`Warning: Failed to parse existing file ${filePath}:`, cause);
return null;
}
}
function mergeModel(
apiModel: z.infer<typeof WandbModel>,
existing: ExistingModel | null,
): MergedModel {
const featureSet = new Set(apiModel.supported_features);
const samplingSet = new Set(apiModel.supported_sampling_parameters);
const inputModalities = normalizeModalities(apiModel.input_modalities);
const outputModalities = normalizeModalities(apiModel.output_modalities);
const merged: MergedModel = {
name: existing?.name ?? normalizeName(apiModel),
family: existing?.family ?? inferFamily(apiModel.id, apiModel.name),
attachment: existing?.attachment ?? inputModalities.some((m) => m !== "text"),
reasoning: existing?.reasoning ?? inferReasoning(apiModel),
tool_call: existing?.tool_call ?? featureSet.has("tools"),
temperature: existing?.temperature ?? samplingSet.has("temperature"),
release_date: existing?.release_date ?? timestampToDate(apiModel.created),
last_updated: getTodayDate(),
open_weights: existing?.open_weights ?? inferOpenWeights(apiModel.id),
...(existing?.structured_output !== undefined
? { structured_output: existing.structured_output }
: featureSet.has("structured_outputs")
? { structured_output: true }
: {}),
...(existing?.knowledge ? { knowledge: existing.knowledge } : {}),
...(existing?.interleaved !== undefined ? { interleaved: existing.interleaved } : {}),
...(existing?.status ? { status: existing.status } : {}),
limit: {
context: apiModel.context_length > 0 ? apiModel.context_length : (existing?.limit?.context ?? 0),
output: apiModel.max_output_length > 0
? apiModel.max_output_length
: (existing?.limit?.output ?? 0),
},
modalities: {
input: inputModalities.length > 0
? inputModalities
: ((existing?.modalities?.input as SupportedModality[] | undefined) ?? ["text"]),
output: outputModalities.length > 0
? outputModalities
: ((existing?.modalities?.output as SupportedModality[] | undefined) ?? ["text"]),
},
};
const prompt = apiModel.pricing?.prompt;
const completion = apiModel.pricing?.completion;
const cacheRead = apiModel.pricing?.input_cache_reads;
const cacheWrite = apiModel.pricing?.input_cache_writes;
if (prompt && completion) {
merged.cost = {
input: priceToPerMillion(prompt),
output: priceToPerMillion(completion),
...(cacheRead && parseFloat(cacheRead) > 0
? { cache_read: priceToPerMillion(cacheRead) }
: {}),
...(cacheWrite && parseFloat(cacheWrite) > 0
? { cache_write: priceToPerMillion(cacheWrite) }
: {}),
};
} else if (existing?.cost?.input !== undefined && existing.cost.output !== undefined) {
merged.cost = {
input: existing.cost.input,
output: existing.cost.output,
...(existing.cost.cache_read !== undefined ? { cache_read: existing.cost.cache_read } : {}),
...(existing.cost.cache_write !== undefined ? { cache_write: existing.cost.cache_write } : {}),
};
}
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(`release_date = "${model.release_date}"`);
lines.push(`last_updated = "${model.last_updated}"`);
lines.push(`attachment = ${model.attachment}`);
lines.push(`reasoning = ${model.reasoning}`);
if (model.structured_output !== undefined) {
lines.push(`structured_output = ${model.structured_output}`);
}
lines.push(`temperature = ${model.temperature}`);
lines.push(`tool_call = ${model.tool_call}`);
if (model.knowledge) {
lines.push(`knowledge = "${model.knowledge}"`);
}
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 {
lines.push("[interleaved]");
lines.push(`field = "${model.interleaved.field}"`);
}
}
if (model.cost) {
lines.push("");
lines.push("[cost]");
lines.push(`input = ${formatDecimal(model.cost.input)}`);
lines.push(`output = ${formatDecimal(model.cost.output)}`);
if (model.cost.cache_read !== undefined) {
lines.push(`cache_read = ${formatDecimal(model.cost.cache_read)}`);
}
if (model.cost.cache_write !== undefined) {
lines.push(`cache_write = ${formatDecimal(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;
const formatValue = (value: unknown): string => {
if (typeof value === "number") return formatNumber(value);
if (Array.isArray(value)) return `[${value.join(", ")}]`;
if (value === undefined) return "(none)";
return String(value);
};
const compare = (field: string, oldValue: unknown, newValue: unknown) => {
const changed = field.startsWith("cost.")
? (
oldValue === undefined && newValue === undefined
? false
: oldValue === undefined || newValue === undefined
? true
: Math.abs((oldValue as number) - (newValue as number)) > epsilon
)
: JSON.stringify(oldValue) !== JSON.stringify(newValue);
if (changed) {
changes.push({
field,
oldValue: formatValue(oldValue),
newValue: formatValue(newValue),
});
}
};
compare("name", existing.name, merged.name);
compare("family", existing.family, merged.family);
compare("release_date", existing.release_date, merged.release_date);
compare("attachment", existing.attachment, merged.attachment);
compare("reasoning", existing.reasoning, merged.reasoning);
compare("structured_output", existing.structured_output, merged.structured_output);
compare("temperature", existing.temperature, merged.temperature);
compare("tool_call", existing.tool_call, merged.tool_call);
compare("open_weights", existing.open_weights, merged.open_weights);
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);
compare("modalities.output", existing.modalities?.output, merged.modalities.output);
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", "wandb", "models");
console.log(`${dryRun ? "[DRY RUN] " : ""}${newOnly ? "[NEW ONLY] " : ""}Fetching WandB 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 = WandbResponse.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>();
for await (const file of new Bun.Glob("**/*.toml").scan({ cwd: modelsDir, absolute: false })) {
existingFiles.add(file);
}
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) {
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}"`);
}
console.log("");
} else {
await mkdir(dirPath, { recursive: true });
await Bun.write(filePath, tomlContent);
console.log(`Created: ${relativePath}`);
}
continue;
}
if (newOnly) {
unchanged++;
continue;
}
const changes = detectChanges(existing, merged);
if (changes.length === 0) {
unchanged++;
continue;
}
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("");
}
const orphaned = [...existingFiles].filter((file) => !apiModelIds.has(file));
for (const file of orphaned) {
console.log(`Warning: Orphaned file (not in API): ${file}`);
}
console.log("");
console.log(
dryRun
? `Summary: ${created} would be created, ${updated} would be updated, ${unchanged} unchanged, ${orphaned.length} orphaned`
: `Summary: ${created} created, ${updated} updated, ${unchanged} unchanged, ${orphaned.length} orphaned`,
);
}
await main();
+19
View File
@@ -0,0 +1,19 @@
#!/usr/bin/env bun
import { generate } from "../src/generate";
import path from "path";
import { ZodError } from "zod";
try {
const result = await generate(
path.join(import.meta.dirname, "..", "..", "..", "providers"),
);
console.log(JSON.stringify(result, null, 2));
} catch (e: any) {
if (e instanceof ZodError) {
console.error("Validation error:", e.errors);
console.error("When parsing:", e.cause);
process.exit(1);
}
throw e;
}
+380
View File
@@ -0,0 +1,380 @@
import { z } from "zod";
export const ModelFamilyValues = [
// Arcee
"trinity",
"trinity-mini",
// OpenAI/GPT style
"gpt",
"gpt-codex",
"gpt-codex-spark",
"gpt-codex-mini",
"gpt-pro",
"gpt-mini",
"gpt-nano",
"gpt-oss",
// OpenAI o-series (reasoning models)
"o",
"o-mini",
"o-pro",
// Anthropic style
"claude",
"claude-haiku",
"claude-sonnet",
"claude-opus",
// Gemini style
"gemini",
"gemini-pro",
"gemini-flash",
"gemini-flash-lite",
"gemini-embedding",
// GLM (zai)
"glm",
"glmv",
"glm-air",
"glm-flash",
"glm-free",
"glm-z",
// Meta Llama
"llama",
// Alibaba Qwen
"qwen",
// DeepSeek
"deepseek",
"deepseek-thinking",
// Microsoft Phi
"phi",
// Moonshot Kimi
"kimi",
"kimi-free",
"kimi-thinking",
// Mistral family
"mistral",
"mistral-large",
"mistral-medium",
"mistral-small",
"mistral-nemo",
"ministral",
"codestral",
"devstral",
"pixtral",
"mixtral",
// xAI Grok
"grok",
"grok-vision",
"grok-beta",
// Google Gemma
"gemma",
// AWS Nova
"nova",
"nova-pro",
"nova-lite",
"nova-micro",
// Cohere Command
"command",
"command-r",
"command-a",
"command-light",
// AI21 Jamba
"jamba",
// NVIDIA Nemotron
"nemotron",
"nemotron-free",
// AWS Titan
"titan",
"titan-embed",
// MiniMax
"minimax",
"minimax-m2.5",
"minimax-m2.7",
"minimax-free",
// Hunyuan
"hunyuan",
// Yi
"yi",
// Granite
"granite",
// Reka
"reka",
// Sonar (Perplexity)
"sonar",
"sonar-pro",
"sonar-reasoning",
"sonar-deep-research",
// Solar
"solar",
"solar-mini",
"solar-pro",
// Step (StepFun)
"step",
// Embedding models
"text-embedding",
"cohere-embed",
"voyage",
"mistral-embed",
"bge",
"plamo",
"codestral-embed",
// Image generation
"dall-e",
"flux",
"imagen",
"recraft",
"stable-diffusion",
"ideogram",
"dreamshaper",
// Video generation
"sora",
"veo",
"runway",
"dream-machine",
// Audio/Speech
"whisper",
"elevenlabs",
"lyria",
"melotts",
// Baidu Ernie
"ernie",
// Hermes
"hermes",
// Zephyr
"zephyr",
// OpenChat
"openchat",
// Starling
"starling",
// Qwen QVQ
"qvq",
// Sherlock
"sherlock",
// Pony
"pony",
// Mercury
"mercury",
// Cogito
"cogito",
// Mimo
"mimo",
"mimo-pro-free",
"mimo-omni-free",
"mimo-flash-free",
// Clarifai
"mm-poly",
// Longcat
"longcat",
// Magistral
"magistral",
"magistral-small",
"magistral-medium",
// Phoenix
"phoenix",
// Trinity
"trinity",
// Lucid
"lucid",
// Intellect
"intellect",
// Aura (Stability AI)
"aura",
// JAIS
"jais",
// Sarvam
"sarvam",
// Falcon
"falcon",
// Baichuan
"baichuan",
// Skywork
"skywork",
// BART
"bart",
// DistilBERT
"distilbert",
// ResNet
"resnet",
// M2M100
"m2m",
// IndicTrans
"indictrans",
// LLaVA
"llava",
// Seed
"seed",
// Ray
"ray",
// T-Stars
"tstars",
// RNJ
"rnj",
// Ling & Ring (InclusionAI)
"ling",
"ring",
// Kat Coder
"kat-coder",
// SQL Coder
"sqlcoder",
// DiscoLM
"discolm",
// Osmosis
"osmosis",
// Parakeet
"parakeet",
// NeMo
"nemoretriever",
// Nano Banana
"nano-banana",
// Una Cybertron
"una-cybertron",
// Morph
"morph",
// Voxtral
"voxtral",
// Venice
"venice",
// Auto router
"auto",
"model-router",
// V0
"v0",
// Tako
"tako",
// MAI
"mai",
// RedNote
"rednote",
// Smart Turn
"smart-turn",
// Qwerky
"qwerky",
// Big Pickle
"big-pickle",
// Chutes AI
"chutesai",
// OpenGVLab
"opengvlab",
// TNG Tech
"tngtech",
// TopazLabs
"topazlabs",
// Unsloth
"unsloth",
// Nousresearch
"nousresearch",
// Alpha variants (experimental models)
"alpha",
// OSWE
"oswe",
// Neural Chat
"neural-chat",
// Pangu (Ascend Tribe)
"pangu",
// LiquidAI
"liquid",
// Sourceful
"sourceful",
// AllenAI
"allenai",
// Writer
"palmyra",
] as const;
export const ModelFamily = z.enum(ModelFamilyValues);
export type ModelFamily = z.infer<typeof ModelFamily>;
+49
View File
@@ -0,0 +1,49 @@
import path from "path";
import { Provider, Model } from "./schema.js";
export async function generate(directory: string) {
const result = {} as Record<string, Provider>;
for await (const providerPath of new Bun.Glob("*/provider.toml").scan({
cwd: directory,
absolute: true,
})) {
const providerID = path.basename(path.dirname(providerPath));
const toml = await import(providerPath, {
with: {
type: "toml",
},
}).then((mod) => mod.default);
toml.id = providerID;
toml.models = {};
const provider = Provider.safeParse(toml);
if (!provider.success) {
provider.error.cause = { providerPath, toml };
throw provider.error;
}
const modelsPath = path.join(directory, providerID, "models");
for await (const modelPath of new Bun.Glob("**/*.toml").scan({
cwd: modelsPath,
absolute: true,
followSymlinks: true,
})) {
const modelID = path.relative(modelsPath, modelPath).slice(0, -5);
const toml = await import(modelPath, {
with: {
type: "toml",
},
}).then((mod) => mod.default);
toml.id = modelID;
const model = Model.safeParse(toml);
if (!model.success) {
model.error.cause = { modelPath, toml };
throw model.error;
}
provider.data.models[modelID] = model.data;
}
result[providerID] = provider.data;
}
return result;
}
+2
View File
@@ -0,0 +1,2 @@
export * from "./schema.js";
export * from "./generate.js";
+141
View File
@@ -0,0 +1,141 @@
import { z } from "zod";
import { ModelFamily } from "./family";
const Cost = z.object({
input: z.number().min(0, "Input price cannot be negative"),
output: z.number().min(0, "Output price cannot be negative"),
reasoning: z.number().min(0, "Input price cannot be negative").optional(),
cache_read: z
.number()
.min(0, "Cache read price cannot be negative")
.optional(),
cache_write: z
.number()
.min(0, "Cache write price cannot be negative")
.optional(),
input_audio: z
.number()
.min(0, "Audio input price cannot be negative")
.optional(),
output_audio: z
.number()
.min(0, "Audio output price cannot be negative")
.optional(),
});
export const Model = z
.object({
id: z.string(),
name: z.string().min(1, "Model name cannot be empty"),
family: ModelFamily.optional(),
attachment: z.boolean(),
reasoning: z.boolean(),
tool_call: z.boolean(),
interleaved: z
.union([
z.literal(true),
z
.object({
field: z.enum(["reasoning_content", "reasoning_details"]),
})
.strict(),
])
.optional(),
structured_output: z.boolean().optional(),
temperature: z.boolean().optional(),
knowledge: z
.string()
.regex(/^\d{4}-\d{2}(-\d{2})?$/, {
message: "Must be in YYYY-MM or YYYY-MM-DD format",
})
.optional(),
release_date: z.string().regex(/^\d{4}-\d{2}(-\d{2})?$/, {
message: "Must be in YYYY-MM or YYYY-MM-DD format",
}),
last_updated: z.string().regex(/^\d{4}-\d{2}(-\d{2})?$/, {
message: "Must be in YYYY-MM or YYYY-MM-DD format",
}),
modalities: z.object({
input: z.array(z.enum(["text", "audio", "image", "video", "pdf"])),
output: z.array(z.enum(["text", "audio", "image", "video", "pdf"])),
}),
open_weights: z.boolean(),
cost: Cost.extend({
context_over_200k: Cost.optional(),
}).optional(),
limit: z.object({
context: z.number().min(0, "Context window must be positive"),
input: z.number().min(0, "Input tokens must be positive").optional(),
output: z.number().min(0, "Output tokens must be positive"),
}),
status: z.enum(["alpha", "beta", "deprecated"]).optional(),
provider: z
.object({
npm: z.string().optional(),
api: z.string().optional(),
shape: z.enum(["responses", "completions"]).optional(),
})
.optional(),
})
.strict()
.refine(
(data) => {
return !(data.reasoning === false && data.cost?.reasoning !== undefined);
},
{
message: "Cannot set cost.reasoning when reasoning is false",
path: ["cost", "reasoning"],
},
);
export type Model = z.infer<typeof Model>;
export const Provider = z
.object({
id: z.string(),
env: z.array(z.string()).min(1, "Provider env cannot be empty"),
npm: z.string().min(1, "Provider npm module cannot be empty"),
api: z.string().optional(),
name: z.string().min(1, "Provider name cannot be empty"),
doc: z
.string()
.min(
1,
"Please provide a link to the provider documentation where models are listed",
),
models: z.record(Model),
})
.strict()
.refine(
(data) => {
const isOpenAI = data.npm === "@ai-sdk/openai";
const isOpenAIcompatible = data.npm === "@ai-sdk/openai-compatible";
const isOpenrouter = data.npm === "@openrouter/ai-sdk-provider";
const isAnthropic = data.npm === "@ai-sdk/anthropic";
const hasApi = data.api !== undefined;
return (
// openai-compatible: must have api
(isOpenAIcompatible && hasApi) ||
// openrouter: must have api
(isOpenrouter && hasApi) ||
// anthropic: api optional (always allowed)
isAnthropic ||
// openai: api optional (always allowed)
isOpenAI ||
// all others: must NOT have api
(!isOpenAI &&
!isOpenAIcompatible &&
!isOpenrouter &&
!isAnthropic &&
!hasApi)
);
},
{
message:
"'api' is required for openai-compatible and openrouter, optional for anthropic and openai, forbidden otherwise",
path: ["api"],
},
);
export type Provider = z.infer<typeof Provider>;
+9
View File
@@ -0,0 +1,9 @@
/* This file is auto-generated by SST. Do not edit. */
/* tslint:disable */
/* eslint-disable */
/* deno-fmt-ignore-file */
/// <reference path="../../sst-env.d.ts" />
import "sst"
export {}
+5
View File
@@ -0,0 +1,5 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "@tsconfig/bun/tsconfig.json",
"compilerOptions": {}
}
+10
View File
@@ -0,0 +1,10 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@models.dev/function",
"private": true,
"type": "module",
"devDependencies": {
"@cloudflare/workers-types": "4.20250522.0",
"@tsconfig/bun": "catalog:"
}
}
+106
View File
@@ -0,0 +1,106 @@
export interface Env {
ASSETS: any;
PosthogToken: string;
}
export default {
async fetch(
request: Request,
env: Env,
ctx: ExecutionContext,
): Promise<Response> {
const url = new URL(request.url);
const ip = request.headers.get("cf-connecting-ip") || "unknown";
const country = request.headers.get("cf-ipcountry") || "unknown";
const agent = request.headers.get("user-agent") || "unknown";
if (agent.includes("opencode") || agent.includes("bun")) {
ctx.waitUntil(
fetch("https://us.i.posthog.com/i/v0/e/", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
api_key: JSON.parse(env.PosthogToken).value,
event: "hit",
distinct_id: ip,
properties: {
$process_person_profile: false,
user_agent: agent,
country,
path: url.pathname,
},
}),
}),
);
}
if (url.pathname === "/model-schema.json") {
const apiUrl = new URL(url);
apiUrl.pathname = "/_api.json";
const apiResponse = await env.ASSETS.fetch(
new Request(apiUrl.toString(), request),
);
const providers = (await apiResponse.json()) as Record<
string,
{ models: Record<string, unknown> }
>;
const modelIds: string[] = [];
for (const [providerId, provider] of Object.entries(providers)) {
for (const modelId of Object.keys(provider.models)) {
modelIds.push(`${providerId}/${modelId}`);
}
}
const schema = {
$schema: "https://json-schema.org/draft/2020-12/schema",
$id: "https://models.dev/model-schema.json",
$defs: {
Model: {
type: "string",
enum: modelIds.sort(),
description: "AI model identifier in provider/model format",
},
},
};
return new Response(JSON.stringify(schema, null, 2), {
headers: {
"Content-Type": "application/json",
"Cache-Control": "public, max-age=3600",
},
});
}
if (url.pathname === "/api.json") {
url.pathname = "/_api.json";
} else if (
url.pathname === "/" ||
url.pathname === "/index.html" ||
url.pathname === "/index"
) {
url.pathname = "/_index";
} else if (url.pathname.startsWith("/logos/")) {
// Check if the specific provider logo exists in static assets
const logoResponse = await env.ASSETS.fetch(new Request(url.toString(), request));
if (logoResponse.status === 404) {
// Fallback to default logo
const defaultUrl = new URL(url);
defaultUrl.pathname = "/logos/default.svg";
return await env.ASSETS.fetch(new Request(defaultUrl.toString(), request));
}
return logoResponse;
} else {
// redirect to "/"
return new Response(null, {
status: 302,
headers: { Location: "/" },
});
}
return await env.ASSETS.fetch(new Request(url.toString(), request));
},
};
+24
View File
@@ -0,0 +1,24 @@
/* This file is auto-generated by SST. Do not edit. */
/* tslint:disable */
/* eslint-disable */
/* deno-fmt-ignore-file */
import "sst"
declare module "sst" {
export interface Resource {
"PosthogToken": {
"type": "sst.sst.Secret"
"value": string
}
}
}
// cloudflare
import * as cloudflare from "@cloudflare/workers-types";
declare module "sst" {
export interface Resource {
"Server": cloudflare.Service
}
}
import "sst"
export {}
+7
View File
@@ -0,0 +1,7 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "@tsconfig/bun/tsconfig.json",
"compilerOptions": {
"types": ["@cloudflare/workers-types"]
}
}
+7 -9
View File
@@ -1,4 +1,4 @@
<!doctype html>
<!DOCTYPE html>
<html>
<head>
<title>Models.dev &mdash; An open-source database of AI models</title>
@@ -6,7 +6,7 @@
name="description"
content="Models.dev is a comprehensive open-source database of AI model specifications, pricing, and features."
/>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link
rel="preconnect"
@@ -19,18 +19,16 @@
/>
<link
rel="icon"
href="./assets/favicon.svg"
href="./public/favicon.svg"
sizes="any"
type="image/svg+xml"
/>
<meta
property="og:image"
content="https://models.dev/assets/social-share.png"
/>
<link rel="stylesheet" href="./index.css" />
<script src="./index.ts" type="module"></script>
<meta property="og:image" content="https://models.dev/social-share.png" />
<meta charset="UTF-8" />
<link rel="stylesheet" href="./src/index.css" />
</head>
<body>
<!--static-->
<script src="./src/index.ts" type="module"></script>
</body>
</html>
+15
View File
@@ -0,0 +1,15 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@models.dev/web",
"scripts": {
"dev": "bun run --hot ./src/server.ts",
"build": "./script/build.ts"
},
"dependencies": {
"hono": "^4.8.0",
"models.dev": "workspace:*"
},
"devDependencies": {
"@types/bun": "^1.2.16"
}
}
+2
View File
@@ -0,0 +1,2 @@
/*
Access-Control-Allow-Origin: *

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

+50
View File
@@ -0,0 +1,50 @@
#!/usr/bin/env bun
import { Rendered, Providers } from "../src/render";
import fs from "fs/promises";
import path from "path";
import { $ } from "bun";
await fs.rm("./dist", { recursive: true, force: true });
await Bun.build({
entrypoints: ["./index.html"],
outdir: "dist",
target: "bun",
});
for await (const file of new Bun.Glob("./public/*").scan()) {
await Bun.write(file.replace("./public/", "./dist/"), Bun.file(file));
}
// Copy provider logos to dist/logos/
await fs.mkdir("./dist/logos", { recursive: true });
// First, copy the default logo
const defaultLogoPath = "../../providers/logo.svg";
const defaultLogo = Bun.file(defaultLogoPath);
if (await defaultLogo.exists()) {
await Bun.write("./dist/logos/default.svg", defaultLogo);
}
// Then copy provider-specific logos
const providersDir = "../../providers";
const entries = await fs.readdir(providersDir, { withFileTypes: true });
for (const entry of entries) {
if (entry.isDirectory()) {
const provider = entry.name;
const logoPath = path.join(providersDir, provider, "logo.svg");
const logoFile = Bun.file(logoPath);
if (await logoFile.exists()) {
await Bun.write(`./dist/logos/${provider}.svg`, logoFile);
}
}
}
let html = await Bun.file("./dist/index.html").text();
html = html.replace("<!--static-->", Rendered);
await Bun.write("./dist/index.html", html);
await Bun.write("./dist/api.json", JSON.stringify(Providers));
await $`mv ./dist/index.html ./dist/_index.html`;
await $`mv ./dist/api.json ./dist/_api.json`;
+164 -12
View File
@@ -79,6 +79,7 @@ header {
background-color: var(--color-background);
position: fixed;
width: 100%;
z-index: 10;
&>div {
display: flex;
@@ -128,6 +129,7 @@ header {
a.github {
flex: 0 0 auto;
height: 24px;
color: var(--color-text-secondary);
svg {
@@ -135,15 +137,22 @@ header {
}
}
input {
.search-container {
position: relative;
flex: 1 1 auto;
min-width: 12.5rem;
}
input {
width: 100%;
font-size: 0.8125rem;
line-height: 1.1;
padding: 0.5rem 0.625rem;
padding: 0.5rem 2.5rem 0.5rem 0.625rem;
border-radius: 0.25rem;
border: 1px solid var(--color-border);
height: 2rem;
background: none;
color: var(--color-text);
&:focus {
border-color: var(--color-brand);
@@ -151,6 +160,17 @@ header {
}
}
.search-shortcut {
position: absolute;
right: 0.5rem;
top: 50%;
transform: translateY(-50%);
font-size: 0.75rem;
color: var(--color-text-tertiary);
pointer-events: none;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
}
button {
flex: 0 0 auto;
cursor: pointer;
@@ -178,7 +198,7 @@ header {
div.right {
.github,
input {
.search-container {
display: none;
}
}
@@ -210,12 +230,29 @@ table thead th {
color: var(--color-text-secondary);
backdrop-filter: blur(6px);
background-color: var(--color-alpha-background);
z-index: 10;
}
table thead th[data-desc]::after {
table thead th .header-container {
display: flex;
align-items: center;
gap: 0.125rem;
}
th.sortable {
cursor: pointer;
user-select: none;
}
.sort-indicator {
display: inline-block;
width: 1rem;
text-align: center;
}
table thead th .desc {
color: var(--color-text-tertiary);
margin-top: 0.5em;
content: attr(data-desc);
display: block;
font-size: 0.625rem;
font-weight: normal;
@@ -239,15 +276,23 @@ tbody {
}
td:nth-child(1),
td:nth-child(2) {
td:nth-child(2),
td:nth-child(5),
td:nth-child(6),
td:nth-child(9),
td:nth-child(10),
td:nth-child(11),
td:nth-child(12),
td:nth-child(13),
td:nth-child(14),
td:nth-child(15),
td:nth-child(16) {
color: var(--color-text);
}
td:nth-child(5) {}
td:nth-child(5),
td:nth-child(6),
td:nth-child(7) {
td:nth-child(18) {
font-size: 0.8125rem;
font-family: var(--font-mono);
text-transform: uppercase;
@@ -255,15 +300,122 @@ tbody {
td:nth-child(3),
td:nth-child(4),
td:nth-child(8),
td:nth-child(9),
td:nth-child(10),
td:nth-child(11),
td:nth-child(12),
td:nth-child(13) {
td:nth-child(13),
td:nth-child(14),
td:nth-child(15),
td:nth-child(16),
td:nth-child(17) {
font-size: 0.8125rem;
font-family: var(--font-mono);
}
.provider-cell {
display: flex;
align-items: center;
gap: 0.375rem;
}
.provider-cell span:first-child {
flex: 0 0 auto;
}
.provider-cell svg {
display: block;
width: 1rem;
height: 1rem;
color: var(--color-text-secondary);
}
.model-id-cell {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.375rem;
}
.model-id-text {}
.copy-button {
flex: 0 0 auto;
background: none;
border: none;
cursor: pointer;
padding: 0.25rem;
border-radius: 0.25rem;
color: var(--color-text-tertiary);
opacity: 0;
transition: opacity 0.2s ease, color 0.2s ease;
}
.model-id-cell:hover .copy-button {
opacity: 1;
}
.model-id-cell .copy-button svg {
display: block;
}
.copy-button:hover {
color: var(--color-text);
background-color: var(--color-surface);
}
.copy-button:active {
transform: scale(0.95);
}
.copy-button.copied {
color: var(--color-brand) !important;
}
.modalities {
display: flex;
gap: 0.25rem;
align-items: center;
}
.modality-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
border: 1px solid var(--color-border);
border-radius: 2px;
background-color: var(--color-background);
color: var(--color-text-secondary);
position: relative;
}
.modality-icon::after {
content: attr(data-tooltip);
position: absolute;
bottom: 100%;
left: 50%;
transform: translateX(-50%);
margin-bottom: 4px;
text-transform: uppercase;
letter-spacing: 0.5px;
line-height: 1;
padding: 0.375rem 0.375rem;
background-color: var(--color-text);
color: var(--color-background);
font-size: 0.625rem;
border-radius: 3px;
white-space: nowrap;
opacity: 0;
pointer-events: none;
transition: opacity 0.15s ease;
z-index: 100;
}
.modality-icon:hover::after {
opacity: 1;
}
}
dialog::backdrop {
@@ -394,4 +546,4 @@ dialog {
}
}
}
}
+240
View File
@@ -0,0 +1,240 @@
const modal = document.getElementById("modal") as HTMLDialogElement;
const modalClose = document.getElementById("close")!;
const help = document.getElementById("help")!;
const search = document.getElementById("search")! as HTMLInputElement;
/////////////////////////
// URL State Management
/////////////////////////
function getQueryParams() {
return new URLSearchParams(window.location.search);
}
function updateQueryParams(updates: Record<string, string | null>) {
const params = getQueryParams();
for (const [key, value] of Object.entries(updates)) {
if (value) {
params.set(key, value);
} else {
params.delete(key);
}
}
const newPath = params.toString()
? `${window.location.pathname}?${params.toString()}`
: window.location.pathname;
window.history.pushState({}, "", newPath);
}
function getColumnNameForURL(headerEl: Element): string {
const text = headerEl.textContent?.trim().toLowerCase() || "";
return text.replace(/↑|↓/g, "").trim().split(/\s+/).slice(0, 2).join("-");
}
function getColumnIndexByUrlName(name: string): number {
const headers = document.querySelectorAll("th.sortable");
return Array.from(headers).findIndex(
(header) => getColumnNameForURL(header) === name
);
}
/////////////////////////
// Handle "How to use"
/////////////////////////
let y = 0;
help.addEventListener("click", () => {
y = window.scrollY;
document.body.style.position = "fixed";
document.body.style.top = `-${y}px`;
modal.showModal();
});
function closeDialog() {
modal.close();
document.body.style.position = "";
document.body.style.top = "";
window.scrollTo(0, y);
}
modalClose.addEventListener("click", closeDialog);
modal.addEventListener("cancel", closeDialog);
modal.addEventListener("click", (e) => {
if (e.target === modal) closeDialog();
});
////////////////////
// Handle Sorting
////////////////////
let currentSort = { column: -1, direction: "asc" };
function sortTable(column: number, direction: "asc" | "desc") {
const header = document.querySelectorAll("th.sortable")[column];
const columnType = header.getAttribute("data-type");
if (!columnType) return;
// update state
currentSort = { column, direction };
updateQueryParams({
sort: getColumnNameForURL(header),
order: direction,
});
// sort rows
const tbody = document.querySelector("table tbody")!;
const rows = Array.from(
tbody.querySelectorAll("tr")
) as HTMLTableRowElement[];
rows.sort((a, b) => {
const aValue = getCellValue(a.cells[column], columnType);
const bValue = getCellValue(b.cells[column], columnType);
// Handle undefined values - always sort to bottom
if (aValue === undefined && bValue === undefined) return 0;
if (aValue === undefined) return 1;
if (bValue === undefined) return -1;
let comparison = 0;
if (columnType === "number" || columnType === "modalities") {
comparison = (aValue as number) - (bValue as number);
} else if (columnType === "boolean") {
comparison = (aValue as string).localeCompare(bValue as string);
} else {
comparison = (aValue as string).localeCompare(bValue as string);
}
return direction === "asc" ? comparison : -comparison;
});
rows.forEach((row) => tbody.appendChild(row));
// update sort indicators
const headers = document.querySelectorAll("th.sortable");
headers.forEach((header, i) => {
const indicator = header.querySelector(".sort-indicator")!;
if (i === column) {
indicator.textContent = direction === "asc" ? "↑" : "↓";
} else {
indicator.textContent = "";
}
});
}
function getCellValue(
cell: HTMLTableCellElement,
type: string
): string | number | undefined {
if (type === "modalities")
return cell.querySelectorAll(".modality-icon").length;
const text = cell.textContent?.trim() || "";
if (text === "-") return;
if (type === "number") return parseFloat(text.replace(/[$,]/g, "")) || 0;
return text;
}
document.querySelectorAll("th.sortable").forEach((header) => {
header.addEventListener("click", () => {
const column = Array.from(header.parentElement!.children).indexOf(header);
const direction =
currentSort.column === column && currentSort.direction === "asc"
? "desc"
: "asc";
sortTable(column, direction);
});
});
///////////////////
// Handle Search
///////////////////
function filterTable(value: string) {
const lowerCaseValues = value.toLowerCase().split(",").filter(str => str.trim() !== "");
const rows = document.querySelectorAll(
"table tbody tr"
) as NodeListOf<HTMLTableRowElement>;
rows.forEach((row) => {
const cellTexts = Array.from(row.cells).map((cell) =>
cell.textContent!.toLowerCase()
);
const isVisible = lowerCaseValues.length === 0 ||
lowerCaseValues.some((lowerCaseValue) => cellTexts.some((text) => text.includes(lowerCaseValue)));
row.style.display = isVisible ? "" : "none";
});
updateQueryParams({ search: value || null });
}
search.addEventListener("input", () => {
filterTable(search.value);
});
document.addEventListener("keydown", (e) => {
if ((e.metaKey || e.ctrlKey) && e.key === "k") {
e.preventDefault();
search.focus();
}
});
search.addEventListener("keydown", (e) => {
if (e.key === "Escape") {
search.value = "";
search.dispatchEvent(new Event("input"));
}
});
///////////////////////////////////
// Handle Copy model ID function
///////////////////////////////////
(window as any).copyModelId = async (
button: HTMLButtonElement,
modelId: string
) => {
try {
if (navigator.clipboard) {
await navigator.clipboard.writeText(modelId);
// Switch to check icon
const copyIcon = button.querySelector(".copy-icon") as HTMLElement;
const checkIcon = button.querySelector(".check-icon") as HTMLElement;
copyIcon.style.display = "none";
checkIcon.style.display = "block";
// Switch back after 1 second
setTimeout(() => {
copyIcon.style.display = "block";
checkIcon.style.display = "none";
}, 1000);
}
} catch (err) {
console.error("Failed to copy text: ", err);
}
};
///////////////////////////////////
// Initialize State from URL
///////////////////////////////////
function initializeFromURL() {
const params = getQueryParams();
(() => {
const searchQuery = params.get("search");
if (!searchQuery) return;
search.value = searchQuery;
filterTable(searchQuery);
})();
(() => {
const columnName = params.get("sort");
if (!columnName) return;
const columnIndex = getColumnIndexByUrlName(columnName);
if (columnIndex === -1) return;
const direction = (params.get("order") as "asc" | "desc") || "asc";
sortTable(columnIndex, direction);
})();
}
document.addEventListener("DOMContentLoaded", initializeFromURL);
window.addEventListener("popstate", initializeFromURL);
+574
View File
@@ -0,0 +1,574 @@
/** @jsx jsx */
/** @jsxImportSource hono/jsx */
import { generate } from "models.dev";
import { Fragment } from "hono/jsx";
import { renderToString } from "hono/jsx/dom/server";
import { existsSync } from "fs";
import path from "path";
export const Providers = await generate(
path.join(import.meta.dir, "..", "..", "..", "providers")
);
// Function to load SVG content
const loadProviderSvg = async (providerId: string): Promise<string | null> => {
const providerLogoPath = path.join(
import.meta.dir,
"..",
"..",
"..",
"providers",
providerId,
"logo.svg"
);
const defaultLogoPath = path.join(
import.meta.dir,
"..",
"..",
"..",
"providers",
"logo.svg"
);
try {
// Try provider-specific logo first
if (existsSync(providerLogoPath)) {
const file = Bun.file(providerLogoPath);
return await file.text();
}
//
// Fall back to default logo
if (existsSync(defaultLogoPath)) {
const file = Bun.file(defaultLogoPath);
return await file.text();
}
return null;
} catch (error) {
console.warn(`Failed to load logo for provider ${providerId}:`, error);
return null;
}
};
// Create a cache of loaded SVGs at build time
const providerLogos = new Map<string, string>();
// Pre-load all provider logos
for (const [providerId] of Object.entries(Providers)) {
const svgContent = await loadProviderSvg(providerId);
if (svgContent) {
providerLogos.set(providerId, svgContent);
}
}
function renderProviderLogo(providerId: string) {
const svgContent = providerLogos.get(providerId) || "";
return <span dangerouslySetInnerHTML={{ __html: svgContent }} />;
}
const getModalityIcon = (modality: string) => {
switch (modality) {
case "text":
return (
<span class="modality-icon" data-tooltip="Text">
<svg
xmlns="http://www.w3.org/2000/svg"
width="16"
height="16"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<polyline points="4,7 4,4 20,4 20,7"></polyline>
<line x1="9" y1="20" x2="15" y2="20"></line>
<line x1="12" y1="4" x2="12" y2="20"></line>
</svg>
</span>
);
case "image":
return (
<span class="modality-icon" data-tooltip="Image">
<svg
xmlns="http://www.w3.org/2000/svg"
width="16"
height="16"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect>
<circle cx="9" cy="9" r="2"></circle>
<path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"></path>
</svg>
</span>
);
case "audio":
return (
<span class="modality-icon" data-tooltip="Audio">
<svg
xmlns="http://www.w3.org/2000/svg"
width="16"
height="16"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon>
<path d="m19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07"></path>
</svg>
</span>
);
case "video":
return (
<span class="modality-icon" data-tooltip="Video">
<svg
xmlns="http://www.w3.org/2000/svg"
width="16"
height="16"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m22 8-6 4 6 4V8Z"></path>
<rect width="14" height="12" x="2" y="6" rx="2" ry="2"></rect>
</svg>
</span>
);
case "pdf":
return (
<span class="modality-icon" data-tooltip="PDF">
<svg
xmlns="http://www.w3.org/2000/svg"
width="16"
height="16"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
<polyline points="14,2 14,8 20,8"></polyline>
<line x1="16" y1="13" x2="8" y2="13"></line>
<line x1="16" y1="17" x2="8" y2="17"></line>
<polyline points="10,9 9,9 8,9"></polyline>
</svg>
</span>
);
default:
return null;
}
};
const renderCost = (cost?: number) => {
return cost === undefined ? "-" : `$${cost.toFixed(2)}`;
};
export const Rendered = renderToString(
<Fragment>
<header>
<div class="left">
<h1>Models.dev</h1>
<span class="slash"></span>
<p>An open-source database of AI models</p>
</div>
<div class="right">
<a
class="github"
target="_blank"
rel="noopener noreferrer"
href="https://github.com/sst/models.dev"
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
>
<path
fill="currentColor"
d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2"
></path>
</svg>
</a>
<div class="search-container">
<input type="text" id="search" placeholder="Search models" />
<span class="search-shortcut">K</span>
</div>
<button id="help">How to use</button>
</div>
</header>
<table>
<thead>
<tr>
<th class="sortable" data-type="text">
Provider <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="text">
Model <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="text">
Family <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="text">
Provider ID <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="text">
Model ID <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="boolean">
Tool Call <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="boolean">
Reasoning <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="modalities">
Input <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="modalities">
Output <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="number">
<div class="header-container">
<span class="header-text">
Input Cost
<br />
<span class="desc">per 1M tokens</span>
</span>
<span class="sort-indicator"></span>
</div>
</th>
<th class="sortable" data-type="number">
<div class="header-container">
<span class="header-text">
Output Cost
<br />
<span class="desc">per 1M tokens</span>
</span>
<span class="sort-indicator"></span>
</div>
</th>
<th class="sortable" data-type="number">
<div class="header-container">
<span class="header-text">
Reasoning Cost
<br />
<span class="desc">per 1M tokens</span>
</span>
<span class="sort-indicator"></span>
</div>
</th>
<th class="sortable" data-type="number">
<div class="header-container">
<span class="header-text">
Cache Read Cost
<br />
<span class="desc">per 1M tokens</span>
</span>
<span class="sort-indicator"></span>
</div>
</th>
<th class="sortable" data-type="number">
<div class="header-container">
<span class="header-text">
Cache Write Cost
<br />
<span class="desc">per 1M tokens</span>
</span>
<span class="sort-indicator"></span>
</div>
</th>
<th class="sortable" data-type="number">
<div class="header-container">
<span class="header-text">
Audio Input Cost
<br />
<span class="desc">per 1M tokens</span>
</span>
<span class="sort-indicator"></span>
</div>
</th>
<th class="sortable" data-type="number">
<div class="header-container">
<span class="header-text">
Audio Output Cost
<br />
<span class="desc">per 1M tokens</span>
</span>
<span class="sort-indicator"></span>
</div>
</th>
<th class="sortable" data-type="number">
Context Limit <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="number">
Input Limit <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="number">
Output Limit <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="boolean">
Structured Output <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="boolean">
Temperature <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="text">
Weights <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="text">
Knowledge <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="text">
Release Date <span class="sort-indicator"></span>
</th>
<th class="sortable" data-type="text">
Last Updated <span class="sort-indicator"></span>
</th>
</tr>
</thead>
<tbody>
{Object.entries(Providers)
.sort(([, providerA], [, providerB]) =>
providerA.name.localeCompare(providerB.name)
)
.flatMap(([providerId, provider]) =>
Object.entries(provider.models)
.filter(([, model]) => model.status !== "alpha")
.sort(([, modelA], [, modelB]) =>
modelA.name.localeCompare(modelB.name)
)
.map(([modelId, model]) => (
<tr key={`${providerId}-${modelId}`}>
<td>
<div class="provider-cell">
{renderProviderLogo(providerId)}
<span>{provider.name}</span>
</div>
</td>
<td>{model.name}</td>
<td>{model.family ?? "-"}</td>
<td>{providerId}</td>
<td>
<div class="model-id-cell">
<span class="model-id-text">{modelId}</span>
<button
class="copy-button"
onclick={`copyModelId(this, '${modelId}')`}
>
<svg
class="copy-icon"
xmlns="http://www.w3.org/2000/svg"
width="14"
height="14"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<rect
width="14"
height="14"
x="8"
y="8"
rx="2"
ry="2"
/>
<path d="m4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
</svg>
<svg
class="check-icon"
xmlns="http://www.w3.org/2000/svg"
width="14"
height="14"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
style="display: none;"
>
<polyline points="20,6 9,17 4,12" />
</svg>
</button>
</div>
</td>
<td>{model.tool_call ? "Yes" : "No"}</td>
<td>{model.reasoning ? "Yes" : "No"}</td>
<td>
<div class="modalities">
{model.modalities.input.map((modality) =>
getModalityIcon(modality)
)}
</div>
</td>
<td>
<div class="modalities">
{model.modalities.output.map((modality) =>
getModalityIcon(modality)
)}
</div>
</td>
<td>{renderCost(model.cost?.input)}</td>
<td>{renderCost(model.cost?.output)}</td>
<td>{renderCost(model.cost?.reasoning)}</td>
<td>{renderCost(model.cost?.cache_read)}</td>
<td>{renderCost(model.cost?.cache_write)}</td>
<td>{renderCost(model.cost?.input_audio)}</td>
<td>{renderCost(model.cost?.output_audio)}</td>
<td>{model.limit.context.toLocaleString()}</td>
<td>{model.limit.input?.toLocaleString() ?? "-"}</td>
<td>{model.limit.output.toLocaleString()}</td>
<td>
{model.structured_output === undefined
? "-"
: model.structured_output
? "Yes"
: "No"}
</td>
<td>{model.temperature ? "Yes" : "No"}</td>
<td>{model.open_weights ? "Open" : "Closed"}</td>
<td>
{model.knowledge ? model.knowledge.substring(0, 7) : "-"}
</td>
<td>{model.release_date}</td>
<td>{model.last_updated}</td>
</tr>
))
)}
</tbody>
</table>
<dialog id="modal">
<div class="header">
<h2>How to use</h2>
<button id="close">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<line
x1="18"
y1="6"
x2="6"
y2="18"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
/>
<line
x1="6"
y1="6"
x2="18"
y2="18"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
/>
</svg>
</button>
</div>
<div class="body">
<p>
<a href="/">Models.dev</a> is a comprehensive open-source database of
AI model specifications, pricing, and features.
</p>
<p>
There&apos;s no single database with information about all the
available AI models. We started Models.dev as a community-contributed
project to address this. We also use it internally in{" "}
<a
href="https://opencode.ai"
target="_blank"
rel="noopener noreferrer"
>
opencode
</a>
.
</p>
<h2>API</h2>
<p>You can access this data through an API.</p>
<div class="code-block">
<code>
curl <a href="/api.json">https://models.dev/api.json</a>
</code>
</div>
<p>
Use the <b>Model ID</b> field to do a lookup on any model; it&apos;s
the identifier used by{" "}
<a
href="https://ai-sdk.dev/"
target="_blank"
rel="noopener noreferrer"
>
AI SDK
</a>
.
</p>
<h2>Logos</h2>
<p>
Provider logos are available at <code>/logos/{`{provider}`}.svg</code>{" "}
where <code>{`{provider}`}</code> is the <b>Provider ID</b>.
</p>
<div class="code-block">
<code>
curl{" "}
<a href="/logos/anthropic.svg">
https://models.dev/logos/anthropic.svg
</a>
</code>
</div>
<p>
If we don't have a provider's logo, a default logo is served instead.
</p>
<h2>Contribute</h2>
<p>
The data is stored in the{" "}
<a
href="https://github.com/sst/models.dev"
target="_blank"
rel="noopener noreferrer"
>
GitHub repo
</a>{" "}
as TOML files; organized by provider and model. The logo is stored as
an SVG. This is used to generate this page and power the API.
</p>
<p>
We need your help keeping this up to date. Feel free to edit the data
and submit a pull request. Refer to the{" "}
<a href="https://github.com/sst/models.dev/blob/dev/README.md">
README
</a>{" "}
for more information.
</p>
</div>
<div class="footer">
<a
href="https://github.com/sst/models.dev"
target="_blank"
rel="noopener noreferrer"
>
Edit on GitHub
</a>
<a href="https://sst.dev" target="_blank" rel="noopener noreferrer">
Created by SST
</a>
</div>
</dialog>
</Fragment>
);
+81
View File
@@ -0,0 +1,81 @@
import Index from "../index.html";
import { Rendered } from "./render";
import path from "path";
Bun.serve({
port: 16_000,
routes: {
"/": Index,
"/assets/*": (req) => {
const file = Bun.file(
path.join(import.meta.dir, new URL(req.url).pathname)
);
return new Response(file);
},
"/logos/*": async (req) => {
const url = new URL(req.url);
const provider = url.pathname.split("/")[2].replace(".svg", "");
const logoPath = path.join(
import.meta.dir,
"..",
"..",
"..",
"providers",
provider,
"logo.svg"
);
const defaultLogoPath = path.join(
import.meta.dir,
"..",
"..",
"..",
"providers",
"logo.svg"
);
let file = Bun.file(logoPath);
if (!(await file.exists())) {
file = Bun.file(defaultLogoPath);
}
return new Response(file, {
headers: {
"Content-Type": "image/svg+xml",
"Cache-Control": "public, max-age=3600",
},
});
},
},
});
const server = Bun.serve({
development: true,
hostname: "0.0.0.0",
async fetch(req) {
// Reject WebSocket upgrade requests
if (req.headers.get("upgrade") === "websocket") {
return new Response("WebSocket upgrades not supported", {
status: 426,
headers: {
Upgrade: "Required",
},
});
}
const url = new URL(req.url);
url.host = "localhost:16000";
const result = fetch(url.toString(), req);
if (url.pathname !== "/") return result;
let html = await result.then((r) => r.text());
html = html.replace("<!--static-->", Rendered);
return new Response(html, {
headers: {
"Content-Type": "text/html",
},
});
},
});
console.log(`Server running at ${server.hostname}:${server.port}`);
+9
View File
@@ -0,0 +1,9 @@
/* This file is auto-generated by SST. Do not edit. */
/* tslint:disable */
/* eslint-disable */
/* deno-fmt-ignore-file */
/// <reference path="../../sst-env.d.ts" />
import "sst"
export {}
+18
View File
@@ -0,0 +1,18 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"compilerOptions": {
"jsx": "react-jsx",
"target": "ES2020",
"module": "ESNext",
"moduleResolution": "bundler",
"lib": [
"ES2020",
"DOM",
"DOM.Iterable"
],
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
}
}
+7
View File
@@ -0,0 +1,7 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" style="display: block;" viewBox="0 0 2048 2048" width="1046" height="1046" preserveAspectRatio="none">
<path transform="translate(0,0)" fill="rgb(156,155,155)" d="M 388.193 1682.23 C 380.878 1674.23 349.014 1650.79 338.487 1642.13 C 148.161 1485.91 28.1107 1260.14 5.01063 1015 C -18.4493 771.014 55.9168 527.694 211.767 338.509 C 367.861 148.455 593.42 28.6444 838.288 5.7197 C 1092.75 -18.7181 1345.95 63.524 1537.48 232.828 C 1567.76 259.726 1596.32 288.496 1623 318.968 C 1631.78 329.058 1640.32 339.36 1648.6 349.865 C 1654.15 356.824 1662.64 368.871 1669.4 374.06 C 1866.4 518.124 1998.49 734.204 2036.88 975.222 C 2041.98 1007.66 2045.11 1039.38 2046.62 1072.12 C 2046.85 1077.09 2047.16 1082.22 2048 1087.12 L 2048 1155.79 L 2047.85 1156.71 C 2045.71 1170.93 2045.27 1196.57 2043.86 1212.22 C 2040.62 1246.59 2035.38 1280.75 2028.17 1314.51 C 1981.27 1534.16 1856.1 1729.25 1675.99 1863.43 C 1479.61 2010.02 1232.99 2072.49 990.498 2037.07 C 801.767 2009.86 626.135 1924.74 487.842 1793.46 C 455.956 1763.37 418.158 1722.72 392.022 1687.5 C 390.729 1685.76 389.452 1684 388.193 1682.23 z"/>
<path transform="translate(0,0)" fill="rgb(117,116,116)" d="M 1669.4 374.06 C 1866.4 518.124 1998.49 734.204 2036.88 975.222 C 2041.98 1007.66 2045.11 1039.38 2046.62 1072.12 C 2046.85 1077.09 2047.16 1082.22 2048 1087.12 L 2048 1155.79 L 2047.85 1156.71 C 2045.71 1170.93 2045.27 1196.57 2043.86 1212.22 C 2040.62 1246.59 2035.38 1280.75 2028.17 1314.51 C 1981.27 1534.16 1856.1 1729.25 1675.99 1863.43 C 1479.61 2010.02 1232.99 2072.49 990.498 2037.07 C 801.767 2009.86 626.135 1924.74 487.842 1793.46 C 455.956 1763.37 418.158 1722.72 392.022 1687.5 C 390.729 1685.76 389.452 1684 388.193 1682.23 C 394.373 1684.07 421.092 1702.62 428.047 1707.15 C 439.611 1714.6 451.324 1721.83 463.177 1728.82 C 490.564 1744.99 528.003 1763.59 557.361 1776.32 C 782.899 1873.92 1037.96 1878.01 1266.51 1787.69 C 1495.36 1696.62 1678.57 1518.24 1775.72 1291.9 C 1877.79 1053.06 1875.1 782.375 1768.31 545.611 C 1753.03 511.993 1733.8 474.565 1714.15 443.177 C 1706.81 431.355 1699.2 419.704 1691.32 408.231 C 1685.67 400.055 1672.56 382.889 1669.4 374.06 z"/>
<path transform="translate(0,0)" fill="rgb(254,254,254)" d="M 907.581 300.401 C 923.66 299.084 947.483 300.532 962.897 302.556 C 1041.39 313.102 1112.41 354.577 1160.17 417.755 C 1202.42 473.452 1228.57 555 1218.78 624.854 C 1256.03 619.819 1285.79 618.643 1323.38 625.442 C 1401.3 639.582 1470.3 684.357 1514.95 749.754 C 1560.04 815.479 1576.85 896.56 1561.6 974.792 C 1546.59 1052.29 1501.28 1120.59 1435.71 1164.55 C 1366.19 1211.67 1287.89 1223.85 1206.7 1207.99 L 1208.16 1225.92 C 1213.72 1304.44 1187.72 1381.94 1135.93 1441.23 C 1080.14 1505.71 1008.69 1536.8 924.661 1542.84 C 910.37 1543.02 898.883 1543.12 884.551 1541.84 C 806.009 1534.5 733.606 1496.24 683.294 1435.48 C 630.495 1371.76 609.152 1293.49 617.004 1211.82 C 577.182 1218.28 543.704 1219.15 503.598 1211.31 C 425.862 1195.87 357.514 1150.02 313.752 1083.94 C 269.997 1017.95 254.398 937.224 270.419 859.682 C 286.452 782.387 332.522 714.62 398.502 671.28 C 468.674 625.191 546.96 613.555 628.149 630.32 C 625.459 583.013 627.036 545.389 643.173 499.662 C 684.204 383.394 785.737 308.984 907.581 300.401 z"/>
<path transform="translate(0,0)" fill="rgb(156,155,155)" d="M 907.659 407.406 C 928.022 404.422 959.425 408.947 978.901 414.989 C 1028.11 429.972 1069.15 464.261 1092.65 510.025 C 1116.27 555.792 1120.24 609.2 1103.65 657.957 C 1098.74 672.384 1090.33 686.336 1086.3 699.186 C 1082.14 712.53 1083.57 726.994 1090.26 739.265 C 1100.24 757.657 1118.84 768.259 1139.57 767.119 C 1155.78 766.227 1164.63 759.273 1178.02 751.678 C 1221.56 726.903 1273.23 720.668 1321.41 734.376 C 1370.6 748.209 1412.18 781.215 1436.82 825.985 C 1461.35 870.569 1467.02 923.112 1452.58 971.905 C 1438.06 1020.82 1404.54 1061.88 1359.51 1085.9 C 1280.31 1128.12 1181.39 1108.75 1124.87 1039.74 C 1113.7 1026.12 1105.83 1013.42 1087.4 1008.03 C 1041 993.798 1000.36 1044.75 1026.36 1086.49 C 1041.95 1111.53 1062.76 1127.17 1078.18 1153.03 C 1090.26 1175.57 1097.84 1197.66 1100.84 1223.2 C 1107.04 1273.73 1092.65 1324.64 1060.9 1364.44 C 1029.42 1404.28 983.238 1429.79 932.752 1435.23 C 882.189 1440.86 831.491 1425.87 792.121 1393.65 C 752.588 1361.54 727.605 1314.91 722.781 1264.21 C 718.894 1225.82 727.653 1167.83 758.478 1141.35 C 771.141 1130.47 781.921 1118.81 792.404 1105.84 C 869.373 1010.12 879.456 876.886 817.771 770.669 C 809.316 756.055 799.574 742.224 788.661 729.342 C 782.235 721.815 773.191 712.791 767.461 705.187 C 749.008 680.699 737.483 646.859 734.444 616.659 C 729.188 565.849 744.584 515.06 777.168 475.721 C 810.289 435.451 856.055 412.394 907.659 407.406 z"/>
<path transform="translate(0,0)" fill="rgb(156,155,155)" d="M 554.228 729.711 C 659.104 725.931 747.227 807.802 751.164 912.672 C 755.1 1017.54 673.362 1105.79 568.498 1109.88 C 463.411 1113.98 374.937 1032.03 370.992 926.942 C 367.047 821.849 449.129 733.498 554.228 729.711 z"/>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

+21
View File
@@ -0,0 +1,21 @@
name = "MiniMax-M1"
family = "minimax"
release_date = "2025-06-16"
last_updated = "2025-06-16"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.132
output = 1.254
[limit]
context = 1_000_000
output = 128_000
[modalities]
input = ["text"]
output = ["text"]
+20
View File
@@ -0,0 +1,20 @@
name = "MiniMax-M2.1"
release_date = "2025-12-19"
last_updated = "2025-12-19"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.300
output = 1.200
[limit]
context = 1_000_000
output = 131_072
[modalities]
input = ["text"]
output = ["text"]
+20
View File
@@ -0,0 +1,20 @@
name = "MiniMax-M2"
release_date = "2025-10-26"
last_updated = "2025-10-26"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.330
output = 1.320
[limit]
context = 1_000_000
output = 128_000
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "chatgpt-4o-latest"
family = "gpt"
release_date = "2024-08-08"
last_updated = "2024-08-08"
attachment = true
reasoning = false
temperature = true
tool_call = false
open_weights = false
knowledge = "2023-09"
[cost]
input = 5.000
output = 15.000
[limit]
context = 128_000
output = 16_384
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "claude-haiku-4-5-20251001"
release_date = "2025-10-16"
last_updated = "2025-10-16"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-03"
[cost]
input = 1.000
output = 5.000
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "claude-opus-4-1-20250805-thinking"
release_date = "2025-05-27"
last_updated = "2025-05-27"
attachment = true
reasoning = true
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-03"
[cost]
input = 15.000
output = 75.000
[limit]
context = 200_000
output = 32_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "claude-opus-4-1-20250805"
release_date = "2025-08-05"
last_updated = "2025-08-05"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-03"
[cost]
input = 15.000
output = 75.000
[limit]
context = 200_000
output = 32_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "claude-opus-4-5-20251101-thinking"
release_date = "2025-11-25"
last_updated = "2025-11-25"
attachment = true
reasoning = true
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-03"
[cost]
input = 5.000
output = 25.000
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "claude-opus-4-5-20251101"
release_date = "2025-11-25"
last_updated = "2025-11-25"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-03"
[cost]
input = 5.000
output = 25.000
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "claude-sonnet-4-5-20250929-thinking"
release_date = "2025-09-30"
last_updated = "2025-09-30"
attachment = true
reasoning = true
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-03"
[cost]
input = 3.000
output = 15.000
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "claude-sonnet-4-5-20250929"
release_date = "2025-09-29"
last_updated = "2025-09-29"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-03"
[cost]
input = 3.000
output = 15.000
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image"]
output = ["text"]
+22
View File
@@ -0,0 +1,22 @@
name = "Deepseek-Chat"
family = "deepseek"
release_date = "2024-11-29"
last_updated = "2024-11-29"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-07"
[cost]
input = 0.290
output = 0.430
[limit]
context = 128_000
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Deepseek-Reasoner"
family = "deepseek-thinking"
release_date = "2025-01-20"
last_updated = "2025-01-20"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-07"
[cost]
input = 0.290
output = 0.430
[limit]
context = 128_000
output = 128_000
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "DeepSeek-V3.2-Thinking"
release_date = "2025-12-01"
last_updated = "2025-12-01"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-12"
[cost]
input = 0.290
output = 0.430
[limit]
context = 128_000
output = 128_000
[modalities]
input = ["text"]
output = ["text"]
+21
View File
@@ -0,0 +1,21 @@
name = "deepseek-v3.2"
release_date = "2025-12-01"
last_updated = "2025-12-01"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-12"
[cost]
input = 0.290
output = 0.430
[limit]
context = 128_000
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,20 @@
name = "doubao-seed-1-6-thinking-250715"
release_date = "2025-07-15"
last_updated = "2025-07-15"
attachment = true
reasoning = true
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.121
output = 1.210
[limit]
context = 256_000
output = 16_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,20 @@
name = "doubao-seed-1-6-vision-250815"
release_date = "2025-09-30"
last_updated = "2025-09-30"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.114
output = 1.143
[limit]
context = 256_000
output = 32_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,20 @@
name = "doubao-seed-1-8-251215"
release_date = "2025-12-18"
last_updated = "2025-12-18"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.114
output = 0.286
[limit]
context = 224_000
output = 64_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,20 @@
name = "doubao-seed-code-preview-251028"
release_date = "2025-11-11"
last_updated = "2025-11-11"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.170
output = 1.140
[limit]
context = 256_000
output = 32_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "gemini-2.0-flash-lite"
family = "gemini-flash-lite"
release_date = "2025-06-16"
last_updated = "2025-06-16"
attachment = true
reasoning = false
temperature = true
tool_call = false
open_weights = false
knowledge = "2024-11"
[cost]
input = 0.075
output = 0.300
[limit]
context = 2_000_000
output = 8_192
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "gemini-2.5-flash-image"
release_date = "2025-10-08"
last_updated = "2025-10-08"
attachment = true
reasoning = false
temperature = true
tool_call = false
open_weights = false
knowledge = "2025-01"
[cost]
input = 0.300
output = 30.000
[limit]
context = 32_768
output = 32_768
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "gemini-2.5-flash-lite-preview-09-2025"
release_date = "2025-09-26"
last_updated = "2025-09-26"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-01"
[cost]
input = 0.100
output = 0.400
[limit]
context = 1_000_000
output = 65_536
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "gemini-2.5-flash-nothink"
family = "gemini-flash"
release_date = "2025-06-24"
last_updated = "2025-06-24"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-01"
[cost]
input = 0.300
output = 2.500
[limit]
context = 1_000_000
output = 65_536
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "gemini-2.5-flash-preview-09-2025"
release_date = "2025-09-26"
last_updated = "2025-09-26"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-01"
[cost]
input = 0.300
output = 2.500
[limit]
context = 1_000_000
output = 65_536
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "gemini-2.5-flash"
family = "gemini-flash"
release_date = "2025-06-17"
last_updated = "2025-06-17"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-01"
[cost]
input = 0.300
output = 2.500
[limit]
context = 1_000_000
output = 65_536
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "gemini-2.5-pro"
family = "gemini-pro"
release_date = "2025-06-17"
last_updated = "2025-06-17"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-01"
[cost]
input = 1.250
output = 10.000
[limit]
context = 1_000_000
output = 65_536
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "gemini-3-flash-preview"
release_date = "2025-12-18"
last_updated = "2025-12-18"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-06"
[cost]
input = 0.500
output = 3.000
[limit]
context = 1_000_000
output = 65_536
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "gemini-3-pro-image-preview"
release_date = "2025-11-20"
last_updated = "2025-11-20"
attachment = true
reasoning = false
temperature = true
tool_call = false
open_weights = false
knowledge = "2025-06"
[cost]
input = 2.000
output = 120.000
[limit]
context = 32_768
output = 64_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "gemini-3-pro-preview"
release_date = "2025-11-19"
last_updated = "2025-11-19"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-06"
[cost]
input = 2.000
output = 12.000
[limit]
context = 1_000_000
output = 64_000
[modalities]
input = ["text", "image"]
output = ["text"]
+21
View File
@@ -0,0 +1,21 @@
name = "GLM-4.5"
release_date = "2025-07-29"
last_updated = "2025-07-29"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-10"
[cost]
input = 0.286
output = 1.142
[limit]
context = 128_000
output = 98_304
[modalities]
input = ["text"]
output = ["text"]
+21
View File
@@ -0,0 +1,21 @@
name = "GLM-4.5V"
release_date = "2025-07-29"
last_updated = "2025-07-29"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-10"
[cost]
input = 0.290
output = 0.860
[limit]
context = 64_000
output = 16_384
[modalities]
input = ["text", "image"]
output = ["text"]
+21
View File
@@ -0,0 +1,21 @@
name = "glm-4.6"
release_date = "2025-09-30"
last_updated = "2025-09-30"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-03"
[cost]
input = 0.286
output = 1.142
[limit]
context = 200_000
output = 131_072
[modalities]
input = ["text"]
output = ["text"]
+21
View File
@@ -0,0 +1,21 @@
name = "GLM-4.6V"
release_date = "2025-12-08"
last_updated = "2025-12-08"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-03"
[cost]
input = 0.145
output = 0.430
[limit]
context = 128_000
output = 32_768
[modalities]
input = ["text", "image"]
output = ["text"]
+21
View File
@@ -0,0 +1,21 @@
name = "glm-4.7"
release_date = "2025-12-22"
last_updated = "2025-12-22"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-06"
[cost]
input = 0.286
output = 1.142
[limit]
context = 200_000
output = 131_072
[modalities]
input = ["text"]
output = ["text"]
+22
View File
@@ -0,0 +1,22 @@
name = "gpt-4.1-mini"
family = "gpt-mini"
release_date = "2025-04-14"
last_updated = "2025-04-14"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-04"
[cost]
input = 0.400
output = 1.600
[limit]
context = 1_000_000
output = 32_768
[modalities]
input = ["text", "image"]
output = ["text"]
+22
View File
@@ -0,0 +1,22 @@
name = "gpt-4.1-nano"
family = "gpt-nano"
release_date = "2025-04-14"
last_updated = "2025-04-14"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-04"
[cost]
input = 0.100
output = 0.400
[limit]
context = 1_000_000
output = 32_768
[modalities]
input = ["text", "image"]
output = ["text"]
+22
View File
@@ -0,0 +1,22 @@
name = "gpt-4.1"
family = "gpt"
release_date = "2025-04-14"
last_updated = "2025-04-14"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-04"
[cost]
input = 2.000
output = 8.000
[limit]
context = 1_000_000
output = 32_768
[modalities]
input = ["text", "image"]
output = ["text"]
+22
View File
@@ -0,0 +1,22 @@
name = "gpt-4o"
family = "gpt"
release_date = "2024-05-13"
last_updated = "2024-05-13"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2023-09"
[cost]
input = 2.500
output = 10.000
[limit]
context = 128_000
output = 16_384
[modalities]
input = ["text", "image"]
output = ["text"]
+21
View File
@@ -0,0 +1,21 @@
name = "gpt-5-mini"
release_date = "2025-08-08"
last_updated = "2025-08-08"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-10"
[cost]
input = 0.250
output = 2.000
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
+21
View File
@@ -0,0 +1,21 @@
name = "gpt-5-pro"
release_date = "2025-10-08"
last_updated = "2025-10-08"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-10"
[cost]
input = 15.000
output = 120.000
[limit]
context = 400_000
output = 272_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "gpt-5-thinking"
release_date = "2025-08-08"
last_updated = "2025-08-08"
attachment = true
reasoning = true
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-10"
[cost]
input = 1.250
output = 10.000
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "gpt-5.1-chat-latest"
release_date = "2025-11-14"
last_updated = "2025-11-14"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-10"
[cost]
input = 1.250
output = 10.000
[limit]
context = 128_000
output = 16_384
[modalities]
input = ["text", "image"]
output = ["text"]
+21
View File
@@ -0,0 +1,21 @@
name = "gpt-5.1"
release_date = "2025-11-14"
last_updated = "2025-11-14"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-10"
[cost]
input = 1.250
output = 10.000
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "gpt-5.2-chat-latest"
release_date = "2025-12-12"
last_updated = "2025-12-12"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-10"
[cost]
input = 1.750
output = 14.000
[limit]
context = 128_000
output = 16_384
[modalities]
input = ["text", "image"]
output = ["text"]
+21
View File
@@ -0,0 +1,21 @@
name = "gpt-5.2"
release_date = "2025-12-12"
last_updated = "2025-12-12"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-10"
[cost]
input = 1.750
output = 14.000
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
+21
View File
@@ -0,0 +1,21 @@
name = "gpt-5"
release_date = "2025-08-08"
last_updated = "2025-08-08"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-10"
[cost]
input = 1.250
output = 10.000
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "grok-4-1-fast-non-reasoning"
release_date = "2025-11-20"
last_updated = "2025-11-20"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-06"
[cost]
input = 0.200
output = 0.500
[limit]
context = 2_000_000
output = 30_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "grok-4-1-fast-reasoning"
release_date = "2025-11-20"
last_updated = "2025-11-20"
attachment = true
reasoning = true
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-06"
[cost]
input = 0.200
output = 0.500
[limit]
context = 2_000_000
output = 30_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "grok-4-fast-non-reasoning"
release_date = "2025-09-23"
last_updated = "2025-09-23"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-06"
[cost]
input = 0.200
output = 0.500
[limit]
context = 2_000_000
output = 30_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "grok-4-fast-reasoning"
release_date = "2025-09-23"
last_updated = "2025-09-23"
attachment = true
reasoning = true
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-06"
[cost]
input = 0.200
output = 0.500
[limit]
context = 2_000_000
output = 30_000
[modalities]
input = ["text", "image"]
output = ["text"]
+21
View File
@@ -0,0 +1,21 @@
name = "grok-4.1"
release_date = "2025-11-18"
last_updated = "2025-11-18"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-06"
[cost]
input = 2.000
output = 10.000
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "kimi-k2-0905-preview"
release_date = "2025-09-05"
last_updated = "2025-09-05"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-06"
[cost]
input = 0.632
output = 2.530
[limit]
context = 262_144
output = 262_144
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "kimi-k2-thinking-turbo"
release_date = "2025-09-05"
last_updated = "2025-09-05"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-06"
[cost]
input = 1.265
output = 9.119
[limit]
context = 262_144
output = 262_144
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "kimi-k2-thinking"
release_date = "2025-09-05"
last_updated = "2025-09-05"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
knowledge = "2025-06"
[cost]
input = 0.575
output = 2.300
[limit]
context = 262_144
output = 262_144
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "ministral-14b-2512"
release_date = "2025-12-16"
last_updated = "2025-12-16"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-12"
[cost]
input = 0.330
output = 0.330
[limit]
context = 128_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "mistral-large-2512"
release_date = "2025-12-16"
last_updated = "2025-12-16"
attachment = true
reasoning = false
temperature = true
tool_call = true
open_weights = false
knowledge = "2024-12"
[cost]
input = 1.100
output = 3.300
[limit]
context = 128_000
output = 262_144
[modalities]
input = ["text", "image"]
output = ["text"]

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