llms-py 2.0.20__py3-none-any.whl → 3.0.10__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. llms/__init__.py +3 -1
  2. llms/db.py +359 -0
  3. llms/{ui/Analytics.mjs → extensions/analytics/ui/index.mjs} +254 -327
  4. llms/extensions/app/README.md +20 -0
  5. llms/extensions/app/__init__.py +589 -0
  6. llms/extensions/app/db.py +536 -0
  7. llms/{ui → extensions/app/ui}/Recents.mjs +99 -73
  8. llms/{ui/Sidebar.mjs → extensions/app/ui/index.mjs} +139 -68
  9. llms/extensions/app/ui/threadStore.mjs +433 -0
  10. llms/extensions/core_tools/CALCULATOR.md +32 -0
  11. llms/extensions/core_tools/__init__.py +637 -0
  12. llms/extensions/core_tools/ui/codemirror/addon/edit/closebrackets.js +201 -0
  13. llms/extensions/core_tools/ui/codemirror/addon/edit/closetag.js +185 -0
  14. llms/extensions/core_tools/ui/codemirror/addon/edit/continuelist.js +101 -0
  15. llms/extensions/core_tools/ui/codemirror/addon/edit/matchbrackets.js +160 -0
  16. llms/extensions/core_tools/ui/codemirror/addon/edit/matchtags.js +66 -0
  17. llms/extensions/core_tools/ui/codemirror/addon/edit/trailingspace.js +27 -0
  18. llms/extensions/core_tools/ui/codemirror/addon/selection/active-line.js +72 -0
  19. llms/extensions/core_tools/ui/codemirror/addon/selection/mark-selection.js +119 -0
  20. llms/extensions/core_tools/ui/codemirror/addon/selection/selection-pointer.js +98 -0
  21. llms/extensions/core_tools/ui/codemirror/codemirror.css +344 -0
  22. llms/extensions/core_tools/ui/codemirror/codemirror.js +9884 -0
  23. llms/extensions/core_tools/ui/codemirror/doc/docs.css +225 -0
  24. llms/extensions/core_tools/ui/codemirror/doc/source_sans.woff +0 -0
  25. llms/extensions/core_tools/ui/codemirror/mode/clike/clike.js +942 -0
  26. llms/extensions/core_tools/ui/codemirror/mode/javascript/index.html +118 -0
  27. llms/extensions/core_tools/ui/codemirror/mode/javascript/javascript.js +962 -0
  28. llms/extensions/core_tools/ui/codemirror/mode/javascript/typescript.html +62 -0
  29. llms/extensions/core_tools/ui/codemirror/mode/python/python.js +402 -0
  30. llms/extensions/core_tools/ui/codemirror/theme/dracula.css +40 -0
  31. llms/extensions/core_tools/ui/codemirror/theme/mocha.css +135 -0
  32. llms/extensions/core_tools/ui/index.mjs +650 -0
  33. llms/extensions/gallery/README.md +61 -0
  34. llms/extensions/gallery/__init__.py +63 -0
  35. llms/extensions/gallery/db.py +243 -0
  36. llms/extensions/gallery/ui/index.mjs +482 -0
  37. llms/extensions/katex/README.md +39 -0
  38. llms/extensions/katex/__init__.py +6 -0
  39. llms/extensions/katex/ui/README.md +125 -0
  40. llms/extensions/katex/ui/contrib/auto-render.js +338 -0
  41. llms/extensions/katex/ui/contrib/auto-render.min.js +1 -0
  42. llms/extensions/katex/ui/contrib/auto-render.mjs +244 -0
  43. llms/extensions/katex/ui/contrib/copy-tex.js +127 -0
  44. llms/extensions/katex/ui/contrib/copy-tex.min.js +1 -0
  45. llms/extensions/katex/ui/contrib/copy-tex.mjs +105 -0
  46. llms/extensions/katex/ui/contrib/mathtex-script-type.js +109 -0
  47. llms/extensions/katex/ui/contrib/mathtex-script-type.min.js +1 -0
  48. llms/extensions/katex/ui/contrib/mathtex-script-type.mjs +24 -0
  49. llms/extensions/katex/ui/contrib/mhchem.js +3213 -0
  50. llms/extensions/katex/ui/contrib/mhchem.min.js +1 -0
  51. llms/extensions/katex/ui/contrib/mhchem.mjs +3109 -0
  52. llms/extensions/katex/ui/contrib/render-a11y-string.js +887 -0
  53. llms/extensions/katex/ui/contrib/render-a11y-string.min.js +1 -0
  54. llms/extensions/katex/ui/contrib/render-a11y-string.mjs +800 -0
  55. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.ttf +0 -0
  56. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff +0 -0
  57. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  58. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  59. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  60. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  61. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  62. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  63. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  64. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  65. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  66. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  67. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  68. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  69. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  70. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.ttf +0 -0
  71. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff +0 -0
  72. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff2 +0 -0
  73. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  74. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  75. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  76. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.ttf +0 -0
  77. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff +0 -0
  78. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff2 +0 -0
  79. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.ttf +0 -0
  80. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff +0 -0
  81. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff2 +0 -0
  82. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  83. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  84. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  85. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.ttf +0 -0
  86. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff +0 -0
  87. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff2 +0 -0
  88. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  89. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  90. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  91. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  92. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  93. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  94. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  95. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  96. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  97. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.ttf +0 -0
  98. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff +0 -0
  99. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff2 +0 -0
  100. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.ttf +0 -0
  101. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff +0 -0
  102. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  103. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.ttf +0 -0
  104. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff +0 -0
  105. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  106. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.ttf +0 -0
  107. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff +0 -0
  108. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  109. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.ttf +0 -0
  110. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff +0 -0
  111. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  112. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  113. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  114. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  115. llms/extensions/katex/ui/index.mjs +92 -0
  116. llms/extensions/katex/ui/katex-swap.css +1230 -0
  117. llms/extensions/katex/ui/katex-swap.min.css +1 -0
  118. llms/extensions/katex/ui/katex.css +1230 -0
  119. llms/extensions/katex/ui/katex.js +19080 -0
  120. llms/extensions/katex/ui/katex.min.css +1 -0
  121. llms/extensions/katex/ui/katex.min.js +1 -0
  122. llms/extensions/katex/ui/katex.min.mjs +1 -0
  123. llms/extensions/katex/ui/katex.mjs +18547 -0
  124. llms/extensions/providers/__init__.py +22 -0
  125. llms/extensions/providers/anthropic.py +233 -0
  126. llms/extensions/providers/cerebras.py +37 -0
  127. llms/extensions/providers/chutes.py +153 -0
  128. llms/extensions/providers/google.py +481 -0
  129. llms/extensions/providers/nvidia.py +103 -0
  130. llms/extensions/providers/openai.py +154 -0
  131. llms/extensions/providers/openrouter.py +74 -0
  132. llms/extensions/providers/zai.py +182 -0
  133. llms/extensions/system_prompts/README.md +22 -0
  134. llms/extensions/system_prompts/__init__.py +45 -0
  135. llms/extensions/system_prompts/ui/index.mjs +280 -0
  136. llms/extensions/system_prompts/ui/prompts.json +1067 -0
  137. llms/extensions/tools/__init__.py +144 -0
  138. llms/extensions/tools/ui/index.mjs +706 -0
  139. llms/index.html +36 -62
  140. llms/llms.json +180 -879
  141. llms/main.py +3640 -899
  142. llms/providers-extra.json +394 -0
  143. llms/providers.json +1 -0
  144. llms/ui/App.mjs +176 -8
  145. llms/ui/ai.mjs +156 -20
  146. llms/ui/app.css +3161 -244
  147. llms/ui/ctx.mjs +412 -0
  148. llms/ui/index.mjs +131 -0
  149. llms/ui/lib/chart.js +14 -0
  150. llms/ui/lib/charts.mjs +16 -0
  151. llms/ui/lib/color.js +14 -0
  152. llms/ui/lib/highlight.min.mjs +1243 -0
  153. llms/ui/lib/idb.min.mjs +8 -0
  154. llms/ui/lib/marked.min.mjs +8 -0
  155. llms/ui/lib/servicestack-client.mjs +1 -0
  156. llms/ui/lib/servicestack-vue.mjs +37 -0
  157. llms/ui/lib/vue-router.min.mjs +6 -0
  158. llms/ui/lib/vue.min.mjs +13 -0
  159. llms/ui/lib/vue.mjs +18530 -0
  160. llms/ui/markdown.mjs +25 -14
  161. llms/ui/modules/chat/ChatBody.mjs +976 -0
  162. llms/ui/{SettingsDialog.mjs → modules/chat/SettingsDialog.mjs} +74 -74
  163. llms/ui/modules/chat/index.mjs +991 -0
  164. llms/ui/modules/icons.mjs +46 -0
  165. llms/ui/modules/layout.mjs +271 -0
  166. llms/ui/modules/model-selector.mjs +811 -0
  167. llms/ui/tailwind.input.css +550 -78
  168. llms/ui/typography.css +54 -36
  169. llms/ui/utils.mjs +197 -92
  170. llms_py-3.0.10.dist-info/METADATA +49 -0
  171. llms_py-3.0.10.dist-info/RECORD +177 -0
  172. {llms_py-2.0.20.dist-info → llms_py-3.0.10.dist-info}/licenses/LICENSE +1 -2
  173. llms/ui/Avatar.mjs +0 -28
  174. llms/ui/Brand.mjs +0 -34
  175. llms/ui/ChatPrompt.mjs +0 -443
  176. llms/ui/Main.mjs +0 -740
  177. llms/ui/ModelSelector.mjs +0 -60
  178. llms/ui/ProviderIcon.mjs +0 -29
  179. llms/ui/ProviderStatus.mjs +0 -105
  180. llms/ui/SignIn.mjs +0 -64
  181. llms/ui/SystemPromptEditor.mjs +0 -31
  182. llms/ui/SystemPromptSelector.mjs +0 -36
  183. llms/ui/Welcome.mjs +0 -8
  184. llms/ui/threadStore.mjs +0 -524
  185. llms/ui.json +0 -1069
  186. llms_py-2.0.20.dist-info/METADATA +0 -931
  187. llms_py-2.0.20.dist-info/RECORD +0 -36
  188. {llms_py-2.0.20.dist-info → llms_py-3.0.10.dist-info}/WHEEL +0 -0
  189. {llms_py-2.0.20.dist-info → llms_py-3.0.10.dist-info}/entry_points.txt +0 -0
  190. {llms_py-2.0.20.dist-info → llms_py-3.0.10.dist-info}/top_level.txt +0 -0
