Compare commits

..

1292 Commits

Author SHA1 Message Date
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
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
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
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 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
2027 changed files with 38181 additions and 468 deletions
+25
View File
@@ -0,0 +1,25 @@
name: opencode
on:
issue_comment:
types: [created]
jobs:
opencode:
if: |
contains(github.event.comment.body, '/oc') ||
contains(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: script/validate.ts
run: bun validate
+1
View File
@@ -1,4 +1,5 @@
.env
.sst
dist
.DS_Store
node_modules
+29
View File
@@ -0,0 +1,29 @@
# Agent Guidelines for models.dev
## 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 `.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 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
- **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
## 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
+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.
+113 -25
View File
@@ -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)
context = 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,18 @@ 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
### Questions?
Open an issue if you need help or have questions about contributing.
+49 -2
View File
@@ -1,44 +1,69 @@
{
"lockfileVersion": 1,
"configVersion": 0,
"workspaces": {
"": {
"name": "models.dev",
"dependencies": {
"@cloudflare/workers-types": "^4.20250801.0",
"sst": "3.17.5",
},
},
"packages/core": {
"name": "@models.dev/core",
"name": "models.dev",
"version": "0.0.0",
"dependencies": {
"zod": "catalog:",
},
"devDependencies": {
"@tsconfig/bun": "catalog:",
"@types/bun": "catalog:",
"@types/node": "catalog:",
},
},
"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.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=="],
"@models.dev/core": ["@models.dev/core@workspace:packages/core"],
"@models.dev/function": ["@models.dev/function@workspace:packages/function"],
"@models.dev/web": ["@models.dev/web@workspace:packages/web"],
"@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=="],
"available-typed-arrays": ["available-typed-arrays@1.0.7", "", { "dependencies": { "possible-typed-array-names": "^1.0.0" } }, "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ=="],
@@ -53,6 +78,8 @@
"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.16", "", { "dependencies": { "@types/node": "*" } }, "sha512-ciXLrHV4PXax9vHvUrkvun9VPVGOVwbbbBF/Ev1cXz12lyEZMoJpIJABOfPcN9gDJRaiKF9MVbSygLg4NXu3/A=="],
"bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="],
"call-bind": ["call-bind@1.0.8", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.2" } }, "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww=="],
@@ -71,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=="],
@@ -169,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=="],
@@ -259,6 +290,8 @@
"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=="],
"undici-types": ["undici-types@6.20.0", "", {}, "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="],
"unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="],
"url": ["url@0.10.3", "", { "dependencies": { "punycode": "1.3.2", "querystring": "0.2.0" } }, "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ=="],
@@ -283,12 +316,26 @@
"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=="],
"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=="],
}
}
+7
View File
@@ -8,12 +8,19 @@
"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"
}
},
"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"
},
"dependencies": {
"@cloudflare/workers-types": "^4.20250801.0",
"sst": "3.17.5"
}
}
+5 -2
View File
@@ -1,5 +1,6 @@
{
"name": "@models.dev/core",
"name": "models.dev",
"version": "0.0.0",
"$schema": "https://json.schemastore.org/package.json",
"type": "module",
"dependencies": {
@@ -7,6 +8,8 @@
},
"main": "./src/index.ts",
"devDependencies": {
"@tsconfig/bun": "catalog:"
"@tsconfig/bun": "catalog:",
"@types/bun": "catalog:",
"@types/node": "catalog:"
}
}
+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();
+579
View File
@@ -0,0 +1,579 @@
#!/usr/bin/env bun
import { z } from "zod";
import path from "node:path";
import { readdir } from "node:fs/promises";
import * as readline from "node:readline";
// Venice API endpoint
const API_ENDPOINT = "https://api.venice.ai/api/v1/models?type=text";
async function promptForApiKey(): Promise<string | null> {
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
return new Promise((resolve) => {
rl.question(
"Enter Venice API key to include alpha models (or press Enter to skip): ",
(answer) => {
rl.close();
const trimmed = answer.trim();
resolve(trimmed.length > 0 ? trimmed : null);
},
);
});
}
// Zod schemas for API response validation
const Capabilities = z
.object({
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 Pricing = z
.object({
input: z.object({ usd: z.number(), diem: z.number().optional() }).passthrough(),
output: z.object({ usd: z.number(), diem: z.number().optional() }).passthrough(),
})
.passthrough();
const ModelSpec = z
.object({
pricing: Pricing.optional(),
availableContextTokens: z.number(),
capabilities: Capabilities,
constraints: z.any().optional(),
name: z.string(),
modelSource: z.string().optional(),
offline: z.boolean().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();
// Family inference patterns
const familyPatterns: [RegExp, string][] = [
[/^llama-3\.3/i, "llama-3.3"],
[/^llama-3\.2/i, "llama-3.2"],
[/^qwen3/i, "qwen3"],
[/^deepseek/i, "deepseek"],
[/^mistral/i, "mistral"],
[/^devstral/i, "devstral"],
[/^gemini/i, "gemini"],
[/^grok/i, "grok"],
[/^claude/i, "claude"],
[/^hermes/i, "hermes"],
[/^google-gemma/i, "gemma"],
[/^kimi/i, "kimi"],
[/glm-4.6/i, "glm-4.6"],
[/^venice/i, "venice-uncensored"],
[/^openai-gpt/i, "openai-gpt"],
];
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 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;
};
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 VeniceModel>,
existing: ExistingModel | null,
): MergedModel {
const spec = apiModel.model_spec;
const caps = spec.capabilities;
const contextTokens = spec.availableContextTokens;
const outputTokens = Math.floor(contextTokens / 4);
// Determine open_weights from modelSource
const openWeights = spec.modelSource
? spec.modelSource.toLowerCase().includes("huggingface")
: false;
// Build input modalities from API (no auto-PDF)
const inputModalities = buildInputModalities(caps);
// Check if existing has PDF in modalities - preserve it
if (existing?.modalities?.input?.includes("pdf") && !inputModalities.includes("pdf")) {
inputModalities.push("pdf");
}
// Determine attachment based on vision/audio/video support
const attachment =
caps.supportsVision === true ||
caps.supportsAudioInput === true ||
caps.supportsVideoInput === true;
const merged: MergedModel = {
// Always from API
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,
};
}
// Preserve from existing OR infer
if (existing?.family) {
merged.family = existing.family;
} else {
const inferred = inferFamily(apiModel.id, spec.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
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",
"venice",
"models",
);
// Check for API key from CLI argument, environment, or prompt
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;
}
// Prompt if still no key
if (!apiKey) {
apiKey = await promptForApiKey();
}
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();
+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;
}
+14 -4
View File
@@ -16,11 +16,17 @@ export async function generate(directory: string) {
}).then((mod) => mod.default);
toml.id = providerID;
toml.models = {};
const provider = Provider.parse(toml);
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, {
@@ -29,10 +35,14 @@ export async function generate(directory: string) {
},
}).then((mod) => mod.default);
toml.id = modelID;
const model = Model.parse(toml);
provider.models[modelID] = model;
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;
result[providerID] = provider.data;
}
return result;
+106 -15
View File
@@ -1,30 +1,89 @@
import { z } from "zod";
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: z.string().optional(),
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(),
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(),
})
.optional(),
})
.strict();
.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>;
@@ -32,9 +91,41 @@ 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").optional(),
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();
.strict()
.refine(
(data) => {
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 ||
// all others: must NOT have api
(!isOpenAIcompatible && !isOpenrouter && !isAnthropic && !hasApi)
);
},
{
message:
"'api' is required for openai-compatible and openrouter, optional for anthropic, forbidden otherwise",
path: ["api"],
},
);
export type Provider = z.infer<typeof Provider>;
+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:"
}
}
+66
View File
@@ -0,0 +1,66 @@
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 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,
path: url.pathname,
},
}),
}),
);
}
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"]
}
}
+3 -2
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"
@@ -24,6 +24,7 @@
type="image/svg+xml"
/>
<meta property="og:image" content="https://models.dev/social-share.png" />
<meta charset="UTF-8" />
<link rel="stylesheet" href="./src/index.css" />
</head>
<body>
+5 -1
View File
@@ -6,6 +6,10 @@
"build": "./script/build.ts"
},
"dependencies": {
"hono": "^4.8.0"
"hono": "^4.8.0",
"models.dev": "workspace:*"
},
"devDependencies": {
"@types/bun": "^1.2.16"
}
}
+2
View File
@@ -0,0 +1,2 @@
/*
Access-Control-Allow-Origin: *
+34 -1
View File
@@ -1,7 +1,11 @@
#!/usr/bin/env bun
import { Rendered } from "../src/render";
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",
@@ -12,6 +16,35 @@ 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 {
}
}
}
}
+214 -15
View File
@@ -3,25 +3,47 @@ const modalClose = document.getElementById("close")!;
const help = document.getElementById("help")!;
const search = document.getElementById("search")! as HTMLInputElement;
search.addEventListener("input", () => {
const value = search.value.toLowerCase();
const rows = document.querySelectorAll(
"table tbody tr",
) as NodeListOf<HTMLTableRowElement>;
/////////////////////////
// URL State Management
/////////////////////////
function getQueryParams() {
return new URLSearchParams(window.location.search);
}
rows.forEach((row) => {
const cellTexts = Array.from(row.cells).map((cell) =>
cell.textContent!.toLowerCase(),
);
const isVisible = cellTexts.some((text) => text.includes(value));
row.style.display = isVisible ? "" : "none";
});
});
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", () => {
scrollY = window.scrollY;
y = window.scrollY;
document.body.style.position = "fixed";
document.body.style.top = `-${y}px`;
modal.showModal();
@@ -31,7 +53,7 @@ function closeDialog() {
modal.close();
document.body.style.position = "";
document.body.style.top = "";
window.scrollTo(0, scrollY);
window.scrollTo(0, y);
}
modalClose.addEventListener("click", closeDialog);
@@ -39,3 +61,180 @@ 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);
+424 -52
View File
@@ -1,15 +1,183 @@
/** @jsx jsx */
/** @jsxImportSource hono/jsx */
import { generate } from "@models.dev/core"
import { Fragment } from "hono/jsx"
import { renderToString } from "hono/jsx/dom/server"
import path from "path"
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";
const apiData = await generate(
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>
@@ -38,57 +206,251 @@ export const Rendered = renderToString(
></path>
</svg>
</a>
<input
type="text"
id="search"
placeholder="Filter by provider or model..."
/>
<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>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>
<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(apiData)
{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>{provider.name}</td>
<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>{modelId}</td>
<td>{model.attachment ? "Yes" : "No"}</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.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>
<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>
))
)}
@@ -122,14 +484,13 @@ export const Rendered = renderToString(
</div>
<div class="body">
<p>
<a href="/">Models.dev</a> is a comprehensive open-source
database of AI model specifications, pricing, and features.
<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{" "}
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"
@@ -147,8 +508,8 @@ export const Rendered = renderToString(
</code>
</div>
<p>
Use the <b>Model ID</b> field to do a lookup on any model;
it&apos;s the identifier used by{" "}
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"
@@ -158,6 +519,22 @@ export const Rendered = renderToString(
</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{" "}
@@ -168,12 +545,12 @@ export const Rendered = renderToString(
>
GitHub repo
</a>{" "}
as TOML files; organized by provider and model. This is used to
generate this page and power the API.
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{" "}
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>{" "}
@@ -188,15 +565,10 @@ export const Rendered = renderToString(
>
Edit on GitHub
</a>
<a
href="https://sst.dev"
target="_blank"
rel="noopener noreferrer"
>
<a href="https://sst.dev" target="_blank" rel="noopener noreferrer">
Created by SST
</a>
</div>
</dialog>
</Fragment>
)
);
+34 -1
View File
@@ -8,10 +8,43 @@ Bun.serve({
"/": Index,
"/assets/*": (req) => {
const file = Bun.file(
path.join(import.meta.dir, new URL(req.url).pathname),
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",
},
});
},
},
});
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"compilerOptions": {
"jsx": "react",
"jsx": "react-jsx",
"target": "ES2020",
"module": "ESNext",
"moduleResolution": "bundler",
+3
View File
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.7344 13.9883C18.8906 12.9154 19.237 11.5378 19.7734 9.85547L20 9.16016L20.2266 9.85547C20.763 11.5378 21.1094 12.9154 21.2656 13.9883C21.3854 14.7748 21.3854 15.7747 21.2656 16.9883C21.1458 18.207 21.1458 19.2148 21.2656 20.0117C21.4427 21.1784 21.9766 22.1471 22.8672 22.918C23.7734 23.7044 24.8229 24.0977 26.0156 24.0977C27.3385 24.0977 28.4688 23.6315 29.4062 22.6992C30.3385 21.7669 30.8099 20.6419 30.8203 19.3242C30.8255 18.1576 30.9453 16.8711 31.1797 15.4648C31.2944 14.7617 31.4116 14.1732 31.5313 13.6992L31.6875 13.0586L31.9688 13.6523C32.776 15.3607 33.1978 17.1628 33.2344 19.0586V19.3242C33.2344 21.1211 32.8882 22.8372 32.1953 24.4727C31.5235 26.0612 30.5781 27.4648 29.3594 28.6836C28.1354 29.9023 26.7318 30.8477 25.1484 31.5197C23.513 32.2122 21.7969 32.5588 20 32.5588C18.2031 32.5588 16.487 32.2122 14.8516 31.5197C13.2682 30.8477 11.8646 29.9023 10.6406 28.6836C9.42187 27.4648 8.47656 26.0612 7.80469 24.4727C7.11197 22.8372 6.76562 21.1211 6.76562 19.3242V19.0586C6.80209 17.1628 7.22397 15.3607 8.03125 13.6523L8.3125 13.0586L8.46875 13.6992C8.58853 14.1732 8.70572 14.7617 8.82031 15.4648C9.05469 16.8711 9.17447 18.1576 9.17969 19.3242C9.19009 20.6419 9.66147 21.7669 10.5937 22.6992C11.5312 23.6315 12.6615 24.0977 13.9844 24.0977C15.1771 24.0977 16.2266 23.7044 17.1328 22.918C18.0234 22.1471 18.5573 21.1784 18.7344 20.0117C18.8542 19.2148 18.8542 18.207 18.7344 16.9883C18.6146 15.7747 18.6146 14.7748 18.7344 13.9883ZM20 30.1445C21.8281 30.1445 23.5417 29.7122 25.1406 28.8477C26.2738 28.2378 27.2578 27.461 28.0927 26.5172C28.1969 26.3995 28.0742 26.2202 27.9224 26.2614C27.3073 26.4283 26.6717 26.5117 26.0156 26.5117C24.7135 26.5117 23.5026 26.1836 22.3828 25.5273C21.478 24.9999 20.7282 24.3152 20.1336 23.4732C20.0689 23.3815 19.9311 23.3815 19.8664 23.4732C19.2718 24.3152 18.522 24.9999 17.6172 25.5273C16.4974 26.1836 15.2865 26.5117 13.9844 26.5117C13.3283 26.5117 12.6927 26.4283 12.0776 26.2614C11.9258 26.2202 11.8031 26.3995 11.9072 26.5172C12.7422 27.461 13.7262 28.2378 14.8594 28.8477C16.4583 29.7122 18.1719 30.1445 20 30.1445Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@@ -0,0 +1,22 @@
name = "DeepSeek-V3.2-Exp-Think"
family = "deepseek-v3"
release_date = "2025-09-29"
last_updated = "2025-09-29"
attachment = false
reasoning = true
temperature = true
knowledge = "2025-09"
tool_call = true
open_weights = true
[cost]
input = 0.27
output = 0.41
[limit]
context = 131_000
output = 64_000
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "DeepSeek-V3.2-Exp"
family = "deepseek-v3"
release_date = "2025-09-29"
last_updated = "2025-09-29"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = true
[cost]
input = 0.27
output = 0.41
[limit]
context = 163_000
output = 163_000
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Kimi K2 0905"
family = "kimi-k2"
release_date = "2025-09-05"
last_updated = "2025-09-05"
attachment = false
reasoning = false
temperature = true
tool_call = true
knowledge = "2024-10"
open_weights = true
[cost]
input = 0.55
output = 2.19
[limit]
context = 262_144
output = 262_144
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Claude Haiku 4.5"
family = "claude-haiku"
release_date = "2025-09-29"
last_updated = "2025-09-29"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-07-31"
open_weights = false
[cost]
input = 1.10
output = 5.50
cache_read = 0.11
cache_write = 1.25
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Claude Opus 4.1"
family = "claude-opus"
release_date = "2025-08-05"
last_updated = "2025-08-05"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-03-31"
open_weights = false
[cost]
input = 16.50
output = 82.50
cache_read = 1.50
cache_write = 18.75
[limit]
context = 200_000
output = 32_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Claude Sonnet 4.5"
family = "claude-sonnet"
release_date = "2025-09-29"
last_updated = "2025-09-29"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-07-31"
open_weights = false
[cost]
input = 3.30
output = 16.50
cache_read = 0.30
cache_write = 3.75
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "Gemini 2.5 Flash"
family = "gemini-flash"
release_date = "2025-09-15"
last_updated = "2025-09-15"
attachment = true
reasoning = false
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = false
[cost]
input = 0.075
output = 0.30
cache_read = 0.02
[limit]
context = 1_000_000
output = 65_000
[modalities]
input = ["text", "image", "audio", "video"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "Gemini 2.5 Pro"
family = "gemini-pro"
release_date = "2025-09-15"
last_updated = "2025-09-15"
attachment = true
reasoning = true
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = false
[cost]
input = 1.25
output = 5.00
cache_read = 0.31
[limit]
context = 2_000_000
output = 65_000
[modalities]
input = ["text", "image", "audio", "video"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "Gemini 3 Pro Preview"
family = "gemini-pro"
release_date = "2025-11-19"
last_updated = "2025-11-19"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-11"
open_weights = false
[cost]
input = 2.00
output = 12.00
cache_read = 0.50
[limit]
context = 1_000_000
output = 65_000
[modalities]
input = ["text", "image", "audio", "video"]
output = ["text"]
+24
View File
@@ -0,0 +1,24 @@
name = "GLM-4.6"
family = "glm-4.6"
release_date = "2025-09-30"
last_updated = "2025-09-30"
attachment = false
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-04"
open_weights = true
[cost]
input = 0.27
output = 1.10
cache_read = 0.11
cache_write = 0
[limit]
context = 204_800
output = 204_800
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "GPT-4.1 mini"
family = "gpt-4.1-mini"
release_date = "2025-04-14"
last_updated = "2025-04-14"
attachment = true
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.40
output = 1.60
cache_read = 0.10
[limit]
context = 1_047_576
output = 32_768
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "GPT-4.1 nano"
family = "gpt-4.1-nano"
release_date = "2025-04-14"
last_updated = "2025-04-14"
attachment = true
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.10
output = 0.40
cache_read = 0.03
[limit]
context = 1_047_576
output = 32_768
[modalities]
input = ["text", "image"]
output = ["text"]
+23
View File
@@ -0,0 +1,23 @@
name = "GPT-4.1"
family = "gpt-4.1"
release_date = "2025-04-14"
last_updated = "2025-04-14"
attachment = true
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 2.00
output = 8.00
cache_read = 0.50
[limit]
context = 1_047_576
output = 32_768
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "GPT-4o (2024-11-20)"
family = "gpt-4o"
release_date = "2024-11-20"
last_updated = "2024-11-20"
attachment = true
reasoning = false
temperature = true
knowledge = "2023-09"
tool_call = true
open_weights = false
[cost]
input = 2.50
output = 10.00
cache_read = 1.25
[limit]
context = 128_000
output = 16_384
[modalities]
input = ["text", "image"]
output = ["text"]
+23
View File
@@ -0,0 +1,23 @@
name = "GPT-4o"
family = "gpt-4o"
release_date = "2024-05-13"
last_updated = "2024-08-06"
attachment = true
reasoning = false
temperature = true
knowledge = "2023-09"
tool_call = true
open_weights = false
[cost]
input = 2.50
output = 10.00
cache_read = 1.25
[limit]
context = 128_000
output = 16_384
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "GPT-5-Codex"
family = "gpt-5-codex"
release_date = "2025-09-15"
last_updated = "2025-09-15"
attachment = false
reasoning = true
temperature = false
knowledge = "2024-09-30"
tool_call = true
open_weights = false
[cost]
input = 1.25
output = 10
cache_read = 0.13
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
+23
View File
@@ -0,0 +1,23 @@
name = "GPT-5-Mini"
family = "gpt-5-mini"
release_date = "2025-09-15"
last_updated = "2025-09-15"
attachment = true
reasoning = true
temperature = true
knowledge = "2024-09-30"
tool_call = true
open_weights = false
[cost]
input = 1.50
output = 6.00
cache_read = 0.75
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image"]
output = ["text"]
+23
View File
@@ -0,0 +1,23 @@
name = "GPT-5-Nano"
family = "gpt-5-nano"
release_date = "2025-09-15"
last_updated = "2025-09-15"
attachment = true
reasoning = false
temperature = true
knowledge = "2024-09-30"
tool_call = true
open_weights = false
[cost]
input = 0.50
output = 2.00
cache_read = 0.25
[limit]
context = 128_000
output = 16_384
[modalities]
input = ["text", "image"]
output = ["text"]
+23
View File
@@ -0,0 +1,23 @@
name = "GPT-5-Pro"
family = "gpt-5-pro"
release_date = "2025-09-15"
last_updated = "2025-09-15"
attachment = true
reasoning = true
temperature = true
knowledge = "2024-09-30"
tool_call = true
open_weights = false
[cost]
input = 7.00
output = 28.00
cache_read = 3.50
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "GPT-5.1 Codex Mini"
family = "gpt-5-codex-mini"
release_date = "2025-11-15"
last_updated = "2025-11-15"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-11"
open_weights = false
[cost]
input = 0.25
output = 2.00
cache_read = 0.03
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "GPT-5.1 Codex"
family = "gpt-5-codex"
release_date = "2025-11-15"
last_updated = "2025-11-15"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-11"
open_weights = false
[cost]
input = 1.25
output = 10.00
cache_read = 0.13
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
+23
View File
@@ -0,0 +1,23 @@
name = "GPT-5.1"
family = "gpt-5"
release_date = "2025-11-15"
last_updated = "2025-11-15"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-11"
open_weights = false
[cost]
input = 1.25
output = 10.00
cache_read = 0.125
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
+23
View File
@@ -0,0 +1,23 @@
name = "GPT-5"
family = "gpt-5"
release_date = "2025-09-15"
last_updated = "2025-09-15"
attachment = true
reasoning = true
temperature = true
knowledge = "2024-09-30"
tool_call = true
open_weights = false
[cost]
input = 5.00
output = 20.00
cache_read = 2.50
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
+23
View File
@@ -0,0 +1,23 @@
name = "o4-mini"
family = "o4-mini"
release_date = "2025-09-15"
last_updated = "2025-09-15"
attachment = false
reasoning = true
temperature = false
knowledge = "2024-09"
tool_call = false
open_weights = false
[cost]
input = 1.50
output = 6.00
cache_read = 0.75
[limit]
context = 200_000
output = 65_536
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen3 235B A22B Instruct 2507"
family = "qwen3"
release_date = "2025-07-30"
last_updated = "2025-07-30"
attachment = false
reasoning = false
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = true
[cost]
input = 0.28
output = 1.12
[limit]
context = 262_144
output = 262_144
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen3 235B A22B Thinking 2507"
family = "qwen3"
release_date = "2025-07-30"
last_updated = "2025-07-30"
attachment = false
reasoning = true
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = true
[cost]
input = 0.28
output = 2.80
[limit]
context = 262_144
output = 262_144
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "Qwen3 Coder 480B A35B Instruct"
family = "qwen3-coder"
release_date = "2025-08-01"
last_updated = "2025-08-01"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.82
output = 3.29
[limit]
context = 262_144
output = 131_000
[modalities]
input = ["text"]
output = ["text"]
+4
View File
@@ -0,0 +1,4 @@
name = "AIHubMix"
npm = "@aihubmix/ai-sdk-provider"
env = ["AIHUBMIX_API_KEY"]
doc = "https://docs.aihubmix.com"
+3
View File
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
<path d="M38 23.021C33.8 25.289 29.5701 27.365 24.8616 28.307C23.8116 28.5154 22.6476 28.5154 21.5811 28.3715C20.5641 28.244 20.0557 27.3485 20.4172 26.4065C20.7621 25.529 21.2211 24.635 21.8121 23.9C23.0901 22.3025 24.5331 20.849 25.8291 19.268C26.6206 18.2991 27.3338 17.2689 27.9621 16.1871C28.4211 15.4206 28.2081 14.4936 27.4041 14.1111C26.0586 13.4556 24.6156 12.9936 23.1891 12.4986C23.0241 12.4341 22.7781 12.6096 22.4511 12.7221C22.8606 13.0881 23.1561 13.3596 23.5656 13.7271C19.3342 14.4471 15.3307 15.4671 11.4457 16.8741C11.4277 16.9536 11.3962 17.0166 11.4112 17.0496C11.9857 17.927 11.7232 18.5975 10.8862 19.1405C10.5613 19.3531 10.2735 19.6177 10.0342 19.9235C12.5932 20.6735 14.8732 20.243 17.0542 18.821C16.9237 18.6305 16.7917 18.455 16.6612 18.263C17.4802 18.407 17.9722 18.854 18.0382 19.556C18.0547 19.7165 17.9572 19.8755 17.9077 20.036C17.7922 19.907 17.6452 19.781 17.5477 19.6355C17.4802 19.5395 17.4637 19.4285 17.4157 19.268C14.8237 20.993 12.0352 21.425 8.96775 20.531C8.96775 21.137 8.93475 21.6485 8.98425 22.1435C9.01725 22.574 8.83725 22.766 8.44426 22.9895C7.55776 23.5325 6.63827 24.092 5.90028 24.8105C5.01528 25.688 5.34378 26.759 6.54077 27.206C7.90126 27.716 9.32925 27.731 10.7557 27.557C12.4447 27.3485 14.1007 27.077 15.9397 26.822C13.7902 27.827 11.6737 28.5319 9.44475 28.8169C7.88476 29.0269 6.32777 29.1379 4.78579 28.6909C2.57181 28.0685 1.58631 26.4395 2.16081 24.251C2.7023 22.2065 4.01479 20.5775 5.42478 19.076C10.1332 14.0781 16.0867 11.5401 22.9746 11.0286C24.5826 10.9176 26.2071 11.1246 27.7146 11.7951C29.8311 12.7536 30.7176 14.7801 29.6841 16.8261C29.0121 18.1835 28.0761 19.4285 27.1416 20.6585C26.2236 21.872 25.1901 22.9895 24.2226 24.155C23.9436 24.506 23.6811 24.875 23.4681 25.2725C23.0571 26.0225 23.3361 26.5175 24.2061 26.4395C26.0256 26.2625 27.8811 26.12 29.6361 25.673C32.2101 25.0175 34.7195 24.092 37.262 23.2775C37.5245 23.213 37.7705 23.117 38 23.0225V23.021Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

@@ -0,0 +1,21 @@
name = "DeepSeek R1 0528"
family = "deepseek-r1"
release_date = "2025-05-28"
last_updated = "2025-05-28"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.574
output = 2.294
[limit]
context = 131_072
output = 16_384
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "DeepSeek R1 Distill Llama 70B"
family = "deepseek-r1-distill-llama"
release_date = "2025-01-01"
last_updated = "2025-01-01"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.287
output = 0.861
[limit]
context = 32_768
output = 16_384
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "DeepSeek R1 Distill Llama 8B"
family = "deepseek-r1-distill-llama"
release_date = "2025-01-01"
last_updated = "2025-01-01"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.0
output = 0.0
[limit]
context = 32_768
output = 16_384
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "DeepSeek R1 Distill Qwen 1.5B"
family = "qwen"
release_date = "2025-01-01"
last_updated = "2025-01-01"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.0
output = 0.0
[limit]
context = 32_768
output = 16_384
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "DeepSeek R1 Distill Qwen 14B"
family = "qwen"
release_date = "2025-01-01"
last_updated = "2025-01-01"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.144
output = 0.431
[limit]
context = 32_768
output = 16_384
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "DeepSeek R1 Distill Qwen 32B"
family = "qwen"
release_date = "2025-01-01"
last_updated = "2025-01-01"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.287
output = 0.861
[limit]
context = 32_768
output = 16_384
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "DeepSeek R1 Distill Qwen 7B"
family = "qwen"
release_date = "2025-01-01"
last_updated = "2025-01-01"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.072
output = 0.144
[limit]
context = 32_768
output = 16_384
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "DeepSeek R1"
family = "deepseek-r1"
release_date = "2025-01-01"
last_updated = "2025-01-01"
attachment = false
reasoning = true
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.574
output = 2.294
[limit]
context = 131_072
output = 16_384
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "DeepSeek V3.1"
family = "deepseek-v3"
release_date = "2025-01-01"
last_updated = "2025-01-01"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.574
output = 1.721
[limit]
context = 131_072
output = 65_536
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "DeepSeek V3.2 Exp"
family = "deepseek-v3"
release_date = "2025-01-01"
last_updated = "2025-01-01"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.287
output = 0.431
[limit]
context = 131_072
output = 65_536
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "DeepSeek V3"
family = "deepseek-v3"
release_date = "2024-12-01"
last_updated = "2024-12-01"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.287
output = 1.147
[limit]
context = 65_536
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "Moonshot Kimi K2 Instruct"
family = "kimi-k2"
release_date = "2025-01-01"
last_updated = "2025-01-01"
attachment = false
reasoning = false
temperature = true
tool_call = true
open_weights = false
[cost]
input = 0.574
output = 2.294
[limit]
context = 131_072
output = 131_072
[modalities]
input = ["text"]
output = ["text"]
+22
View File
@@ -0,0 +1,22 @@
name = "QVQ Max"
family = "qvq-max"
release_date = "2025-03-25"
last_updated = "2025-03-25"
attachment = false
reasoning = true
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 1.147
output = 4.588
[limit]
context = 131_072
output = 8_192
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen Deep Research"
family = "qwen-deep-research"
release_date = "2024-01"
last_updated = "2024-01"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 7.742
output = 23.367
[limit]
context = 1_000_000
output = 32_768
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen Doc Turbo"
family = "qwen-doc"
release_date = "2024-01"
last_updated = "2024-01"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.087
output = 0.144
[limit]
context = 131_072
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen Flash"
family = "qwen-flash"
release_date = "2025-07-28"
last_updated = "2025-07-28"
attachment = false
reasoning = true
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.022
output = 0.216
[limit]
context = 1_000_000
output = 32_768
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen Long"
family = "qwen-long"
release_date = "2025-01-25"
last_updated = "2025-01-25"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.072
output = 0.287
[limit]
context = 10_000_000
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen Math Plus"
family = "qwen-math"
release_date = "2024-08-16"
last_updated = "2024-09-19"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.574
output = 1.721
[limit]
context = 4_096
output = 3_072
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen Math Turbo"
family = "qwen-math"
release_date = "2024-09-19"
last_updated = "2024-09-19"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.287
output = 0.861
[limit]
context = 4_096
output = 3_072
[modalities]
input = ["text"]
output = ["text"]
+22
View File
@@ -0,0 +1,22 @@
name = "Qwen Max"
family = "qwen-max"
release_date = "2024-04-03"
last_updated = "2025-01-25"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.345
output = 1.377
[limit]
context = 131_072
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen-MT Plus"
family = "qwen-mt"
release_date = "2025-01"
last_updated = "2025-01"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = false
open_weights = false
[cost]
input = 0.259
output = 0.775
[limit]
context = 16_384
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen-MT Turbo"
family = "qwen-mt"
release_date = "2025-01"
last_updated = "2025-01"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = false
open_weights = false
[cost]
input = 0.101
output = 0.280
[limit]
context = 16_384
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Qwen-Omni Turbo Realtime"
family = "qwen-omni"
release_date = "2025-05-08"
last_updated = "2025-05-08"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.23
output = 0.918
input_audio = 3.584
output_audio = 7.168
[limit]
context = 32_768
output = 2_048
[modalities]
input = ["text", "image", "audio"]
output = ["text", "audio"]
@@ -0,0 +1,24 @@
name = "Qwen-Omni Turbo"
family = "qwen-omni"
release_date = "2025-01-19"
last_updated = "2025-03-26"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.058
output = 0.23
input_audio = 3.584
output_audio = 7.168
[limit]
context = 32_768
output = 2_048
[modalities]
input = ["text", "image", "audio", "video"]
output = ["text", "audio"]
@@ -0,0 +1,22 @@
name = "Qwen Plus Character"
family = "qwen-plus"
release_date = "2024-01"
last_updated = "2024-01"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.115
output = 0.287
[limit]
context = 32_768
output = 4_096
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "Qwen Plus"
family = "qwen-plus"
release_date = "2024-01-25"
last_updated = "2025-09-11"
attachment = false
reasoning = true
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.115
output = 0.287
reasoning = 1.147
[limit]
context = 1_000_000
output = 32_768
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "Qwen Turbo"
family = "qwen-turbo"
release_date = "2024-11-01"
last_updated = "2025-07-15"
attachment = false
reasoning = true
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.044
output = 0.087
reasoning = 0.431
[limit]
context = 1_000_000
output = 16_384
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen-VL Max"
family = "qwen-vl"
release_date = "2024-04-08"
last_updated = "2025-08-13"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.23
output = 0.574
[limit]
context = 131_072
output = 8_192
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen-VL OCR"
family = "qwen-vl"
release_date = "2024-10-28"
last_updated = "2025-04-13"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = false
open_weights = false
[cost]
input = 0.717
output = 0.717
[limit]
context = 34_096
output = 4_096
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen-VL Plus"
family = "qwen-vl"
release_date = "2024-01-25"
last_updated = "2025-08-15"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = false
[cost]
input = 0.115
output = 0.287
[limit]
context = 131_072
output = 8_192
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen2.5 14B Instruct"
family = "qwen2.5"
release_date = "2024-09"
last_updated = "2024-09"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = true
[cost]
input = 0.144
output = 0.431
[limit]
context = 131_072
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen2.5 32B Instruct"
family = "qwen2.5"
release_date = "2024-09"
last_updated = "2024-09"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = true
[cost]
input = 0.287
output = 0.861
[limit]
context = 131_072
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen2.5 72B Instruct"
family = "qwen2.5"
release_date = "2024-09"
last_updated = "2024-09"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = true
[cost]
input = 0.574
output = 1.721
[limit]
context = 131_072
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen2.5 7B Instruct"
family = "qwen2.5"
release_date = "2024-09"
last_updated = "2024-09"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = true
[cost]
input = 0.072
output = 0.144
[limit]
context = 131_072
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen2.5-Coder 32B Instruct"
family = "qwen2.5-coder"
release_date = "2024-11"
last_updated = "2024-11"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = true
[cost]
input = 0.287
output = 0.861
[limit]
context = 131_072
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen2.5-Coder 7B Instruct"
family = "qwen2.5-coder"
release_date = "2024-11"
last_updated = "2024-11"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = true
[cost]
input = 0.144
output = 0.287
[limit]
context = 131_072
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen2.5-Math 72B Instruct"
family = "qwen2.5-math"
release_date = "2024-09"
last_updated = "2024-09"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = true
[cost]
input = 0.574
output = 1.721
[limit]
context = 4_096
output = 3_072
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen2.5-Math 7B Instruct"
family = "qwen2.5-math"
release_date = "2024-09"
last_updated = "2024-09"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = true
[cost]
input = 0.144
output = 0.287
[limit]
context = 4_096
output = 3_072
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "Qwen2.5-Omni 7B"
family = "qwen2.5-omni"
release_date = "2024-12"
last_updated = "2024-12"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = true
[cost]
input = 0.087
output = 0.345
input_audio = 5.448
[limit]
context = 32_768
output = 2_048
[modalities]
input = ["text", "image", "audio", "video"]
output = ["text", "audio"]
@@ -0,0 +1,22 @@
name = "Qwen2.5-VL 72B Instruct"
family = "qwen2.5-vl"
release_date = "2024-09"
last_updated = "2024-09"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = true
[cost]
input = 2.294
output = 6.881
[limit]
context = 131_072
output = 8_192
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen2.5-VL 7B Instruct"
family = "qwen2.5-vl"
release_date = "2024-09"
last_updated = "2024-09"
attachment = false
reasoning = false
temperature = true
knowledge = "2024-04"
tool_call = true
open_weights = true
[cost]
input = 0.287
output = 0.717
[limit]
context = 131_072
output = 8_192
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "Qwen3 14B"
family = "qwen3"
release_date = "2025-04"
last_updated = "2025-04"
attachment = false
reasoning = true
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = true
[cost]
input = 0.144
output = 0.574
reasoning = 1.434
[limit]
context = 131_072
output = 8_192
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "Qwen3 235B-A22B"
family = "qwen3"
release_date = "2025-04"
last_updated = "2025-04"
attachment = false
reasoning = true
temperature = true
knowledge = "2025-04"
tool_call = true
open_weights = true
[cost]
input = 0.287
output = 1.147
reasoning = 2.868
[limit]
context = 131_072
output = 16_384
[modalities]
input = ["text"]
output = ["text"]

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