gsd-pi 2.42.0-dev.97e9e30 → 2.42.0-dev.eedc83f

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 (167) hide show
  1. package/README.md +23 -0
  2. package/dist/cli.js +15 -1
  3. package/dist/resource-loader.js +39 -6
  4. package/dist/resources/extensions/async-jobs/async-bash-tool.js +52 -4
  5. package/dist/resources/extensions/gsd/auto-prompts.js +1 -1
  6. package/dist/resources/extensions/gsd/bootstrap/register-hooks.js +11 -5
  7. package/dist/resources/extensions/gsd/detection.js +19 -0
  8. package/dist/resources/extensions/gsd/doctor-checks.js +31 -1
  9. package/dist/resources/extensions/gsd/doctor-providers.js +10 -0
  10. package/dist/resources/extensions/gsd/forensics.js +84 -0
  11. package/dist/resources/extensions/gsd/git-constants.js +1 -0
  12. package/dist/resources/extensions/gsd/git-service.js +68 -2
  13. package/dist/resources/extensions/gsd/native-git-bridge.js +1 -0
  14. package/dist/resources/extensions/gsd/preferences-types.js +1 -0
  15. package/dist/resources/extensions/gsd/preferences.js +59 -8
  16. package/dist/resources/extensions/gsd/prompts/forensics.md +12 -5
  17. package/dist/resources/extensions/gsd/repo-identity.js +46 -5
  18. package/dist/resources/extensions/gsd/service-tier.js +13 -4
  19. package/dist/resources/extensions/gsd/session-lock.js +2 -2
  20. package/dist/resources/extensions/gsd/worktree-resolver.js +2 -2
  21. package/dist/resources/extensions/mcp-client/index.js +2 -1
  22. package/dist/resources/extensions/search-the-web/tool-search.js +3 -3
  23. package/dist/web/standalone/.next/BUILD_ID +1 -1
  24. package/dist/web/standalone/.next/app-path-routes-manifest.json +12 -12
  25. package/dist/web/standalone/.next/build-manifest.json +2 -2
  26. package/dist/web/standalone/.next/prerender-manifest.json +3 -3
  27. package/dist/web/standalone/.next/server/app/_global-error.html +2 -2
  28. package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
  29. package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  30. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  31. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  32. package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  33. package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  34. package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  35. package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
  36. package/dist/web/standalone/.next/server/app/_not-found.rsc +1 -1
  37. package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  38. package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  39. package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  40. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  41. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  42. package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  43. package/dist/web/standalone/.next/server/app/api/git/route.js +1 -1
  44. package/dist/web/standalone/.next/server/app/index.html +1 -1
  45. package/dist/web/standalone/.next/server/app/index.rsc +1 -1
  46. package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  47. package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  48. package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  49. package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  50. package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  51. package/dist/web/standalone/.next/server/app-paths-manifest.json +12 -12
  52. package/dist/web/standalone/.next/server/chunks/229.js +2 -2
  53. package/dist/web/standalone/.next/server/pages/404.html +1 -1
  54. package/dist/web/standalone/.next/server/pages/500.html +2 -2
  55. package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
  56. package/dist/web-mode.d.ts +2 -0
  57. package/dist/web-mode.js +40 -4
  58. package/package.json +1 -1
  59. package/packages/pi-agent-core/dist/agent.d.ts.map +1 -1
  60. package/packages/pi-agent-core/dist/agent.js +2 -0
  61. package/packages/pi-agent-core/dist/agent.js.map +1 -1
  62. package/packages/pi-agent-core/dist/types.d.ts +6 -0
  63. package/packages/pi-agent-core/dist/types.d.ts.map +1 -1
  64. package/packages/pi-agent-core/dist/types.js.map +1 -1
  65. package/packages/pi-agent-core/src/agent.test.ts +53 -0
  66. package/packages/pi-agent-core/src/agent.ts +3 -0
  67. package/packages/pi-agent-core/src/types.ts +6 -0
  68. package/packages/pi-agent-core/tsconfig.json +1 -1
  69. package/packages/pi-ai/dist/models.d.ts +5 -3
  70. package/packages/pi-ai/dist/models.d.ts.map +1 -1
  71. package/packages/pi-ai/dist/models.generated.d.ts +801 -1468
  72. package/packages/pi-ai/dist/models.generated.d.ts.map +1 -1
  73. package/packages/pi-ai/dist/models.generated.js +1135 -1588
  74. package/packages/pi-ai/dist/models.generated.js.map +1 -1
  75. package/packages/pi-ai/dist/models.js.map +1 -1
  76. package/packages/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  77. package/packages/pi-ai/dist/utils/oauth/github-copilot.js +60 -2
  78. package/packages/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
  79. package/packages/pi-ai/scripts/generate-models.ts +1543 -0
  80. package/packages/pi-ai/src/models.generated.ts +1140 -1593
  81. package/packages/pi-ai/src/models.ts +7 -4
  82. package/packages/pi-ai/src/utils/oauth/github-copilot.ts +74 -2
  83. package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  84. package/packages/pi-coding-agent/dist/core/agent-session.js +8 -1
  85. package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  86. package/packages/pi-coding-agent/dist/core/auth-storage.d.ts +7 -0
  87. package/packages/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
  88. package/packages/pi-coding-agent/dist/core/auth-storage.js +29 -2
  89. package/packages/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
  90. package/packages/pi-coding-agent/dist/core/auth-storage.test.js +60 -0
  91. package/packages/pi-coding-agent/dist/core/auth-storage.test.js.map +1 -1
  92. package/packages/pi-coding-agent/dist/core/extensions/loader.d.ts.map +1 -1
  93. package/packages/pi-coding-agent/dist/core/extensions/loader.js +18 -0
  94. package/packages/pi-coding-agent/dist/core/extensions/loader.js.map +1 -1
  95. package/packages/pi-coding-agent/dist/core/lsp/client.d.ts.map +1 -1
  96. package/packages/pi-coding-agent/dist/core/lsp/client.js +23 -0
  97. package/packages/pi-coding-agent/dist/core/lsp/client.js.map +1 -1
  98. package/packages/pi-coding-agent/dist/core/model-registry.d.ts.map +1 -1
  99. package/packages/pi-coding-agent/dist/core/model-registry.js +2 -0
  100. package/packages/pi-coding-agent/dist/core/model-registry.js.map +1 -1
  101. package/packages/pi-coding-agent/dist/core/package-manager.d.ts +6 -0
  102. package/packages/pi-coding-agent/dist/core/package-manager.d.ts.map +1 -1
  103. package/packages/pi-coding-agent/dist/core/package-manager.js +63 -11
  104. package/packages/pi-coding-agent/dist/core/package-manager.js.map +1 -1
  105. package/packages/pi-coding-agent/dist/core/resource-loader.d.ts +9 -0
  106. package/packages/pi-coding-agent/dist/core/resource-loader.d.ts.map +1 -1
  107. package/packages/pi-coding-agent/dist/core/resource-loader.js +20 -6
  108. package/packages/pi-coding-agent/dist/core/resource-loader.js.map +1 -1
  109. package/packages/pi-coding-agent/dist/core/system-prompt.d.ts.map +1 -1
  110. package/packages/pi-coding-agent/dist/core/system-prompt.js +6 -5
  111. package/packages/pi-coding-agent/dist/core/system-prompt.js.map +1 -1
  112. package/packages/pi-coding-agent/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  113. package/packages/pi-coding-agent/dist/modes/interactive/components/extension-editor.js +3 -0
  114. package/packages/pi-coding-agent/dist/modes/interactive/components/extension-editor.js.map +1 -1
  115. package/packages/pi-coding-agent/dist/modes/interactive/components/footer.d.ts.map +1 -1
  116. package/packages/pi-coding-agent/dist/modes/interactive/components/footer.js +9 -6
  117. package/packages/pi-coding-agent/dist/modes/interactive/components/footer.js.map +1 -1
  118. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  119. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +30 -10
  120. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  121. package/packages/pi-coding-agent/src/core/agent-session.ts +7 -1
  122. package/packages/pi-coding-agent/src/core/auth-storage.test.ts +68 -0
  123. package/packages/pi-coding-agent/src/core/auth-storage.ts +30 -2
  124. package/packages/pi-coding-agent/src/core/extensions/loader.ts +18 -0
  125. package/packages/pi-coding-agent/src/core/lsp/client.ts +29 -0
  126. package/packages/pi-coding-agent/src/core/model-registry.ts +3 -0
  127. package/packages/pi-coding-agent/src/core/package-manager.ts +99 -58
  128. package/packages/pi-coding-agent/src/core/resource-loader.ts +24 -6
  129. package/packages/pi-coding-agent/src/core/system-prompt.ts +6 -5
  130. package/packages/pi-coding-agent/src/modes/interactive/components/extension-editor.ts +3 -0
  131. package/packages/pi-coding-agent/src/modes/interactive/components/footer.ts +10 -6
  132. package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +31 -11
  133. package/src/resources/extensions/async-jobs/async-bash-timeout.test.ts +122 -0
  134. package/src/resources/extensions/async-jobs/async-bash-tool.ts +40 -4
  135. package/src/resources/extensions/gsd/auto-prompts.ts +1 -1
  136. package/src/resources/extensions/gsd/bootstrap/register-hooks.ts +13 -5
  137. package/src/resources/extensions/gsd/detection.ts +19 -0
  138. package/src/resources/extensions/gsd/doctor-checks.ts +32 -1
  139. package/src/resources/extensions/gsd/doctor-providers.ts +13 -0
  140. package/src/resources/extensions/gsd/doctor-types.ts +1 -0
  141. package/src/resources/extensions/gsd/forensics.ts +92 -0
  142. package/src/resources/extensions/gsd/git-constants.ts +1 -0
  143. package/src/resources/extensions/gsd/git-service.ts +71 -2
  144. package/src/resources/extensions/gsd/native-git-bridge.ts +1 -0
  145. package/src/resources/extensions/gsd/preferences-types.ts +3 -0
  146. package/src/resources/extensions/gsd/preferences.ts +62 -6
  147. package/src/resources/extensions/gsd/prompts/forensics.md +12 -5
  148. package/src/resources/extensions/gsd/repo-identity.ts +48 -5
  149. package/src/resources/extensions/gsd/service-tier.ts +17 -4
  150. package/src/resources/extensions/gsd/session-lock.ts +2 -2
  151. package/src/resources/extensions/gsd/tests/activity-log.test.ts +31 -69
  152. package/src/resources/extensions/gsd/tests/forensics-dedup.test.ts +48 -0
  153. package/src/resources/extensions/gsd/tests/forensics-issue-routing.test.ts +43 -0
  154. package/src/resources/extensions/gsd/tests/git-locale.test.ts +133 -0
  155. package/src/resources/extensions/gsd/tests/git-service.test.ts +49 -0
  156. package/src/resources/extensions/gsd/tests/journal.test.ts +82 -127
  157. package/src/resources/extensions/gsd/tests/manifest-status.test.ts +73 -82
  158. package/src/resources/extensions/gsd/tests/service-tier.test.ts +30 -1
  159. package/src/resources/extensions/gsd/tests/symlink-numbered-variants.test.ts +151 -0
  160. package/src/resources/extensions/gsd/tests/verification-gate.test.ts +156 -263
  161. package/src/resources/extensions/gsd/tests/worktree-health-dispatch.test.ts +35 -78
  162. package/src/resources/extensions/gsd/tests/worktree-manager.test.ts +81 -74
  163. package/src/resources/extensions/gsd/worktree-resolver.ts +2 -2
  164. package/src/resources/extensions/mcp-client/index.ts +5 -1
  165. package/src/resources/extensions/search-the-web/tool-search.ts +3 -3
  166. /package/dist/web/standalone/.next/static/{PXrI5DoWsm7rwAVnEU2rD → JUBX5FUR73jiViQU5a-Cx}/_buildManifest.js +0 -0
  167. /package/dist/web/standalone/.next/static/{PXrI5DoWsm7rwAVnEU2rD → JUBX5FUR73jiViQU5a-Cx}/_ssgManifest.js +0 -0
@@ -90,40 +90,6 @@ export const MODELS = {
90
90
  contextWindow: 300000,
91
91
  maxTokens: 8192,
92
92
  } satisfies Model<"bedrock-converse-stream">,