llms/llms.json CHANGED
@@ -1,11 +1,22 @@
1
1
  {
2
+ "version": 3,
3
+ "auth": {
4
+ "enabled": false,
5
+ "github": {
6
+ "client_id": "GITHUB_CLIENT_ID",
7
+ "client_secret": "GITHUB_CLIENT_SECRET",
8
+ "redirect_uri": "http://localhost:8000/auth/github/callback",
9
+ "restrict_to": "GITHUB_USERS"
10
+ }
11
+ },
12
+ "disable_extensions": [],
2
13
  "defaults": {
3
14
  "headers": {
4
15
  "Content-Type": "application/json",
5
- "User-Agent": "llms.py/1.0"
16
+ "User-Agent": "llmspy.org/3.0"
6
17
  },
7
18
  "text": {
8
- "model": "kimi-k2",
19
+ "model": "Kimi K2 Instruct",
9
20
  "messages": [
10
21
  {
11
22
  "role": "user",
@@ -19,7 +30,7 @@
19
30
  ]
20
31
  },
21
32
  "image": {
22
- "model": "qwen2.5vl",
33
+ "model": "gemma-3-27b-it",
23
34
  "messages": [
24
35
  {
25
36
  "role": "user",
@@ -80,6 +91,31 @@
80
91
  }
81
92
  ]
82
93
  },
94
+ "out:image": {
95
+ "model": "gemini-2.5-flash-image",
96
+ "messages": [
97
+ {
98
+ "role": "user",
99
+ "content": "Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme"
100
+ }
101
+ ],
102
+ "modalities": [
103
+ "image",
104
+ "text"
105
+ ],
106
+ "image_config": {
107
+ "aspect_ratio": "9:16"
108
+ },
109
+ "stream": false
110
+ },
111
+ "out:audio": {
112
+ "model": "gemini-2.5-flash-preview-tts",
113
+ "messages": [],
114
+ "modalities": [
115
+ "audio"
116
+ ],
117
+ "stream": false
118
+ },
83
119
  "check": {
84
120
  "messages": [
85
121
  {
@@ -96,96 +132,59 @@
96
132
  "stream": false
97
133
  }
98
134
  },
135
+ "limits": {
136
+ "client_max_size": 20971520
137
+ },
138
+ "convert": {
139
+ "image": {
140
+ "max_size": "1536x1024",
141
+ "max_length": 1572864
142
+ }
143
+ },
99
144
  "providers": {
100
- "openrouter_free": {
101
- "enabled": true,
102
- "type": "OpenAiProvider",
103
- "base_url": "https://openrouter.ai/api",
104
- "api_key": "$OPENROUTER_API_KEY",
105
- "models": {
106
- "qwen2.5vl": "qwen/qwen2.5-vl-32b-instruct:free",
107
- "llama4:109b": "meta-llama/llama-4-scout:free",
108
- "llama4:400b": "meta-llama/llama-4-maverick:free",
109
- "deepseek-v3.1:671b": "deepseek/deepseek-chat-v3.1:free",
110
- "deepseek-r1:671b": "deepseek/deepseek-r1-0528:free",
111
- "gemini-2.0-flash": "google/gemini-2.0-flash-exp:free",
112
- "glm-4.5-air": "z-ai/glm-4.5-air:free",
113
- "mai-ds-r1": "microsoft/mai-ds-r1:free",
114
- "llama3.3:70b": "meta-llama/llama-3.3-70b-instruct:free",
115
- "nemotron-nano:9b": "nvidia/nemotron-nano-9b-v2:free",
116
- "deepseek-r1-distill-llama:70b": "deepseek/deepseek-r1-distill-llama-70b:free",
117
- "gpt-oss:20b": "openai/gpt-oss-20b:free",
118
- "mistral-small3.2:24b": "mistralai/mistral-small-3.2-24b-instruct:free",
119
- "mistral-nemo:12b": "mistralai/mistral-nemo:free",
120
- "devstral-small": "mistralai/devstral-small-2505:free",
121
- "venice-uncensored:24b": "cognitivecomputations/dolphin-mistral-24b-venice-edition:free",
122
- "llama3.3:8b": "meta-llama/llama-3.3-8b-instruct:free",
123
- "kimi-dev:72b": "moonshotai/kimi-dev-72b:free",
124
- "gemma3:27b": "google/gemma-3-27b-it:free",
125
- "qwen3-coder": "qwen/qwen3-coder:free",
126
- "qwen3:235b": "qwen/qwen3-235b-a22b:free",
127
- "qwen3:30b": "qwen/qwen3-30b-a3b:free",
128
- "qwen3:8b": "qwen/qwen3-8b:free",
129
- "qwen3:4b": "qwen/qwen3-4b:free",
130
- "qwen2.5vl:32b": "qwen/qwen2.5-vl-32b-instruct:free",
131
- "qwen-2.5:72b": "qwen/qwen-2.5-72b-instruct:free",
132
- "minimax-m2": "minimax/minimax-m2:free"
133
- },
134
- "default_pricing": {
135
- "input": "0",
136
- "output": "0"
137
- }
138
- },
139
145
  "groq": {
140
- "enabled": true,
141
- "type": "OpenAiProvider",
142
- "base_url": "https://api.groq.com/openai",
143
- "api_key": "$GROQ_API_KEY",
144
- "models": {
145
- "allam-2-7b": "allam-2-7b",
146
- "compound": "groq/compound",
147
- "compound-mini": "groq/compound-mini",
148
- "llama3.1:8b": "llama-3.1-8b-instant",
149
- "llama3.3:70b": "llama-3.3-70b-versatile",
150
- "llama4:109b": "meta-llama/llama-4-scout-17b-16e-instruct",
151
- "llama4:400b": "meta-llama/llama-4-maverick-17b-128e-instruct",
152
- "llama-guard-4:12b": "meta-llama/llama-guard-4-12b",
153
- "llama-prompt-guard2:22m": "meta-llama/llama-prompt-guard-2-22m",
154
- "llama-prompt-guard2:86m": "meta-llama/llama-prompt-guard-2-86m",
155
- "kimi-k2": "moonshotai/kimi-k2-instruct-0905",
156
- "gpt-oss:120b": "openai/gpt-oss-120b",
157
- "gpt-oss:20b": "openai/gpt-oss-20b",
158
- "qwen3:32b": "qwen/qwen3-32b"
159
- },
160
- "default_pricing": {
161
- "input": "0",
162
- "output": "0"
163
- }
146
+ "enabled": true
164
147
  },
165
- "google_free": {
166
- "enabled": false,
167
- "type": "GoogleProvider",
168
- "api_key": "$GOOGLE_FREE_API_KEY",
148
+ "cerebras": {
149
+ "enabled": true
150
+ },
151
+ "codestral": {
152
+ "enabled": true,
153
+ "id": "codestral",
154
+ "npm": "codestral",
155
+ "api": "https://codestral.mistral.ai/v1",
156
+ "env": [
157
+ "CODESTRAL_API_KEY"
158
+ ],
169
159
  "models": {
170
- "gemini-flash-latest": "gemini-flash-latest",
171
- "gemini-flash-lite-latest": "gemini-flash-lite-latest",
172
- "gemini-2.5-pro": "gemini-2.5-pro",
173
- "gemini-2.5-flash": "gemini-2.5-flash",
174
- "gemini-2.5-flash-lite": "gemini-2.5-flash-lite"
175
- },
176
- "default_pricing": {
177
- "input": "0",
178
- "output": "0"
179
- },
180
- "safety_settings": [
181
- {
182
- "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
183
- "threshold": "BLOCK_ONLY_HIGH"
160
+ "codestral-latest": {
161
+ "id": "codestral-latest",
162
+ "name": "Codestral",
163
+ "attachment": false,
164
+ "reasoning": false,
165
+ "tool_call": true,
166
+ "temperature": true,
167
+ "knowledge": "2024-10",
168
+ "release_date": "2024-05-29",
169
+ "last_updated": "2025-01-04",
170
+ "modalities": {
171
+ "input": [
172
+ "text"
173
+ ],
174
+ "output": [
175
+ "text"
176
+ ]
177
+ },
178
+ "open_weights": true,
179
+ "cost": {
180
+ "input": 0.0,
181
+ "output": 0.0
182
+ },
183
+ "limit": {
184
+ "context": 256000,
185
+ "output": 4096
186
+ }
184
187
  }
185
- ],
186
- "thinking_config": {
187
- "thinkingBudget": 1024,
188
- "includeThoughts": true
189
188
  },
190
189
  "check": {
191
190
  "messages": [
@@ -199,26 +198,14 @@
199
198
  ]
200
199
  }
201
200
  ],
202
- "max_completion_tokens": 512,
203
- "reasoning": {
204
- "max_tokens": 128,
205
- "reasoning_effort": "low"
206
- },
207
201
  "stream": false
208
202
  }
209
203
  },
210
- "codestral": {
204
+ "github-copilot": {
205
+ "enabled": true
206
+ },
207
+ "github-models": {
211
208
  "enabled": true,
212
- "type": "OpenAiProvider",
213
- "base_url": "https://codestral.mistral.ai",
214
- "api_key": "$CODESTRAL_API_KEY",
215
- "models": {
216
- "codestral:22b": "codestral-latest"
217
- },
218
- "default_pricing": {
219
- "input": "0",
220
- "output": "0"
221
- },
222
209
  "check": {
223
210
  "messages": [
224
211
  {
@@ -234,329 +221,34 @@
234
221
  "stream": false
235
222
  }
236
223
  },
237
- "ollama": {
238
- "enabled": false,
239
- "type": "OllamaProvider",
240
- "base_url": "http://localhost:11434",
241
- "models": {},
242
- "all_models": true,
243
- "default_pricing": {
244
- "input": "0",
245
- "output": "0"
246
- }
247
- },
248
- "openrouter": {
224
+ "zai-coding-plan": {
249
225
  "enabled": true,
250
- "type": "OpenAiProvider",
251
- "base_url": "https://openrouter.ai/api",
252
- "api_key": "$OPENROUTER_API_KEY",
253
- "models": {
254
- "llama3.1:70b": "meta-llama/llama-3.1-405b-instruct",
255
- "llama3.3:70b": "meta-llama/llama-3.3-70b-instruct",
256
- "phi-4:14b": "microsoft/phi-4",
257
- "codestral:22b": "mistralai/codestral-2508",
258
- "mistral-nemo:12b": "mistralai/mistral-nemo",
259
- "mixtral:8x22b": "mistralai/mixtral-8x22b-instruct",
260
- "mistral-small3.2:24b": "mistralai/mistral-small-3.2-24b-instruct",
261
- "nova-micro": "amazon/nova-micro-v1",
262
- "nova-lite": "amazon/nova-lite-v1",
263
- "nova-pro": "amazon/nova-pro-v1",
264
- "claude-sonnet-4-5": "anthropic/claude-sonnet-4.5",
265
- "claude-sonnet-4-0": "anthropic/claude-sonnet-4",
266
- "gpt-5": "openai/gpt-5",
267
- "gpt-5-chat": "openai/gpt-5-chat",
268
- "gpt-5-mini": "openai/gpt-5-mini",
269
- "gpt-5-nano": "openai/gpt-5-nano",
270
- "gpt-5-codex": "openai/gpt-5-codex",
271
- "gpt-oss:120b": "openai/gpt-oss-120b",
272
- "gpt-oss:20b": "openai/gpt-oss-20b",
273
- "gpt-4o": "openai/gpt-4o",
274
- "gpt-4o-mini": "openai/gpt-4o-mini",
275
- "gpt-4.1": "openai/gpt-4.1",
276
- "gpt-4.1-mini": "openai/gpt-4.1-mini",
277
- "gpt-4.1-nano": "openai/gpt-4.1-nano",
278
- "o4-mini": "openai/o4-mini",
279
- "o4-mini-high": "openai/o4-mini-high",
280
- "grok-4": "x-ai/grok-4",
281
- "grok-4-fast": "x-ai/grok-4-fast",
282
- "grok-code-fast-1": "x-ai/grok-code-fast-1",
283
- "glm-4.6": "z-ai/glm-4.6",
284
- "glm-4.5v": "z-ai/glm-4.5v",
285
- "glm-4.5": "z-ai/glm-4.5",
286
- "glm-4.5-air": "z-ai/glm-4.5-air",
287
- "kimi-k2": "moonshotai/kimi-k2",
288
- "deepseek-v3.1:671b": "deepseek/deepseek-chat",
289
- "deepseek-v3.2-exp": "deepseek/deepseek-v3.2-exp",
290
- "deepseek-chat-v3.1:671b": "deepseek/deepseek-chat-v3.1",
291
- "deepseek-r1:671b": "deepseek/deepseek-r1",
292
- "deepseek-v3.1-terminus": "deepseek/deepseek-v3.1-terminus",
293
- "qwen3:8b": "qwen/qwen3-8b",
294
- "qwen3:30b": "qwen/qwen3-30b-a3b",
295
- "qwen3:32b": "qwen/qwen3-32b",
296
- "qwen3:235b": "qwen/qwen3-235b-a22b",
297
- "qwen3-coder": "qwen/qwen3-coder",
298
- "qwen3-coder-flash": "qwen/qwen3-coder-flash",
299
- "qwen3-coder-plus": "qwen/qwen3-coder-plus",
300
- "qwen3-coder:30b": "qwen/qwen3-coder-30b-a3b-instruct",
301
- "qwen3-max": "qwen/qwen3-max",
302
- "qwen3-vl:235b": "qwen/qwen3-vl-235b-a22b-instruct",
303
- "qwen3-vl-thinking:235b": "qwen/qwen3-vl-235b-a22b-thinking",
304
- "ling-1t": "inclusionai/ling-1t",
305
- "llama4:109b": "meta-llama/llama-4-scout",
306
- "llama4:400b": "meta-llama/llama-4-maverick"
307
- },
308
- "pricing": {
309
- "meta-llama/llama-3.1-405b-instruct": {
310
- "input": "0.0000008",
311
- "output": "0.0000008"
312
- },
313
- "meta-llama/llama-3.3-70b-instruct": {
314
- "input": "0.00000013",
315
- "output": "0.00000038"
316
- },
317
- "microsoft/phi-4": {
318
- "input": "0.00000006",
319
- "output": "0.00000014"
320
- },
321
- "mistralai/codestral-2508": {
322
- "input": "0.0000003",
323
- "output": "0.0000009"
324
- },
325
- "mistralai/mistral-nemo": {
326
- "input": "0.00000002",
327
- "output": "0.00000004"
328
- },
329
- "mistralai/mixtral-8x22b-instruct": {
330
- "input": "0.000002",
331
- "output": "0.000006"
332
- },
333
- "mistralai/mistral-small-3.2-24b-instruct": {
334
- "input": "0.00000006",
335
- "output": "0.00000018"
336
- },
337
- "amazon/nova-micro-v1": {
338
- "input": "0.000000035",
339
- "output": "0.00000014"
340
- },
341
- "amazon/nova-lite-v1": {
342
- "input": "0.00000006",
343
- "output": "0.00000024"
344
- },
345
- "amazon/nova-pro-v1": {
346
- "input": "0.0000008",
347
- "output": "0.0000032"
348
- },
349
- "anthropic/claude-opus-4.1": {
350
- "input": "0.000015",
351
- "output": "0.000075"
352
- },
353
- "anthropic/claude-sonnet-4.5": {
354
- "input": "0.000003",
355
- "output": "0.000015"
356
- },
357
- "anthropic/claude-sonnet-4": {
358
- "input": "0.000003",
359
- "output": "0.000015"
360
- },
361
- "openai/gpt-5": {
362
- "input": "0.00000125",
363
- "output": "0.00001"
364
- },
365
- "openai/gpt-5-chat": {
366
- "input": "0.00000125",
367
- "output": "0.00001"
368
- },
369
- "openai/gpt-5-mini": {
370
- "input": "0.00000025",
371
- "output": "0.000002"
372
- },
373
- "openai/gpt-5-nano": {
374
- "input": "0.00000005",
375
- "output": "0.0000004"
376
- },
377
- "openai/gpt-5-codex": {
378
- "input": "0.00000125",
379
- "output": "0.00001"
380
- },
381
- "openai/gpt-oss-120b": {
382
- "input": "0.00000005",
383
- "output": "0.00000024"
384
- },
385
- "openai/gpt-oss-20b": {
386
- "input": "0.00000003",
387
- "output": "0.00000014"
388
- },
389
- "openai/gpt-4o": {
390
- "input": "0.000006",
391
- "output": "0.000018"
392
- },
393
- "openai/gpt-4o-mini": {
394
- "input": "0.00000015",
395
- "output": "0.0000006"
396
- },
397
- "openai/gpt-4.1": {
398
- "input": "0.000002",
399
- "output": "0.000008"
400
- },
401
- "openai/gpt-4.1-mini": {
402
- "input": "0.0000004",
403
- "output": "0.0000016"
404
- },
405
- "openai/gpt-4.1-nano": {
406
- "input": "0.0000001",
407
- "output": "0.0000004"
408
- },
409
- "openai/o4-mini": {
410
- "input": "0.0000011",
411
- "output": "0.0000044"
412
- },
413
- "openai/o4-mini-high": {
414
- "input": "0.0000011",
415
- "output": "0.0000044"
416
- },
417
- "x-ai/grok-4": {
418
- "input": "0.000003",
419
- "output": "0.000015"
420
- },
421
- "x-ai/grok-4-fast": {
422
- "input": "0.0000002",
423
- "output": "0.0000005"
424
- },
425
- "x-ai/grok-code-fast-1": {
426
- "input": "0.0000002",
427
- "output": "0.0000015"
428
- },
429
- "z-ai/glm-4.6": {
430
- "input": "0.0000006",
431
- "output": "0.0000019"
432
- },
433
- "z-ai/glm-4.5v": {
434
- "input": "0.0000006",
435
- "output": "0.0000018"
436
- },
437
- "z-ai/glm-4.5": {
438
- "input": "0.00000035",
439
- "output": "0.00000155"
440
- },
441
- "z-ai/glm-4.5-air": {
442
- "input": "0.00000013",
443
- "output": "0.00000085"
444
- },
445
- "moonshotai/kimi-k2": {
446
- "input": "0.00000014",
447
- "output": "0.00000249"
448
- },
449
- "deepseek/deepseek-chat": {
450
- "input": "0.0000003",
451
- "output": "0.00000085"
452
- },
453
- "deepseek/deepseek-v3.2-exp": {
454
- "input": "0.00000027",
455
- "output": "0.0000004"
456
- },
457
- "deepseek/deepseek-chat-v3.1": {
458
- "input": "0.00000027",
459
- "output": "0.000001"
460
- },
461
- "deepseek/deepseek-r1": {
462
- "input": "0.0000004",
463
- "output": "0.000002"
464
- },
465
- "deepseek/deepseek-v3.1-terminus": {
466
- "input": "0.00000027",
467
- "output": "0.000001"
468
- },
469
- "qwen/qwen3-8b": {
470
- "input": "0.000000035",
471
- "output": "0.000000138"
472
- },
473
- "qwen/qwen3-30b-a3b": {
474
- "input": "0.00000006",
475
- "output": "0.00000022"
476
- },
477
- "qwen/qwen3-32b": {
478
- "input": "0.00000005",
479
- "output": "0.0000002"
480
- },
481
- "qwen/qwen3-235b-a22b": {
482
- "input": "0.00000018",
483
- "output": "0.00000054"
484
- },
485
- "qwen/qwen3-coder": {
486
- "input": "0.00000038",
487
- "output": "0.00000153"
488
- },
489
- "qwen/qwen3-coder-flash": {
490
- "input": "0.0000003",
491
- "output": "0.0000015"
492
- },
493
- "qwen/qwen3-coder-plus": {
494
- "input": "0.000001",
495
- "output": "0.000005"
496
- },
497
- "qwen/qwen3-coder-30b-a3b-instruct": {
498
- "input": "0.00000006",
499
- "output": "0.00000025"
500
- },
501
- "qwen/qwen3-max": {
502
- "input": "0.0000012",
503
- "output": "0.000006"
504
- },
505
- "qwen/qwen3-vl-235b-a22b-instruct": {
506
- "input": "0.00000022",
507
- "output": "0.00000088"
508
- },
509
- "qwen/qwen3-vl-235b-a22b-thinking": {
510
- "input": "0.0000003",
511
- "output": "0.0000012"
512
- },
513
- "inclusionai/ling-1t": {
514
- "input": "0.00000057",
515
- "output": "0.00000228"
516
- },
517
- "meta-llama/llama-4-scout": {
518
- "input": "0.00000008",
519
- "output": "0.0000003"
520
- },
521
- "meta-llama/llama-4-maverick": {
522
- "input": "0.00000015",
523
- "output": "0.0000006"
226
+ "temperature": 0.7,
227
+ "modalities": {
228
+ "image": {
229
+ "name": "Z.ai Image",
230
+ "npm": "zai/image"
524
231
  }
525
232
  }
526
233
  },
234
+ "minimax": {
235
+ "enabled": true,
236
+ "temperature": 1.0
237
+ },
238
+ "ollama": {
239
+ "enabled": false,
240
+ "id": "ollama",
241
+ "npm": "ollama",
242
+ "api": "http://localhost:11434"
243
+ },
244
+ "lmstudio": {
245
+ "enabled": false,
246
+ "npm": "lmstudio",
247
+ "api": "http://127.0.0.1:1234/v1",
248
+ "models": {}
249
+ },
527
250
  "google": {
528
251
  "enabled": true,
529
- "type": "GoogleProvider",
530
- "api_key": "$GOOGLE_API_KEY",
531
- "models": {
532
- "gemini-flash-latest": "gemini-flash-latest",
533
- "gemini-flash-lite-latest": "gemini-flash-lite-latest",
534
- "gemini-2.5-pro": "gemini-2.5-pro",
535
- "gemini-2.5-flash": "gemini-2.5-flash",
536
- "gemini-2.5-flash-lite": "gemini-2.5-flash-lite"
537
- },
538
- "pricing": {
539
- "gemini-flash-latest": {
540
- "input": "0.0000003",
541
- "output": "0.0000025"
542
- },
543
- "gemini-flash-lite-latest": {
544
- "input": "0.0000001",
545
- "output": "0.0000004"
546
- },
547
- "gemini-2.5-pro": {
548
- "input": "0.00000125",
549
- "output": "0.00001"
550
- },
551
- "gemini-2.5-flash": {
552
- "input": "0.0000003",
553
- "output": "0.0000025"
554
- },
555
- "gemini-2.5-flash-lite": {
556
- "input": "0.0000001",
557
- "output": "0.0000004"
558
- }
559
- },
560
252
  "safety_settings": [
561
253
  {
562
254
  "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
@@ -567,6 +259,13 @@
567
259
  "thinkingBudget": 1024,
568
260
  "includeThoughts": true
569
261
  },
262
+ "speech_config": {
263
+ "voiceConfig": {
264
+ "prebuiltVoiceConfig": {
265
+ "voiceName": "Kore"
266
+ }
267
+ }
268
+ },
570
269
  "check": {
571
270
  "messages": [
572
271
  {
@@ -589,51 +288,6 @@
589
288
  },
590
289
  "anthropic": {
591
290
  "enabled": true,
592
- "type": "OpenAiProvider",
593
- "base_url": "https://api.anthropic.com",
594
- "api_key": "$ANTHROPIC_API_KEY",
595
- "models": {
596
- "claude-sonnet-4-5": "claude-sonnet-4-5",
597
- "claude-sonnet-4-0": "claude-sonnet-4-0",
598
- "claude-3-7-sonnet": "claude-3-7-sonnet-latest",
599
- "claude-haiku-4-5": "claude-haiku-4-5",
600
- "claude-3-5-haiku": "claude-3-5-haiku-latest",
601
- "claude-3-haiku": "claude-3-haiku-20240307"
602
- },
603
- "pricing": {
604
- "claude-opus-4-1": {
605
- "input": "0.000015",
606
- "output": "0.000075"
607
- },
608
- "claude-opus-4": {
609
- "input": "0.000015",
610
- "output": "0.000075"
611
- },
612
- "claude-sonnet-4-5": {
613
- "input": "0.000003",
614
- "output": "0.000015"
615
- },
616
- "claude-sonnet-4-0": {
617
- "input": "0.000003",
618
- "output": "0.000015"
619
- },
620
- "claude-3-7-sonnet-latest": {
621
- "input": "0.000003",
622
- "output": "0.000015"
623
- },
624
- "claude-haiku-4-5": {
625
- "input": "0.000001",
626
- "output": "0.000005"
627
- },
628
- "claude-3-5-haiku-latest": {
629
- "input": "0.0000008",
630
- "output": "0.000004"
631
- },
632
- "claude-3-haiku-20240307": {
633
- "input": "0.00000025",
634
- "output": "0.00000125"
635
- }
636
- },
637
291
  "check": {
638
292
  "messages": [
639
293
  {
@@ -655,431 +309,27 @@
655
309
  }
656
310
  },
657
311
  "openai": {
658
- "enabled": true,
659
- "type": "OpenAiProvider",
660
- "base_url": "https://api.openai.com",
661
- "api_key": "$OPENAI_API_KEY",
662
- "models": {
663
- "gpt-5-nano": "gpt-5-nano",
664
- "gpt-5-mini": "gpt-5-mini",
665
- "gpt-5": "gpt-5",
666
- "gpt-5-chat-latest": "gpt-5-chat-latest",
667
- "gpt-4.1-nano": "gpt-4.1-nano",
668
- "gpt-4.1-mini": "gpt-4.1-mini",
669
- "gpt-4.1": "gpt-4.1",
670
- "o4-mini": "o4-mini",
671
- "o3": "o3",
672
- "gpt-4o-mini-search-preview": "gpt-4o-mini-search-preview",
673
- "gpt-4o-search-preview": "gpt-4o-search-preview",
674
- "o3-mini": "o3-mini",
675
- "o1-mini": "o1-mini",
676
- "chatgpt-4o-latest": "chatgpt-4o-latest",
677
- "gpt-4o-mini": "gpt-4o-mini",
678
- "gpt-4o": "gpt-4o",
679
- "gpt-3.5-turbo": "gpt-3.5-turbo"
680
- },
681
- "pricing": {
682
- "gpt-5-nano": {
683
- "input": "0.00000005",
684
- "output": "0.0000004"
685
- },
686
- "gpt-5-mini": {
687
- "input": "0.00000025",
688
- "output": "0.000002"
689
- },
690
- "gpt-5": {
691
- "input": "0.00000125",
692
- "output": "0.00001"
693
- },
694
- "gpt-5-chat-latest": {
695
- "input": "0.00000125",
696
- "output": "0.00001"
697
- },
698
- "gpt-4.1-nano": {
699
- "input": "0.0000001",
700
- "output": "0.0000004"
701
- },
702
- "gpt-4.1-mini": {
703
- "input": "0.0000004",
704
- "output": "0.0000016"
705
- },
706
- "gpt-4.1": {
707
- "input": "0.000002",
708
- "output": "0.000008"
709
- },
710
- "o4-mini": {
711
- "input": "0.0000011",
712
- "output": "0.0000044"
713
- },
714
- "o3": {
715
- "input": "0.000002",
716
- "output": "0.000008"
717
- },
718
- "gpt-4o-mini-search-preview": {
719
- "input": "0.00000015",
720
- "output": "0.0000006"
721
- },
722
- "gpt-4o-search-preview": {
723
- "input": "0.0000025",
724
- "output": "0.00001"
725
- },
726
- "o3-mini": {
727
- "input": "0.0000011",
728
- "output": "0.0000044"
729
- },
730
- "o1-mini": {
731
- "input": "0.0000011",
732
- "output": "0.0000044"
733
- },
734
- "chatgpt-4o-latest": {
735
- "input": "0.000005",
736
- "output": "0.000015"
737
- },
738
- "gpt-4o-mini": {
739
- "input": "0.00000015",
740
- "output": "0.0000006"
741
- },
742
- "gpt-4o": {
743
- "input": "0.0000025",
744
- "output": "0.00001"
745
- },
746
- "gpt-3.5-turbo": {
747
- "input": "0.000003",
748
- "output": "0.000006"
749
- }
750
- }
312
+ "enabled": true
751
313
  },
752
- "grok": {
753
- "enabled": true,
754
- "type": "OpenAiProvider",
755
- "base_url": "https://api.x.ai",
756
- "api_key": "$GROK_API_KEY",
757
- "models": {
758
- "grok-4": "grok-4-0709",
759
- "grok-code-fast-1": "grok-code-fast-1",
760
- "grok-4-fast-reasoning": "grok-4-fast-reasoning",
761
- "grok-4-fast-non-reasoning": "grok-4-fast-non-reasoning",
762
- "grok-4-0709": "grok-4-0709",
763
- "grok-3-mini": "grok-3-mini",
764
- "grok-3": "grok-3"
765
- },
766
- "pricing": {
767
- "grok-4": {
768
- "input": "0.000003",
769
- "output": "0.000015"
770
- },
771
- "grok-code-fast-1": {
772
- "input": "0.0000002",
773
- "output": "0.0000015"
774
- },
775
- "grok-4-fast-reasoning": {
776
- "input": "0.0000002",
777
- "output": "0.0000005"
778
- },
779
- "grok-4-fast-non-reasoning": {
780
- "input": "0.0000002",
781
- "output": "0.0000005"
782
- },
783
- "grok-4-0709": {
784
- "input": "0.000003",
785
- "output": "0.000015"
786
- },
787
- "grok-3-mini": {
788
- "input": "0.0000003",
789
- "output": "0.0000005"
790
- },
791
- "grok-3": {
792
- "input": "0.000003",
793
- "output": "0.000015"
794
- }
795
- }
314
+ "xai": {
315
+ "enabled": true
796
316
  },
797
- "qwen": {
317
+ "alibaba": {
798
318
  "enabled": true,
799
- "type": "OpenAiProvider",
800
- "base_url": "https://dashscope-intl.aliyuncs.com/compatible-mode",
801
- "api_key": "$DASHSCOPE_API_KEY",
802
- "models": {
803
- "qwen3-max": "qwen3-max",
804
- "qwen-max": "qwen-max",
805
- "qwen-plus": "qwen-plus",
806
- "qwen-flash": "qwen-flash",
807
- "qwq-plus": "qwq-plus",
808
- "qwen-turbo": "qwen-turbo",
809
- "qwen-omni-turbo": "qwen-omni-turbo",
810
- "qwen3-omni-flash": "qwen3-omni-flash",
811
- "qwen3-coder-plus": "qwen3-coder-plus",
812
- "qwen3-coder-flash": "qwen3-coder-flash",
813
- "qwen3-next:80b": "qwen3-next-80b-a3b-instruct",
814
- "qwen3:235b": "qwen3-235b-a22b",
815
- "qwen3:32b": "qwen3-32b",
816
- "qwen3:30b": "qwen3-30b-a3b",
817
- "qwen3:14b": "qwen3-14b",
818
- "qwen3:8b": "qwen3-8b",
819
- "qwen3:4b": "qwen3-4b",
820
- "qwen3:1.7b": "qwen3-1.7b",
821
- "qwen3:0.6b": "qwen3-0.6b",
822
- "qwen3-coder": "qwen3-coder-480b-a35b-instruct",
823
- "qwen3-coder:30b": "qwen3-coder-30b-a3b-instruct",
824
- "qwen3-vl-plus": "qwen3-vl-plus",
825
- "qwen3-vl-thinking:235b": "qwen3-vl-235b-a22b-thinking",
826
- "qwen3-vl:235b": "qwen3-vl-235b-a22b-instruct",
827
- "qwen3-vl:30b": "qwen3-vl-30b-a3b-instruct",
828
- "qwen2.5-omni:7b": "qwen2.5-omni-7b"
829
- },
830
- "pricing": {
831
- "qwen3-max": {
832
- "input": "0.0000012",
833
- "output": "0.000006"
834
- },
835
- "qwen-max": {
836
- "input": "0.0000012",
837
- "output": "0.000006"
838
- },
839
- "qwen-plus": {
840
- "input": "0.0000004",
841
- "output": "0.0000012"
842
- },
843
- "qwen-flash": {
844
- "input": "0.00000005",
845
- "output": "0.0000004"
846
- },
847
- "qwq-plus": {
848
- "input": "0.0000008",
849
- "output": "0.0000024"
850
- },
851
- "qwen-turbo": {
852
- "input": "0.00000005",
853
- "output": "0.0000005"
854
- },
855
- "qwen-omni-turbo": {
856
- "input": "0.00000007",
857
- "output": "0.00000027"
858
- },
859
- "qwen3-omni-flash": {
860
- "input": "0.00000043",
861
- "output": "0.00000166"
862
- },
863
- "qwen3-coder-plus": {
864
- "input": "0.000001",
865
- "output": "0.000005"
866
- },
867
- "qwen3-coder-flash": {
868
- "input": "0.0000003",
869
- "output": "0.0000015"
870
- },
871
- "qwen3-next-80b-a3b-instruct": {
872
- "input": "0.0000005",
873
- "output": "0.000002"
874
- },
875
- "qwen3-235b-a22b": {
876
- "input": "0.0000007",
877
- "output": "0.0000028"
878
- },
879
- "qwen3-32b": {
880
- "input": "0.0000007",
881
- "output": "0.0000028"
882
- },
883
- "qwen3-30b-a3b": {
884
- "input": "0.0000002",
885
- "output": "0.0000008"
886
- },
887
- "qwen3-14b": {
888
- "input": "0.00000035",
889
- "output": "0.0000014"
890
- },
891
- "qwen3-8b": {
892
- "input": "0.00000018",
893
- "output": "0.0000007"
894
- },
895
- "qwen3-4b": {
896
- "input": "0.00000011",
897
- "output": "0.00000042"
898
- },
899
- "qwen3-1.7b": {
900
- "input": "0.00000011",
901
- "output": "0.00000042"
902
- },
903
- "qwen3-0.6b": {
904
- "input": "0.00000011",
905
- "output": "0.00000042"
906
- },
907
- "qwen3-coder-480b-a35b-instruct": {
908
- "input": "0.0000015",
909
- "output": "0.0000075"
910
- },
911
- "qwen3-coder-30b-a3b-instruct": {
912
- "input": "0.00000045",
913
- "output": "0.00000225"
914
- },
915
- "qwen3-vl-plus": {
916
- "input": "0.0000002",
917
- "output": "0.0000016"
918
- },
919
- "qwen3-vl-235b-a22b-thinking": {
920
- "input": "0.0000007",
921
- "output": "0.0000084"
922
- },
923
- "qwen3-vl-235b-a22b-instruct": {
924
- "input": "0.0000007",
925
- "output": "0.0000084"
926
- },
927
- "qwen3-vl-30b-a3b-instruct": {
928
- "input": "0.0000002",
929
- "output": "0.0000024"
930
- },
931
- "qwen2.5-omni-7b": {
932
- "input": "0.0000001",
933
- "output": "0.0000004"
934
- }
935
- },
936
319
  "enable_thinking": false
937
320
  },
938
- "z.ai": {
321
+ "zai": {
939
322
  "enabled": true,
940
- "type": "OpenAiProvider",
941
- "base_url": "https://api.z.ai/api/paas/v4",
942
- "api_key": "$ZAI_API_KEY",
943
- "models": {
944
- "glm-4.6": "glm-4.6",
945
- "glm-4.5": "glm-4.5",
946
- "glm-4.5-air": "glm-4.5-air",
947
- "glm-4.5-x": "glm-4.5-x",
948
- "glm-4.5-airx": "glm-4.5-airx",
949
- "glm-4.5-flash": "glm-4.5-flash",
950
- "glm-4:32b": "glm-4-32b-0414-128k"
951
- },
952
323
  "temperature": 0.7,
953
- "pricing": {
954
- "glm-4.6": {
955
- "input": "0.0000006",
956
- "output": "0.00000022"
957
- },
958
- "glm-4.5": {
959
- "input": "0.0000006",
960
- "output": "0.00000022"
961
- },
962
- "glm-4.5-air": {
963
- "input": "0.0000002",
964
- "output": "0.00000011"
965
- },
966
- "glm-4.5-x": {
967
- "input": "0.00000022",
968
- "output": "0.00000089"
969
- },
970
- "glm-4.5-airx": {
971
- "input": "0.0000011",
972
- "output": "0.00000045"
973
- },
974
- "glm-4.5-flash": {
975
- "input": "0",
976
- "output": "0"
977
- },
978
- "glm-4-32b-0414-128k": {
979
- "input": "0.0000001",
980
- "output": "0.0000001"
324
+ "modalities": {
325
+ "image": {
326
+ "name": "Z.ai Image",
327
+ "npm": "zai/image"
981
328
  }
982
329
  }
983
330
  },
984
331
  "mistral": {
985
332
  "enabled": true,
986
- "type": "OpenAiProvider",
987
- "base_url": "https://api.mistral.ai",
988
- "api_key": "$MISTRAL_API_KEY",
989
- "models": {
990
- "mistral-medium": "mistral-medium-latest",
991
- "magistral-medium": "magistral-medium-latest",
992
- "devstral-medium": "devstral-medium-2507",
993
- "codestral:22b": "codestral-latest",
994
- "mistral-small3.2:24b": "mistral-small-latest",
995
- "magistral-small": "magistral-small-latest",
996
- "devstral-small": "devstral-small-2507",
997
- "voxtral-small": "voxtral-small-latest",
998
- "voxtral-mini": "voxtral-mini-latest",
999
- "mistral-large:123b": "mistral-large-latest",
1000
- "pixtral-large:124b": "pixtral-large-latest",
1001
- "pixtral:12b": "pixtral-12b",
1002
- "mistral-nemo:12b": "open-mistral-nemo",
1003
- "mistral:7b": "open-mistral-7b",
1004
- "mixtral:8x7b": "open-mixtral-8x7b",
1005
- "mixtral:8x22b": "open-mixtral-8x22b",
1006
- "ministral:8b": "ministral-8b-latest",
1007
- "ministral:3b": "ministral-3b-latest"
1008
- },
1009
- "pricing": {
1010
- "mistral-medium-latest": {
1011
- "input": "0.0000004",
1012
- "output": "0.000002"
1013
- },
1014
- "magistral-medium-latest": {
1015
- "input": "0.000002",
1016
- "output": "0.000005"
1017
- },
1018
- "devstral-medium-2507": {
1019
- "input": "0.0000004",
1020
- "output": "0.000002"
1021
- },
1022
- "codestral-latest": {
1023
- "input": "0.0000003",
1024
- "output": "0.0000003"
1025
- },
1026
- "mistral-small-latest": {
1027
- "input": "0.0000001",
1028
- "output": "0.0000003"
1029
- },
1030
- "magistral-small-latest": {
1031
- "input": "0.0000005",
1032
- "output": "0.0000015"
1033
- },
1034
- "devstral-small-2507": {
1035
- "input": "0.0000001",
1036
- "output": "0.0000003"
1037
- },
1038
- "voxtral-small-latest": {
1039
- "input": "0.0000001",
1040
- "output": "0.0000003"
1041
- },
1042
- "voxtral-mini-latest": {
1043
- "input": "0.00000004",
1044
- "output": "0.00000004"
1045
- },
1046
- "mistral-large-latest": {
1047
- "input": "0.000002",
1048
- "output": "0.000006"
1049
- },
1050
- "pixtral-large-latest": {
1051
- "input": "0.000002",
1052
- "output": "0.000006"
1053
- },
1054
- "pixtral-12b": {
1055
- "input": "0.00000015",
1056
- "output": "0.00000015"
1057
- },
1058
- "open-mistral-nemo": {
1059
- "input": "0.00000015",
1060
- "output": "0.00000015"
1061
- },
1062
- "open-mistral-7b": {
1063
- "input": "0.00000025",
1064
- "output": "0.00000025"
1065
- },
1066
- "open-mixtral-8x7b": {
1067
- "input": "0.0000007",
1068
- "output": "0.0000007"
1069
- },
1070
- "open-mixtral-8x22b": {
1071
- "input": "0.000002",
1072
- "output": "0.000006"
1073
- },
1074
- "ministral-8b-latest": {
1075
- "input": "0.0000001",
1076
- "output": "0.0000001"
1077
- },
1078
- "ministral-3b-latest": {
1079
- "input": "0.00000004",
1080
- "output": "0.00000004"
1081
- }
1082
- },
1083
333
  "check": {
1084
334
  "messages": [
1085
335
  {
@@ -1094,6 +344,57 @@
1094
344
  ],
1095
345
  "stream": false
1096
346
  }
347
+ },
348
+ "chutes": {
349
+ "enabled": true,
350
+ "modalities": {
351
+ "image": {
352
+ "name": "Chutes Image",
353
+ "npm": "chutes/image",
354
+ "negative_prompt": "blur, distortion, low quality",
355
+ "cfg_scale": 7.5,
356
+ "width": 1024,
357
+ "height": 1024,
358
+ "steps": 50
359
+ }
360
+ }
361
+ },
362
+ "deepseek": {
363
+ "enabled": true
364
+ },
365
+ "moonshotai": {
366
+ "enabled": true
367
+ },
368
+ "nvidia": {
369
+ "enabled": true,
370
+ "modalities": {
371
+ "image": {
372
+ "name": "NVIDIA Gen AI",
373
+ "npm": "nvidia/image",
374
+ "height": 1024,
375
+ "width": 1024,
376
+ "cfg_scale": 3.5,
377
+ "mode": "base",
378
+ "samples": 1,
379
+ "steps": 50
380
+ }
381
+ }
382
+ },
383
+ "huggingface": {
384
+ "enabled": true
385
+ },
386
+ "fireworks-ai": {
387
+ "enabled": true
388
+ },
389
+ "openrouter": {
390
+ "enabled": true,
391
+ "id": "openrouter",
392
+ "modalities": {
393
+ "image": {
394
+ "name": "OpenRouter Image",
395
+ "npm": "openrouter/image"
396
+ }
397
+ }
1097
398
  }
1098
399
  }
1099
400
  }