93
- "amazon.titan-text-express-v1": {
94
- id: "amazon.titan-text-express-v1",
95
- name: "Titan Text G1 - Express",
96
- api: "bedrock-converse-stream",
97
- provider: "amazon-bedrock",
98
- baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
99
- reasoning: false,
100
- input: ["text"],
101
- cost: {
102
- input: 0.2,
103
- output: 0.6,
104
- cacheRead: 0,
105
- cacheWrite: 0,
106
- },
107
- contextWindow: 128000,
108
- maxTokens: 4096,
109
- } satisfies Model<"bedrock-converse-stream">,
110
- "amazon.titan-text-express-v1:0:8k": {
111
- id: "amazon.titan-text-express-v1:0:8k",
112
- name: "Titan Text G1 - Express",
113
- api: "bedrock-converse-stream",
114
- provider: "amazon-bedrock",
115
- baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
116
- reasoning: false,
117
- input: ["text"],
118
- cost: {
119
- input: 0.2,
120
- output: 0.6,
121
- cacheRead: 0,
122
- cacheWrite: 0,
123
- },
124
- contextWindow: 128000,
125
- maxTokens: 4096,
126
- } satisfies Model<"bedrock-converse-stream">,
127
93
  "anthropic.claude-3-5-haiku-20241022-v1:0": {
128
94
  id: "anthropic.claude-3-5-haiku-20241022-v1:0",
129
95
  name: "Claude Haiku 3.5",
@@ -209,40 +175,6 @@ export const MODELS = {
209
175
  contextWindow: 200000,
210
176
  maxTokens: 4096,
211
177
  } satisfies Model<"bedrock-converse-stream">,
212
- "anthropic.claude-3-opus-20240229-v1:0": {
213
- id: "anthropic.claude-3-opus-20240229-v1:0",
214
- name: "Claude Opus 3",
215
- api: "bedrock-converse-stream",
216
- provider: "amazon-bedrock",
217
- baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
218
- reasoning: false,
219
- input: ["text", "image"],
220
- cost: {
221
- input: 15,
222
- output: 75,
223
- cacheRead: 0,
224
- cacheWrite: 0,
225
- },
226
- contextWindow: 200000,
227
- maxTokens: 4096,
228
- } satisfies Model<"bedrock-converse-stream">,
229
- "anthropic.claude-3-sonnet-20240229-v1:0": {
230
- id: "anthropic.claude-3-sonnet-20240229-v1:0",
231
- name: "Claude Sonnet 3",
232
- api: "bedrock-converse-stream",
233
- provider: "amazon-bedrock",
234
- baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
235
- reasoning: false,
236
- input: ["text", "image"],
237
- cost: {
238
- input: 3,
239
- output: 15,
240
- cacheRead: 0,
241
- cacheWrite: 0,
242
- },
243
- contextWindow: 200000,
244
- maxTokens: 4096,
245
- } satisfies Model<"bedrock-converse-stream">,
246
178
  "anthropic.claude-haiku-4-5-20251001-v1:0": {
247
179
  id: "anthropic.claude-haiku-4-5-20251001-v1:0",
248
180
  name: "Claude Haiku 4.5",
@@ -325,7 +257,7 @@ export const MODELS = {
325
257
  cacheRead: 0.5,
326
258
  cacheWrite: 6.25,
327
259
  },
328
- contextWindow: 200000,
260
+ contextWindow: 1000000,
329
261
  maxTokens: 128000,
330
262
  } satisfies Model<"bedrock-converse-stream">,
331
263
  "anthropic.claude-sonnet-4-20250514-v1:0": {
@@ -376,43 +308,9 @@ export const MODELS = {
376
308
  cacheRead: 0.3,
377
309
  cacheWrite: 3.75,
378
310
  },
379
- contextWindow: 200000,
311
+ contextWindow: 1000000,
380
312
  maxTokens: 64000,
381
313
  } satisfies Model<"bedrock-converse-stream">,
382
- "cohere.command-r-plus-v1:0": {
383
- id: "cohere.command-r-plus-v1:0",
384
- name: "Command R+",
385
- api: "bedrock-converse-stream",
386
- provider: "amazon-bedrock",
387
- baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
388
- reasoning: false,
389
- input: ["text"],
390
- cost: {
391
- input: 3,
392
- output: 15,
393
- cacheRead: 0,
394
- cacheWrite: 0,
395
- },
396
- contextWindow: 128000,
397
- maxTokens: 4096,
398
- } satisfies Model<"bedrock-converse-stream">,
399
- "cohere.command-r-v1:0": {
400
- id: "cohere.command-r-v1:0",
401
- name: "Command R",
402
- api: "bedrock-converse-stream",
403
- provider: "amazon-bedrock",
404
- baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
405
- reasoning: false,
406
- input: ["text"],
407
- cost: {
408
- input: 0.5,
409
- output: 1.5,
410
- cacheRead: 0,
411
- cacheWrite: 0,
412
- },
413
- contextWindow: 128000,
414
- maxTokens: 4096,
415
- } satisfies Model<"bedrock-converse-stream">,
416
314
  "deepseek.r1-v1:0": {
417
315
  id: "deepseek.r1-v1:0",
418
316
  name: "DeepSeek-R1",
@@ -447,8 +345,8 @@ export const MODELS = {
447
345
  contextWindow: 163840,
448
346
  maxTokens: 81920,
449
347
  } satisfies Model<"bedrock-converse-stream">,
450
- "deepseek.v3.2-v1:0": {
451
- id: "deepseek.v3.2-v1:0",
348
+ "deepseek.v3.2": {
349
+ id: "deepseek.v3.2",
452
350
  name: "DeepSeek-V3.2",
453
351
  api: "bedrock-converse-stream",
454
352
  provider: "amazon-bedrock",
@@ -512,7 +410,7 @@ export const MODELS = {
512
410
  cacheRead: 0.5,
513
411
  cacheWrite: 6.25,
514
412
  },
515
- contextWindow: 200000,
413
+ contextWindow: 1000000,
516
414
  maxTokens: 128000,
517
415
  } satisfies Model<"bedrock-converse-stream">,
518
416
  "eu.anthropic.claude-sonnet-4-20250514-v1:0": {
@@ -563,7 +461,7 @@ export const MODELS = {
563
461
  cacheRead: 0.3,
564
462
  cacheWrite: 3.75,
565
463
  },
566
- contextWindow: 200000,
464
+ contextWindow: 1000000,
567
465
  maxTokens: 64000,
568
466
  } satisfies Model<"bedrock-converse-stream">,
569
467
  "global.anthropic.claude-haiku-4-5-20251001-v1:0": {
@@ -614,7 +512,7 @@ export const MODELS = {
614
512
  cacheRead: 0.5,
615
513
  cacheWrite: 6.25,
616
514
  },
617
- contextWindow: 200000,
515
+ contextWindow: 1000000,
618
516
  maxTokens: 128000,
619
517
  } satisfies Model<"bedrock-converse-stream">,
620
518
  "global.anthropic.claude-sonnet-4-20250514-v1:0": {
@@ -665,7 +563,7 @@ export const MODELS = {
665
563
  cacheRead: 0.3,
666
564
  cacheWrite: 3.75,
667
565
  },
668
- contextWindow: 200000,
566
+ contextWindow: 1000000,
669
567
  maxTokens: 64000,
670
568
  } satisfies Model<"bedrock-converse-stream">,
671
569
  "google.gemma-3-27b-it": {
@@ -702,6 +600,23 @@ export const MODELS = {
702
600
  contextWindow: 128000,
703
601
  maxTokens: 4096,
704
602
  } satisfies Model<"bedrock-converse-stream">,
603
+ "meta.llama3-1-405b-instruct-v1:0": {
604
+ id: "meta.llama3-1-405b-instruct-v1:0",
605
+ name: "Llama 3.1 405B Instruct",
606
+ api: "bedrock-converse-stream",
607
+ provider: "amazon-bedrock",
608
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
609
+ reasoning: false,
610
+ input: ["text"],
611
+ cost: {
612
+ input: 2.4,
613
+ output: 2.4,
614
+ cacheRead: 0,
615
+ cacheWrite: 0,
616
+ },
617
+ contextWindow: 128000,
618
+ maxTokens: 4096,
619
+ } satisfies Model<"bedrock-converse-stream">,
705
620
  "meta.llama3-1-70b-instruct-v1:0": {
706
621
  id: "meta.llama3-1-70b-instruct-v1:0",
707
622
  name: "Llama 3.1 70B Instruct",
@@ -889,6 +804,40 @@ export const MODELS = {
889
804
  contextWindow: 204800,
890
805
  maxTokens: 131072,
891
806
  } satisfies Model<"bedrock-converse-stream">,
807
+ "mistral.devstral-2-123b": {
808
+ id: "mistral.devstral-2-123b",
809
+ name: "Devstral 2 123B",
810
+ api: "bedrock-converse-stream",
811
+ provider: "amazon-bedrock",
812
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
813
+ reasoning: false,
814
+ input: ["text"],
815
+ cost: {
816
+ input: 0.4,
817
+ output: 2,
818
+ cacheRead: 0,
819
+ cacheWrite: 0,
820
+ },
821
+ contextWindow: 256000,
822
+ maxTokens: 8192,
823
+ } satisfies Model<"bedrock-converse-stream">,
824
+ "mistral.magistral-small-2509": {
825
+ id: "mistral.magistral-small-2509",
826
+ name: "Magistral Small 1.2",
827
+ api: "bedrock-converse-stream",
828
+ provider: "amazon-bedrock",
829
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
830
+ reasoning: true,
831
+ input: ["text", "image"],
832
+ cost: {
833
+ input: 0.5,
834
+ output: 1.5,
835
+ cacheRead: 0,
836
+ cacheWrite: 0,
837
+ },
838
+ contextWindow: 128000,
839
+ maxTokens: 40000,
840
+ } satisfies Model<"bedrock-converse-stream">,
892
841
  "mistral.ministral-3-14b-instruct": {
893
842
  id: "mistral.ministral-3-14b-instruct",
894
843
  name: "Ministral 14B 3.0",
@@ -906,6 +855,23 @@ export const MODELS = {
906
855
  contextWindow: 128000,
907
856
  maxTokens: 4096,
908
857
  } satisfies Model<"bedrock-converse-stream">,
858
+ "mistral.ministral-3-3b-instruct": {
859
+ id: "mistral.ministral-3-3b-instruct",
860
+ name: "Ministral 3 3B",
861
+ api: "bedrock-converse-stream",
862
+ provider: "amazon-bedrock",
863
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
864
+ reasoning: false,
865
+ input: ["text", "image"],
866
+ cost: {
867
+ input: 0.1,
868
+ output: 0.1,
869
+ cacheRead: 0,
870
+ cacheWrite: 0,
871
+ },
872
+ contextWindow: 256000,
873
+ maxTokens: 8192,
874
+ } satisfies Model<"bedrock-converse-stream">,
909
875
  "mistral.ministral-3-8b-instruct": {
910
876
  id: "mistral.ministral-3-8b-instruct",
911
877
  name: "Ministral 3 8B",
@@ -923,22 +889,39 @@ export const MODELS = {
923
889
  contextWindow: 128000,
924
890
  maxTokens: 4096,
925
891
  } satisfies Model<"bedrock-converse-stream">,
926
- "mistral.mistral-large-2402-v1:0": {
927
- id: "mistral.mistral-large-2402-v1:0",
928
- name: "Mistral Large (24.02)",
892
+ "mistral.mistral-large-3-675b-instruct": {
893
+ id: "mistral.mistral-large-3-675b-instruct",
894
+ name: "Mistral Large 3",
929
895
  api: "bedrock-converse-stream",
930
896
  provider: "amazon-bedrock",
931
897
  baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
932
898
  reasoning: false,
933
- input: ["text"],
899
+ input: ["text", "image"],
934
900
  cost: {
935
901
  input: 0.5,
936
902
  output: 1.5,
937
903
  cacheRead: 0,
938
904
  cacheWrite: 0,
939
905
  },
906
+ contextWindow: 256000,
907
+ maxTokens: 8192,
908
+ } satisfies Model<"bedrock-converse-stream">,
909
+ "mistral.pixtral-large-2502-v1:0": {
910
+ id: "mistral.pixtral-large-2502-v1:0",
911
+ name: "Pixtral Large (25.02)",
912
+ api: "bedrock-converse-stream",
913
+ provider: "amazon-bedrock",
914
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
915
+ reasoning: false,
916
+ input: ["text", "image"],
917
+ cost: {
918
+ input: 2,
919
+ output: 6,
920
+ cacheRead: 0,
921
+ cacheWrite: 0,
922
+ },
940
923
  contextWindow: 128000,
941
- maxTokens: 4096,
924
+ maxTokens: 8192,
942
925
  } satisfies Model<"bedrock-converse-stream">,
943
926
  "mistral.voxtral-mini-3b-2507": {
944
927
  id: "mistral.voxtral-mini-3b-2507",
@@ -1025,6 +1008,23 @@ export const MODELS = {
1025
1008
  contextWindow: 128000,
1026
1009
  maxTokens: 4096,
1027
1010
  } satisfies Model<"bedrock-converse-stream">,
1011
+ "nvidia.nemotron-nano-3-30b": {
1012
+ id: "nvidia.nemotron-nano-3-30b",
1013
+ name: "NVIDIA Nemotron Nano 3 30B",
1014
+ api: "bedrock-converse-stream",
1015
+ provider: "amazon-bedrock",
1016
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1017
+ reasoning: true,
1018
+ input: ["text"],
1019
+ cost: {
1020
+ input: 0.06,
1021
+ output: 0.24,
1022
+ cacheRead: 0,
1023
+ cacheWrite: 0,
1024
+ },
1025
+ contextWindow: 128000,
1026
+ maxTokens: 4096,
1027
+ } satisfies Model<"bedrock-converse-stream">,
1028
1028
  "nvidia.nemotron-nano-9b-v2": {
1029
1029
  id: "nvidia.nemotron-nano-9b-v2",
1030
1030
  name: "NVIDIA Nemotron Nano 9B v2",
@@ -1294,7 +1294,7 @@ export const MODELS = {
1294
1294
  cacheRead: 0.5,
1295
1295
  cacheWrite: 6.25,
1296
1296
  },
1297
- contextWindow: 200000,
1297
+ contextWindow: 1000000,
1298
1298
  maxTokens: 128000,
1299
1299
  } satisfies Model<"bedrock-converse-stream">,
1300
1300
  "us.anthropic.claude-sonnet-4-20250514-v1:0": {
@@ -1345,7 +1345,7 @@ export const MODELS = {
1345
1345
  cacheRead: 0.3,
1346
1346
  cacheWrite: 3.75,
1347
1347
  },
1348
- contextWindow: 200000,
1348
+ contextWindow: 1000000,
1349
1349
  maxTokens: 64000,
1350
1350
  } satisfies Model<"bedrock-converse-stream">,
1351
1351
  "writer.palmyra-x4-v1:0": {
@@ -1721,23 +1721,6 @@ export const MODELS = {
1721
1721
  cacheRead: 0.5,
1722
1722
  cacheWrite: 6.25,
1723
1723
  },
1724
- contextWindow: 200000,
1725
- maxTokens: 128000,
1726
- } satisfies Model<"anthropic-messages">,
1727
- "claude-opus-4-6[1m]": {
1728
- id: "claude-opus-4-6[1m]",
1729
- name: "Claude Opus 4.6 (1M)",
1730
- api: "anthropic-messages",
1731
- provider: "anthropic",
1732
- baseUrl: "https://api.anthropic.com",
1733
- reasoning: true,
1734
- input: ["text", "image"],
1735
- cost: {
1736
- input: 5,
1737
- output: 25,
1738
- cacheRead: 0.5,
1739
- cacheWrite: 6.25,
1740
- },
1741
1724
  contextWindow: 1000000,
1742
1725
  maxTokens: 128000,
1743
1726
  } satisfies Model<"anthropic-messages">,
@@ -1823,213 +1806,41 @@ export const MODELS = {
1823
1806
  cacheRead: 0.3,
1824
1807
  cacheWrite: 3.75,
1825
1808
  },
1826
- contextWindow: 200000,
1809
+ contextWindow: 1000000,
1827
1810
  maxTokens: 64000,
1828
1811
  } satisfies Model<"anthropic-messages">,
1829
1812
  },
1830
- "anthropic-vertex": {
1831
- "claude-opus-4-6": {
1832
- id: "claude-opus-4-6",
1833
- name: "Claude Opus 4.6 (Vertex)",
1834
- api: "anthropic-vertex",
1835
- provider: "anthropic-vertex",
1836
- baseUrl: "https://us-central1-aiplatform.googleapis.com",
1813
+ "azure-openai-responses": {
1814
+ "codex-mini-latest": {
1815
+ id: "codex-mini-latest",
1816
+ name: "Codex Mini",
1817
+ api: "azure-openai-responses",
1818
+ provider: "azure-openai-responses",
1819
+ baseUrl: "",
1837
1820
  reasoning: true,
1838
- input: ["text", "image"],
1821
+ input: ["text"],
1839
1822
  cost: {
1840
- input: 15,
1841
- output: 75,
1842
- cacheRead: 1.5,
1843
- cacheWrite: 18.75,
1823
+ input: 1.5,
1824
+ output: 6,
1825
+ cacheRead: 0.375,
1826
+ cacheWrite: 0,
1844
1827
  },
1845
1828
  contextWindow: 200000,
1846
- maxTokens: 128000,
1847
- } satisfies Model<"anthropic-vertex">,
1848
- "claude-opus-4-6[1m]": {
1849
- id: "claude-opus-4-6[1m]",
1850
- name: "Claude Opus 4.6 1M (Vertex)",
1851
- api: "anthropic-vertex",
1852
- provider: "anthropic-vertex",
1853
- baseUrl: "https://us-central1-aiplatform.googleapis.com",
1854
- reasoning: true,
1855
- input: ["text", "image"],
1829
+ maxTokens: 100000,
1830
+ } satisfies Model<"azure-openai-responses">,
1831
+ "gpt-4": {
1832
+ id: "gpt-4",
1833
+ name: "GPT-4",
1834
+ api: "azure-openai-responses",
1835
+ provider: "azure-openai-responses",
1836
+ baseUrl: "",
1837
+ reasoning: false,
1838
+ input: ["text"],
1856
1839
  cost: {
1857
- input: 15,
1858
- output: 75,
1859
- cacheRead: 1.5,
1860
- cacheWrite: 18.75,
1861
- },
1862
- contextWindow: 1000000,
1863
- maxTokens: 128000,
1864
- } satisfies Model<"anthropic-vertex">,
1865
- "claude-sonnet-4-6": {
1866
- id: "claude-sonnet-4-6",
1867
- name: "Claude Sonnet 4.6 (Vertex)",
1868
- api: "anthropic-vertex",
1869
- provider: "anthropic-vertex",
1870
- baseUrl: "https://us-central1-aiplatform.googleapis.com",
1871
- reasoning: true,
1872
- input: ["text", "image"],
1873
- cost: {
1874
- input: 3,
1875
- output: 15,
1876
- cacheRead: 0.3,
1877
- cacheWrite: 3.75,
1878
- },
1879
- contextWindow: 200000,
1880
- maxTokens: 64000,
1881
- } satisfies Model<"anthropic-vertex">,
1882
- "claude-sonnet-4-6[1m]": {
1883
- id: "claude-sonnet-4-6[1m]",
1884
- name: "Claude Sonnet 4.6 1M (Vertex)",
1885
- api: "anthropic-vertex",
1886
- provider: "anthropic-vertex",
1887
- baseUrl: "https://us-central1-aiplatform.googleapis.com",
1888
- reasoning: true,
1889
- input: ["text", "image"],
1890
- cost: {
1891
- input: 3,
1892
- output: 15,
1893
- cacheRead: 0.3,
1894
- cacheWrite: 3.75,
1895
- },
1896
- contextWindow: 1000000,
1897
- maxTokens: 64000,
1898
- } satisfies Model<"anthropic-vertex">,
1899
- "claude-sonnet-4-5@20250929": {
1900
- id: "claude-sonnet-4-5@20250929",
1901
- name: "Claude Sonnet 4.5 (Vertex)",
1902
- api: "anthropic-vertex",
1903
- provider: "anthropic-vertex",
1904
- baseUrl: "https://us-central1-aiplatform.googleapis.com",
1905
- reasoning: true,
1906
- input: ["text", "image"],
1907
- cost: {
1908
- input: 3,
1909
- output: 15,
1910
- cacheRead: 0.3,
1911
- cacheWrite: 3.75,
1912
- },
1913
- contextWindow: 200000,
1914
- maxTokens: 64000,
1915
- } satisfies Model<"anthropic-vertex">,
1916
- "claude-sonnet-4@20250514": {
1917
- id: "claude-sonnet-4@20250514",
1918
- name: "Claude Sonnet 4 (Vertex)",
1919
- api: "anthropic-vertex",
1920
- provider: "anthropic-vertex",
1921
- baseUrl: "https://us-central1-aiplatform.googleapis.com",
1922
- reasoning: true,
1923
- input: ["text", "image"],
1924
- cost: {
1925
- input: 3,
1926
- output: 15,
1927
- cacheRead: 0.3,
1928
- cacheWrite: 3.75,
1929
- },
1930
- contextWindow: 200000,
1931
- maxTokens: 64000,
1932
- } satisfies Model<"anthropic-vertex">,
1933
- "claude-opus-4-5@20251101": {
1934
- id: "claude-opus-4-5@20251101",
1935
- name: "Claude Opus 4.5 (Vertex)",
1936
- api: "anthropic-vertex",
1937
- provider: "anthropic-vertex",
1938
- baseUrl: "https://us-central1-aiplatform.googleapis.com",
1939
- reasoning: true,
1940
- input: ["text", "image"],
1941
- cost: {
1942
- input: 15,
1943
- output: 75,
1944
- cacheRead: 1.5,
1945
- cacheWrite: 18.75,
1946
- },
1947
- contextWindow: 200000,
1948
- maxTokens: 32000,
1949
- } satisfies Model<"anthropic-vertex">,
1950
- "claude-opus-4-1@20250805": {
1951
- id: "claude-opus-4-1@20250805",
1952
- name: "Claude Opus 4.1 (Vertex)",
1953
- api: "anthropic-vertex",
1954
- provider: "anthropic-vertex",
1955
- baseUrl: "https://us-central1-aiplatform.googleapis.com",
1956
- reasoning: true,
1957
- input: ["text", "image"],
1958
- cost: {
1959
- input: 15,
1960
- output: 75,
1961
- cacheRead: 1.5,
1962
- cacheWrite: 18.75,
1963
- },
1964
- contextWindow: 200000,
1965
- maxTokens: 32000,
1966
- } satisfies Model<"anthropic-vertex">,
1967
- "claude-opus-4@20250514": {
1968
- id: "claude-opus-4@20250514",
1969
- name: "Claude Opus 4 (Vertex)",
1970
- api: "anthropic-vertex",
1971
- provider: "anthropic-vertex",
1972
- baseUrl: "https://us-central1-aiplatform.googleapis.com",
1973
- reasoning: true,
1974
- input: ["text", "image"],
1975
- cost: {
1976
- input: 15,
1977
- output: 75,
1978
- cacheRead: 1.5,
1979
- cacheWrite: 18.75,
1980
- },
1981
- contextWindow: 200000,
1982
- maxTokens: 32000,
1983
- } satisfies Model<"anthropic-vertex">,
1984
- "claude-haiku-4-5@20251001": {
1985
- id: "claude-haiku-4-5@20251001",
1986
- name: "Claude Haiku 4.5 (Vertex)",
1987
- api: "anthropic-vertex",
1988
- provider: "anthropic-vertex",
1989
- baseUrl: "https://us-central1-aiplatform.googleapis.com",
1990
- reasoning: false,
1991
- input: ["text", "image"],
1992
- cost: {
1993
- input: 0.8,
1994
- output: 4,
1995
- cacheRead: 0.08,
1996
- cacheWrite: 1,
1997
- },
1998
- contextWindow: 200000,
1999
- maxTokens: 8192,
2000
- } satisfies Model<"anthropic-vertex">,
2001
- },
2002
- "azure-openai-responses": {
2003
- "codex-mini-latest": {
2004
- id: "codex-mini-latest",
2005
- name: "Codex Mini",
2006
- api: "azure-openai-responses",
2007
- provider: "azure-openai-responses",
2008
- baseUrl: "",
2009
- reasoning: true,
2010
- input: ["text"],
2011
- cost: {
2012
- input: 1.5,
2013
- output: 6,
2014
- cacheRead: 0.375,
2015
- cacheWrite: 0,
2016
- },
2017
- contextWindow: 200000,
2018
- maxTokens: 100000,
2019
- } satisfies Model<"azure-openai-responses">,
2020
- "gpt-4": {
2021
- id: "gpt-4",
2022
- name: "GPT-4",
2023
- api: "azure-openai-responses",
2024
- provider: "azure-openai-responses",
2025
- baseUrl: "",
2026
- reasoning: false,
2027
- input: ["text"],
2028
- cost: {
2029
- input: 30,
2030
- output: 60,
2031
- cacheRead: 0,
2032
- cacheWrite: 0,
1840
+ input: 30,
1841
+ output: 60,
1842
+ cacheRead: 0,
1843
+ cacheWrite: 0,
2033
1844
  },
2034
1845
  contextWindow: 8192,
2035
1846
  maxTokens: 8192,
@@ -2493,6 +2304,40 @@ export const MODELS = {
2493
2304
  contextWindow: 272000,
2494
2305
  maxTokens: 128000,
2495
2306
  } satisfies Model<"azure-openai-responses">,
2307
+ "gpt-5.4-mini": {
2308
+ id: "gpt-5.4-mini",
2309
+ name: "GPT-5.4 mini",
2310
+ api: "azure-openai-responses",
2311
+ provider: "azure-openai-responses",
2312
+ baseUrl: "",
2313
+ reasoning: true,
2314
+ input: ["text", "image"],
2315
+ cost: {
2316
+ input: 0.75,
2317
+ output: 4.5,
2318
+ cacheRead: 0.075,
2319
+ cacheWrite: 0,
2320
+ },
2321
+ contextWindow: 400000,
2322
+ maxTokens: 128000,
2323
+ } satisfies Model<"azure-openai-responses">,
2324
+ "gpt-5.4-nano": {
2325
+ id: "gpt-5.4-nano",
2326
+ name: "GPT-5.4 nano",
2327
+ api: "azure-openai-responses",
2328
+ provider: "azure-openai-responses",
2329
+ baseUrl: "",
2330
+ reasoning: true,
2331
+ input: ["text", "image"],
2332
+ cost: {
2333
+ input: 0.2,
2334
+ output: 1.25,
2335
+ cacheRead: 0.02,
2336
+ cacheWrite: 0,
2337
+ },
2338
+ contextWindow: 400000,
2339
+ maxTokens: 128000,
2340
+ } satisfies Model<"azure-openai-responses">,
2496
2341
  "gpt-5.4-pro": {
2497
2342
  id: "gpt-5.4-pro",
2498
2343
  name: "GPT-5.4 Pro",
@@ -2733,7 +2578,7 @@ export const MODELS = {
2733
2578
  cacheRead: 0,
2734
2579
  cacheWrite: 0,
2735
2580
  },
2736
- contextWindow: 128000,
2581
+ contextWindow: 144000,
2737
2582
  maxTokens: 32000,
2738
2583
  } satisfies Model<"anthropic-messages">,
2739
2584
  "claude-opus-4.5": {
@@ -2751,7 +2596,7 @@ export const MODELS = {
2751
2596
  cacheRead: 0,
2752
2597
  cacheWrite: 0,
2753
2598
  },
2754
- contextWindow: 128000,
2599
+ contextWindow: 160000,
2755
2600
  maxTokens: 32000,
2756
2601
  } satisfies Model<"anthropic-messages">,
2757
2602
  "claude-opus-4.6": {
@@ -2769,7 +2614,7 @@ export const MODELS = {
2769
2614
  cacheRead: 0,
2770
2615
  cacheWrite: 0,
2771
2616
  },
2772
- contextWindow: 128000,
2617
+ contextWindow: 144000,
2773
2618
  maxTokens: 64000,
2774
2619
  } satisfies Model<"anthropic-messages">,
2775
2620
  "claude-sonnet-4": {
@@ -2787,7 +2632,7 @@ export const MODELS = {
2787
2632
  cacheRead: 0,
2788
2633
  cacheWrite: 0,
2789
2634
  },
2790
- contextWindow: 128000,
2635
+ contextWindow: 216000,
2791
2636
  maxTokens: 16000,
2792
2637
  } satisfies Model<"anthropic-messages">,
2793
2638
  "claude-sonnet-4.5": {
@@ -2805,7 +2650,7 @@ export const MODELS = {
2805
2650
  cacheRead: 0,
2806
2651
  cacheWrite: 0,
2807
2652
  },
2808
- contextWindow: 128000,
2653
+ contextWindow: 144000,
2809
2654
  maxTokens: 32000,
2810
2655
  } satisfies Model<"anthropic-messages">,
2811
2656
  "claude-sonnet-4.6": {
@@ -2823,7 +2668,7 @@ export const MODELS = {
2823
2668
  cacheRead: 0,
2824
2669
  cacheWrite: 0,
2825
2670
  },
2826
- contextWindow: 128000,
2671
+ contextWindow: 200000,
2827
2672
  maxTokens: 32000,
2828
2673
  } satisfies Model<"anthropic-messages">,
2829
2674
  "gemini-2.5-pro": {
@@ -2918,7 +2763,7 @@ export const MODELS = {
2918
2763
  cacheRead: 0,
2919
2764
  cacheWrite: 0,
2920
2765
  },
2921
- contextWindow: 64000,
2766
+ contextWindow: 128000,
2922
2767
  maxTokens: 16384,
2923
2768
  } satisfies Model<"openai-completions">,
2924
2769
  "gpt-4o": {
@@ -2937,8 +2782,8 @@ export const MODELS = {
2937
2782
  cacheRead: 0,
2938
2783
  cacheWrite: 0,
2939
2784
  },
2940
- contextWindow: 64000,
2941
- maxTokens: 16384,
2785
+ contextWindow: 128000,
2786
+ maxTokens: 4096,
2942
2787
  } satisfies Model<"openai-completions">,
2943
2788
  "gpt-5": {
2944
2789
  id: "gpt-5",
@@ -2973,7 +2818,7 @@ export const MODELS = {
2973
2818
  cacheRead: 0,
2974
2819
  cacheWrite: 0,
2975
2820
  },
2976
- contextWindow: 128000,
2821
+ contextWindow: 264000,
2977
2822
  maxTokens: 64000,
2978
2823
  } satisfies Model<"openai-responses">,
2979
2824
  "gpt-5.1": {
@@ -2991,7 +2836,7 @@ export const MODELS = {
2991
2836
  cacheRead: 0,
2992
2837
  cacheWrite: 0,
2993
2838
  },
2994
- contextWindow: 128000,
2839
+ contextWindow: 264000,
2995
2840
  maxTokens: 64000,
2996
2841
  } satisfies Model<"openai-responses">,
2997
2842
  "gpt-5.1-codex": {
@@ -3009,7 +2854,7 @@ export const MODELS = {
3009
2854
  cacheRead: 0,
3010
2855
  cacheWrite: 0,
3011
2856
  },
3012
- contextWindow: 128000,
2857
+ contextWindow: 400000,
3013
2858
  maxTokens: 128000,
3014
2859
  } satisfies Model<"openai-responses">,
3015
2860
  "gpt-5.1-codex-max": {
@@ -3027,7 +2872,7 @@ export const MODELS = {
3027
2872
  cacheRead: 0,
3028
2873
  cacheWrite: 0,
3029
2874
  },
3030
- contextWindow: 128000,
2875
+ contextWindow: 400000,
3031
2876
  maxTokens: 128000,
3032
2877
  } satisfies Model<"openai-responses">,
3033
2878
  "gpt-5.1-codex-mini": {
@@ -3045,7 +2890,7 @@ export const MODELS = {
3045
2890
  cacheRead: 0,
3046
2891
  cacheWrite: 0,
3047
2892
  },
3048
- contextWindow: 128000,
2893
+ contextWindow: 400000,
3049
2894
  maxTokens: 128000,
3050
2895
  } satisfies Model<"openai-responses">,
3051
2896
  "gpt-5.2": {
@@ -3063,7 +2908,7 @@ export const MODELS = {
3063
2908
  cacheRead: 0,
3064
2909
  cacheWrite: 0,
3065
2910
  },
3066
- contextWindow: 128000,
2911
+ contextWindow: 264000,
3067
2912
  maxTokens: 64000,
3068
2913
  } satisfies Model<"openai-responses">,
3069
2914
  "gpt-5.2-codex": {
@@ -3081,7 +2926,7 @@ export const MODELS = {
3081
2926
  cacheRead: 0,
3082
2927
  cacheWrite: 0,
3083
2928
  },
3084
- contextWindow: 272000,
2929
+ contextWindow: 400000,
3085
2930
  maxTokens: 128000,
3086
2931
  } satisfies Model<"openai-responses">,
3087
2932
  "gpt-5.3-codex": {
@@ -3120,6 +2965,24 @@ export const MODELS = {
3120
2965
  contextWindow: 400000,
3121
2966
  maxTokens: 128000,
3122
2967
  } satisfies Model<"openai-responses">,
2968
+ "gpt-5.4-mini": {
2969
+ id: "gpt-5.4-mini",
2970
+ name: "GPT-5.4 mini",
2971
+ api: "openai-responses",
2972
+ provider: "github-copilot",
2973
+ baseUrl: "https://api.individual.githubcopilot.com",
2974
+ headers: {"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},
2975
+ reasoning: true,
2976
+ input: ["text", "image"],
2977
+ cost: {
2978
+ input: 0,
2979
+ output: 0,
2980
+ cacheRead: 0,
2981
+ cacheWrite: 0,
2982
+ },
2983
+ contextWindow: 400000,
2984
+ maxTokens: 128000,
2985
+ } satisfies Model<"openai-responses">,
3123
2986
  "grok-code-fast-1": {
3124
2987
  id: "grok-code-fast-1",
3125
2988
  name: "Grok Code Fast 1",
@@ -3439,10 +3302,10 @@ export const MODELS = {
3439
3302
  reasoning: true,
3440
3303
  input: ["text", "image"],
3441
3304
  cost: {
3442
- input: 0,
3443
- output: 0,
3444
- cacheRead: 0,
3445
- cacheWrite: 0,
3305
+ input: 0.25,
3306
+ output: 1.5,
3307
+ cacheRead: 0.025,
3308
+ cacheWrite: 1,
3446
3309
  },
3447
3310
  contextWindow: 1048576,
3448
3311
  maxTokens: 65536,
@@ -4703,6 +4566,40 @@ export const MODELS = {
4703
4566
  contextWindow: 204800,
4704
4567
  maxTokens: 131072,
4705
4568
  } satisfies Model<"anthropic-messages">,
4569
+ "MiniMax-M2.7": {
4570
+ id: "MiniMax-M2.7",
4571
+ name: "MiniMax-M2.7",
4572
+ api: "anthropic-messages",
4573
+ provider: "minimax",
4574
+ baseUrl: "https://api.minimax.io/anthropic",
4575
+ reasoning: true,
4576
+ input: ["text"],
4577
+ cost: {
4578
+ input: 0.3,
4579
+ output: 1.2,
4580
+ cacheRead: 0.06,
4581
+ cacheWrite: 0.375,
4582
+ },
4583
+ contextWindow: 204800,
4584
+ maxTokens: 131072,
4585
+ } satisfies Model<"anthropic-messages">,
4586
+ "MiniMax-M2.7-highspeed": {
4587
+ id: "MiniMax-M2.7-highspeed",
4588
+ name: "MiniMax-M2.7-highspeed",
4589
+ api: "anthropic-messages",
4590
+ provider: "minimax",
4591
+ baseUrl: "https://api.minimax.io/anthropic",
4592
+ reasoning: true,
4593
+ input: ["text"],
4594
+ cost: {
4595
+ input: 0.6,
4596
+ output: 2.4,
4597
+ cacheRead: 0.06,
4598
+ cacheWrite: 0.375,
4599
+ },
4600
+ contextWindow: 204800,
4601
+ maxTokens: 131072,
4602
+ } satisfies Model<"anthropic-messages">,
4706
4603
  },
4707
4604
  "minimax-cn": {
4708
4605
  "MiniMax-M2": {
@@ -4773,11 +4670,45 @@ export const MODELS = {
4773
4670
  contextWindow: 204800,
4774
4671
  maxTokens: 131072,
4775
4672
  } satisfies Model<"anthropic-messages">,
4673
+ "MiniMax-M2.7": {
4674
+ id: "MiniMax-M2.7",
4675
+ name: "MiniMax-M2.7",
4676
+ api: "anthropic-messages",
4677
+ provider: "minimax-cn",
4678
+ baseUrl: "https://api.minimaxi.com/anthropic",
4679
+ reasoning: true,
4680
+ input: ["text"],
4681
+ cost: {
4682
+ input: 0.3,
4683
+ output: 1.2,
4684
+ cacheRead: 0.06,
4685
+ cacheWrite: 0.375,
4686
+ },
4687
+ contextWindow: 204800,
4688
+ maxTokens: 131072,
4689
+ } satisfies Model<"anthropic-messages">,
4690
+ "MiniMax-M2.7-highspeed": {
4691
+ id: "MiniMax-M2.7-highspeed",
4692
+ name: "MiniMax-M2.7-highspeed",
4693
+ api: "anthropic-messages",
4694
+ provider: "minimax-cn",
4695
+ baseUrl: "https://api.minimaxi.com/anthropic",
4696
+ reasoning: true,
4697
+ input: ["text"],
4698
+ cost: {
4699
+ input: 0.6,
4700
+ output: 2.4,
4701
+ cacheRead: 0.06,
4702
+ cacheWrite: 0.375,
4703
+ },
4704
+ contextWindow: 204800,
4705
+ maxTokens: 131072,
4706
+ } satisfies Model<"anthropic-messages">,
4776
4707
  },
4777
4708
  "mistral": {
4778
4709
  "codestral-latest": {
4779
4710
  id: "codestral-latest",
4780
- name: "Codestral",
4711
+ name: "Codestral (latest)",
4781
4712
  api: "mistral-conversations",
4782
4713
  provider: "mistral",
4783
4714
  baseUrl: "https://api.mistral.ai",
@@ -4828,7 +4759,7 @@ export const MODELS = {
4828
4759
  } satisfies Model<"mistral-conversations">,
4829
4760
  "devstral-medium-latest": {
4830
4761
  id: "devstral-medium-latest",
4831
- name: "Devstral 2",
4762
+ name: "Devstral 2 (latest)",
4832
4763
  api: "mistral-conversations",
4833
4764
  provider: "mistral",
4834
4765
  baseUrl: "https://api.mistral.ai",
@@ -4896,7 +4827,7 @@ export const MODELS = {
4896
4827
  } satisfies Model<"mistral-conversations">,
4897
4828
  "magistral-medium-latest": {
4898
4829
  id: "magistral-medium-latest",
4899
- name: "Magistral Medium",
4830
+ name: "Magistral Medium (latest)",
4900
4831
  api: "mistral-conversations",
4901
4832
  provider: "mistral",
4902
4833
  baseUrl: "https://api.mistral.ai",
@@ -4930,7 +4861,7 @@ export const MODELS = {
4930
4861
  } satisfies Model<"mistral-conversations">,
4931
4862
  "ministral-3b-latest": {
4932
4863
  id: "ministral-3b-latest",
4933
- name: "Ministral 3B",
4864
+ name: "Ministral 3B (latest)",
4934
4865
  api: "mistral-conversations",
4935
4866
  provider: "mistral",
4936
4867
  baseUrl: "https://api.mistral.ai",
@@ -4947,7 +4878,7 @@ export const MODELS = {
4947
4878
  } satisfies Model<"mistral-conversations">,
4948
4879
  "ministral-8b-latest": {
4949
4880
  id: "ministral-8b-latest",
4950
- name: "Ministral 8B",
4881
+ name: "Ministral 8B (latest)",
4951
4882
  api: "mistral-conversations",
4952
4883
  provider: "mistral",
4953
4884
  baseUrl: "https://api.mistral.ai",
@@ -4998,7 +4929,7 @@ export const MODELS = {
4998
4929
  } satisfies Model<"mistral-conversations">,
4999
4930
  "mistral-large-latest": {
5000
4931
  id: "mistral-large-latest",
5001
- name: "Mistral Large",
4932
+ name: "Mistral Large (latest)",
5002
4933
  api: "mistral-conversations",
5003
4934
  provider: "mistral",
5004
4935
  baseUrl: "https://api.mistral.ai",
@@ -5049,7 +4980,7 @@ export const MODELS = {
5049
4980
  } satisfies Model<"mistral-conversations">,
5050
4981
  "mistral-medium-latest": {
5051
4982
  id: "mistral-medium-latest",
5052
- name: "Mistral Medium",
4983
+ name: "Mistral Medium (latest)",
5053
4984
  api: "mistral-conversations",
5054
4985
  provider: "mistral",
5055
4986
  baseUrl: "https://api.mistral.ai",
@@ -5100,7 +5031,7 @@ export const MODELS = {
5100
5031
  } satisfies Model<"mistral-conversations">,
5101
5032
  "mistral-small-latest": {
5102
5033
  id: "mistral-small-latest",
5103
- name: "Mistral Small",
5034
+ name: "Mistral Small (latest)",
5104
5035
  api: "mistral-conversations",
5105
5036
  provider: "mistral",
5106
5037
  baseUrl: "https://api.mistral.ai",
@@ -5185,7 +5116,7 @@ export const MODELS = {
5185
5116
  } satisfies Model<"mistral-conversations">,
5186
5117
  "pixtral-large-latest": {
5187
5118
  id: "pixtral-large-latest",
5188
- name: "Pixtral Large",
5119
+ name: "Pixtral Large (latest)",
5189
5120
  api: "mistral-conversations",
5190
5121
  provider: "mistral",
5191
5122
  baseUrl: "https://api.mistral.ai",
@@ -5695,21 +5626,55 @@ export const MODELS = {
5695
5626
  contextWindow: 272000,
5696
5627
  maxTokens: 128000,
5697
5628
  } satisfies Model<"openai-responses">,
5698
- "gpt-5.4-pro": {
5699
- id: "gpt-5.4-pro",
5700
- name: "GPT-5.4 Pro",
5629
+ "gpt-5.4-mini": {
5630
+ id: "gpt-5.4-mini",
5631
+ name: "GPT-5.4 mini",
5701
5632
  api: "openai-responses",
5702
5633
  provider: "openai",
5703
5634
  baseUrl: "https://api.openai.com/v1",
5704
5635
  reasoning: true,
5705
5636
  input: ["text", "image"],
5706
5637
  cost: {
5707
- input: 30,
5708
- output: 180,
5709
- cacheRead: 0,
5638
+ input: 0.75,
5639
+ output: 4.5,
5640
+ cacheRead: 0.075,
5710
5641
  cacheWrite: 0,
5711
5642
  },
5712
- contextWindow: 1050000,
5643
+ contextWindow: 400000,
5644
+ maxTokens: 128000,
5645
+ } satisfies Model<"openai-responses">,
5646
+ "gpt-5.4-nano": {
5647
+ id: "gpt-5.4-nano",
5648
+ name: "GPT-5.4 nano",
5649
+ api: "openai-responses",
5650
+ provider: "openai",
5651
+ baseUrl: "https://api.openai.com/v1",
5652
+ reasoning: true,
5653
+ input: ["text", "image"],
5654
+ cost: {
5655
+ input: 0.2,
5656
+ output: 1.25,
5657
+ cacheRead: 0.02,
5658
+ cacheWrite: 0,
5659
+ },
5660
+ contextWindow: 400000,
5661
+ maxTokens: 128000,
5662
+ } satisfies Model<"openai-responses">,
5663
+ "gpt-5.4-pro": {
5664
+ id: "gpt-5.4-pro",
5665
+ name: "GPT-5.4 Pro",
5666
+ api: "openai-responses",
5667
+ provider: "openai",
5668
+ baseUrl: "https://api.openai.com/v1",
5669
+ reasoning: true,
5670
+ input: ["text", "image"],
5671
+ cost: {
5672
+ input: 30,
5673
+ output: 180,
5674
+ cacheRead: 0,
5675
+ cacheWrite: 0,
5676
+ },
5677
+ contextWindow: 1050000,
5713
5678
  maxTokens: 128000,
5714
5679
  } satisfies Model<"openai-responses">,
5715
5680
  "o1": {
@@ -6087,7 +6052,7 @@ export const MODELS = {
6087
6052
  cacheRead: 0.5,
6088
6053
  cacheWrite: 6.25,
6089
6054
  },
6090
- contextWindow: 200000,
6055
+ contextWindow: 1000000,
6091
6056
  maxTokens: 128000,
6092
6057
  } satisfies Model<"anthropic-messages">,
6093
6058
  "claude-sonnet-4": {
@@ -6158,23 +6123,6 @@ export const MODELS = {
6158
6123
  contextWindow: 1048576,
6159
6124
  maxTokens: 65536,
6160
6125
  } satisfies Model<"google-generative-ai">,
6161
- "gemini-3-pro": {
6162
- id: "gemini-3-pro",
6163
- name: "Gemini 3 Pro",
6164
- api: "google-generative-ai",
6165
- provider: "opencode",
6166
- baseUrl: "https://opencode.ai/zen/v1",
6167
- reasoning: true,
6168
- input: ["text", "image"],
6169
- cost: {
6170
- input: 2,
6171
- output: 12,
6172
- cacheRead: 0.2,
6173
- cacheWrite: 0,
6174
- },
6175
- contextWindow: 1048576,
6176
- maxTokens: 65536,
6177
- } satisfies Model<"google-generative-ai">,
6178
6126
  "gemini-3.1-pro": {
6179
6127
  id: "gemini-3.1-pro",
6180
6128
  name: "Gemini 3.1 Pro Preview",
@@ -6192,40 +6140,6 @@ export const MODELS = {
6192
6140
  contextWindow: 1048576,
6193
6141
  maxTokens: 65536,
6194
6142
  } satisfies Model<"google-generative-ai">,
6195
- "glm-4.6": {
6196
- id: "glm-4.6",
6197
- name: "GLM-4.6",
6198
- api: "openai-completions",
6199
- provider: "opencode",
6200
- baseUrl: "https://opencode.ai/zen/v1",
6201
- reasoning: true,
6202
- input: ["text"],
6203
- cost: {
6204
- input: 0.6,
6205
- output: 2.2,
6206
- cacheRead: 0.1,
6207
- cacheWrite: 0,
6208
- },
6209
- contextWindow: 204800,
6210
- maxTokens: 131072,
6211
- } satisfies Model<"openai-completions">,
6212
- "glm-4.7": {
6213
- id: "glm-4.7",
6214
- name: "GLM-4.7",
6215
- api: "openai-completions",
6216
- provider: "opencode",
6217
- baseUrl: "https://opencode.ai/zen/v1",
6218
- reasoning: true,
6219
- input: ["text"],
6220
- cost: {
6221
- input: 0.6,
6222
- output: 2.2,
6223
- cacheRead: 0.1,
6224
- cacheWrite: 0,
6225
- },
6226
- contextWindow: 204800,
6227
- maxTokens: 131072,
6228
- } satisfies Model<"openai-completions">,
6229
6143
  "glm-5": {
6230
6144
  id: "glm-5",
6231
6145
  name: "GLM-5",
@@ -6430,6 +6344,40 @@ export const MODELS = {
6430
6344
  contextWindow: 272000,
6431
6345
  maxTokens: 128000,
6432
6346
  } satisfies Model<"openai-responses">,
6347
+ "gpt-5.4-mini": {
6348
+ id: "gpt-5.4-mini",
6349
+ name: "GPT-5.4 Mini",
6350
+ api: "openai-responses",
6351
+ provider: "opencode",
6352
+ baseUrl: "https://opencode.ai/zen/v1",
6353
+ reasoning: true,
6354
+ input: ["text", "image"],
6355
+ cost: {
6356
+ input: 0.75,
6357
+ output: 4.5,
6358
+ cacheRead: 0.075,
6359
+ cacheWrite: 0,
6360
+ },
6361
+ contextWindow: 400000,
6362
+ maxTokens: 128000,
6363
+ } satisfies Model<"openai-responses">,
6364
+ "gpt-5.4-nano": {
6365
+ id: "gpt-5.4-nano",
6366
+ name: "GPT-5.4 Nano",
6367
+ api: "openai-responses",
6368
+ provider: "opencode",
6369
+ baseUrl: "https://opencode.ai/zen/v1",
6370
+ reasoning: true,
6371
+ input: ["text", "image"],
6372
+ cost: {
6373
+ input: 0.2,
6374
+ output: 1.25,
6375
+ cacheRead: 0.02,
6376
+ cacheWrite: 0,
6377
+ },
6378
+ contextWindow: 400000,
6379
+ maxTokens: 128000,
6380
+ } satisfies Model<"openai-responses">,
6433
6381
  "gpt-5.4-pro": {
6434
6382
  id: "gpt-5.4-pro",
6435
6383
  name: "GPT-5.4 Pro",
@@ -6464,22 +6412,39 @@ export const MODELS = {
6464
6412
  contextWindow: 262144,
6465
6413
  maxTokens: 65536,
6466
6414
  } satisfies Model<"openai-completions">,
6467
- "minimax-m2.1": {
6468
- id: "minimax-m2.1",
6469
- name: "MiniMax M2.1",
6415
+ "mimo-v2-omni-free": {
6416
+ id: "mimo-v2-omni-free",
6417
+ name: "MiMo V2 Omni Free",
6418
+ api: "openai-completions",
6419
+ provider: "opencode",
6420
+ baseUrl: "https://opencode.ai/zen/v1",
6421
+ reasoning: true,
6422
+ input: ["text", "image"],
6423
+ cost: {
6424
+ input: 0,
6425
+ output: 0,
6426
+ cacheRead: 0,
6427
+ cacheWrite: 0,
6428
+ },
6429
+ contextWindow: 262144,
6430
+ maxTokens: 64000,
6431
+ } satisfies Model<"openai-completions">,
6432
+ "mimo-v2-pro-free": {
6433
+ id: "mimo-v2-pro-free",
6434
+ name: "MiMo V2 Pro Free",
6470
6435
  api: "openai-completions",
6471
6436
  provider: "opencode",
6472
6437
  baseUrl: "https://opencode.ai/zen/v1",
6473
6438
  reasoning: true,
6474
6439
  input: ["text"],
6475
6440
  cost: {
6476
- input: 0.3,
6477
- output: 1.2,
6478
- cacheRead: 0.1,
6441
+ input: 0,
6442
+ output: 0,
6443
+ cacheRead: 0,
6479
6444
  cacheWrite: 0,
6480
6445
  },
6481
- contextWindow: 204800,
6482
- maxTokens: 131072,
6446
+ contextWindow: 1048576,
6447
+ maxTokens: 64000,
6483
6448
  } satisfies Model<"openai-completions">,
6484
6449
  "minimax-m2.5": {
6485
6450
  id: "minimax-m2.5",
@@ -6515,6 +6480,23 @@ export const MODELS = {
6515
6480
  contextWindow: 204800,
6516
6481
  maxTokens: 131072,
6517
6482
  } satisfies Model<"anthropic-messages">,
6483
+ "nemotron-3-super-free": {
6484
+ id: "nemotron-3-super-free",
6485
+ name: "Nemotron 3 Super Free",
6486
+ api: "openai-completions",
6487
+ provider: "opencode",
6488
+ baseUrl: "https://opencode.ai/zen/v1",
6489
+ reasoning: true,
6490
+ input: ["text"],
6491
+ cost: {
6492
+ input: 0,
6493
+ output: 0,
6494
+ cacheRead: 0,
6495
+ cacheWrite: 0,
6496
+ },
6497
+ contextWindow: 1000000,
6498
+ maxTokens: 128000,
6499
+ } satisfies Model<"openai-completions">,
6518
6500
  },
6519
6501
  "opencode-go": {
6520
6502
  "glm-5": {
@@ -6568,6 +6550,23 @@ export const MODELS = {
6568
6550
  contextWindow: 204800,
6569
6551
  maxTokens: 131072,
6570
6552
  } satisfies Model<"anthropic-messages">,
6553
+ "minimax-m2.7": {
6554
+ id: "minimax-m2.7",
6555
+ name: "MiniMax M2.7",
6556
+ api: "anthropic-messages",
6557
+ provider: "opencode-go",
6558
+ baseUrl: "https://opencode.ai/zen/go",
6559
+ reasoning: true,
6560
+ input: ["text"],
6561
+ cost: {
6562
+ input: 0.3,
6563
+ output: 1.2,
6564
+ cacheRead: 0.06,
6565
+ cacheWrite: 0,
6566
+ },
6567
+ contextWindow: 204800,
6568
+ maxTokens: 131072,
6569
+ } satisfies Model<"anthropic-messages">,
6571
6570
  },
6572
6571
  "openrouter": {
6573
6572
  "ai21/jamba-large-1.7": {
@@ -7080,6 +7079,23 @@ export const MODELS = {
7080
7079
  contextWindow: 262144,
7081
7080
  maxTokens: 32768,
7082
7081
  } satisfies Model<"openai-completions">,
7082
+ "bytedance-seed/seed-2.0-lite": {
7083
+ id: "bytedance-seed/seed-2.0-lite",
7084
+ name: "ByteDance Seed: Seed-2.0-Lite",
7085
+ api: "openai-completions",
7086
+ provider: "openrouter",
7087
+ baseUrl: "https://openrouter.ai/api/v1",
7088
+ reasoning: true,
7089
+ input: ["text", "image"],
7090
+ cost: {
7091
+ input: 0.25,
7092
+ output: 2,
7093
+ cacheRead: 0,
7094
+ cacheWrite: 0,
7095
+ },
7096
+ contextWindow: 262144,
7097
+ maxTokens: 131072,
7098
+ } satisfies Model<"openai-completions">,
7083
7099
  "bytedance-seed/seed-2.0-mini": {
7084
7100
  id: "bytedance-seed/seed-2.0-mini",
7085
7101
  name: "ByteDance Seed: Seed-2.0-Mini",
@@ -7159,11 +7175,11 @@ export const MODELS = {
7159
7175
  cost: {
7160
7176
  input: 0.19999999999999998,
7161
7177
  output: 0.77,
7162
- cacheRead: 0.13,
7178
+ cacheRead: 0.135,
7163
7179
  cacheWrite: 0,
7164
7180
  },
7165
7181
  contextWindow: 163840,
7166
- maxTokens: 163840,
7182
+ maxTokens: 4096,
7167
7183
  } satisfies Model<"openai-completions">,
7168
7184
  "deepseek/deepseek-chat-v3.1": {
7169
7185
  id: "deepseek/deepseek-chat-v3.1",
@@ -7233,23 +7249,6 @@ export const MODELS = {
7233
7249
  contextWindow: 163840,
7234
7250
  maxTokens: 4096,
7235
7251
  } satisfies Model<"openai-completions">,
7236
- "deepseek/deepseek-v3.1-terminus:exacto": {
7237
- id: "deepseek/deepseek-v3.1-terminus:exacto",
7238
- name: "DeepSeek: DeepSeek V3.1 Terminus (exacto)",
7239
- api: "openai-completions",
7240
- provider: "openrouter",
7241
- baseUrl: "https://openrouter.ai/api/v1",
7242
- reasoning: true,
7243
- input: ["text"],
7244
- cost: {
7245
- input: 0.21,
7246
- output: 0.7899999999999999,
7247
- cacheRead: 0.16799999999999998,
7248
- cacheWrite: 0,
7249
- },
7250
- contextWindow: 163840,
7251
- maxTokens: 4096,
7252
- } satisfies Model<"openai-completions">,
7253
7252
  "deepseek/deepseek-v3.2": {
7254
7253
  id: "deepseek/deepseek-v3.2",
7255
7254
  name: "DeepSeek: DeepSeek V3.2",
@@ -7259,13 +7258,13 @@ export const MODELS = {
7259
7258
  reasoning: true,
7260
7259
  input: ["text"],
7261
7260
  cost: {
7262
- input: 0.25,
7263
- output: 0.39999999999999997,
7264
- cacheRead: 0,
7261
+ input: 0.26,
7262
+ output: 0.38,
7263
+ cacheRead: 0.13,
7265
7264
  cacheWrite: 0,
7266
7265
  },
7267
7266
  contextWindow: 163840,
7268
- maxTokens: 65536,
7267
+ maxTokens: 4096,
7269
7268
  } satisfies Model<"openai-completions">,
7270
7269
  "deepseek/deepseek-v3.2-exp": {
7271
7270
  id: "deepseek/deepseek-v3.2-exp",
@@ -7522,40 +7521,6 @@ export const MODELS = {
7522
7521
  contextWindow: 1048576,
7523
7522
  maxTokens: 65536,
7524
7523
  } satisfies Model<"openai-completions">,
7525
- "google/gemma-3-27b-it": {
7526
- id: "google/gemma-3-27b-it",
7527
- name: "Google: Gemma 3 27B",
7528
- api: "openai-completions",
7529
- provider: "openrouter",
7530
- baseUrl: "https://openrouter.ai/api/v1",
7531
- reasoning: false,
7532
- input: ["text", "image"],
7533
- cost: {
7534
- input: 0.04,
7535
- output: 0.15,
7536
- cacheRead: 0.02,
7537
- cacheWrite: 0,
7538
- },
7539
- contextWindow: 128000,
7540
- maxTokens: 65536,
7541
- } satisfies Model<"openai-completions">,
7542
- "google/gemma-3-27b-it:free": {
7543
- id: "google/gemma-3-27b-it:free",
7544
- name: "Google: Gemma 3 27B (free)",
7545
- api: "openai-completions",
7546
- provider: "openrouter",
7547
- baseUrl: "https://openrouter.ai/api/v1",
7548
- reasoning: false,
7549
- input: ["text", "image"],
7550
- cost: {
7551
- input: 0,
7552
- output: 0,
7553
- cacheRead: 0,
7554
- cacheWrite: 0,
7555
- },
7556
- contextWindow: 131072,
7557
- maxTokens: 8192,
7558
- } satisfies Model<"openai-completions">,
7559
7524
  "inception/mercury": {
7560
7525
  id: "inception/mercury",
7561
7526
  name: "Inception: Mercury",
@@ -7658,23 +7623,6 @@ export const MODELS = {
7658
7623
  contextWindow: 8192,
7659
7624
  maxTokens: 16384,
7660
7625
  } satisfies Model<"openai-completions">,
7661
- "meta-llama/llama-3.1-405b-instruct": {
7662
- id: "meta-llama/llama-3.1-405b-instruct",
7663
- name: "Meta: Llama 3.1 405B Instruct",
7664
- api: "openai-completions",
7665
- provider: "openrouter",
7666
- baseUrl: "https://openrouter.ai/api/v1",
7667
- reasoning: false,
7668
- input: ["text"],
7669
- cost: {
7670
- input: 4,
7671
- output: 4,
7672
- cacheRead: 0,
7673
- cacheWrite: 0,
7674
- },
7675
- contextWindow: 131000,
7676
- maxTokens: 4096,
7677
- } satisfies Model<"openai-completions">,
7678
7626
  "meta-llama/llama-3.1-70b-instruct": {
7679
7627
  id: "meta-llama/llama-3.1-70b-instruct",
7680
7628
  name: "Meta: Llama 3.1 70B Instruct",
@@ -7740,8 +7688,8 @@ export const MODELS = {
7740
7688
  cacheRead: 0,
7741
7689
  cacheWrite: 0,
7742
7690
  },
7743
- contextWindow: 128000,
7744
- maxTokens: 128000,
7691
+ contextWindow: 65536,
7692
+ maxTokens: 4096,
7745
7693
  } satisfies Model<"openai-completions">,
7746
7694
  "meta-llama/llama-4-maverick": {
7747
7695
  id: "meta-llama/llama-4-maverick",
@@ -7837,26 +7785,60 @@ export const MODELS = {
7837
7785
  reasoning: true,
7838
7786
  input: ["text"],
7839
7787
  cost: {
7840
- input: 0.295,
7841
- output: 1.2,
7842
- cacheRead: 0.03,
7788
+ input: 0.19999999999999998,
7789
+ output: 1.17,
7790
+ cacheRead: 0.09999999999999999,
7843
7791
  cacheWrite: 0,
7844
7792
  },
7845
7793
  contextWindow: 196608,
7846
- maxTokens: 196608,
7794
+ maxTokens: 65536,
7847
7795
  } satisfies Model<"openai-completions">,
7848
- "mistralai/codestral-2508": {
7849
- id: "mistralai/codestral-2508",
7850
- name: "Mistral: Codestral 2508",
7796
+ "minimax/minimax-m2.5:free": {
7797
+ id: "minimax/minimax-m2.5:free",
7798
+ name: "MiniMax: MiniMax M2.5 (free)",
7851
7799
  api: "openai-completions",
7852
7800
  provider: "openrouter",
7853
7801
  baseUrl: "https://openrouter.ai/api/v1",
7854
- reasoning: false,
7802
+ reasoning: true,
7803
+ input: ["text"],
7804
+ cost: {
7805
+ input: 0,
7806
+ output: 0,
7807
+ cacheRead: 0,
7808
+ cacheWrite: 0,
7809
+ },
7810
+ contextWindow: 196608,
7811
+ maxTokens: 196608,
7812
+ } satisfies Model<"openai-completions">,
7813
+ "minimax/minimax-m2.7": {
7814
+ id: "minimax/minimax-m2.7",
7815
+ name: "MiniMax: MiniMax M2.7",
7816
+ api: "openai-completions",
7817
+ provider: "openrouter",
7818
+ baseUrl: "https://openrouter.ai/api/v1",
7819
+ reasoning: true,
7820
+ input: ["text"],
7821
+ cost: {
7822
+ input: 0.3,
7823
+ output: 1.2,
7824
+ cacheRead: 0.06,
7825
+ cacheWrite: 0,
7826
+ },
7827
+ contextWindow: 204800,
7828
+ maxTokens: 131072,
7829
+ } satisfies Model<"openai-completions">,
7830
+ "mistralai/codestral-2508": {
7831
+ id: "mistralai/codestral-2508",
7832
+ name: "Mistral: Codestral 2508",
7833
+ api: "openai-completions",
7834
+ provider: "openrouter",
7835
+ baseUrl: "https://openrouter.ai/api/v1",
7836
+ reasoning: false,
7855
7837
  input: ["text"],
7856
7838
  cost: {
7857
7839
  input: 0.3,
7858
7840
  output: 0.8999999999999999,
7859
- cacheRead: 0,
7841
+ cacheRead: 0.03,
7860
7842
  cacheWrite: 0,
7861
7843
  },
7862
7844
  contextWindow: 256000,
@@ -7873,7 +7855,7 @@ export const MODELS = {
7873
7855
  cost: {
7874
7856
  input: 0.39999999999999997,
7875
7857
  output: 2,
7876
- cacheRead: 0,
7858
+ cacheRead: 0.04,
7877
7859
  cacheWrite: 0,
7878
7860
  },
7879
7861
  contextWindow: 262144,
@@ -7890,7 +7872,7 @@ export const MODELS = {
7890
7872
  cost: {
7891
7873
  input: 0.39999999999999997,
7892
7874
  output: 2,
7893
- cacheRead: 0,
7875
+ cacheRead: 0.04,
7894
7876
  cacheWrite: 0,
7895
7877
  },
7896
7878
  contextWindow: 131072,
@@ -7907,7 +7889,7 @@ export const MODELS = {
7907
7889
  cost: {
7908
7890
  input: 0.09999999999999999,
7909
7891
  output: 0.3,
7910
- cacheRead: 0,
7892
+ cacheRead: 0.01,
7911
7893
  cacheWrite: 0,
7912
7894
  },
7913
7895
  contextWindow: 131072,
@@ -7924,7 +7906,7 @@ export const MODELS = {
7924
7906
  cost: {
7925
7907
  input: 0.19999999999999998,
7926
7908
  output: 0.19999999999999998,
7927
- cacheRead: 0,
7909
+ cacheRead: 0.02,
7928
7910
  cacheWrite: 0,
7929
7911
  },
7930
7912
  contextWindow: 262144,
@@ -7941,7 +7923,7 @@ export const MODELS = {
7941
7923
  cost: {
7942
7924
  input: 0.09999999999999999,
7943
7925
  output: 0.09999999999999999,
7944
- cacheRead: 0,
7926
+ cacheRead: 0.01,
7945
7927
  cacheWrite: 0,
7946
7928
  },
7947
7929
  contextWindow: 131072,
@@ -7958,7 +7940,7 @@ export const MODELS = {
7958
7940
  cost: {
7959
7941
  input: 0.15,
7960
7942
  output: 0.15,
7961
- cacheRead: 0,
7943
+ cacheRead: 0.015,
7962
7944
  cacheWrite: 0,
7963
7945
  },
7964
7946
  contextWindow: 262144,
@@ -7975,7 +7957,7 @@ export const MODELS = {
7975
7957
  cost: {
7976
7958
  input: 2,
7977
7959
  output: 6,
7978
- cacheRead: 0,
7960
+ cacheRead: 0.19999999999999998,
7979
7961
  cacheWrite: 0,
7980
7962
  },
7981
7963
  contextWindow: 128000,
@@ -7992,7 +7974,7 @@ export const MODELS = {
7992
7974
  cost: {
7993
7975
  input: 2,
7994
7976
  output: 6,
7995
- cacheRead: 0,
7977
+ cacheRead: 0.19999999999999998,
7996
7978
  cacheWrite: 0,
7997
7979
  },
7998
7980
  contextWindow: 131072,
@@ -8009,7 +7991,7 @@ export const MODELS = {
8009
7991
  cost: {
8010
7992
  input: 2,
8011
7993
  output: 6,
8012
- cacheRead: 0,
7994
+ cacheRead: 0.19999999999999998,
8013
7995
  cacheWrite: 0,
8014
7996
  },
8015
7997
  contextWindow: 131072,
@@ -8026,7 +8008,7 @@ export const MODELS = {
8026
8008
  cost: {
8027
8009
  input: 0.5,
8028
8010
  output: 1.5,
8029
- cacheRead: 0,
8011
+ cacheRead: 0.049999999999999996,
8030
8012
  cacheWrite: 0,
8031
8013
  },
8032
8014
  contextWindow: 262144,
@@ -8043,7 +8025,7 @@ export const MODELS = {
8043
8025
  cost: {
8044
8026
  input: 0.39999999999999997,
8045
8027
  output: 2,
8046
- cacheRead: 0,
8028
+ cacheRead: 0.04,
8047
8029
  cacheWrite: 0,
8048
8030
  },
8049
8031
  contextWindow: 131072,
@@ -8060,7 +8042,7 @@ export const MODELS = {
8060
8042
  cost: {
8061
8043
  input: 0.39999999999999997,
8062
8044
  output: 2,
8063
- cacheRead: 0,
8045
+ cacheRead: 0.04,
8064
8046
  cacheWrite: 0,
8065
8047
  },
8066
8048
  contextWindow: 131072,
@@ -8094,7 +8076,7 @@ export const MODELS = {
8094
8076
  cost: {
8095
8077
  input: 0.19999999999999998,
8096
8078
  output: 0.6,
8097
- cacheRead: 0,
8079
+ cacheRead: 0.02,
8098
8080
  cacheWrite: 0,
8099
8081
  },
8100
8082
  contextWindow: 32768,
@@ -8117,6 +8099,23 @@ export const MODELS = {
8117
8099
  contextWindow: 32768,
8118
8100
  maxTokens: 16384,
8119
8101
  } satisfies Model<"openai-completions">,
8102
+ "mistralai/mistral-small-2603": {
8103
+ id: "mistralai/mistral-small-2603",
8104
+ name: "Mistral: Mistral Small 4",
8105
+ api: "openai-completions",
8106
+ provider: "openrouter",
8107
+ baseUrl: "https://openrouter.ai/api/v1",
8108
+ reasoning: true,
8109
+ input: ["text", "image"],
8110
+ cost: {
8111
+ input: 0.15,
8112
+ output: 0.6,
8113
+ cacheRead: 0.015,
8114
+ cacheWrite: 0,
8115
+ },
8116
+ contextWindow: 262144,
8117
+ maxTokens: 4096,
8118
+ } satisfies Model<"openai-completions">,
8120
8119
  "mistralai/mistral-small-3.1-24b-instruct:free": {
8121
8120
  id: "mistralai/mistral-small-3.1-24b-instruct:free",
8122
8121
  name: "Mistral: Mistral Small 3.1 24B (free)",
@@ -8143,13 +8142,13 @@ export const MODELS = {
8143
8142
  reasoning: false,
8144
8143
  input: ["text", "image"],
8145
8144
  cost: {
8146
- input: 0.06,
8147
- output: 0.18,
8148
- cacheRead: 0.03,
8145
+ input: 0.075,
8146
+ output: 0.19999999999999998,
8147
+ cacheRead: 0,
8149
8148
  cacheWrite: 0,
8150
8149
  },
8151
- contextWindow: 131072,
8152
- maxTokens: 131072,
8150
+ contextWindow: 128000,
8151
+ maxTokens: 4096,
8153
8152
  } satisfies Model<"openai-completions">,
8154
8153
  "mistralai/mistral-small-creative": {
8155
8154
  id: "mistralai/mistral-small-creative",
@@ -8162,7 +8161,7 @@ export const MODELS = {
8162
8161
  cost: {
8163
8162
  input: 0.09999999999999999,
8164
8163
  output: 0.3,
8165
- cacheRead: 0,
8164
+ cacheRead: 0.01,
8166
8165
  cacheWrite: 0,
8167
8166
  },
8168
8167
  contextWindow: 32768,
@@ -8179,7 +8178,7 @@ export const MODELS = {
8179
8178
  cost: {
8180
8179
  input: 2,
8181
8180
  output: 6,
8182
- cacheRead: 0,
8181
+ cacheRead: 0.19999999999999998,
8183
8182
  cacheWrite: 0,
8184
8183
  },
8185
8184
  contextWindow: 65536,
@@ -8213,7 +8212,7 @@ export const MODELS = {
8213
8212
  cost: {
8214
8213
  input: 2,
8215
8214
  output: 6,
8216
- cacheRead: 0,
8215
+ cacheRead: 0.19999999999999998,
8217
8216
  cacheWrite: 0,
8218
8217
  },
8219
8218
  contextWindow: 131072,
@@ -8230,7 +8229,7 @@ export const MODELS = {
8230
8229
  cost: {
8231
8230
  input: 0.09999999999999999,
8232
8231
  output: 0.3,
8233
- cacheRead: 0,
8232
+ cacheRead: 0.01,
8234
8233
  cacheWrite: 0,
8235
8234
  },
8236
8235
  contextWindow: 32000,
@@ -8270,23 +8269,6 @@ export const MODELS = {
8270
8269
  contextWindow: 131072,
8271
8270
  maxTokens: 4096,
8272
8271
  } satisfies Model<"openai-completions">,
8273
- "moonshotai/kimi-k2-0905:exacto": {
8274
- id: "moonshotai/kimi-k2-0905:exacto",
8275
- name: "MoonshotAI: Kimi K2 0905 (exacto)",
8276
- api: "openai-completions",
8277
- provider: "openrouter",
8278
- baseUrl: "https://openrouter.ai/api/v1",
8279
- reasoning: false,
8280
- input: ["text"],
8281
- cost: {
8282
- input: 0.6,
8283
- output: 2.5,
8284
- cacheRead: 0,
8285
- cacheWrite: 0,
8286
- },
8287
- contextWindow: 262144,
8288
- maxTokens: 4096,
8289
- } satisfies Model<"openai-completions">,
8290
8272
  "moonshotai/kimi-k2-thinking": {
8291
8273
  id: "moonshotai/kimi-k2-thinking",
8292
8274
  name: "MoonshotAI: Kimi K2 Thinking",
@@ -8406,6 +8388,40 @@ export const MODELS = {
8406
8388
  contextWindow: 256000,
8407
8389
  maxTokens: 4096,
8408
8390
  } satisfies Model<"openai-completions">,
8391
+ "nvidia/nemotron-3-super-120b-a12b": {
8392
+ id: "nvidia/nemotron-3-super-120b-a12b",
8393
+ name: "NVIDIA: Nemotron 3 Super",
8394
+ api: "openai-completions",
8395
+ provider: "openrouter",
8396
+ baseUrl: "https://openrouter.ai/api/v1",
8397
+ reasoning: true,
8398
+ input: ["text"],
8399
+ cost: {
8400
+ input: 0.09999999999999999,
8401
+ output: 0.5,
8402
+ cacheRead: 0.04,
8403
+ cacheWrite: 0,
8404
+ },
8405
+ contextWindow: 262144,
8406
+ maxTokens: 4096,
8407
+ } satisfies Model<"openai-completions">,
8408
+ "nvidia/nemotron-3-super-120b-a12b:free": {
8409
+ id: "nvidia/nemotron-3-super-120b-a12b:free",
8410
+ name: "NVIDIA: Nemotron 3 Super (free)",
8411
+ api: "openai-completions",
8412
+ provider: "openrouter",
8413
+ baseUrl: "https://openrouter.ai/api/v1",
8414
+ reasoning: true,
8415
+ input: ["text"],
8416
+ cost: {
8417
+ input: 0,
8418
+ output: 0,
8419
+ cacheRead: 0,
8420
+ cacheWrite: 0,
8421
+ },
8422
+ contextWindow: 262144,
8423
+ maxTokens: 262144,
8424
+ } satisfies Model<"openai-completions">,
8409
8425
  "nvidia/nemotron-nano-12b-v2-vl:free": {
8410
8426
  id: "nvidia/nemotron-nano-12b-v2-vl:free",
8411
8427
  name: "NVIDIA: Nemotron Nano 12B 2 VL (free)",
@@ -9103,6 +9119,40 @@ export const MODELS = {
9103
9119
  contextWindow: 1050000,
9104
9120
  maxTokens: 128000,
9105
9121
  } satisfies Model<"openai-completions">,
9122
+ "openai/gpt-5.4-mini": {
9123
+ id: "openai/gpt-5.4-mini",
9124
+ name: "OpenAI: GPT-5.4 Mini",
9125
+ api: "openai-completions",
9126
+ provider: "openrouter",
9127
+ baseUrl: "https://openrouter.ai/api/v1",
9128
+ reasoning: true,
9129
+ input: ["text", "image"],
9130
+ cost: {
9131
+ input: 0.75,
9132
+ output: 4.5,
9133
+ cacheRead: 0.075,
9134
+ cacheWrite: 0,
9135
+ },
9136
+ contextWindow: 400000,
9137
+ maxTokens: 128000,
9138
+ } satisfies Model<"openai-completions">,
9139
+ "openai/gpt-5.4-nano": {
9140
+ id: "openai/gpt-5.4-nano",
9141
+ name: "OpenAI: GPT-5.4 Nano",
9142
+ api: "openai-completions",
9143
+ provider: "openrouter",
9144
+ baseUrl: "https://openrouter.ai/api/v1",
9145
+ reasoning: true,
9146
+ input: ["text", "image"],
9147
+ cost: {
9148
+ input: 0.19999999999999998,
9149
+ output: 1.25,
9150
+ cacheRead: 0.02,
9151
+ cacheWrite: 0,
9152
+ },
9153
+ contextWindow: 400000,
9154
+ maxTokens: 128000,
9155
+ } satisfies Model<"openai-completions">,
9106
9156
  "openai/gpt-5.4-pro": {
9107
9157
  id: "openai/gpt-5.4-pro",
9108
9158
  name: "OpenAI: GPT-5.4 Pro",
@@ -9137,23 +9187,6 @@ export const MODELS = {
9137
9187
  contextWindow: 131072,
9138
9188
  maxTokens: 4096,
9139
9189
  } satisfies Model<"openai-completions">,
9140
- "openai/gpt-oss-120b:exacto": {
9141
- id: "openai/gpt-oss-120b:exacto",
9142
- name: "OpenAI: gpt-oss-120b (exacto)",
9143
- api: "openai-completions",
9144
- provider: "openrouter",
9145
- baseUrl: "https://openrouter.ai/api/v1",
9146
- reasoning: true,
9147
- input: ["text"],
9148
- cost: {
9149
- input: 0.039,
9150
- output: 0.19,
9151
- cacheRead: 0,
9152
- cacheWrite: 0,
9153
- },
9154
- contextWindow: 131072,
9155
- maxTokens: 4096,
9156
- } satisfies Model<"openai-completions">,
9157
9190
  "openai/gpt-oss-120b:free": {
9158
9191
  id: "openai/gpt-oss-120b:free",
9159
9192
  name: "OpenAI: gpt-oss-120b (free)",
@@ -9181,12 +9214,12 @@ export const MODELS = {
9181
9214
  input: ["text"],
9182
9215
  cost: {
9183
9216
  input: 0.03,
9184
- output: 0.14,
9185
- cacheRead: 0,
9217
+ output: 0.11,
9218
+ cacheRead: 0.015,
9186
9219
  cacheWrite: 0,
9187
9220
  },
9188
9221
  contextWindow: 131072,
9189
- maxTokens: 4096,
9222
+ maxTokens: 131072,
9190
9223
  } satisfies Model<"openai-completions">,
9191
9224
  "openai/gpt-oss-20b:free": {
9192
9225
  id: "openai/gpt-oss-20b:free",
@@ -9228,7 +9261,7 @@ export const MODELS = {
9228
9261
  api: "openai-completions",
9229
9262
  provider: "openrouter",
9230
9263
  baseUrl: "https://openrouter.ai/api/v1",
9231
- reasoning: false,
9264
+ reasoning: true,
9232
9265
  input: ["text", "image"],
9233
9266
  cost: {
9234
9267
  input: 15,
@@ -9279,7 +9312,7 @@ export const MODELS = {
9279
9312
  api: "openai-completions",
9280
9313
  provider: "openrouter",
9281
9314
  baseUrl: "https://openrouter.ai/api/v1",
9282
- reasoning: false,
9315
+ reasoning: true,
9283
9316
  input: ["text"],
9284
9317
  cost: {
9285
9318
  input: 1.1,
@@ -9296,7 +9329,7 @@ export const MODELS = {
9296
9329
  api: "openai-completions",
9297
9330
  provider: "openrouter",
9298
9331
  baseUrl: "https://openrouter.ai/api/v1",
9299
- reasoning: false,
9332
+ reasoning: true,
9300
9333
  input: ["text"],
9301
9334
  cost: {
9302
9335
  input: 1.1,
@@ -9486,9 +9519,9 @@ export const MODELS = {
9486
9519
  reasoning: false,
9487
9520
  input: ["text"],
9488
9521
  cost: {
9489
- input: 0.39999999999999997,
9490
- output: 1.2,
9491
- cacheRead: 0.08,
9522
+ input: 0.26,
9523
+ output: 0.78,
9524
+ cacheRead: 0.052000000000000005,
9492
9525
  cacheWrite: 0,
9493
9526
  },
9494
9527
  contextWindow: 1000000,
@@ -9554,8 +9587,8 @@ export const MODELS = {
9554
9587
  reasoning: false,
9555
9588
  input: ["text", "image"],
9556
9589
  cost: {
9557
- input: 0.7999999999999999,
9558
- output: 3.1999999999999997,
9590
+ input: 0.52,
9591
+ output: 2.08,
9559
9592
  cacheRead: 0,
9560
9593
  cacheWrite: 0,
9561
9594
  },
@@ -9622,13 +9655,13 @@ export const MODELS = {
9622
9655
  reasoning: true,
9623
9656
  input: ["text"],
9624
9657
  cost: {
9625
- input: 0.11,
9626
- output: 0.6,
9627
- cacheRead: 0.055,
9658
+ input: 0.14950000000000002,
9659
+ output: 1.495,
9660
+ cacheRead: 0,
9628
9661
  cacheWrite: 0,
9629
9662
  },
9630
- contextWindow: 262144,
9631
- maxTokens: 262144,
9663
+ contextWindow: 131072,
9664
+ maxTokens: 4096,
9632
9665
  } satisfies Model<"openai-completions">,
9633
9666
  "qwen/qwen3-30b-a3b": {
9634
9667
  id: "qwen/qwen3-30b-a3b",
@@ -9673,13 +9706,13 @@ export const MODELS = {
9673
9706
  reasoning: true,
9674
9707
  input: ["text"],
9675
9708
  cost: {
9676
- input: 0.051,
9677
- output: 0.33999999999999997,
9678
- cacheRead: 0,
9709
+ input: 0.08,
9710
+ output: 0.39999999999999997,
9711
+ cacheRead: 0.08,
9679
9712
  cacheWrite: 0,
9680
9713
  },
9681
- contextWindow: 32768,
9682
- maxTokens: 4096,
9714
+ contextWindow: 131072,
9715
+ maxTokens: 131072,
9683
9716
  } satisfies Model<"openai-completions">,
9684
9717
  "qwen/qwen3-32b": {
9685
9718
  id: "qwen/qwen3-32b",
@@ -9817,23 +9850,6 @@ export const MODELS = {
9817
9850
  contextWindow: 1000000,
9818
9851
  maxTokens: 65536,
9819
9852
  } satisfies Model<"openai-completions">,
9820
- "qwen/qwen3-coder:exacto": {
9821
- id: "qwen/qwen3-coder:exacto",
9822
- name: "Qwen: Qwen3 Coder 480B A35B (exacto)",
9823
- api: "openai-completions",
9824
- provider: "openrouter",
9825
- baseUrl: "https://openrouter.ai/api/v1",
9826
- reasoning: false,
9827
- input: ["text"],
9828
- cost: {
9829
- input: 0.22,
9830
- output: 1.7999999999999998,
9831
- cacheRead: 0.022,
9832
- cacheWrite: 0,
9833
- },
9834
- contextWindow: 262144,
9835
- maxTokens: 65536,
9836
- } satisfies Model<"openai-completions">,
9837
9853
  "qwen/qwen3-coder:free": {
9838
9854
  id: "qwen/qwen3-coder:free",
9839
9855
  name: "Qwen: Qwen3 Coder 480B A35B (free)",
@@ -9860,9 +9876,9 @@ export const MODELS = {
9860
9876
  reasoning: false,
9861
9877
  input: ["text"],
9862
9878
  cost: {
9863
- input: 1.2,
9864
- output: 6,
9865
- cacheRead: 0.24,
9879
+ input: 0.78,
9880
+ output: 3.9,
9881
+ cacheRead: 0.156,
9866
9882
  cacheWrite: 0,
9867
9883
  },
9868
9884
  contextWindow: 262144,
@@ -9928,13 +9944,13 @@ export const MODELS = {
9928
9944
  reasoning: true,
9929
9945
  input: ["text"],
9930
9946
  cost: {
9931
- input: 0.15,
9932
- output: 1.2,
9947
+ input: 0.0975,
9948
+ output: 0.78,
9933
9949
  cacheRead: 0,
9934
9950
  cacheWrite: 0,
9935
9951
  },
9936
- contextWindow: 128000,
9937
- maxTokens: 4096,
9952
+ contextWindow: 131072,
9953
+ maxTokens: 32768,
9938
9954
  } satisfies Model<"openai-completions">,
9939
9955
  "qwen/qwen3-vl-235b-a22b-instruct": {
9940
9956
  id: "qwen/qwen3-vl-235b-a22b-instruct",
@@ -9962,8 +9978,8 @@ export const MODELS = {
9962
9978
  reasoning: true,
9963
9979
  input: ["text", "image"],
9964
9980
  cost: {
9965
- input: 0,
9966
- output: 0,
9981
+ input: 0.26,
9982
+ output: 2.6,
9967
9983
  cacheRead: 0,
9968
9984
  cacheWrite: 0,
9969
9985
  },
@@ -9996,8 +10012,8 @@ export const MODELS = {
9996
10012
  reasoning: true,
9997
10013
  input: ["text", "image"],
9998
10014
  cost: {
9999
- input: 0,
10000
- output: 0,
10015
+ input: 0.13,
10016
+ output: 1.56,
10001
10017
  cacheRead: 0,
10002
10018
  cacheWrite: 0,
10003
10019
  },
@@ -10123,6 +10139,23 @@ export const MODELS = {
10123
10139
  contextWindow: 262144,
10124
10140
  maxTokens: 65536,
10125
10141
  } satisfies Model<"openai-completions">,
10142
+ "qwen/qwen3.5-9b": {
10143
+ id: "qwen/qwen3.5-9b",
10144
+ name: "Qwen: Qwen3.5-9B",
10145
+ api: "openai-completions",
10146
+ provider: "openrouter",
10147
+ baseUrl: "https://openrouter.ai/api/v1",
10148
+ reasoning: true,
10149
+ input: ["text", "image"],
10150
+ cost: {
10151
+ input: 0.049999999999999996,
10152
+ output: 0.15,
10153
+ cacheRead: 0,
10154
+ cacheWrite: 0,
10155
+ },
10156
+ contextWindow: 256000,
10157
+ maxTokens: 4096,
10158
+ } satisfies Model<"openai-completions">,
10126
10159
  "qwen/qwen3.5-flash-02-23": {
10127
10160
  id: "qwen/qwen3.5-flash-02-23",
10128
10161
  name: "Qwen: Qwen3.5-Flash",
@@ -10132,8 +10165,8 @@ export const MODELS = {
10132
10165
  reasoning: true,
10133
10166
  input: ["text", "image"],
10134
10167
  cost: {
10135
- input: 0.09999999999999999,
10136
- output: 0.39999999999999997,
10168
+ input: 0.065,
10169
+ output: 0.26,
10137
10170
  cacheRead: 0,
10138
10171
  cacheWrite: 0,
10139
10172
  },
@@ -10167,12 +10200,12 @@ export const MODELS = {
10167
10200
  input: ["text"],
10168
10201
  cost: {
10169
10202
  input: 0.15,
10170
- output: 0.39999999999999997,
10203
+ output: 0.58,
10171
10204
  cacheRead: 0,
10172
10205
  cacheWrite: 0,
10173
10206
  },
10174
- contextWindow: 32768,
10175
- maxTokens: 32768,
10207
+ contextWindow: 131072,
10208
+ maxTokens: 131072,
10176
10209
  } satisfies Model<"openai-completions">,
10177
10210
  "relace/relace-search": {
10178
10211
  id: "relace/relace-search",
@@ -10217,13 +10250,13 @@ export const MODELS = {
10217
10250
  reasoning: false,
10218
10251
  input: ["text"],
10219
10252
  cost: {
10220
- input: 0.65,
10221
- output: 0.75,
10253
+ input: 0.85,
10254
+ output: 0.85,
10222
10255
  cacheRead: 0,
10223
10256
  cacheWrite: 0,
10224
10257
  },
10225
- contextWindow: 32768,
10226
- maxTokens: 32768,
10258
+ contextWindow: 131072,
10259
+ maxTokens: 16384,
10227
10260
  } satisfies Model<"openai-completions">,
10228
10261
  "stepfun/step-3.5-flash": {
10229
10262
  id: "stepfun/step-3.5-flash",
@@ -10302,9 +10335,9 @@ export const MODELS = {
10302
10335
  reasoning: true,
10303
10336
  input: ["text"],
10304
10337
  cost: {
10305
- input: 0.25,
10306
- output: 0.85,
10307
- cacheRead: 0.125,
10338
+ input: 0.3,
10339
+ output: 1.1,
10340
+ cacheRead: 0.15,
10308
10341
  cacheWrite: 0,
10309
10342
  },
10310
10343
  contextWindow: 163840,
@@ -10446,6 +10479,23 @@ export const MODELS = {
10446
10479
  contextWindow: 2000000,
10447
10480
  maxTokens: 30000,
10448
10481
  } satisfies Model<"openai-completions">,
10482
+ "x-ai/grok-4.20-beta": {
10483
+ id: "x-ai/grok-4.20-beta",
10484
+ name: "xAI: Grok 4.20 Beta",
10485
+ api: "openai-completions",
10486
+ provider: "openrouter",
10487
+ baseUrl: "https://openrouter.ai/api/v1",
10488
+ reasoning: true,
10489
+ input: ["text", "image"],
10490
+ cost: {
10491
+ input: 2,
10492
+ output: 6,
10493
+ cacheRead: 0.19999999999999998,
10494
+ cacheWrite: 0,
10495
+ },
10496
+ contextWindow: 2000000,
10497
+ maxTokens: 4096,
10498
+ } satisfies Model<"openai-completions">,
10449
10499
  "x-ai/grok-code-fast-1": {
10450
10500
  id: "x-ai/grok-code-fast-1",
10451
10501
  name: "xAI: Grok Code Fast 1",
@@ -10480,6 +10530,40 @@ export const MODELS = {
10480
10530
  contextWindow: 262144,
10481
10531
  maxTokens: 65536,
10482
10532
  } satisfies Model<"openai-completions">,
10533
+ "xiaomi/mimo-v2-omni": {
10534
+ id: "xiaomi/mimo-v2-omni",
10535
+ name: "Xiaomi: MiMo-V2-Omni",
10536
+ api: "openai-completions",
10537
+ provider: "openrouter",
10538
+ baseUrl: "https://openrouter.ai/api/v1",
10539
+ reasoning: true,
10540
+ input: ["text", "image"],
10541
+ cost: {
10542
+ input: 0.39999999999999997,
10543
+ output: 2,
10544
+ cacheRead: 0.08,
10545
+ cacheWrite: 0,
10546
+ },
10547
+ contextWindow: 262144,
10548
+ maxTokens: 65536,
10549
+ } satisfies Model<"openai-completions">,
10550
+ "xiaomi/mimo-v2-pro": {
10551
+ id: "xiaomi/mimo-v2-pro",
10552
+ name: "Xiaomi: MiMo-V2-Pro",
10553
+ api: "openai-completions",
10554
+ provider: "openrouter",
10555
+ baseUrl: "https://openrouter.ai/api/v1",
10556
+ reasoning: true,
10557
+ input: ["text"],
10558
+ cost: {
10559
+ input: 1,
10560
+ output: 3,
10561
+ cacheRead: 0.19999999999999998,
10562
+ cacheWrite: 0,
10563
+ },
10564
+ contextWindow: 1048576,
10565
+ maxTokens: 131072,
10566
+ } satisfies Model<"openai-completions">,
10483
10567
  "z-ai/glm-4-32b": {
10484
10568
  id: "z-ai/glm-4-32b",
10485
10569
  name: "Z.ai: GLM 4 32B ",
@@ -10582,23 +10666,6 @@ export const MODELS = {
10582
10666
  contextWindow: 204800,
10583
10667
  maxTokens: 204800,
10584
10668
  } satisfies Model<"openai-completions">,
10585
- "z-ai/glm-4.6:exacto": {
10586
- id: "z-ai/glm-4.6:exacto",
10587
- name: "Z.ai: GLM 4.6 (exacto)",
10588
- api: "openai-completions",
10589
- provider: "openrouter",
10590
- baseUrl: "https://openrouter.ai/api/v1",
10591
- reasoning: true,
10592
- input: ["text"],
10593
- cost: {
10594
- input: 0.44,
10595
- output: 1.76,
10596
- cacheRead: 0.11,
10597
- cacheWrite: 0,
10598
- },
10599
- contextWindow: 204800,
10600
- maxTokens: 131072,
10601
- } satisfies Model<"openai-completions">,
10602
10669
  "z-ai/glm-4.6v": {
10603
10670
  id: "z-ai/glm-4.6v",
10604
10671
  name: "Z.ai: GLM 4.6V",
@@ -10625,13 +10692,13 @@ export const MODELS = {
10625
10692
  reasoning: true,
10626
10693
  input: ["text"],
10627
10694
  cost: {
10628
- input: 0.38,
10629
- output: 1.9800000000000002,
10630
- cacheRead: 0.19,
10695
+ input: 0.39,
10696
+ output: 1.75,
10697
+ cacheRead: 0.195,
10631
10698
  cacheWrite: 0,
10632
10699
  },
10633
10700
  contextWindow: 202752,
10634
- maxTokens: 4096,
10701
+ maxTokens: 65535,
10635
10702
  } satisfies Model<"openai-completions">,
10636
10703
  "z-ai/glm-4.7-flash": {
10637
10704
  id: "z-ai/glm-4.7-flash",
@@ -10664,8 +10731,25 @@ export const MODELS = {
10664
10731
  cacheRead: 0.119,
10665
10732
  cacheWrite: 0,
10666
10733
  },
10734
+ contextWindow: 80000,
10735
+ maxTokens: 131072,
10736
+ } satisfies Model<"openai-completions">,
10737
+ "z-ai/glm-5-turbo": {
10738
+ id: "z-ai/glm-5-turbo",
10739
+ name: "Z.ai: GLM 5 Turbo",
10740
+ api: "openai-completions",
10741
+ provider: "openrouter",
10742
+ baseUrl: "https://openrouter.ai/api/v1",
10743
+ reasoning: true,
10744
+ input: ["text"],
10745
+ cost: {
10746
+ input: 0.96,
10747
+ output: 3.1999999999999997,
10748
+ cacheRead: 0.192,
10749
+ cacheWrite: 0,
10750
+ },
10667
10751
  contextWindow: 202752,
10668
- maxTokens: 4096,
10752
+ maxTokens: 131072,
10669
10753
  } satisfies Model<"openai-completions">,
10670
10754
  },
10671
10755
  "vercel-ai-gateway": {
@@ -10678,7 +10762,7 @@ export const MODELS = {
10678
10762
  reasoning: true,
10679
10763
  input: ["text"],
10680
10764
  cost: {
10681
- input: 0.06,
10765
+ input: 0.12,
10682
10766
  output: 0.24,
10683
10767
  cacheRead: 0,
10684
10768
  cacheWrite: 0,
@@ -10729,13 +10813,13 @@ export const MODELS = {
10729
10813
  reasoning: true,
10730
10814
  input: ["text"],
10731
10815
  cost: {
10732
- input: 0.09999999999999999,
10733
- output: 0.3,
10734
- cacheRead: 0,
10816
+ input: 0.29,
10817
+ output: 0.59,
10818
+ cacheRead: 0.145,
10735
10819
  cacheWrite: 0,
10736
10820
  },
10737
- contextWindow: 40960,
10738
- maxTokens: 16384,
10821
+ contextWindow: 131072,
10822
+ maxTokens: 40960,
10739
10823
  } satisfies Model<"anthropic-messages">,
10740
10824
  "alibaba/qwen3-235b-a22b-thinking": {
10741
10825
  id: "alibaba/qwen3-235b-a22b-thinking",
@@ -10746,9 +10830,9 @@ export const MODELS = {
10746
10830
  reasoning: true,
10747
10831
  input: ["text", "image"],
10748
10832
  cost: {
10749
- input: 0.3,
10750
- output: 2.9000000000000004,
10751
- cacheRead: 0,
10833
+ input: 0.22999999999999998,
10834
+ output: 2.3,
10835
+ cacheRead: 0.19999999999999998,
10752
10836
  cacheWrite: 0,
10753
10837
  },
10754
10838
  contextWindow: 262114,
@@ -10765,7 +10849,7 @@ export const MODELS = {
10765
10849
  cost: {
10766
10850
  input: 0.39999999999999997,
10767
10851
  output: 1.5999999999999999,
10768
- cacheRead: 0,
10852
+ cacheRead: 0.022,
10769
10853
  cacheWrite: 0,
10770
10854
  },
10771
10855
  contextWindow: 262144,
@@ -10780,13 +10864,13 @@ export const MODELS = {
10780
10864
  reasoning: true,
10781
10865
  input: ["text"],
10782
10866
  cost: {
10783
- input: 0.07,
10784
- output: 0.27,
10867
+ input: 0.15,
10868
+ output: 0.6,
10785
10869
  cacheRead: 0,
10786
10870
  cacheWrite: 0,
10787
10871
  },
10788
- contextWindow: 160000,
10789
- maxTokens: 32768,
10872
+ contextWindow: 262144,
10873
+ maxTokens: 8192,
10790
10874
  } satisfies Model<"anthropic-messages">,
10791
10875
  "alibaba/qwen3-coder-next": {
10792
10876
  id: "alibaba/qwen3-coder-next",
@@ -10794,7 +10878,7 @@ export const MODELS = {
10794
10878
  api: "anthropic-messages",
10795
10879
  provider: "vercel-ai-gateway",
10796
10880
  baseUrl: "https://ai-gateway.vercel.sh",
10797
- reasoning: true,
10881
+ reasoning: false,
10798
10882
  input: ["text"],
10799
10883
  cost: {
10800
10884
  input: 0.5,
@@ -10822,6 +10906,23 @@ export const MODELS = {
10822
10906
  contextWindow: 1000000,
10823
10907
  maxTokens: 65536,
10824
10908
  } satisfies Model<"anthropic-messages">,
10909
+ "alibaba/qwen3-max": {
10910
+ id: "alibaba/qwen3-max",
10911
+ name: "Qwen3 Max",
10912
+ api: "anthropic-messages",
10913
+ provider: "vercel-ai-gateway",
10914
+ baseUrl: "https://ai-gateway.vercel.sh",
10915
+ reasoning: false,
10916
+ input: ["text"],
10917
+ cost: {
10918
+ input: 1.2,
10919
+ output: 6,
10920
+ cacheRead: 0.24,
10921
+ cacheWrite: 0,
10922
+ },
10923
+ contextWindow: 262144,
10924
+ maxTokens: 32768,
10925
+ } satisfies Model<"anthropic-messages">,
10825
10926
  "alibaba/qwen3-max-preview": {
10826
10927
  id: "alibaba/qwen3-max-preview",
10827
10928
  name: "Qwen3 Max Preview",
@@ -10969,8 +11070,8 @@ export const MODELS = {
10969
11070
  cost: {
10970
11071
  input: 3,
10971
11072
  output: 15,
10972
- cacheRead: 0,
10973
- cacheWrite: 0,
11073
+ cacheRead: 0.3,
11074
+ cacheWrite: 3.75,
10974
11075
  },
10975
11076
  contextWindow: 200000,
10976
11077
  maxTokens: 8192,
@@ -11179,6 +11280,23 @@ export const MODELS = {
11179
11280
  contextWindow: 256000,
11180
11281
  maxTokens: 8000,
11181
11282
  } satisfies Model<"anthropic-messages">,
11283
+ "deepseek/deepseek-r1": {
11284
+ id: "deepseek/deepseek-r1",
11285
+ name: "DeepSeek-R1",
11286
+ api: "anthropic-messages",
11287
+ provider: "vercel-ai-gateway",
11288
+ baseUrl: "https://ai-gateway.vercel.sh",
11289
+ reasoning: true,
11290
+ input: ["text"],
11291
+ cost: {
11292
+ input: 1.35,
11293
+ output: 5.4,
11294
+ cacheRead: 0,
11295
+ cacheWrite: 0,
11296
+ },
11297
+ contextWindow: 128000,
11298
+ maxTokens: 8192,
11299
+ } satisfies Model<"anthropic-messages">,
11182
11300
  "deepseek/deepseek-v3": {
11183
11301
  id: "deepseek/deepseek-v3",
11184
11302
  name: "DeepSeek V3 0324",
@@ -11205,13 +11323,13 @@ export const MODELS = {
11205
11323
  reasoning: true,
11206
11324
  input: ["text"],
11207
11325
  cost: {
11208
- input: 0.21,
11209
- output: 0.7899999999999999,
11326
+ input: 0.5,
11327
+ output: 1.5,
11210
11328
  cacheRead: 0,
11211
11329
  cacheWrite: 0,
11212
11330
  },
11213
11331
  contextWindow: 163840,
11214
- maxTokens: 128000,
11332
+ maxTokens: 16384,
11215
11333
  } satisfies Model<"anthropic-messages">,
11216
11334
  "deepseek/deepseek-v3.1-terminus": {
11217
11335
  id: "deepseek/deepseek-v3.1-terminus",
@@ -11224,7 +11342,7 @@ export const MODELS = {
11224
11342
  cost: {
11225
11343
  input: 0.27,
11226
11344
  output: 1,
11227
- cacheRead: 0,
11345
+ cacheRead: 0.135,
11228
11346
  cacheWrite: 0,
11229
11347
  },
11230
11348
  contextWindow: 131072,
@@ -11239,9 +11357,9 @@ export const MODELS = {
11239
11357
  reasoning: false,
11240
11358
  input: ["text"],
11241
11359
  cost: {
11242
- input: 0.26,
11243
- output: 0.38,
11244
- cacheRead: 0.13,
11360
+ input: 0.28,
11361
+ output: 0.42,
11362
+ cacheRead: 0.028,
11245
11363
  cacheWrite: 0,
11246
11364
  },
11247
11365
  contextWindow: 128000,
@@ -11264,72 +11382,72 @@ export const MODELS = {
11264
11382
  contextWindow: 128000,
11265
11383
  maxTokens: 64000,
11266
11384
  } satisfies Model<"anthropic-messages">,
11267
- "google/gemini-2.5-flash": {
11268
- id: "google/gemini-2.5-flash",
11269
- name: "Gemini 2.5 Flash",
11385
+ "google/gemini-2.0-flash": {
11386
+ id: "google/gemini-2.0-flash",
11387
+ name: "Gemini 2.0 Flash",
11270
11388
  api: "anthropic-messages",
11271
11389
  provider: "vercel-ai-gateway",
11272
11390
  baseUrl: "https://ai-gateway.vercel.sh",
11273
- reasoning: true,
11274
- input: ["text"],
11391
+ reasoning: false,
11392
+ input: ["text", "image"],
11275
11393
  cost: {
11276
- input: 0.3,
11277
- output: 2.5,
11278
- cacheRead: 0,
11394
+ input: 0.15,
11395
+ output: 0.6,
11396
+ cacheRead: 0.024999999999999998,
11279
11397
  cacheWrite: 0,
11280
11398
  },
11281
- contextWindow: 1000000,
11282
- maxTokens: 65536,
11399
+ contextWindow: 1048576,
11400
+ maxTokens: 8192,
11283
11401
  } satisfies Model<"anthropic-messages">,
11284
- "google/gemini-2.5-flash-lite": {
11285
- id: "google/gemini-2.5-flash-lite",
11286
- name: "Gemini 2.5 Flash Lite",
11402
+ "google/gemini-2.0-flash-lite": {
11403
+ id: "google/gemini-2.0-flash-lite",
11404
+ name: "Gemini 2.0 Flash Lite",
11287
11405
  api: "anthropic-messages",
11288
11406
  provider: "vercel-ai-gateway",
11289
11407
  baseUrl: "https://ai-gateway.vercel.sh",
11290
- reasoning: true,
11408
+ reasoning: false,
11291
11409
  input: ["text", "image"],
11292
11410
  cost: {
11293
- input: 0.09999999999999999,
11294
- output: 0.39999999999999997,
11295
- cacheRead: 0.01,
11411
+ input: 0.075,
11412
+ output: 0.3,
11413
+ cacheRead: 0.02,
11296
11414
  cacheWrite: 0,
11297
11415
  },
11298
11416
  contextWindow: 1048576,
11299
- maxTokens: 65536,
11417
+ maxTokens: 8192,
11300
11418
  } satisfies Model<"anthropic-messages">,
11301
- "google/gemini-2.5-flash-lite-preview-09-2025": {
11302
- id: "google/gemini-2.5-flash-lite-preview-09-2025",
11303
- name: "Gemini 2.5 Flash Lite Preview 09-2025",
11419
+ "google/gemini-2.5-flash": {
11420
+ id: "google/gemini-2.5-flash",
11421
+ name: "Gemini 2.5 Flash",
11304
11422
  api: "anthropic-messages",
11305
11423
  provider: "vercel-ai-gateway",
11306
11424
  baseUrl: "https://ai-gateway.vercel.sh",
11307
11425
  reasoning: true,
11308
11426
  input: ["text", "image"],
11309
11427
  cost: {
11310
- input: 0.09999999999999999,
11311
- output: 0.39999999999999997,
11312
- cacheRead: 0.01,
11428
+ input: 0.3,
11429
+ output: 2.5,
11430
+ cacheRead: 0.03,
11313
11431
  cacheWrite: 0,
11314
11432
  },
11315
- contextWindow: 1048576,
11433
+ contextWindow: 1000000,
11316
11434
  maxTokens: 65536,
11317
11435
  } satisfies Model<"anthropic-messages">,
11318
- "google/gemini-2.5-flash-preview-09-2025": {
11319
- id: "google/gemini-2.5-flash-preview-09-2025",
11320
- name: "Gemini 2.5 Flash Preview 09-2025",
11436
+ "google/gemini-2.5-flash-lite": {
11437
+ id: "google/gemini-2.5-flash-lite",
11438
+ name: "Gemini 2.5 Flash Lite",
11321
11439
  api: "anthropic-messages",
11322
11440
  provider: "vercel-ai-gateway",
11323
11441
  baseUrl: "https://ai-gateway.vercel.sh",
11324
11442
  reasoning: true,
11325
11443
  input: ["text", "image"],
11326
11444
  cost: {
11327
- input: 0.3,
11328
- output: 2.5,
11329
- cacheRead: 0.03,
11445
+ input: 0.09999999999999999,
11446
+ output: 0.39999999999999997,
11447
+ cacheRead: 0.01,
11330
11448
  cacheWrite: 0,
11331
11449
  },
11332
- contextWindow: 1000000,
11450
+ contextWindow: 1048576,
11333
11451
  maxTokens: 65536,
11334
11452
  } satisfies Model<"anthropic-messages">,
11335
11453
  "google/gemini-2.5-pro": {
@@ -11339,11 +11457,11 @@ export const MODELS = {
11339
11457
  provider: "vercel-ai-gateway",
11340
11458
  baseUrl: "https://ai-gateway.vercel.sh",
11341
11459
  reasoning: true,
11342
- input: ["text"],
11460
+ input: ["text", "image"],
11343
11461
  cost: {
11344
11462
  input: 1.25,
11345
11463
  output: 10,
11346
- cacheRead: 0,
11464
+ cacheRead: 0.125,
11347
11465
  cacheWrite: 0,
11348
11466
  },
11349
11467
  contextWindow: 1048576,
@@ -11364,7 +11482,7 @@ export const MODELS = {
11364
11482
  cacheWrite: 0,
11365
11483
  },
11366
11484
  contextWindow: 1000000,
11367
- maxTokens: 64000,
11485
+ maxTokens: 65000,
11368
11486
  } satisfies Model<"anthropic-messages">,
11369
11487
  "google/gemini-3-pro-preview": {
11370
11488
  id: "google/gemini-3-pro-preview",
@@ -11466,7 +11584,7 @@ export const MODELS = {
11466
11584
  cacheWrite: 0,
11467
11585
  },
11468
11586
  contextWindow: 128000,
11469
- maxTokens: 8192,
11587
+ maxTokens: 100000,
11470
11588
  } satisfies Model<"anthropic-messages">,
11471
11589
  "meituan/longcat-flash-thinking": {
11472
11590
  id: "meituan/longcat-flash-thinking",
@@ -11494,13 +11612,13 @@ export const MODELS = {
11494
11612
  reasoning: false,
11495
11613
  input: ["text"],
11496
11614
  cost: {
11497
- input: 0.39999999999999997,
11498
- output: 0.39999999999999997,
11615
+ input: 0.72,
11616
+ output: 0.72,
11499
11617
  cacheRead: 0,
11500
11618
  cacheWrite: 0,
11501
11619
  },
11502
- contextWindow: 131072,
11503
- maxTokens: 16384,
11620
+ contextWindow: 128000,
11621
+ maxTokens: 8192,
11504
11622
  } satisfies Model<"anthropic-messages">,
11505
11623
  "meta/llama-3.1-8b": {
11506
11624
  id: "meta/llama-3.1-8b",
@@ -11511,12 +11629,12 @@ export const MODELS = {
11511
11629
  reasoning: false,
11512
11630
  input: ["text"],
11513
11631
  cost: {
11514
- input: 0.03,
11515
- output: 0.049999999999999996,
11516
- cacheRead: 0,
11632
+ input: 0.09999999999999999,
11633
+ output: 0.09999999999999999,
11634
+ cacheRead: 0.09999999999999999,
11517
11635
  cacheWrite: 0,
11518
11636
  },
11519
- contextWindow: 131072,
11637
+ contextWindow: 128000,
11520
11638
  maxTokens: 16384,
11521
11639
  } satisfies Model<"anthropic-messages">,
11522
11640
  "meta/llama-3.2-11b": {
@@ -11579,12 +11697,12 @@ export const MODELS = {
11579
11697
  reasoning: false,
11580
11698
  input: ["text", "image"],
11581
11699
  cost: {
11582
- input: 0.15,
11583
- output: 0.6,
11700
+ input: 0.24,
11701
+ output: 0.9700000000000001,
11584
11702
  cacheRead: 0,
11585
11703
  cacheWrite: 0,
11586
11704
  },
11587
- contextWindow: 131072,
11705
+ contextWindow: 128000,
11588
11706
  maxTokens: 8192,
11589
11707
  } satisfies Model<"anthropic-messages">,
11590
11708
  "meta/llama-4-scout": {
@@ -11596,12 +11714,12 @@ export const MODELS = {
11596
11714
  reasoning: false,
11597
11715
  input: ["text", "image"],
11598
11716
  cost: {
11599
- input: 0.08,
11600
- output: 0.3,
11717
+ input: 0.16999999999999998,
11718
+ output: 0.66,
11601
11719
  cacheRead: 0,
11602
11720
  cacheWrite: 0,
11603
11721
  },
11604
- contextWindow: 131072,
11722
+ contextWindow: 128000,
11605
11723
  maxTokens: 8192,
11606
11724
  } satisfies Model<"anthropic-messages">,
11607
11725
  "minimax/minimax-m2": {
@@ -11632,8 +11750,8 @@ export const MODELS = {
11632
11750
  cost: {
11633
11751
  input: 0.3,
11634
11752
  output: 1.2,
11635
- cacheRead: 0.15,
11636
- cacheWrite: 0,
11753
+ cacheRead: 0.03,
11754
+ cacheWrite: 0.375,
11637
11755
  },
11638
11756
  contextWindow: 204800,
11639
11757
  maxTokens: 131072,
@@ -11686,8 +11804,42 @@ export const MODELS = {
11686
11804
  cacheRead: 0.03,
11687
11805
  cacheWrite: 0.375,
11688
11806
  },
11689
- contextWindow: 4096,
11690
- maxTokens: 4096,
11807
+ contextWindow: 204800,
11808
+ maxTokens: 131000,
11809
+ } satisfies Model<"anthropic-messages">,
11810
+ "minimax/minimax-m2.7": {
11811
+ id: "minimax/minimax-m2.7",
11812
+ name: "Minimax M2.7",
11813
+ api: "anthropic-messages",
11814
+ provider: "vercel-ai-gateway",
11815
+ baseUrl: "https://ai-gateway.vercel.sh",
11816
+ reasoning: true,
11817
+ input: ["text", "image"],
11818
+ cost: {
11819
+ input: 0.3,
11820
+ output: 1.2,
11821
+ cacheRead: 0.06,
11822
+ cacheWrite: 0.375,
11823
+ },
11824
+ contextWindow: 204800,
11825
+ maxTokens: 131000,
11826
+ } satisfies Model<"anthropic-messages">,
11827
+ "minimax/minimax-m2.7-highspeed": {
11828
+ id: "minimax/minimax-m2.7-highspeed",
11829
+ name: "MiniMax M2.7 High Speed",
11830
+ api: "anthropic-messages",
11831
+ provider: "vercel-ai-gateway",
11832
+ baseUrl: "https://ai-gateway.vercel.sh",
11833
+ reasoning: true,
11834
+ input: ["text", "image"],
11835
+ cost: {
11836
+ input: 0.6,
11837
+ output: 2.4,
11838
+ cacheRead: 0.06,
11839
+ cacheWrite: 0.375,
11840
+ },
11841
+ contextWindow: 204800,
11842
+ maxTokens: 131100,
11691
11843
  } satisfies Model<"anthropic-messages">,
11692
11844
  "mistral/codestral": {
11693
11845
  id: "mistral/codestral",
@@ -11715,8 +11867,8 @@ export const MODELS = {
11715
11867
  reasoning: false,
11716
11868
  input: ["text"],
11717
11869
  cost: {
11718
- input: 0,
11719
- output: 0,
11870
+ input: 0.39999999999999997,
11871
+ output: 2,
11720
11872
  cacheRead: 0,
11721
11873
  cacheWrite: 0,
11722
11874
  },
@@ -11749,8 +11901,8 @@ export const MODELS = {
11749
11901
  reasoning: false,
11750
11902
  input: ["text"],
11751
11903
  cost: {
11752
- input: 0,
11753
- output: 0,
11904
+ input: 0.09999999999999999,
11905
+ output: 0.3,
11754
11906
  cacheRead: 0,
11755
11907
  cacheWrite: 0,
11756
11908
  },
@@ -11766,8 +11918,8 @@ export const MODELS = {
11766
11918
  reasoning: false,
11767
11919
  input: ["text"],
11768
11920
  cost: {
11769
- input: 0.04,
11770
- output: 0.04,
11921
+ input: 0.09999999999999999,
11922
+ output: 0.09999999999999999,
11771
11923
  cacheRead: 0,
11772
11924
  cacheWrite: 0,
11773
11925
  },
@@ -11783,8 +11935,8 @@ export const MODELS = {
11783
11935
  reasoning: false,
11784
11936
  input: ["text"],
11785
11937
  cost: {
11786
- input: 0.09999999999999999,
11787
- output: 0.09999999999999999,
11938
+ input: 0.15,
11939
+ output: 0.15,
11788
11940
  cacheRead: 0,
11789
11941
  cacheWrite: 0,
11790
11942
  },
@@ -11868,14 +12020,31 @@ export const MODELS = {
11868
12020
  reasoning: false,
11869
12021
  input: ["text"],
11870
12022
  cost: {
11871
- input: 0.5,
11872
- output: 2,
11873
- cacheRead: 0,
12023
+ input: 0.6,
12024
+ output: 2.5,
12025
+ cacheRead: 0.15,
11874
12026
  cacheWrite: 0,
11875
12027
  },
11876
12028
  contextWindow: 131072,
11877
12029
  maxTokens: 16384,
11878
12030
  } satisfies Model<"anthropic-messages">,
12031
+ "moonshotai/kimi-k2-0905": {
12032
+ id: "moonshotai/kimi-k2-0905",
12033
+ name: "Kimi K2 0905",
12034
+ api: "anthropic-messages",
12035
+ provider: "vercel-ai-gateway",
12036
+ baseUrl: "https://ai-gateway.vercel.sh",
12037
+ reasoning: false,
12038
+ input: ["text"],
12039
+ cost: {
12040
+ input: 0.6,
12041
+ output: 2.5,
12042
+ cacheRead: 0.15,
12043
+ cacheWrite: 0,
12044
+ },
12045
+ contextWindow: 256000,
12046
+ maxTokens: 16384,
12047
+ } satisfies Model<"anthropic-messages">,
11879
12048
  "moonshotai/kimi-k2-thinking": {
11880
12049
  id: "moonshotai/kimi-k2-thinking",
11881
12050
  name: "Kimi K2 Thinking",
@@ -11885,13 +12054,13 @@ export const MODELS = {
11885
12054
  reasoning: true,
11886
12055
  input: ["text"],
11887
12056
  cost: {
11888
- input: 0.47,
11889
- output: 2,
11890
- cacheRead: 0.14100000000000001,
12057
+ input: 0.6,
12058
+ output: 2.5,
12059
+ cacheRead: 0.15,
11891
12060
  cacheWrite: 0,
11892
12061
  },
11893
- contextWindow: 216144,
11894
- maxTokens: 216144,
12062
+ contextWindow: 262114,
12063
+ maxTokens: 262114,
11895
12064
  } satisfies Model<"anthropic-messages">,
11896
12065
  "moonshotai/kimi-k2-thinking-turbo": {
11897
12066
  id: "moonshotai/kimi-k2-thinking-turbo",
@@ -11919,9 +12088,9 @@ export const MODELS = {
11919
12088
  reasoning: false,
11920
12089
  input: ["text"],
11921
12090
  cost: {
11922
- input: 2.4,
11923
- output: 10,
11924
- cacheRead: 0,
12091
+ input: 1.15,
12092
+ output: 8,
12093
+ cacheRead: 0.15,
11925
12094
  cacheWrite: 0,
11926
12095
  },
11927
12096
  contextWindow: 256000,
@@ -11936,13 +12105,13 @@ export const MODELS = {
11936
12105
  reasoning: true,
11937
12106
  input: ["text", "image"],
11938
12107
  cost: {
11939
- input: 0.5,
11940
- output: 2.8,
11941
- cacheRead: 0,
12108
+ input: 0.6,
12109
+ output: 3,
12110
+ cacheRead: 0.09999999999999999,
11942
12111
  cacheWrite: 0,
11943
12112
  },
11944
- contextWindow: 256000,
11945
- maxTokens: 256000,
12113
+ contextWindow: 262114,
12114
+ maxTokens: 262114,
11946
12115
  } satisfies Model<"anthropic-messages">,
11947
12116
  "nvidia/nemotron-nano-12b-v2-vl": {
11948
12117
  id: "nvidia/nemotron-nano-12b-v2-vl",
@@ -11970,31 +12139,14 @@ export const MODELS = {
11970
12139
  reasoning: true,
11971
12140
  input: ["text"],
11972
12141
  cost: {
11973
- input: 0.04,
11974
- output: 0.16,
12142
+ input: 0.06,
12143
+ output: 0.22999999999999998,
11975
12144
  cacheRead: 0,
11976
12145
  cacheWrite: 0,
11977
12146
  },
11978
12147
  contextWindow: 131072,
11979
12148
  maxTokens: 131072,
11980
12149
  } satisfies Model<"anthropic-messages">,
11981
- "openai/codex-mini": {
11982
- id: "openai/codex-mini",
11983
- name: "Codex Mini",
11984
- api: "anthropic-messages",
11985
- provider: "vercel-ai-gateway",
11986
- baseUrl: "https://ai-gateway.vercel.sh",
11987
- reasoning: true,
11988
- input: ["text", "image"],
11989
- cost: {
11990
- input: 1.5,
11991
- output: 6,
11992
- cacheRead: 0.375,
11993
- cacheWrite: 0,
11994
- },
11995
- contextWindow: 200000,
11996
- maxTokens: 100000,
11997
- } satisfies Model<"anthropic-messages">,
11998
12150
  "openai/gpt-4-turbo": {
11999
12151
  id: "openai/gpt-4-turbo",
12000
12152
  name: "GPT-4 Turbo",
@@ -12057,7 +12209,7 @@ export const MODELS = {
12057
12209
  cost: {
12058
12210
  input: 0.09999999999999999,
12059
12211
  output: 0.39999999999999997,
12060
- cacheRead: 0.03,
12212
+ cacheRead: 0.024999999999999998,
12061
12213
  cacheWrite: 0,
12062
12214
  },
12063
12215
  contextWindow: 1047576,
@@ -12108,7 +12260,7 @@ export const MODELS = {
12108
12260
  cost: {
12109
12261
  input: 1.25,
12110
12262
  output: 10,
12111
- cacheRead: 0.13,
12263
+ cacheRead: 0.125,
12112
12264
  cacheWrite: 0,
12113
12265
  },
12114
12266
  contextWindow: 400000,
@@ -12138,11 +12290,11 @@ export const MODELS = {
12138
12290
  provider: "vercel-ai-gateway",
12139
12291
  baseUrl: "https://ai-gateway.vercel.sh",
12140
12292
  reasoning: true,
12141
- input: ["text", "image"],
12293
+ input: ["text"],
12142
12294
  cost: {
12143
12295
  input: 1.25,
12144
12296
  output: 10,
12145
- cacheRead: 0.13,
12297
+ cacheRead: 0.125,
12146
12298
  cacheWrite: 0,
12147
12299
  },
12148
12300
  contextWindow: 400000,
@@ -12159,7 +12311,7 @@ export const MODELS = {
12159
12311
  cost: {
12160
12312
  input: 0.25,
12161
12313
  output: 2,
12162
- cacheRead: 0.03,
12314
+ cacheRead: 0.024999999999999998,
12163
12315
  cacheWrite: 0,
12164
12316
  },
12165
12317
  contextWindow: 400000,
@@ -12176,7 +12328,7 @@ export const MODELS = {
12176
12328
  cost: {
12177
12329
  input: 0.049999999999999996,
12178
12330
  output: 0.39999999999999997,
12179
- cacheRead: 0.01,
12331
+ cacheRead: 0.005,
12180
12332
  cacheWrite: 0,
12181
12333
  },
12182
12334
  contextWindow: 400000,
@@ -12210,7 +12362,7 @@ export const MODELS = {
12210
12362
  cost: {
12211
12363
  input: 1.25,
12212
12364
  output: 10,
12213
- cacheRead: 0.13,
12365
+ cacheRead: 0.125,
12214
12366
  cacheWrite: 0,
12215
12367
  },
12216
12368
  contextWindow: 400000,
@@ -12261,7 +12413,7 @@ export const MODELS = {
12261
12413
  cost: {
12262
12414
  input: 1.25,
12263
12415
  output: 10,
12264
- cacheRead: 0.13,
12416
+ cacheRead: 0.125,
12265
12417
  cacheWrite: 0,
12266
12418
  },
12267
12419
  contextWindow: 128000,
@@ -12278,7 +12430,7 @@ export const MODELS = {
12278
12430
  cost: {
12279
12431
  input: 1.25,
12280
12432
  output: 10,
12281
- cacheRead: 0.13,
12433
+ cacheRead: 0.125,
12282
12434
  cacheWrite: 0,
12283
12435
  },
12284
12436
  contextWindow: 400000,
@@ -12295,7 +12447,7 @@ export const MODELS = {
12295
12447
  cost: {
12296
12448
  input: 1.75,
12297
12449
  output: 14,
12298
- cacheRead: 0.18,
12450
+ cacheRead: 0.175,
12299
12451
  cacheWrite: 0,
12300
12452
  },
12301
12453
  contextWindow: 400000,
@@ -12400,42 +12552,59 @@ export const MODELS = {
12400
12552
  cacheRead: 0.25,
12401
12553
  cacheWrite: 0,
12402
12554
  },
12403
- contextWindow: 200000,
12555
+ contextWindow: 1050000,
12404
12556
  maxTokens: 128000,
12405
12557
  } satisfies Model<"anthropic-messages">,
12406
- "openai/gpt-5.4-pro": {
12407
- id: "openai/gpt-5.4-pro",
12408
- name: "GPT 5.4 Pro",
12558
+ "openai/gpt-5.4-mini": {
12559
+ id: "openai/gpt-5.4-mini",
12560
+ name: "GPT 5.4 Mini",
12409
12561
  api: "anthropic-messages",
12410
12562
  provider: "vercel-ai-gateway",
12411
12563
  baseUrl: "https://ai-gateway.vercel.sh",
12412
12564
  reasoning: true,
12413
12565
  input: ["text", "image"],
12414
12566
  cost: {
12415
- input: 30,
12416
- output: 180,
12417
- cacheRead: 0,
12567
+ input: 0.75,
12568
+ output: 4.5,
12569
+ cacheRead: 0.075,
12418
12570
  cacheWrite: 0,
12419
12571
  },
12420
- contextWindow: 1050000,
12572
+ contextWindow: 400000,
12421
12573
  maxTokens: 128000,
12422
12574
  } satisfies Model<"anthropic-messages">,
12423
- "openai/gpt-oss-120b": {
12424
- id: "openai/gpt-oss-120b",
12425
- name: "gpt-oss-120b",
12575
+ "openai/gpt-5.4-nano": {
12576
+ id: "openai/gpt-5.4-nano",
12577
+ name: "GPT 5.4 Nano",
12426
12578
  api: "anthropic-messages",
12427
12579
  provider: "vercel-ai-gateway",
12428
12580
  baseUrl: "https://ai-gateway.vercel.sh",
12429
12581
  reasoning: true,
12430
- input: ["text"],
12582
+ input: ["text", "image"],
12431
12583
  cost: {
12432
- input: 0.09999999999999999,
12433
- output: 0.5,
12584
+ input: 0.19999999999999998,
12585
+ output: 1.25,
12586
+ cacheRead: 0.02,
12587
+ cacheWrite: 0,
12588
+ },
12589
+ contextWindow: 400000,
12590
+ maxTokens: 128000,
12591
+ } satisfies Model<"anthropic-messages">,
12592
+ "openai/gpt-5.4-pro": {
12593
+ id: "openai/gpt-5.4-pro",
12594
+ name: "GPT 5.4 Pro",
12595
+ api: "anthropic-messages",
12596
+ provider: "vercel-ai-gateway",
12597
+ baseUrl: "https://ai-gateway.vercel.sh",
12598
+ reasoning: true,
12599
+ input: ["text", "image"],
12600
+ cost: {
12601
+ input: 30,
12602
+ output: 180,
12434
12603
  cacheRead: 0,
12435
12604
  cacheWrite: 0,
12436
12605
  },
12437
- contextWindow: 131072,
12438
- maxTokens: 131072,
12606
+ contextWindow: 1050000,
12607
+ maxTokens: 128000,
12439
12608
  } satisfies Model<"anthropic-messages">,
12440
12609
  "openai/gpt-oss-20b": {
12441
12610
  id: "openai/gpt-oss-20b",
@@ -12624,40 +12793,6 @@ export const MODELS = {
12624
12793
  contextWindow: 131072,
12625
12794
  maxTokens: 131072,
12626
12795
  } satisfies Model<"anthropic-messages">,
12627
- "vercel/v0-1.0-md": {
12628
- id: "vercel/v0-1.0-md",
12629
- name: "v0-1.0-md",
12630
- api: "anthropic-messages",
12631
- provider: "vercel-ai-gateway",
12632
- baseUrl: "https://ai-gateway.vercel.sh",
12633
- reasoning: false,
12634
- input: ["text", "image"],
12635
- cost: {
12636
- input: 3,
12637
- output: 15,
12638
- cacheRead: 0,
12639
- cacheWrite: 0,
12640
- },
12641
- contextWindow: 128000,
12642
- maxTokens: 32000,
12643
- } satisfies Model<"anthropic-messages">,
12644
- "vercel/v0-1.5-md": {
12645
- id: "vercel/v0-1.5-md",
12646
- name: "v0-1.5-md",
12647
- api: "anthropic-messages",
12648
- provider: "vercel-ai-gateway",
12649
- baseUrl: "https://ai-gateway.vercel.sh",
12650
- reasoning: false,
12651
- input: ["text", "image"],
12652
- cost: {
12653
- input: 3,
12654
- output: 15,
12655
- cacheRead: 0,
12656
- cacheWrite: 0,
12657
- },
12658
- contextWindow: 128000,
12659
- maxTokens: 32768,
12660
- } satisfies Model<"anthropic-messages">,
12661
12796
  "xai/grok-2-vision": {
12662
12797
  id: "xai/grok-2-vision",
12663
12798
  name: "Grok 2 Vision",
@@ -12686,7 +12821,7 @@ export const MODELS = {
12686
12821
  cost: {
12687
12822
  input: 3,
12688
12823
  output: 15,
12689
- cacheRead: 0,
12824
+ cacheRead: 0.75,
12690
12825
  cacheWrite: 0,
12691
12826
  },
12692
12827
  contextWindow: 131072,
@@ -12703,7 +12838,7 @@ export const MODELS = {
12703
12838
  cost: {
12704
12839
  input: 5,
12705
12840
  output: 25,
12706
- cacheRead: 0,
12841
+ cacheRead: 1.25,
12707
12842
  cacheWrite: 0,
12708
12843
  },
12709
12844
  contextWindow: 131072,
@@ -12720,7 +12855,7 @@ export const MODELS = {
12720
12855
  cost: {
12721
12856
  input: 0.3,
12722
12857
  output: 0.5,
12723
- cacheRead: 0,
12858
+ cacheRead: 0.075,
12724
12859
  cacheWrite: 0,
12725
12860
  },
12726
12861
  contextWindow: 131072,
@@ -12754,7 +12889,7 @@ export const MODELS = {
12754
12889
  cost: {
12755
12890
  input: 3,
12756
12891
  output: 15,
12757
- cacheRead: 0,
12892
+ cacheRead: 0.75,
12758
12893
  cacheWrite: 0,
12759
12894
  },
12760
12895
  contextWindow: 256000,
@@ -12828,6 +12963,57 @@ export const MODELS = {
12828
12963
  contextWindow: 2000000,
12829
12964
  maxTokens: 30000,
12830
12965
  } satisfies Model<"anthropic-messages">,
12966
+ "xai/grok-4.20-multi-agent-beta": {
12967
+ id: "xai/grok-4.20-multi-agent-beta",
12968
+ name: "Grok 4.20 Multi Agent Beta",
12969
+ api: "anthropic-messages",
12970
+ provider: "vercel-ai-gateway",
12971
+ baseUrl: "https://ai-gateway.vercel.sh",
12972
+ reasoning: true,
12973
+ input: ["text"],
12974
+ cost: {
12975
+ input: 2,
12976
+ output: 6,
12977
+ cacheRead: 0.19999999999999998,
12978
+ cacheWrite: 0,
12979
+ },
12980
+ contextWindow: 2000000,
12981
+ maxTokens: 2000000,
12982
+ } satisfies Model<"anthropic-messages">,
12983
+ "xai/grok-4.20-non-reasoning-beta": {
12984
+ id: "xai/grok-4.20-non-reasoning-beta",
12985
+ name: "Grok 4.20 Beta Non-Reasoning",
12986
+ api: "anthropic-messages",
12987
+ provider: "vercel-ai-gateway",
12988
+ baseUrl: "https://ai-gateway.vercel.sh",
12989
+ reasoning: false,
12990
+ input: ["text", "image"],
12991
+ cost: {
12992
+ input: 2,
12993
+ output: 6,
12994
+ cacheRead: 0.19999999999999998,
12995
+ cacheWrite: 0,
12996
+ },
12997
+ contextWindow: 2000000,
12998
+ maxTokens: 2000000,
12999
+ } satisfies Model<"anthropic-messages">,
13000
+ "xai/grok-4.20-reasoning-beta": {
13001
+ id: "xai/grok-4.20-reasoning-beta",
13002
+ name: "Grok 4.20 Beta Reasoning",
13003
+ api: "anthropic-messages",
13004
+ provider: "vercel-ai-gateway",
13005
+ baseUrl: "https://ai-gateway.vercel.sh",
13006
+ reasoning: true,
13007
+ input: ["text", "image"],
13008
+ cost: {
13009
+ input: 2,
13010
+ output: 6,
13011
+ cacheRead: 0.19999999999999998,
13012
+ cacheWrite: 0,
13013
+ },
13014
+ contextWindow: 2000000,
13015
+ maxTokens: 2000000,
13016
+ } satisfies Model<"anthropic-messages">,
12831
13017
  "xai/grok-code-fast-1": {
12832
13018
  id: "xai/grok-code-fast-1",
12833
13019
  name: "Grok Code Fast 1",
@@ -12854,17 +13040,34 @@ export const MODELS = {
12854
13040
  reasoning: true,
12855
13041
  input: ["text"],
12856
13042
  cost: {
12857
- input: 0.09,
12858
- output: 0.29,
12859
- cacheRead: 0,
13043
+ input: 0.09999999999999999,
13044
+ output: 0.3,
13045
+ cacheRead: 0.02,
12860
13046
  cacheWrite: 0,
12861
13047
  },
12862
13048
  contextWindow: 262144,
12863
13049
  maxTokens: 32000,
12864
13050
  } satisfies Model<"anthropic-messages">,
12865
- "zai/glm-4.5": {
12866
- id: "zai/glm-4.5",
12867
- name: "GLM-4.5",
13051
+ "xiaomi/mimo-v2-pro": {
13052
+ id: "xiaomi/mimo-v2-pro",
13053
+ name: "MiMo V2 Pro",
13054
+ api: "anthropic-messages",
13055
+ provider: "vercel-ai-gateway",
13056
+ baseUrl: "https://ai-gateway.vercel.sh",
13057
+ reasoning: true,
13058
+ input: ["text"],
13059
+ cost: {
13060
+ input: 1,
13061
+ output: 3,
13062
+ cacheRead: 0.19999999999999998,
13063
+ cacheWrite: 0,
13064
+ },
13065
+ contextWindow: 1000000,
13066
+ maxTokens: 128000,
13067
+ } satisfies Model<"anthropic-messages">,
13068
+ "zai/glm-4.5": {
13069
+ id: "zai/glm-4.5",
13070
+ name: "GLM-4.5",
12868
13071
  api: "anthropic-messages",
12869
13072
  provider: "vercel-ai-gateway",
12870
13073
  baseUrl: "https://ai-gateway.vercel.sh",
@@ -12873,11 +13076,11 @@ export const MODELS = {
12873
13076
  cost: {
12874
13077
  input: 0.6,
12875
13078
  output: 2.2,
12876
- cacheRead: 0,
13079
+ cacheRead: 0.11,
12877
13080
  cacheWrite: 0,
12878
13081
  },
12879
- contextWindow: 131072,
12880
- maxTokens: 131072,
13082
+ contextWindow: 128000,
13083
+ maxTokens: 96000,
12881
13084
  } satisfies Model<"anthropic-messages">,
12882
13085
  "zai/glm-4.5-air": {
12883
13086
  id: "zai/glm-4.5-air",
@@ -12902,16 +13105,16 @@ export const MODELS = {
12902
13105
  api: "anthropic-messages",
12903
13106
  provider: "vercel-ai-gateway",
12904
13107
  baseUrl: "https://ai-gateway.vercel.sh",
12905
- reasoning: true,
13108
+ reasoning: false,
12906
13109
  input: ["text", "image"],
12907
13110
  cost: {
12908
13111
  input: 0.6,
12909
13112
  output: 1.7999999999999998,
12910
- cacheRead: 0,
13113
+ cacheRead: 0.11,
12911
13114
  cacheWrite: 0,
12912
13115
  },
12913
- contextWindow: 65536,
12914
- maxTokens: 16384,
13116
+ contextWindow: 66000,
13117
+ maxTokens: 16000,
12915
13118
  } satisfies Model<"anthropic-messages">,
12916
13119
  "zai/glm-4.6": {
12917
13120
  id: "zai/glm-4.6",
@@ -12922,8 +13125,8 @@ export const MODELS = {
12922
13125
  reasoning: true,
12923
13126
  input: ["text"],
12924
13127
  cost: {
12925
- input: 0.44999999999999996,
12926
- output: 1.7999999999999998,
13128
+ input: 0.6,
13129
+ output: 2.2,
12927
13130
  cacheRead: 0.11,
12928
13131
  cacheWrite: 0,
12929
13132
  },
@@ -12973,14 +13176,31 @@ export const MODELS = {
12973
13176
  reasoning: true,
12974
13177
  input: ["text"],
12975
13178
  cost: {
12976
- input: 0.43,
12977
- output: 1.75,
12978
- cacheRead: 0.08,
13179
+ input: 0.6,
13180
+ output: 2.2,
13181
+ cacheRead: 0,
12979
13182
  cacheWrite: 0,
12980
13183
  },
12981
- contextWindow: 202752,
13184
+ contextWindow: 200000,
12982
13185
  maxTokens: 120000,
12983
13186
  } satisfies Model<"anthropic-messages">,
13187
+ "zai/glm-4.7-flash": {
13188
+ id: "zai/glm-4.7-flash",
13189
+ name: "GLM 4.7 Flash",
13190
+ api: "anthropic-messages",
13191
+ provider: "vercel-ai-gateway",
13192
+ baseUrl: "https://ai-gateway.vercel.sh",
13193
+ reasoning: true,
13194
+ input: ["text"],
13195
+ cost: {
13196
+ input: 0.07,
13197
+ output: 0.39999999999999997,
13198
+ cacheRead: 0,
13199
+ cacheWrite: 0,
13200
+ },
13201
+ contextWindow: 200000,
13202
+ maxTokens: 131000,
13203
+ } satisfies Model<"anthropic-messages">,
12984
13204
  "zai/glm-4.7-flashx": {
12985
13205
  id: "zai/glm-4.7-flashx",
12986
13206
  name: "GLM 4.7 FlashX",
@@ -13000,7 +13220,7 @@ export const MODELS = {
13000
13220
  } satisfies Model<"anthropic-messages">,
13001
13221
  "zai/glm-5": {
13002
13222
  id: "zai/glm-5",
13003
- name: "GLM-5",
13223
+ name: "GLM 5",
13004
13224
  api: "anthropic-messages",
13005
13225
  provider: "vercel-ai-gateway",
13006
13226
  baseUrl: "https://ai-gateway.vercel.sh",
@@ -13013,7 +13233,24 @@ export const MODELS = {
13013
13233
  cacheWrite: 0,
13014
13234
  },
13015
13235
  contextWindow: 202800,
13016
- maxTokens: 131072,
13236
+ maxTokens: 131100,
13237
+ } satisfies Model<"anthropic-messages">,
13238
+ "zai/glm-5-turbo": {
13239
+ id: "zai/glm-5-turbo",
13240
+ name: "GLM 5 Turbo",
13241
+ api: "anthropic-messages",
13242
+ provider: "vercel-ai-gateway",
13243
+ baseUrl: "https://ai-gateway.vercel.sh",
13244
+ reasoning: true,
13245
+ input: ["text"],
13246
+ cost: {
13247
+ input: 1.2,
13248
+ output: 4,
13249
+ cacheRead: 0.24,
13250
+ cacheWrite: 0,
13251
+ },
13252
+ contextWindow: 202800,
13253
+ maxTokens: 131100,
13017
13254
  } satisfies Model<"anthropic-messages">,
13018
13255
  },
13019
13256
  "xai": {
@@ -13340,6 +13577,40 @@ export const MODELS = {
13340
13577
  contextWindow: 2000000,
13341
13578
  maxTokens: 30000,
13342
13579
  } satisfies Model<"openai-completions">,
13580
+ "grok-4.20-0309-non-reasoning": {
13581
+ id: "grok-4.20-0309-non-reasoning",
13582
+ name: "Grok 4.20 (Non-Reasoning)",
13583
+ api: "openai-completions",
13584
+ provider: "xai",
13585
+ baseUrl: "https://api.x.ai/v1",
13586
+ reasoning: false,
13587
+ input: ["text", "image"],
13588
+ cost: {
13589
+ input: 2,
13590
+ output: 6,
13591
+ cacheRead: 0.2,
13592
+ cacheWrite: 0,
13593
+ },
13594
+ contextWindow: 2000000,
13595
+ maxTokens: 30000,
13596
+ } satisfies Model<"openai-completions">,
13597
+ "grok-4.20-0309-reasoning": {
13598
+ id: "grok-4.20-0309-reasoning",
13599
+ name: "Grok 4.20 (Reasoning)",
13600
+ api: "openai-completions",
13601
+ provider: "xai",
13602
+ baseUrl: "https://api.x.ai/v1",
13603
+ reasoning: true,
13604
+ input: ["text", "image"],
13605
+ cost: {
13606
+ input: 2,
13607
+ output: 6,
13608
+ cacheRead: 0.2,
13609
+ cacheWrite: 0,
13610
+ },
13611
+ contextWindow: 2000000,
13612
+ maxTokens: 30000,
13613
+ } satisfies Model<"openai-completions">,
13343
13614
  "grok-beta": {
13344
13615
  id: "grok-beta",
13345
13616
  name: "Grok Beta",
@@ -13555,747 +13826,23 @@ export const MODELS = {
13555
13826
  contextWindow: 204800,
13556
13827
  maxTokens: 131072,
13557
13828
  } satisfies Model<"openai-completions">,
13558
- },
13559
- "alibaba-coding-plan": {
13560
- "qwen3.5-plus": {
13561
- id: "qwen3.5-plus",
13562
- name: "Qwen3.5 Plus",
13563
- api: "openai-completions",
13564
- provider: "alibaba-coding-plan",
13565
- baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
13566
- reasoning: true,
13567
- input: ["text"],
13568
- cost: {
13569
- input: 0,
13570
- output: 0,
13571
- cacheRead: 0,
13572
- cacheWrite: 0,
13573
- },
13574
- contextWindow: 983616,
13575
- maxTokens: 65536,
13576
- compat: { thinkingFormat: "qwen", supportsDeveloperRole: false },
13577
- } satisfies Model<"openai-completions">,
13578
- "qwen3-max-2026-01-23": {
13579
- id: "qwen3-max-2026-01-23",
13580
- name: "Qwen3 Max 2026-01-23",
13581
- api: "openai-completions",
13582
- provider: "alibaba-coding-plan",
13583
- baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
13584
- reasoning: true,
13585
- input: ["text"],
13586
- cost: {
13587
- input: 0,
13588
- output: 0,
13589
- cacheRead: 0,
13590
- cacheWrite: 0,
13591
- },
13592
- contextWindow: 258048,
13593
- maxTokens: 32768,
13594
- compat: { thinkingFormat: "qwen", supportsDeveloperRole: false },
13595
- } satisfies Model<"openai-completions">,
13596
- "qwen3-coder-next": {
13597
- id: "qwen3-coder-next",
13598
- name: "Qwen3 Coder Next",
13599
- api: "openai-completions",
13600
- provider: "alibaba-coding-plan",
13601
- baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
13602
- reasoning: false,
13603
- input: ["text"],
13604
- cost: {
13605
- input: 0,
13606
- output: 0,
13607
- cacheRead: 0,
13608
- cacheWrite: 0,
13609
- },
13610
- contextWindow: 204800,
13611
- maxTokens: 65536,
13612
- compat: { supportsDeveloperRole: false },
13613
- } satisfies Model<"openai-completions">,
13614
- "qwen3-coder-plus": {
13615
- id: "qwen3-coder-plus",
13616
- name: "Qwen3 Coder Plus",
13617
- api: "openai-completions",
13618
- provider: "alibaba-coding-plan",
13619
- baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
13620
- reasoning: false,
13621
- input: ["text"],
13622
- cost: {
13623
- input: 0,
13624
- output: 0,
13625
- cacheRead: 0,
13626
- cacheWrite: 0,
13627
- },
13628
- contextWindow: 997952,
13629
- maxTokens: 65536,
13630
- compat: { supportsDeveloperRole: false },
13631
- } satisfies Model<"openai-completions">,
13632
- "MiniMax-M2.5": {
13633
- id: "MiniMax-M2.5",
13634
- name: "MiniMax M2.5",
13635
- api: "openai-completions",
13636
- provider: "alibaba-coding-plan",
13637
- baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
13638
- reasoning: true,
13639
- input: ["text"],
13640
- cost: {
13641
- input: 0,
13642
- output: 0,
13643
- cacheRead: 0,
13644
- cacheWrite: 0,
13645
- },
13646
- contextWindow: 196608,
13647
- maxTokens: 65536,
13648
- compat: { supportsStore: false, supportsDeveloperRole: false, supportsReasoningEffort: true, maxTokensField: "max_tokens" },
13649
- } satisfies Model<"openai-completions">,
13650
- "glm-5": {
13651
- id: "glm-5",
13652
- name: "GLM-5",
13653
- api: "openai-completions",
13654
- provider: "alibaba-coding-plan",
13655
- baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
13656
- reasoning: true,
13657
- input: ["text"],
13658
- cost: {
13659
- input: 0,
13660
- output: 0,
13661
- cacheRead: 0,
13662
- cacheWrite: 0,
13663
- },
13664
- contextWindow: 202752,
13665
- maxTokens: 16384,
13666
- compat: { thinkingFormat: "qwen", supportsDeveloperRole: false },
13667
- } satisfies Model<"openai-completions">,
13668
- "glm-4.7": {
13669
- id: "glm-4.7",
13670
- name: "GLM-4.7",
13671
- api: "openai-completions",
13672
- provider: "alibaba-coding-plan",
13673
- baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
13674
- reasoning: true,
13675
- input: ["text"],
13676
- cost: {
13677
- input: 0,
13678
- output: 0,
13679
- cacheRead: 0,
13680
- cacheWrite: 0,
13681
- },
13682
- contextWindow: 169984,
13683
- maxTokens: 16384,
13684
- compat: { thinkingFormat: "qwen", supportsDeveloperRole: false },
13685
- } satisfies Model<"openai-completions">,
13686
- "kimi-k2.5": {
13687
- id: "kimi-k2.5",
13688
- name: "Kimi K2.5",
13689
- api: "openai-completions",
13690
- provider: "alibaba-coding-plan",
13691
- baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
13692
- reasoning: true,
13693
- input: ["text"],
13694
- cost: {
13695
- input: 0,
13696
- output: 0,
13697
- cacheRead: 0,
13698
- cacheWrite: 0,
13699
- },
13700
- contextWindow: 258048,
13701
- maxTokens: 32768,
13702
- compat: { thinkingFormat: "zai", supportsDeveloperRole: false },
13703
- } satisfies Model<"openai-completions">,
13704
- },
13705
- "ollama-cloud": {
13706
- "cogito-2.1:671b": {
13707
- id: "cogito-2.1:671b",
13708
- name: "Cogito 2.1 671B",
13709
- api: "openai-completions",
13710
- provider: "ollama-cloud",
13711
- baseUrl: "https://ollama.com/v1",
13712
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
13713
- reasoning: true,
13714
- input: ["text"],
13715
- cost: {
13716
- input: 0,
13717
- output: 0,
13718
- cacheRead: 0,
13719
- cacheWrite: 0,
13720
- },
13721
- contextWindow: 163840,
13722
- maxTokens: 32000,
13723
- } satisfies Model<"openai-completions">,
13724
- "deepseek-v3.1:671b": {
13725
- id: "deepseek-v3.1:671b",
13726
- name: "DeepSeek V3.1 671B",
13727
- api: "openai-completions",
13728
- provider: "ollama-cloud",
13729
- baseUrl: "https://ollama.com/v1",
13730
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
13731
- reasoning: true,
13732
- input: ["text"],
13733
- cost: {
13734
- input: 0,
13735
- output: 0,
13736
- cacheRead: 0,
13737
- cacheWrite: 0,
13738
- },
13739
- contextWindow: 163840,
13740
- maxTokens: 163840,
13741
- } satisfies Model<"openai-completions">,
13742
- "deepseek-v3.2": {
13743
- id: "deepseek-v3.2",
13744
- name: "DeepSeek V3.2",
13829
+ "glm-5-turbo": {
13830
+ id: "glm-5-turbo",
13831
+ name: "GLM-5-Turbo",
13745
13832
  api: "openai-completions",
13746
- provider: "ollama-cloud",
13747
- baseUrl: "https://ollama.com/v1",
13748
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
13833
+ provider: "zai",
13834
+ baseUrl: "https://api.z.ai/api/coding/paas/v4",
13835
+ compat: {"supportsDeveloperRole":false,"thinkingFormat":"zai"},
13749
13836
  reasoning: true,
13750
13837
  input: ["text"],
13751
13838
  cost: {
13752
- input: 0,
13753
- output: 0,
13754
- cacheRead: 0,
13755
- cacheWrite: 0,
13756
- },
13757
- contextWindow: 163840,
13758
- maxTokens: 65536,
13759
- } satisfies Model<"openai-completions">,
13760
- "devstral-2:123b": {
13761
- id: "devstral-2:123b",
13762
- name: "Devstral 2 123B",
13763
- api: "openai-completions",
13764
- provider: "ollama-cloud",
13765
- baseUrl: "https://ollama.com/v1",
13766
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
13767
- reasoning: false,
13768
- input: ["text"],
13769
- cost: {
13770
- input: 0,
13771
- output: 0,
13772
- cacheRead: 0,
13839
+ input: 1.2,
13840
+ output: 4,
13841
+ cacheRead: 0.24,
13773
13842
  cacheWrite: 0,
13774
13843
  },
13775
- contextWindow: 262144,
13776
- maxTokens: 262144,
13777
- } satisfies Model<"openai-completions">,
13778
- "devstral-small-2:24b": {
13779
- id: "devstral-small-2:24b",
13780
- name: "Devstral Small 2 24B",
13781
- api: "openai-completions",
13782
- provider: "ollama-cloud",
13783
- baseUrl: "https://ollama.com/v1",
13784
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
13785
- reasoning: false,
13786
- input: ["text", "image"],
13787
- cost: {
13788
- input: 0,
13789
- output: 0,
13790
- cacheRead: 0,
13791
- cacheWrite: 0,
13792
- },
13793
- contextWindow: 262144,
13794
- maxTokens: 262144,
13795
- } satisfies Model<"openai-completions">,
13796
- "gemini-3-flash-preview": {
13797
- id: "gemini-3-flash-preview",
13798
- name: "Gemini 3 Flash Preview",
13799
- api: "openai-completions",
13800
- provider: "ollama-cloud",
13801
- baseUrl: "https://ollama.com/v1",
13802
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
13803
- reasoning: true,
13804
- input: ["text"],
13805
- cost: {
13806
- input: 0,
13807
- output: 0,
13808
- cacheRead: 0,
13809
- cacheWrite: 0,
13810
- },
13811
- contextWindow: 1048576,
13812
- maxTokens: 65536,
13813
- } satisfies Model<"openai-completions">,
13814
- "gemma3:12b": {
13815
- id: "gemma3:12b",
13816
- name: "Gemma 3 12B",
13817
- api: "openai-completions",
13818
- provider: "ollama-cloud",
13819
- baseUrl: "https://ollama.com/v1",
13820
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
13821
- reasoning: false,
13822
- input: ["text", "image"],
13823
- cost: {
13824
- input: 0,
13825
- output: 0,
13826
- cacheRead: 0,
13827
- cacheWrite: 0,
13828
- },
13829
- contextWindow: 131072,
13830
- maxTokens: 131072,
13831
- } satisfies Model<"openai-completions">,
13832
- "gemma3:27b": {
13833
- id: "gemma3:27b",
13834
- name: "Gemma 3 27B",
13835
- api: "openai-completions",
13836
- provider: "ollama-cloud",
13837
- baseUrl: "https://ollama.com/v1",
13838
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
13839
- reasoning: false,
13840
- input: ["text", "image"],
13841
- cost: {
13842
- input: 0,
13843
- output: 0,
13844
- cacheRead: 0,
13845
- cacheWrite: 0,
13846
- },
13847
- contextWindow: 131072,
13848
- maxTokens: 131072,
13849
- } satisfies Model<"openai-completions">,
13850
- "gemma3:4b": {
13851
- id: "gemma3:4b",
13852
- name: "Gemma 3 4B",
13853
- api: "openai-completions",
13854
- provider: "ollama-cloud",
13855
- baseUrl: "https://ollama.com/v1",
13856
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
13857
- reasoning: false,
13858
- input: ["text", "image"],
13859
- cost: {
13860
- input: 0,
13861
- output: 0,
13862
- cacheRead: 0,
13863
- cacheWrite: 0,
13864
- },
13865
- contextWindow: 131072,
13866
- maxTokens: 131072,
13867
- } satisfies Model<"openai-completions">,
13868
- "glm-4.6": {
13869
- id: "glm-4.6",
13870
- name: "GLM 4.6",
13871
- api: "openai-completions",
13872
- provider: "ollama-cloud",
13873
- baseUrl: "https://ollama.com/v1",
13874
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
13875
- reasoning: true,
13876
- input: ["text"],
13877
- cost: {
13878
- input: 0,
13879
- output: 0,
13880
- cacheRead: 0,
13881
- cacheWrite: 0,
13882
- },
13883
- contextWindow: 202752,
13884
- maxTokens: 131072,
13885
- } satisfies Model<"openai-completions">,
13886
- "glm-4.7": {
13887
- id: "glm-4.7",
13888
- name: "GLM 4.7",
13889
- api: "openai-completions",
13890
- provider: "ollama-cloud",
13891
- baseUrl: "https://ollama.com/v1",
13892
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
13893
- reasoning: true,
13894
- input: ["text"],
13895
- cost: {
13896
- input: 0,
13897
- output: 0,
13898
- cacheRead: 0,
13899
- cacheWrite: 0,
13900
- },
13901
- contextWindow: 202752,
13902
- maxTokens: 131072,
13903
- } satisfies Model<"openai-completions">,
13904
- "glm-5": {
13905
- id: "glm-5",
13906
- name: "GLM 5",
13907
- api: "openai-completions",
13908
- provider: "ollama-cloud",
13909
- baseUrl: "https://ollama.com/v1",
13910
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
13911
- reasoning: true,
13912
- input: ["text"],
13913
- cost: {
13914
- input: 0,
13915
- output: 0,
13916
- cacheRead: 0,
13917
- cacheWrite: 0,
13918
- },
13919
- contextWindow: 202752,
13920
- maxTokens: 131072,
13921
- } satisfies Model<"openai-completions">,
13922
- "gpt-oss:120b": {
13923
- id: "gpt-oss:120b",
13924
- name: "GPT-OSS 120B",
13925
- api: "openai-completions",
13926
- provider: "ollama-cloud",
13927
- baseUrl: "https://ollama.com/v1",
13928
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
13929
- reasoning: true,
13930
- input: ["text"],
13931
- cost: {
13932
- input: 0,
13933
- output: 0,
13934
- cacheRead: 0,
13935
- cacheWrite: 0,
13936
- },
13937
- contextWindow: 131072,
13938
- maxTokens: 32768,
13939
- } satisfies Model<"openai-completions">,
13940
- "gpt-oss:20b": {
13941
- id: "gpt-oss:20b",
13942
- name: "GPT-OSS 20B",
13943
- api: "openai-completions",
13944
- provider: "ollama-cloud",
13945
- baseUrl: "https://ollama.com/v1",
13946
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
13947
- reasoning: true,
13948
- input: ["text"],
13949
- cost: {
13950
- input: 0,
13951
- output: 0,
13952
- cacheRead: 0,
13953
- cacheWrite: 0,
13954
- },
13955
- contextWindow: 131072,
13956
- maxTokens: 32768,
13957
- } satisfies Model<"openai-completions">,
13958
- "kimi-k2:1t": {
13959
- id: "kimi-k2:1t",
13960
- name: "Kimi K2 1T",
13961
- api: "openai-completions",
13962
- provider: "ollama-cloud",
13963
- baseUrl: "https://ollama.com/v1",
13964
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
13965
- reasoning: false,
13966
- input: ["text"],
13967
- cost: {
13968
- input: 0,
13969
- output: 0,
13970
- cacheRead: 0,
13971
- cacheWrite: 0,
13972
- },
13973
- contextWindow: 262144,
13974
- maxTokens: 262144,
13975
- } satisfies Model<"openai-completions">,
13976
- "kimi-k2.5": {
13977
- id: "kimi-k2.5",
13978
- name: "Kimi K2.5",
13979
- api: "openai-completions",
13980
- provider: "ollama-cloud",
13981
- baseUrl: "https://ollama.com/v1",
13982
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
13983
- reasoning: true,
13984
- input: ["text", "image"],
13985
- cost: {
13986
- input: 0,
13987
- output: 0,
13988
- cacheRead: 0,
13989
- cacheWrite: 0,
13990
- },
13991
- contextWindow: 262144,
13992
- maxTokens: 262144,
13993
- } satisfies Model<"openai-completions">,
13994
- "kimi-k2-thinking": {
13995
- id: "kimi-k2-thinking",
13996
- name: "Kimi K2 Thinking",
13997
- api: "openai-completions",
13998
- provider: "ollama-cloud",
13999
- baseUrl: "https://ollama.com/v1",
14000
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
14001
- reasoning: true,
14002
- input: ["text"],
14003
- cost: {
14004
- input: 0,
14005
- output: 0,
14006
- cacheRead: 0,
14007
- cacheWrite: 0,
14008
- },
14009
- contextWindow: 262144,
14010
- maxTokens: 262144,
14011
- } satisfies Model<"openai-completions">,
14012
- "minimax-m2.1": {
14013
- id: "minimax-m2.1",
14014
- name: "Minimax M2.1",
14015
- api: "openai-completions",
14016
- provider: "ollama-cloud",
14017
- baseUrl: "https://ollama.com/v1",
14018
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
14019
- reasoning: true,
14020
- input: ["text"],
14021
- cost: {
14022
- input: 0,
14023
- output: 0,
14024
- cacheRead: 0,
14025
- cacheWrite: 0,
14026
- },
14027
- contextWindow: 204800,
14028
- maxTokens: 131072,
14029
- } satisfies Model<"openai-completions">,
14030
- "minimax-m2.5": {
14031
- id: "minimax-m2.5",
14032
- name: "Minimax M2.5",
14033
- api: "openai-completions",
14034
- provider: "ollama-cloud",
14035
- baseUrl: "https://ollama.com/v1",
14036
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
14037
- reasoning: true,
14038
- input: ["text"],
14039
- cost: {
14040
- input: 0,
14041
- output: 0,
14042
- cacheRead: 0,
14043
- cacheWrite: 0,
14044
- },
14045
- contextWindow: 204800,
14046
- maxTokens: 131072,
14047
- } satisfies Model<"openai-completions">,
14048
- "minimax-m2": {
14049
- id: "minimax-m2",
14050
- name: "Minimax M2",
14051
- api: "openai-completions",
14052
- provider: "ollama-cloud",
14053
- baseUrl: "https://ollama.com/v1",
14054
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
14055
- reasoning: false,
14056
- input: ["text"],
14057
- cost: {
14058
- input: 0,
14059
- output: 0,
14060
- cacheRead: 0,
14061
- cacheWrite: 0,
14062
- },
14063
- contextWindow: 204800,
14064
- maxTokens: 128000,
14065
- } satisfies Model<"openai-completions">,
14066
- "ministral-3:14b": {
14067
- id: "ministral-3:14b",
14068
- name: "Ministral 3 14B",
14069
- api: "openai-completions",
14070
- provider: "ollama-cloud",
14071
- baseUrl: "https://ollama.com/v1",
14072
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
14073
- reasoning: false,
14074
- input: ["text", "image"],
14075
- cost: {
14076
- input: 0,
14077
- output: 0,
14078
- cacheRead: 0,
14079
- cacheWrite: 0,
14080
- },
14081
- contextWindow: 262144,
14082
- maxTokens: 128000,
14083
- } satisfies Model<"openai-completions">,
14084
- "ministral-3:3b": {
14085
- id: "ministral-3:3b",
14086
- name: "Ministral 3 3B",
14087
- api: "openai-completions",
14088
- provider: "ollama-cloud",
14089
- baseUrl: "https://ollama.com/v1",
14090
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
14091
- reasoning: false,
14092
- input: ["text", "image"],
14093
- cost: {
14094
- input: 0,
14095
- output: 0,
14096
- cacheRead: 0,
14097
- cacheWrite: 0,
14098
- },
14099
- contextWindow: 262144,
14100
- maxTokens: 128000,
14101
- } satisfies Model<"openai-completions">,
14102
- "ministral-3:8b": {
14103
- id: "ministral-3:8b",
14104
- name: "Ministral 3 8B",
14105
- api: "openai-completions",
14106
- provider: "ollama-cloud",
14107
- baseUrl: "https://ollama.com/v1",
14108
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
14109
- reasoning: false,
14110
- input: ["text", "image"],
14111
- cost: {
14112
- input: 0,
14113
- output: 0,
14114
- cacheRead: 0,
14115
- cacheWrite: 0,
14116
- },
14117
- contextWindow: 262144,
14118
- maxTokens: 128000,
14119
- } satisfies Model<"openai-completions">,
14120
- "mistral-large-3:675b": {
14121
- id: "mistral-large-3:675b",
14122
- name: "Mistral Large 3 675B",
14123
- api: "openai-completions",
14124
- provider: "ollama-cloud",
14125
- baseUrl: "https://ollama.com/v1",
14126
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
14127
- reasoning: false,
14128
- input: ["text", "image"],
14129
- cost: {
14130
- input: 0,
14131
- output: 0,
14132
- cacheRead: 0,
14133
- cacheWrite: 0,
14134
- },
14135
- contextWindow: 262144,
14136
- maxTokens: 262144,
14137
- } satisfies Model<"openai-completions">,
14138
- "nemotron-3-nano:30b": {
14139
- id: "nemotron-3-nano:30b",
14140
- name: "Nemotron 3 Nano 30B",
14141
- api: "openai-completions",
14142
- provider: "ollama-cloud",
14143
- baseUrl: "https://ollama.com/v1",
14144
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
14145
- reasoning: true,
14146
- input: ["text"],
14147
- cost: {
14148
- input: 0,
14149
- output: 0,
14150
- cacheRead: 0,
14151
- cacheWrite: 0,
14152
- },
14153
- contextWindow: 1048576,
14154
- maxTokens: 131072,
14155
- } satisfies Model<"openai-completions">,
14156
- "nemotron-3-super": {
14157
- id: "nemotron-3-super",
14158
- name: "Nemotron 3 Super",
14159
- api: "openai-completions",
14160
- provider: "ollama-cloud",
14161
- baseUrl: "https://ollama.com/v1",
14162
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
14163
- reasoning: true,
14164
- input: ["text"],
14165
- cost: {
14166
- input: 0,
14167
- output: 0,
14168
- cacheRead: 0,
14169
- cacheWrite: 0,
14170
- },
14171
- contextWindow: 262144,
14172
- maxTokens: 65536,
14173
- } satisfies Model<"openai-completions">,
14174
- "qwen3.5:397b": {
14175
- id: "qwen3.5:397b",
14176
- name: "Qwen 3.5 397B",
14177
- api: "openai-completions",
14178
- provider: "ollama-cloud",
14179
- baseUrl: "https://ollama.com/v1",
14180
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
14181
- reasoning: true,
14182
- input: ["text", "image"],
14183
- cost: {
14184
- input: 0,
14185
- output: 0,
14186
- cacheRead: 0,
14187
- cacheWrite: 0,
14188
- },
14189
- contextWindow: 262144,
14190
- maxTokens: 81920,
14191
- } satisfies Model<"openai-completions">,
14192
- "qwen3-coder:480b": {
14193
- id: "qwen3-coder:480b",
14194
- name: "Qwen 3 Coder 480B",
14195
- api: "openai-completions",
14196
- provider: "ollama-cloud",
14197
- baseUrl: "https://ollama.com/v1",
14198
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
14199
- reasoning: false,
14200
- input: ["text"],
14201
- cost: {
14202
- input: 0,
14203
- output: 0,
14204
- cacheRead: 0,
14205
- cacheWrite: 0,
14206
- },
14207
- contextWindow: 262144,
14208
- maxTokens: 65536,
14209
- } satisfies Model<"openai-completions">,
14210
- "qwen3-coder-next": {
14211
- id: "qwen3-coder-next",
14212
- name: "Qwen 3 Coder Next",
14213
- api: "openai-completions",
14214
- provider: "ollama-cloud",
14215
- baseUrl: "https://ollama.com/v1",
14216
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
14217
- reasoning: false,
14218
- input: ["text"],
14219
- cost: {
14220
- input: 0,
14221
- output: 0,
14222
- cacheRead: 0,
14223
- cacheWrite: 0,
14224
- },
14225
- contextWindow: 262144,
14226
- maxTokens: 65536,
14227
- } satisfies Model<"openai-completions">,
14228
- "qwen3-next:80b": {
14229
- id: "qwen3-next:80b",
14230
- name: "Qwen 3 Next 80B",
14231
- api: "openai-completions",
14232
- provider: "ollama-cloud",
14233
- baseUrl: "https://ollama.com/v1",
14234
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
14235
- reasoning: true,
14236
- input: ["text"],
14237
- cost: {
14238
- input: 0,
14239
- output: 0,
14240
- cacheRead: 0,
14241
- cacheWrite: 0,
14242
- },
14243
- contextWindow: 262144,
14244
- maxTokens: 32768,
14245
- } satisfies Model<"openai-completions">,
14246
- "qwen3-vl:235b-instruct": {
14247
- id: "qwen3-vl:235b-instruct",
14248
- name: "Qwen 3 VL 235B Instruct",
14249
- api: "openai-completions",
14250
- provider: "ollama-cloud",
14251
- baseUrl: "https://ollama.com/v1",
14252
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
14253
- reasoning: false,
14254
- input: ["text", "image"],
14255
- cost: {
14256
- input: 0,
14257
- output: 0,
14258
- cacheRead: 0,
14259
- cacheWrite: 0,
14260
- },
14261
- contextWindow: 262144,
13844
+ contextWindow: 200000,
14262
13845
  maxTokens: 131072,
14263
13846
  } satisfies Model<"openai-completions">,
14264
- "qwen3-vl:235b": {
14265
- id: "qwen3-vl:235b",
14266
- name: "Qwen 3 VL 235B",
14267
- api: "openai-completions",
14268
- provider: "ollama-cloud",
14269
- baseUrl: "https://ollama.com/v1",
14270
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":true,"maxTokensField":"max_tokens","supportsStrictMode":false},
14271
- reasoning: true,
14272
- input: ["text", "image"],
14273
- cost: {
14274
- input: 0,
14275
- output: 0,
14276
- cacheRead: 0,
14277
- cacheWrite: 0,
14278
- },
14279
- contextWindow: 262144,
14280
- maxTokens: 32768,
14281
- } satisfies Model<"openai-completions">,
14282
- "rnj-1:8b": {
14283
- id: "rnj-1:8b",
14284
- name: "RNJ 1 8B",
14285
- api: "openai-completions",
14286
- provider: "ollama-cloud",
14287
- baseUrl: "https://ollama.com/v1",
14288
- compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false},
14289
- reasoning: false,
14290
- input: ["text"],
14291
- cost: {
14292
- input: 0,
14293
- output: 0,
14294
- cacheRead: 0,
14295
- cacheWrite: 0,
14296
- },
14297
- contextWindow: 32768,
14298
- maxTokens: 4096,
14299
- } satisfies Model<"openai-completions">,
14300
13847
  },
14301
13848
  } as const;