@dexto/core 1.5.7 → 1.6.0

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 (697) hide show
  1. package/README.md +19 -8
  2. package/dist/agent/DextoAgent.cjs +383 -153
  3. package/dist/agent/DextoAgent.d.ts +112 -60
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +380 -150
  6. package/dist/{context/compaction/provider.cjs → agent/agent-options.cjs} +2 -2
  7. package/dist/agent/agent-options.d.ts +53 -0
  8. package/dist/agent/agent-options.d.ts.map +1 -0
  9. package/dist/agent/agentCard.cjs +1 -1
  10. package/dist/agent/errors.cjs +2 -2
  11. package/dist/agent/errors.d.ts.map +1 -1
  12. package/dist/agent/index.cjs +1 -6
  13. package/dist/agent/index.d.ts +3 -2
  14. package/dist/agent/index.d.ts.map +1 -1
  15. package/dist/agent/index.js +1 -7
  16. package/dist/{storage/blob/provider.cjs → agent/runtime-config.cjs} +2 -2
  17. package/dist/agent/runtime-config.d.ts +53 -0
  18. package/dist/agent/runtime-config.d.ts.map +1 -0
  19. package/dist/agent/schemas.cjs +2 -99
  20. package/dist/agent/schemas.d.ts +10 -9160
  21. package/dist/agent/schemas.d.ts.map +1 -1
  22. package/dist/agent/schemas.js +1 -104
  23. package/dist/agent/state-manager.d.ts +5 -5
  24. package/dist/agent/state-manager.d.ts.map +1 -1
  25. package/dist/approval/error-codes.cjs +1 -1
  26. package/dist/approval/error-codes.d.ts +1 -1
  27. package/dist/approval/error-codes.d.ts.map +1 -1
  28. package/dist/approval/error-codes.js +1 -1
  29. package/dist/approval/errors.cjs +5 -5
  30. package/dist/approval/errors.d.ts +2 -2
  31. package/dist/approval/errors.d.ts.map +1 -1
  32. package/dist/approval/errors.js +5 -5
  33. package/dist/approval/index.cjs +8 -8
  34. package/dist/approval/index.d.ts +2 -2
  35. package/dist/approval/index.d.ts.map +1 -1
  36. package/dist/approval/index.js +8 -8
  37. package/dist/approval/manager.cjs +77 -57
  38. package/dist/approval/manager.d.ts +41 -43
  39. package/dist/approval/manager.d.ts.map +1 -1
  40. package/dist/approval/manager.js +75 -55
  41. package/dist/approval/schemas.cjs +26 -25
  42. package/dist/approval/schemas.d.ts +35 -15
  43. package/dist/approval/schemas.d.ts.map +1 -1
  44. package/dist/approval/schemas.js +22 -21
  45. package/dist/approval/types.cjs +1 -1
  46. package/dist/approval/types.d.ts +14 -14
  47. package/dist/approval/types.d.ts.map +1 -1
  48. package/dist/approval/types.js +1 -1
  49. package/dist/context/compaction/index.cjs +2 -23
  50. package/dist/context/compaction/index.d.ts +1 -7
  51. package/dist/context/compaction/index.d.ts.map +1 -1
  52. package/dist/context/compaction/index.js +1 -16
  53. package/dist/context/compaction/strategies/noop.cjs +19 -1
  54. package/dist/context/compaction/strategies/noop.d.ts +13 -3
  55. package/dist/context/compaction/strategies/noop.d.ts.map +1 -1
  56. package/dist/context/compaction/strategies/noop.js +19 -1
  57. package/dist/context/compaction/strategies/{reactive-overflow.cjs → reactive-overflow-compaction.cjs} +67 -64
  58. package/dist/context/compaction/strategies/{reactive-overflow.d.ts → reactive-overflow-compaction.d.ts} +19 -36
  59. package/dist/context/compaction/strategies/reactive-overflow-compaction.d.ts.map +1 -0
  60. package/dist/context/compaction/strategies/{reactive-overflow.js → reactive-overflow-compaction.js} +63 -60
  61. package/dist/context/compaction/types.d.ts +40 -8
  62. package/dist/context/compaction/types.d.ts.map +1 -1
  63. package/dist/context/manager.cjs +5 -3
  64. package/dist/context/manager.d.ts +4 -3
  65. package/dist/context/manager.d.ts.map +1 -1
  66. package/dist/context/manager.js +5 -3
  67. package/dist/context/types.d.ts +2 -0
  68. package/dist/context/types.d.ts.map +1 -1
  69. package/dist/context/utils.cjs +70 -43
  70. package/dist/context/utils.d.ts +14 -14
  71. package/dist/context/utils.d.ts.map +1 -1
  72. package/dist/context/utils.js +69 -42
  73. package/dist/errors/result-bridge.d.ts +2 -2
  74. package/dist/errors/result-bridge.d.ts.map +1 -1
  75. package/dist/errors/types.cjs +1 -1
  76. package/dist/errors/types.d.ts +3 -3
  77. package/dist/errors/types.d.ts.map +1 -1
  78. package/dist/errors/types.js +1 -1
  79. package/dist/events/index.cjs +15 -2
  80. package/dist/events/index.d.ts +78 -7
  81. package/dist/events/index.d.ts.map +1 -1
  82. package/dist/events/index.js +15 -2
  83. package/dist/{plugins → hooks}/builtins/content-policy.cjs +7 -6
  84. package/dist/hooks/builtins/content-policy.d.ts +24 -0
  85. package/dist/hooks/builtins/content-policy.d.ts.map +1 -0
  86. package/dist/{plugins → hooks}/builtins/content-policy.js +6 -5
  87. package/dist/{plugins → hooks}/builtins/response-sanitizer.cjs +3 -3
  88. package/dist/hooks/builtins/response-sanitizer.d.ts +22 -0
  89. package/dist/hooks/builtins/response-sanitizer.d.ts.map +1 -0
  90. package/dist/{plugins → hooks}/builtins/response-sanitizer.js +2 -2
  91. package/dist/hooks/error-codes.cjs +43 -0
  92. package/dist/hooks/error-codes.d.ts +34 -0
  93. package/dist/hooks/error-codes.d.ts.map +1 -0
  94. package/dist/hooks/error-codes.js +20 -0
  95. package/dist/{storage/cache/providers/memory.cjs → hooks/index.cjs} +15 -18
  96. package/dist/hooks/index.d.ts +14 -0
  97. package/dist/hooks/index.d.ts.map +1 -0
  98. package/dist/hooks/index.js +11 -0
  99. package/dist/hooks/manager.cjs +354 -0
  100. package/dist/hooks/manager.d.ts +103 -0
  101. package/dist/hooks/manager.d.ts.map +1 -0
  102. package/dist/hooks/manager.js +331 -0
  103. package/dist/{plugins → hooks}/types.d.ts +36 -34
  104. package/dist/hooks/types.d.ts.map +1 -0
  105. package/dist/index.browser.cjs +13 -12
  106. package/dist/index.browser.d.ts +6 -6
  107. package/dist/index.browser.d.ts.map +1 -1
  108. package/dist/index.browser.js +8 -7
  109. package/dist/index.cjs +5 -7
  110. package/dist/index.d.ts +2 -3
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +2 -3
  113. package/dist/llm/curation-config.cjs +82 -0
  114. package/dist/llm/curation-config.d.ts +13 -0
  115. package/dist/llm/curation-config.d.ts.map +1 -0
  116. package/dist/llm/curation-config.js +59 -0
  117. package/dist/llm/curation.cjs +57 -0
  118. package/dist/llm/curation.d.ts +16 -0
  119. package/dist/llm/curation.d.ts.map +1 -0
  120. package/dist/llm/curation.js +34 -0
  121. package/dist/llm/errors.cjs +2 -2
  122. package/dist/llm/errors.d.ts +8 -8
  123. package/dist/llm/errors.js +1 -1
  124. package/dist/llm/executor/provider-options.cjs +1 -1
  125. package/dist/llm/executor/provider-options.js +1 -1
  126. package/dist/llm/executor/stream-processor.cjs +131 -11
  127. package/dist/llm/executor/stream-processor.d.ts +7 -5
  128. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  129. package/dist/llm/executor/stream-processor.js +131 -11
  130. package/dist/llm/executor/turn-executor.cjs +57 -56
  131. package/dist/llm/executor/turn-executor.d.ts +7 -8
  132. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  133. package/dist/llm/executor/turn-executor.js +57 -56
  134. package/dist/llm/formatters/vercel.cjs +2 -2
  135. package/dist/llm/formatters/vercel.d.ts +2 -2
  136. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  137. package/dist/llm/index.cjs +14 -3
  138. package/dist/llm/index.d.ts +3 -1
  139. package/dist/llm/index.d.ts.map +1 -1
  140. package/dist/llm/index.js +13 -2
  141. package/dist/llm/providers/local/schemas.d.ts +10 -10
  142. package/dist/llm/registry/auto-update.cjs +263 -0
  143. package/dist/llm/registry/auto-update.d.ts +27 -0
  144. package/dist/llm/registry/auto-update.d.ts.map +1 -0
  145. package/dist/llm/registry/auto-update.js +227 -0
  146. package/dist/llm/registry/index.cjs +806 -0
  147. package/dist/llm/{registry.d.ts → registry/index.d.ts} +21 -43
  148. package/dist/llm/registry/index.d.ts.map +1 -0
  149. package/dist/llm/registry/index.js +756 -0
  150. package/dist/llm/registry/models.generated.cjs +4861 -0
  151. package/dist/llm/registry/models.generated.d.ts +431 -0
  152. package/dist/llm/registry/models.generated.d.ts.map +1 -0
  153. package/dist/llm/registry/models.generated.js +4838 -0
  154. package/dist/{storage/database/providers/index.cjs → llm/registry/models.manual.cjs} +22 -12
  155. package/dist/llm/registry/models.manual.d.ts +22 -0
  156. package/dist/llm/registry/models.manual.d.ts.map +1 -0
  157. package/dist/llm/registry/models.manual.js +21 -0
  158. package/dist/llm/registry/sync.cjs +354 -0
  159. package/dist/llm/registry/sync.d.ts +41 -0
  160. package/dist/llm/registry/sync.d.ts.map +1 -0
  161. package/dist/llm/registry/sync.js +328 -0
  162. package/dist/llm/resolver.cjs +29 -20
  163. package/dist/llm/resolver.d.ts +4 -4
  164. package/dist/llm/resolver.d.ts.map +1 -1
  165. package/dist/llm/resolver.js +28 -20
  166. package/dist/llm/schemas.cjs +69 -94
  167. package/dist/llm/schemas.d.ts +19 -158
  168. package/dist/llm/schemas.d.ts.map +1 -1
  169. package/dist/llm/schemas.js +67 -91
  170. package/dist/llm/services/factory.cjs +6 -7
  171. package/dist/llm/services/factory.d.ts +3 -4
  172. package/dist/llm/services/factory.d.ts.map +1 -1
  173. package/dist/llm/services/factory.js +6 -7
  174. package/dist/llm/services/vercel.cjs +11 -15
  175. package/dist/llm/services/vercel.d.ts +7 -7
  176. package/dist/llm/services/vercel.d.ts.map +1 -1
  177. package/dist/llm/services/vercel.js +11 -15
  178. package/dist/llm/types.cjs +1 -1
  179. package/dist/llm/types.d.ts +1 -1
  180. package/dist/llm/types.d.ts.map +1 -1
  181. package/dist/llm/types.js +1 -1
  182. package/dist/llm/validation.cjs +2 -2
  183. package/dist/llm/validation.d.ts +2 -2
  184. package/dist/llm/validation.d.ts.map +1 -1
  185. package/dist/llm/validation.js +1 -1
  186. package/dist/logger/browser.cjs +4 -4
  187. package/dist/logger/browser.d.ts +4 -4
  188. package/dist/logger/browser.d.ts.map +1 -1
  189. package/dist/logger/browser.js +3 -3
  190. package/dist/{context/compaction/providers/noop-provider.cjs → logger/default-logger-factory.cjs} +16 -22
  191. package/dist/logger/default-logger-factory.d.ts +301 -0
  192. package/dist/logger/default-logger-factory.d.ts.map +1 -0
  193. package/dist/logger/default-logger-factory.js +18 -0
  194. package/dist/logger/factory.d.ts +2 -2
  195. package/dist/logger/factory.d.ts.map +1 -1
  196. package/dist/logger/index.cjs +7 -2
  197. package/dist/logger/index.d.ts +5 -3
  198. package/dist/logger/index.d.ts.map +1 -1
  199. package/dist/logger/index.js +8 -2
  200. package/dist/logger/logger.cjs +4 -4
  201. package/dist/logger/logger.d.ts +4 -4
  202. package/dist/logger/logger.d.ts.map +1 -1
  203. package/dist/logger/logger.js +3 -3
  204. package/dist/logger/v2/dexto-logger.d.ts +3 -3
  205. package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
  206. package/dist/logger/v2/schemas.d.ts +12 -12
  207. package/dist/logger/v2/test-utils.d.ts +5 -5
  208. package/dist/logger/v2/test-utils.d.ts.map +1 -1
  209. package/dist/logger/v2/transport-factory.d.ts +3 -3
  210. package/dist/logger/v2/transport-factory.d.ts.map +1 -1
  211. package/dist/logger/v2/transports/console-transport.d.ts +2 -2
  212. package/dist/logger/v2/transports/console-transport.d.ts.map +1 -1
  213. package/dist/logger/v2/transports/file-transport.d.ts +2 -2
  214. package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
  215. package/dist/logger/v2/transports/silent-transport.d.ts +2 -2
  216. package/dist/logger/v2/transports/silent-transport.d.ts.map +1 -1
  217. package/dist/logger/v2/types.cjs +1 -1
  218. package/dist/logger/v2/types.d.ts +8 -8
  219. package/dist/logger/v2/types.d.ts.map +1 -1
  220. package/dist/logger/v2/types.js +1 -1
  221. package/dist/mcp/errors.cjs +2 -2
  222. package/dist/mcp/errors.d.ts.map +1 -1
  223. package/dist/mcp/manager.cjs +16 -11
  224. package/dist/mcp/manager.d.ts +16 -13
  225. package/dist/mcp/manager.d.ts.map +1 -1
  226. package/dist/mcp/manager.js +17 -12
  227. package/dist/mcp/mcp-client.cjs +25 -20
  228. package/dist/mcp/mcp-client.d.ts +5 -5
  229. package/dist/mcp/mcp-client.d.ts.map +1 -1
  230. package/dist/mcp/mcp-client.js +20 -15
  231. package/dist/mcp/resolver.cjs +1 -1
  232. package/dist/mcp/schemas.cjs +5 -5
  233. package/dist/mcp/schemas.d.ts +4 -4
  234. package/dist/mcp/schemas.js +2 -2
  235. package/dist/mcp/types.d.ts +7 -7
  236. package/dist/mcp/types.d.ts.map +1 -1
  237. package/dist/memory/manager.d.ts +2 -2
  238. package/dist/memory/manager.d.ts.map +1 -1
  239. package/dist/memory/schemas.d.ts +2 -2
  240. package/dist/prompts/errors.cjs +3 -3
  241. package/dist/prompts/errors.d.ts.map +1 -1
  242. package/dist/prompts/prompt-manager.d.ts +3 -3
  243. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  244. package/dist/prompts/providers/config-prompt-provider.cjs +15 -29
  245. package/dist/prompts/providers/config-prompt-provider.d.ts +3 -3
  246. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  247. package/dist/prompts/providers/config-prompt-provider.js +15 -29
  248. package/dist/prompts/providers/custom-prompt-provider.d.ts +2 -2
  249. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  250. package/dist/prompts/providers/mcp-prompt-provider.d.ts +2 -2
  251. package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
  252. package/dist/prompts/schemas.d.ts +4 -4
  253. package/dist/resources/{internal-provider.cjs → agent-resources-provider.cjs} +16 -16
  254. package/dist/resources/{internal-provider.d.ts → agent-resources-provider.d.ts} +6 -6
  255. package/dist/resources/agent-resources-provider.d.ts.map +1 -0
  256. package/dist/resources/{internal-provider.js → agent-resources-provider.js} +13 -13
  257. package/dist/resources/errors.cjs +2 -2
  258. package/dist/resources/errors.d.ts.map +1 -1
  259. package/dist/resources/handlers/blob-handler.d.ts +2 -2
  260. package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
  261. package/dist/resources/handlers/factory.d.ts +3 -3
  262. package/dist/resources/handlers/factory.d.ts.map +1 -1
  263. package/dist/resources/handlers/filesystem-handler.cjs +25 -0
  264. package/dist/resources/handlers/filesystem-handler.d.ts +3 -2
  265. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
  266. package/dist/resources/handlers/filesystem-handler.js +25 -0
  267. package/dist/resources/index.cjs +7 -9
  268. package/dist/resources/index.d.ts +3 -3
  269. package/dist/resources/index.d.ts.map +1 -1
  270. package/dist/resources/index.js +5 -10
  271. package/dist/resources/manager.cjs +77 -74
  272. package/dist/resources/manager.d.ts +16 -7
  273. package/dist/resources/manager.d.ts.map +1 -1
  274. package/dist/resources/manager.js +77 -74
  275. package/dist/resources/schemas.cjs +6 -26
  276. package/dist/resources/schemas.d.ts +8 -100
  277. package/dist/resources/schemas.d.ts.map +1 -1
  278. package/dist/resources/schemas.js +4 -23
  279. package/dist/search/search-service.d.ts +2 -2
  280. package/dist/search/search-service.d.ts.map +1 -1
  281. package/dist/session/chat-session.cjs +16 -26
  282. package/dist/session/chat-session.d.ts +7 -5
  283. package/dist/session/chat-session.d.ts.map +1 -1
  284. package/dist/session/chat-session.js +17 -27
  285. package/dist/session/errors.cjs +2 -2
  286. package/dist/session/errors.d.ts.map +1 -1
  287. package/dist/session/history/database.cjs +1 -1
  288. package/dist/session/history/database.d.ts +4 -4
  289. package/dist/session/history/database.d.ts.map +1 -1
  290. package/dist/session/history/factory.d.ts +3 -3
  291. package/dist/session/history/factory.d.ts.map +1 -1
  292. package/dist/session/history/memory.d.ts +4 -4
  293. package/dist/session/history/memory.d.ts.map +1 -1
  294. package/dist/session/history/types.d.ts +2 -2
  295. package/dist/session/history/types.d.ts.map +1 -1
  296. package/dist/session/index.cjs +3 -0
  297. package/dist/session/index.d.ts +2 -0
  298. package/dist/session/index.d.ts.map +1 -1
  299. package/dist/session/index.js +2 -0
  300. package/dist/session/message-queue.cjs +29 -5
  301. package/dist/session/message-queue.d.ts +5 -3
  302. package/dist/session/message-queue.d.ts.map +1 -1
  303. package/dist/session/message-queue.js +29 -5
  304. package/dist/session/session-manager.cjs +107 -12
  305. package/dist/session/session-manager.d.ts +49 -8
  306. package/dist/session/session-manager.d.ts.map +1 -1
  307. package/dist/session/session-manager.js +97 -12
  308. package/dist/session/title-generator.cjs +2 -2
  309. package/dist/session/title-generator.d.ts +2 -2
  310. package/dist/session/title-generator.d.ts.map +1 -1
  311. package/dist/session/types.d.ts +1 -0
  312. package/dist/session/types.d.ts.map +1 -1
  313. package/dist/storage/blob/index.cjs +0 -40
  314. package/dist/storage/blob/index.d.ts +2 -44
  315. package/dist/storage/blob/index.d.ts.map +1 -1
  316. package/dist/storage/blob/index.js +0 -30
  317. package/dist/storage/cache/index.cjs +0 -37
  318. package/dist/storage/cache/index.d.ts +0 -42
  319. package/dist/storage/cache/index.d.ts.map +1 -1
  320. package/dist/storage/cache/index.js +0 -28
  321. package/dist/storage/database/index.cjs +0 -42
  322. package/dist/storage/database/index.d.ts +0 -43
  323. package/dist/storage/database/index.d.ts.map +1 -1
  324. package/dist/storage/database/index.js +0 -37
  325. package/dist/storage/error-codes.cjs +1 -6
  326. package/dist/storage/error-codes.d.ts +2 -7
  327. package/dist/storage/error-codes.d.ts.map +1 -1
  328. package/dist/storage/error-codes.js +1 -6
  329. package/dist/storage/errors.cjs +18 -82
  330. package/dist/storage/errors.d.ts +4 -24
  331. package/dist/storage/errors.d.ts.map +1 -1
  332. package/dist/storage/errors.js +16 -80
  333. package/dist/storage/index.cjs +8 -69
  334. package/dist/storage/index.d.ts +11 -66
  335. package/dist/storage/index.d.ts.map +1 -1
  336. package/dist/storage/index.js +6 -50
  337. package/dist/storage/storage-manager.cjs +9 -25
  338. package/dist/storage/storage-manager.d.ts +11 -15
  339. package/dist/storage/storage-manager.d.ts.map +1 -1
  340. package/dist/storage/storage-manager.js +8 -23
  341. package/dist/storage/types.d.ts +0 -1
  342. package/dist/storage/types.d.ts.map +1 -1
  343. package/dist/systemPrompt/contributors.d.ts +4 -4
  344. package/dist/systemPrompt/contributors.d.ts.map +1 -1
  345. package/dist/systemPrompt/errors.cjs +2 -2
  346. package/dist/systemPrompt/errors.d.ts.map +1 -1
  347. package/dist/systemPrompt/manager.cjs +1 -5
  348. package/dist/systemPrompt/manager.d.ts +2 -3
  349. package/dist/systemPrompt/manager.d.ts.map +1 -1
  350. package/dist/systemPrompt/manager.js +1 -5
  351. package/dist/telemetry/index.cjs +3 -0
  352. package/dist/telemetry/index.d.ts +2 -0
  353. package/dist/telemetry/index.d.ts.map +1 -1
  354. package/dist/telemetry/index.js +2 -0
  355. package/dist/telemetry/utils.d.ts +4 -4
  356. package/dist/telemetry/utils.d.ts.map +1 -1
  357. package/dist/test-utils/in-memory-storage.cjs +288 -0
  358. package/dist/test-utils/in-memory-storage.js +252 -0
  359. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +3 -3
  360. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
  361. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +2 -2
  362. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -1
  363. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +4 -4
  364. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
  365. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -2
  366. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -1
  367. package/dist/tools/{internal-tools/constants.cjs → define-tool.cjs} +8 -13
  368. package/dist/tools/define-tool.d.ts +11 -0
  369. package/dist/tools/define-tool.d.ts.map +1 -0
  370. package/dist/tools/define-tool.js +7 -0
  371. package/dist/tools/error-codes.cjs +2 -2
  372. package/dist/tools/error-codes.d.ts +2 -2
  373. package/dist/tools/error-codes.d.ts.map +1 -1
  374. package/dist/tools/error-codes.js +2 -2
  375. package/dist/tools/errors.cjs +11 -23
  376. package/dist/tools/errors.d.ts +4 -10
  377. package/dist/tools/errors.d.ts.map +1 -1
  378. package/dist/tools/errors.js +9 -21
  379. package/dist/tools/index.cjs +3 -8
  380. package/dist/tools/index.d.ts +2 -4
  381. package/dist/tools/index.d.ts.map +1 -1
  382. package/dist/tools/index.js +2 -7
  383. package/dist/{storage/blob/providers/index.cjs → tools/pattern-utils.cjs} +11 -9
  384. package/dist/tools/pattern-utils.d.ts +20 -0
  385. package/dist/tools/pattern-utils.d.ts.map +1 -0
  386. package/dist/tools/pattern-utils.js +10 -0
  387. package/dist/tools/schemas.cjs +14 -40
  388. package/dist/tools/schemas.d.ts +6 -50
  389. package/dist/tools/schemas.d.ts.map +1 -1
  390. package/dist/tools/schemas.js +11 -32
  391. package/dist/tools/tool-call-metadata.cjs +75 -0
  392. package/dist/tools/tool-call-metadata.d.ts +16 -0
  393. package/dist/tools/tool-call-metadata.d.ts.map +1 -0
  394. package/dist/tools/tool-call-metadata.js +51 -0
  395. package/dist/tools/tool-manager.cjs +578 -302
  396. package/dist/tools/tool-manager.d.ts +105 -81
  397. package/dist/tools/tool-manager.d.ts.map +1 -1
  398. package/dist/tools/tool-manager.js +578 -306
  399. package/dist/tools/types.d.ts +112 -13
  400. package/dist/tools/types.d.ts.map +1 -1
  401. package/dist/utils/api-key-resolver.cjs +1 -1
  402. package/dist/utils/api-key-resolver.js +1 -1
  403. package/dist/utils/env.cjs +49 -0
  404. package/dist/utils/env.d.ts +4 -0
  405. package/dist/utils/env.d.ts.map +1 -0
  406. package/dist/utils/env.js +24 -0
  407. package/dist/utils/error-conversion.d.ts +2 -2
  408. package/dist/utils/error-conversion.d.ts.map +1 -1
  409. package/dist/utils/index.cjs +3 -1
  410. package/dist/utils/index.d.ts +1 -0
  411. package/dist/utils/index.d.ts.map +1 -1
  412. package/dist/utils/index.js +1 -0
  413. package/dist/utils/path.d.ts +2 -2
  414. package/dist/utils/path.d.ts.map +1 -1
  415. package/dist/utils/result.cjs +1 -1
  416. package/dist/utils/result.d.ts.map +1 -1
  417. package/dist/utils/schema.cjs +9 -5
  418. package/dist/utils/schema.d.ts +4 -2
  419. package/dist/utils/schema.d.ts.map +1 -1
  420. package/dist/utils/schema.js +9 -5
  421. package/dist/utils/service-initializer.cjs +58 -51
  422. package/dist/utils/service-initializer.d.ts +31 -9
  423. package/dist/utils/service-initializer.d.ts.map +1 -1
  424. package/dist/utils/service-initializer.js +58 -51
  425. package/dist/{storage/cache/providers/index.cjs → workspace/error-codes.cjs} +8 -9
  426. package/dist/workspace/error-codes.d.ts +5 -0
  427. package/dist/workspace/error-codes.d.ts.map +1 -0
  428. package/dist/workspace/error-codes.js +7 -0
  429. package/dist/{storage/blob/factory.cjs → workspace/errors.cjs} +20 -14
  430. package/dist/workspace/errors.d.ts +5 -0
  431. package/dist/workspace/errors.d.ts.map +1 -0
  432. package/dist/workspace/errors.js +21 -0
  433. package/dist/{image → workspace}/index.cjs +12 -10
  434. package/dist/workspace/index.d.ts +5 -0
  435. package/dist/workspace/index.d.ts.map +1 -0
  436. package/dist/workspace/index.js +9 -0
  437. package/dist/workspace/manager.cjs +113 -0
  438. package/dist/workspace/manager.d.ts +18 -0
  439. package/dist/workspace/manager.d.ts.map +1 -0
  440. package/dist/workspace/manager.js +90 -0
  441. package/dist/workspace/types.d.ts +14 -0
  442. package/dist/workspace/types.d.ts.map +1 -0
  443. package/package.json +7 -3
  444. package/dist/context/compaction/factory.cjs +0 -57
  445. package/dist/context/compaction/factory.d.ts +0 -17
  446. package/dist/context/compaction/factory.d.ts.map +0 -1
  447. package/dist/context/compaction/factory.js +0 -34
  448. package/dist/context/compaction/provider.d.ts +0 -48
  449. package/dist/context/compaction/provider.d.ts.map +0 -1
  450. package/dist/context/compaction/providers/noop-provider.d.ts +0 -24
  451. package/dist/context/compaction/providers/noop-provider.d.ts.map +0 -1
  452. package/dist/context/compaction/providers/noop-provider.js +0 -24
  453. package/dist/context/compaction/providers/reactive-overflow-provider.cjs +0 -76
  454. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +0 -51
  455. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +0 -1
  456. package/dist/context/compaction/providers/reactive-overflow-provider.js +0 -52
  457. package/dist/context/compaction/registry.cjs +0 -39
  458. package/dist/context/compaction/registry.d.ts +0 -19
  459. package/dist/context/compaction/registry.d.ts.map +0 -1
  460. package/dist/context/compaction/registry.js +0 -16
  461. package/dist/context/compaction/schemas.cjs +0 -58
  462. package/dist/context/compaction/schemas.d.ts +0 -69
  463. package/dist/context/compaction/schemas.d.ts.map +0 -1
  464. package/dist/context/compaction/schemas.js +0 -34
  465. package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +0 -1
  466. package/dist/image/define-image.cjs +0 -146
  467. package/dist/image/define-image.d.ts +0 -71
  468. package/dist/image/define-image.d.ts.map +0 -1
  469. package/dist/image/define-image.js +0 -121
  470. package/dist/image/index.d.ts +0 -53
  471. package/dist/image/index.d.ts.map +0 -1
  472. package/dist/image/index.js +0 -7
  473. package/dist/image/types.d.ts +0 -246
  474. package/dist/image/types.d.ts.map +0 -1
  475. package/dist/llm/registry.cjs +0 -2075
  476. package/dist/llm/registry.d.ts.map +0 -1
  477. package/dist/llm/registry.js +0 -2025
  478. package/dist/llm/services/test-utils.integration.cjs +0 -237
  479. package/dist/llm/services/test-utils.integration.d.ts +0 -48
  480. package/dist/llm/services/test-utils.integration.d.ts.map +0 -1
  481. package/dist/llm/services/test-utils.integration.js +0 -214
  482. package/dist/plugins/builtins/content-policy.d.ts +0 -26
  483. package/dist/plugins/builtins/content-policy.d.ts.map +0 -1
  484. package/dist/plugins/builtins/response-sanitizer.d.ts +0 -25
  485. package/dist/plugins/builtins/response-sanitizer.d.ts.map +0 -1
  486. package/dist/plugins/error-codes.cjs +0 -43
  487. package/dist/plugins/error-codes.d.ts +0 -34
  488. package/dist/plugins/error-codes.d.ts.map +0 -1
  489. package/dist/plugins/error-codes.js +0 -20
  490. package/dist/plugins/index.cjs +0 -61
  491. package/dist/plugins/index.d.ts +0 -21
  492. package/dist/plugins/index.d.ts.map +0 -1
  493. package/dist/plugins/index.js +0 -30
  494. package/dist/plugins/loader.cjs +0 -171
  495. package/dist/plugins/loader.d.ts +0 -30
  496. package/dist/plugins/loader.d.ts.map +0 -1
  497. package/dist/plugins/loader.js +0 -145
  498. package/dist/plugins/manager.cjs +0 -473
  499. package/dist/plugins/manager.d.ts +0 -106
  500. package/dist/plugins/manager.d.ts.map +0 -1
  501. package/dist/plugins/manager.js +0 -450
  502. package/dist/plugins/registrations/builtins.cjs +0 -51
  503. package/dist/plugins/registrations/builtins.d.ts +0 -17
  504. package/dist/plugins/registrations/builtins.d.ts.map +0 -1
  505. package/dist/plugins/registrations/builtins.js +0 -28
  506. package/dist/plugins/registry.cjs +0 -63
  507. package/dist/plugins/registry.d.ts +0 -101
  508. package/dist/plugins/registry.d.ts.map +0 -1
  509. package/dist/plugins/registry.js +0 -39
  510. package/dist/plugins/schemas.cjs +0 -73
  511. package/dist/plugins/schemas.d.ts +0 -195
  512. package/dist/plugins/schemas.d.ts.map +0 -1
  513. package/dist/plugins/schemas.js +0 -47
  514. package/dist/plugins/types.d.ts.map +0 -1
  515. package/dist/providers/base-registry.cjs +0 -147
  516. package/dist/providers/base-registry.d.ts +0 -147
  517. package/dist/providers/base-registry.d.ts.map +0 -1
  518. package/dist/providers/base-registry.js +0 -123
  519. package/dist/providers/discovery.cjs +0 -109
  520. package/dist/providers/discovery.d.ts +0 -96
  521. package/dist/providers/discovery.d.ts.map +0 -1
  522. package/dist/providers/discovery.js +0 -84
  523. package/dist/providers/index.cjs +0 -24
  524. package/dist/providers/index.d.ts +0 -32
  525. package/dist/providers/index.d.ts.map +0 -1
  526. package/dist/providers/index.js +0 -2
  527. package/dist/resources/internal-provider.d.ts.map +0 -1
  528. package/dist/storage/blob/factory.d.ts +0 -37
  529. package/dist/storage/blob/factory.d.ts.map +0 -1
  530. package/dist/storage/blob/factory.js +0 -15
  531. package/dist/storage/blob/local-blob-store.cjs +0 -496
  532. package/dist/storage/blob/local-blob-store.d.ts +0 -58
  533. package/dist/storage/blob/local-blob-store.d.ts.map +0 -1
  534. package/dist/storage/blob/local-blob-store.js +0 -463
  535. package/dist/storage/blob/memory-blob-store.cjs +0 -326
  536. package/dist/storage/blob/memory-blob-store.d.ts +0 -66
  537. package/dist/storage/blob/memory-blob-store.d.ts.map +0 -1
  538. package/dist/storage/blob/memory-blob-store.js +0 -303
  539. package/dist/storage/blob/provider.d.ts +0 -50
  540. package/dist/storage/blob/provider.d.ts.map +0 -1
  541. package/dist/storage/blob/providers/index.d.ts +0 -8
  542. package/dist/storage/blob/providers/index.d.ts.map +0 -1
  543. package/dist/storage/blob/providers/index.js +0 -7
  544. package/dist/storage/blob/providers/local.cjs +0 -39
  545. package/dist/storage/blob/providers/local.d.ts +0 -17
  546. package/dist/storage/blob/providers/local.d.ts.map +0 -1
  547. package/dist/storage/blob/providers/local.js +0 -16
  548. package/dist/storage/blob/providers/memory.cjs +0 -39
  549. package/dist/storage/blob/providers/memory.d.ts +0 -17
  550. package/dist/storage/blob/providers/memory.d.ts.map +0 -1
  551. package/dist/storage/blob/providers/memory.js +0 -16
  552. package/dist/storage/blob/registry.cjs +0 -50
  553. package/dist/storage/blob/registry.d.ts +0 -42
  554. package/dist/storage/blob/registry.d.ts.map +0 -1
  555. package/dist/storage/blob/registry.js +0 -26
  556. package/dist/storage/blob/schemas.cjs +0 -52
  557. package/dist/storage/blob/schemas.d.ts +0 -85
  558. package/dist/storage/blob/schemas.d.ts.map +0 -1
  559. package/dist/storage/blob/schemas.js +0 -26
  560. package/dist/storage/cache/factory.cjs +0 -38
  561. package/dist/storage/cache/factory.d.ts +0 -37
  562. package/dist/storage/cache/factory.d.ts.map +0 -1
  563. package/dist/storage/cache/factory.js +0 -15
  564. package/dist/storage/cache/memory-cache-store.cjs +0 -107
  565. package/dist/storage/cache/memory-cache-store.d.ts +0 -26
  566. package/dist/storage/cache/memory-cache-store.d.ts.map +0 -1
  567. package/dist/storage/cache/memory-cache-store.js +0 -84
  568. package/dist/storage/cache/provider.cjs +0 -16
  569. package/dist/storage/cache/provider.d.ts +0 -56
  570. package/dist/storage/cache/provider.d.ts.map +0 -1
  571. package/dist/storage/cache/provider.js +0 -0
  572. package/dist/storage/cache/providers/index.d.ts +0 -8
  573. package/dist/storage/cache/providers/index.d.ts.map +0 -1
  574. package/dist/storage/cache/providers/index.js +0 -7
  575. package/dist/storage/cache/providers/memory.d.ts +0 -17
  576. package/dist/storage/cache/providers/memory.d.ts.map +0 -1
  577. package/dist/storage/cache/providers/memory.js +0 -17
  578. package/dist/storage/cache/providers/redis.cjs +0 -66
  579. package/dist/storage/cache/providers/redis.d.ts +0 -20
  580. package/dist/storage/cache/providers/redis.d.ts.map +0 -1
  581. package/dist/storage/cache/providers/redis.js +0 -33
  582. package/dist/storage/cache/redis-store.cjs +0 -173
  583. package/dist/storage/cache/redis-store.d.ts +0 -32
  584. package/dist/storage/cache/redis-store.d.ts.map +0 -1
  585. package/dist/storage/cache/redis-store.js +0 -150
  586. package/dist/storage/cache/registry.cjs +0 -50
  587. package/dist/storage/cache/registry.d.ts +0 -42
  588. package/dist/storage/cache/registry.d.ts.map +0 -1
  589. package/dist/storage/cache/registry.js +0 -26
  590. package/dist/storage/cache/schemas.cjs +0 -81
  591. package/dist/storage/cache/schemas.d.ts +0 -150
  592. package/dist/storage/cache/schemas.d.ts.map +0 -1
  593. package/dist/storage/cache/schemas.js +0 -55
  594. package/dist/storage/database/factory.cjs +0 -38
  595. package/dist/storage/database/factory.d.ts +0 -39
  596. package/dist/storage/database/factory.d.ts.map +0 -1
  597. package/dist/storage/database/factory.js +0 -15
  598. package/dist/storage/database/memory-database-store.cjs +0 -122
  599. package/dist/storage/database/memory-database-store.d.ts +0 -29
  600. package/dist/storage/database/memory-database-store.d.ts.map +0 -1
  601. package/dist/storage/database/memory-database-store.js +0 -99
  602. package/dist/storage/database/postgres-store.cjs +0 -342
  603. package/dist/storage/database/postgres-store.d.ts +0 -55
  604. package/dist/storage/database/postgres-store.d.ts.map +0 -1
  605. package/dist/storage/database/postgres-store.js +0 -319
  606. package/dist/storage/database/provider.cjs +0 -16
  607. package/dist/storage/database/provider.d.ts +0 -56
  608. package/dist/storage/database/provider.d.ts.map +0 -1
  609. package/dist/storage/database/provider.js +0 -0
  610. package/dist/storage/database/providers/index.d.ts +0 -9
  611. package/dist/storage/database/providers/index.d.ts.map +0 -1
  612. package/dist/storage/database/providers/index.js +0 -9
  613. package/dist/storage/database/providers/memory.cjs +0 -40
  614. package/dist/storage/database/providers/memory.d.ts +0 -16
  615. package/dist/storage/database/providers/memory.d.ts.map +0 -1
  616. package/dist/storage/database/providers/memory.js +0 -17
  617. package/dist/storage/database/providers/postgres.cjs +0 -62
  618. package/dist/storage/database/providers/postgres.d.ts +0 -19
  619. package/dist/storage/database/providers/postgres.d.ts.map +0 -1
  620. package/dist/storage/database/providers/postgres.js +0 -29
  621. package/dist/storage/database/providers/sqlite.cjs +0 -66
  622. package/dist/storage/database/providers/sqlite.d.ts +0 -20
  623. package/dist/storage/database/providers/sqlite.d.ts.map +0 -1
  624. package/dist/storage/database/providers/sqlite.js +0 -33
  625. package/dist/storage/database/registry.cjs +0 -50
  626. package/dist/storage/database/registry.d.ts +0 -42
  627. package/dist/storage/database/registry.d.ts.map +0 -1
  628. package/dist/storage/database/registry.js +0 -26
  629. package/dist/storage/database/schemas.cjs +0 -97
  630. package/dist/storage/database/schemas.d.ts +0 -226
  631. package/dist/storage/database/schemas.d.ts.map +0 -1
  632. package/dist/storage/database/schemas.js +0 -70
  633. package/dist/storage/database/sqlite-store.cjs +0 -270
  634. package/dist/storage/database/sqlite-store.d.ts +0 -33
  635. package/dist/storage/database/sqlite-store.d.ts.map +0 -1
  636. package/dist/storage/database/sqlite-store.js +0 -237
  637. package/dist/storage/schemas.cjs +0 -57
  638. package/dist/storage/schemas.d.ts +0 -347
  639. package/dist/storage/schemas.d.ts.map +0 -1
  640. package/dist/storage/schemas.js +0 -37
  641. package/dist/tools/bash-pattern-utils.cjs +0 -91
  642. package/dist/tools/bash-pattern-utils.d.ts +0 -58
  643. package/dist/tools/bash-pattern-utils.d.ts.map +0 -1
  644. package/dist/tools/bash-pattern-utils.js +0 -64
  645. package/dist/tools/custom-tool-registry.cjs +0 -64
  646. package/dist/tools/custom-tool-registry.d.ts +0 -126
  647. package/dist/tools/custom-tool-registry.d.ts.map +0 -1
  648. package/dist/tools/custom-tool-registry.js +0 -40
  649. package/dist/tools/custom-tool-schema-registry.cjs +0 -164
  650. package/dist/tools/custom-tool-schema-registry.d.ts +0 -86
  651. package/dist/tools/custom-tool-schema-registry.d.ts.map +0 -1
  652. package/dist/tools/custom-tool-schema-registry.js +0 -140
  653. package/dist/tools/internal-tools/constants.d.ts +0 -12
  654. package/dist/tools/internal-tools/constants.d.ts.map +0 -1
  655. package/dist/tools/internal-tools/constants.js +0 -12
  656. package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +0 -57
  657. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +0 -18
  658. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +0 -1
  659. package/dist/tools/internal-tools/implementations/ask-user-tool.js +0 -34
  660. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +0 -192
  661. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +0 -33
  662. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +0 -1
  663. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +0 -169
  664. package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +0 -113
  665. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +0 -30
  666. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +0 -1
  667. package/dist/tools/internal-tools/implementations/get-resource-tool.js +0 -90
  668. package/dist/tools/internal-tools/implementations/invoke-skill-tool.cjs +0 -140
  669. package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts +0 -24
  670. package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts.map +0 -1
  671. package/dist/tools/internal-tools/implementations/invoke-skill-tool.js +0 -117
  672. package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +0 -91
  673. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +0 -24
  674. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +0 -1
  675. package/dist/tools/internal-tools/implementations/list-resources-tool.js +0 -68
  676. package/dist/tools/internal-tools/implementations/search-history-tool.cjs +0 -61
  677. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +0 -7
  678. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +0 -1
  679. package/dist/tools/internal-tools/implementations/search-history-tool.js +0 -38
  680. package/dist/tools/internal-tools/index.cjs +0 -26
  681. package/dist/tools/internal-tools/index.d.ts +0 -4
  682. package/dist/tools/internal-tools/index.d.ts.map +0 -1
  683. package/dist/tools/internal-tools/index.js +0 -3
  684. package/dist/tools/internal-tools/provider.cjs +0 -324
  685. package/dist/tools/internal-tools/provider.d.ts +0 -114
  686. package/dist/tools/internal-tools/provider.d.ts.map +0 -1
  687. package/dist/tools/internal-tools/provider.js +0 -301
  688. package/dist/tools/internal-tools/registry.cjs +0 -71
  689. package/dist/tools/internal-tools/registry.d.ts +0 -91
  690. package/dist/tools/internal-tools/registry.d.ts.map +0 -1
  691. package/dist/tools/internal-tools/registry.js +0 -47
  692. /package/dist/{context/compaction/provider.js → agent/agent-options.js} +0 -0
  693. /package/dist/{image/types.js → agent/runtime-config.js} +0 -0
  694. /package/dist/{image → hooks}/types.cjs +0 -0
  695. /package/dist/{plugins → hooks}/types.js +0 -0
  696. /package/dist/{plugins → workspace}/types.cjs +0 -0
  697. /package/dist/{storage/blob/provider.js → workspace/types.js} +0 -0
@@ -0,0 +1,4838 @@
1
+ import "../../chunk-PTJYTZNU.js";
2
+ const MODELS_BY_PROVIDER = {
3
+ openai: [
4
+ {
5
+ name: "gpt-3.5-turbo",
6
+ displayName: "GPT-3.5-turbo",
7
+ maxInputTokens: 16385,
8
+ supportedFileTypes: [],
9
+ pricing: {
10
+ inputPerM: 0.5,
11
+ outputPerM: 1.5,
12
+ cacheReadPerM: 1.25,
13
+ currency: "USD",
14
+ unit: "per_million_tokens"
15
+ }
16
+ },
17
+ {
18
+ name: "gpt-4",
19
+ displayName: "GPT-4",
20
+ maxInputTokens: 8192,
21
+ supportedFileTypes: [],
22
+ pricing: {
23
+ inputPerM: 30,
24
+ outputPerM: 60,
25
+ currency: "USD",
26
+ unit: "per_million_tokens"
27
+ }
28
+ },
29
+ {
30
+ name: "gpt-4-turbo",
31
+ displayName: "GPT-4 Turbo",
32
+ maxInputTokens: 128e3,
33
+ supportedFileTypes: ["pdf", "image"],
34
+ pricing: {
35
+ inputPerM: 10,
36
+ outputPerM: 30,
37
+ currency: "USD",
38
+ unit: "per_million_tokens"
39
+ }
40
+ },
41
+ {
42
+ name: "gpt-4.1",
43
+ displayName: "GPT-4.1",
44
+ maxInputTokens: 1047576,
45
+ supportedFileTypes: ["pdf", "image"],
46
+ pricing: {
47
+ inputPerM: 2,
48
+ outputPerM: 8,
49
+ cacheReadPerM: 0.5,
50
+ currency: "USD",
51
+ unit: "per_million_tokens"
52
+ }
53
+ },
54
+ {
55
+ name: "gpt-4.1-mini",
56
+ displayName: "GPT-4.1 mini",
57
+ maxInputTokens: 1047576,
58
+ supportedFileTypes: ["pdf", "image"],
59
+ pricing: {
60
+ inputPerM: 0.4,
61
+ outputPerM: 1.6,
62
+ cacheReadPerM: 0.1,
63
+ currency: "USD",
64
+ unit: "per_million_tokens"
65
+ }
66
+ },
67
+ {
68
+ name: "gpt-4.1-nano",
69
+ displayName: "GPT-4.1 nano",
70
+ maxInputTokens: 1047576,
71
+ supportedFileTypes: ["pdf", "image"],
72
+ pricing: {
73
+ inputPerM: 0.1,
74
+ outputPerM: 0.4,
75
+ cacheReadPerM: 0.03,
76
+ currency: "USD",
77
+ unit: "per_million_tokens"
78
+ }
79
+ },
80
+ {
81
+ name: "gpt-4o",
82
+ displayName: "GPT-4o",
83
+ maxInputTokens: 128e3,
84
+ supportedFileTypes: ["pdf", "image"],
85
+ pricing: {
86
+ inputPerM: 2.5,
87
+ outputPerM: 10,
88
+ cacheReadPerM: 1.25,
89
+ currency: "USD",
90
+ unit: "per_million_tokens"
91
+ }
92
+ },
93
+ {
94
+ name: "gpt-4o-2024-05-13",
95
+ displayName: "GPT-4o (2024-05-13)",
96
+ maxInputTokens: 128e3,
97
+ supportedFileTypes: ["pdf", "image"],
98
+ pricing: {
99
+ inputPerM: 5,
100
+ outputPerM: 15,
101
+ currency: "USD",
102
+ unit: "per_million_tokens"
103
+ }
104
+ },
105
+ {
106
+ name: "gpt-4o-2024-08-06",
107
+ displayName: "GPT-4o (2024-08-06)",
108
+ maxInputTokens: 128e3,
109
+ supportedFileTypes: ["pdf", "image"],
110
+ pricing: {
111
+ inputPerM: 2.5,
112
+ outputPerM: 10,
113
+ cacheReadPerM: 1.25,
114
+ currency: "USD",
115
+ unit: "per_million_tokens"
116
+ }
117
+ },
118
+ {
119
+ name: "gpt-4o-2024-11-20",
120
+ displayName: "GPT-4o (2024-11-20)",
121
+ maxInputTokens: 128e3,
122
+ supportedFileTypes: ["pdf", "image"],
123
+ pricing: {
124
+ inputPerM: 2.5,
125
+ outputPerM: 10,
126
+ cacheReadPerM: 1.25,
127
+ currency: "USD",
128
+ unit: "per_million_tokens"
129
+ }
130
+ },
131
+ {
132
+ name: "gpt-4o-mini",
133
+ displayName: "GPT-4o mini",
134
+ maxInputTokens: 128e3,
135
+ supportedFileTypes: ["pdf", "image"],
136
+ pricing: {
137
+ inputPerM: 0.15,
138
+ outputPerM: 0.6,
139
+ cacheReadPerM: 0.08,
140
+ currency: "USD",
141
+ unit: "per_million_tokens"
142
+ }
143
+ },
144
+ {
145
+ name: "gpt-5",
146
+ displayName: "GPT-5",
147
+ maxInputTokens: 272e3,
148
+ supportedFileTypes: ["pdf", "image"],
149
+ pricing: {
150
+ inputPerM: 1.25,
151
+ outputPerM: 10,
152
+ cacheReadPerM: 0.125,
153
+ currency: "USD",
154
+ unit: "per_million_tokens"
155
+ }
156
+ },
157
+ {
158
+ name: "gpt-5-chat-latest",
159
+ displayName: "GPT-5 Chat (latest)",
160
+ maxInputTokens: 272e3,
161
+ supportedFileTypes: ["pdf", "image"],
162
+ pricing: {
163
+ inputPerM: 1.25,
164
+ outputPerM: 10,
165
+ currency: "USD",
166
+ unit: "per_million_tokens"
167
+ }
168
+ },
169
+ {
170
+ name: "gpt-5-codex",
171
+ displayName: "GPT-5-Codex",
172
+ maxInputTokens: 272e3,
173
+ supportedFileTypes: ["image"],
174
+ pricing: {
175
+ inputPerM: 1.25,
176
+ outputPerM: 10,
177
+ cacheReadPerM: 0.125,
178
+ currency: "USD",
179
+ unit: "per_million_tokens"
180
+ }
181
+ },
182
+ {
183
+ name: "gpt-5-mini",
184
+ displayName: "GPT-5 Mini",
185
+ maxInputTokens: 272e3,
186
+ supportedFileTypes: ["pdf", "image"],
187
+ pricing: {
188
+ inputPerM: 0.25,
189
+ outputPerM: 2,
190
+ cacheReadPerM: 0.025,
191
+ currency: "USD",
192
+ unit: "per_million_tokens"
193
+ },
194
+ default: true
195
+ },
196
+ {
197
+ name: "gpt-5-nano",
198
+ displayName: "GPT-5 Nano",
199
+ maxInputTokens: 272e3,
200
+ supportedFileTypes: ["pdf", "image"],
201
+ pricing: {
202
+ inputPerM: 0.05,
203
+ outputPerM: 0.4,
204
+ cacheReadPerM: 5e-3,
205
+ currency: "USD",
206
+ unit: "per_million_tokens"
207
+ }
208
+ },
209
+ {
210
+ name: "gpt-5-pro",
211
+ displayName: "GPT-5 Pro",
212
+ maxInputTokens: 272e3,
213
+ supportedFileTypes: ["pdf", "image"],
214
+ pricing: {
215
+ inputPerM: 15,
216
+ outputPerM: 120,
217
+ currency: "USD",
218
+ unit: "per_million_tokens"
219
+ }
220
+ },
221
+ {
222
+ name: "gpt-5.1",
223
+ displayName: "GPT-5.1",
224
+ maxInputTokens: 272e3,
225
+ supportedFileTypes: ["pdf", "image"],
226
+ pricing: {
227
+ inputPerM: 1.25,
228
+ outputPerM: 10,
229
+ cacheReadPerM: 0.13,
230
+ currency: "USD",
231
+ unit: "per_million_tokens"
232
+ }
233
+ },
234
+ {
235
+ name: "gpt-5.1-chat-latest",
236
+ displayName: "GPT-5.1 Chat",
237
+ maxInputTokens: 128e3,
238
+ supportedFileTypes: ["pdf", "image"],
239
+ pricing: {
240
+ inputPerM: 1.25,
241
+ outputPerM: 10,
242
+ cacheReadPerM: 0.125,
243
+ currency: "USD",
244
+ unit: "per_million_tokens"
245
+ }
246
+ },
247
+ {
248
+ name: "gpt-5.1-codex",
249
+ displayName: "GPT-5.1 Codex",
250
+ maxInputTokens: 272e3,
251
+ supportedFileTypes: ["pdf", "image"],
252
+ pricing: {
253
+ inputPerM: 1.25,
254
+ outputPerM: 10,
255
+ cacheReadPerM: 0.125,
256
+ currency: "USD",
257
+ unit: "per_million_tokens"
258
+ }
259
+ },
260
+ {
261
+ name: "gpt-5.1-codex-max",
262
+ displayName: "GPT-5.1 Codex Max",
263
+ maxInputTokens: 272e3,
264
+ supportedFileTypes: ["pdf", "image"],
265
+ pricing: {
266
+ inputPerM: 1.25,
267
+ outputPerM: 10,
268
+ cacheReadPerM: 0.125,
269
+ currency: "USD",
270
+ unit: "per_million_tokens"
271
+ }
272
+ },
273
+ {
274
+ name: "gpt-5.1-codex-mini",
275
+ displayName: "GPT-5.1 Codex mini",
276
+ maxInputTokens: 272e3,
277
+ supportedFileTypes: ["pdf", "image"],
278
+ pricing: {
279
+ inputPerM: 0.25,
280
+ outputPerM: 2,
281
+ cacheReadPerM: 0.025,
282
+ currency: "USD",
283
+ unit: "per_million_tokens"
284
+ }
285
+ },
286
+ {
287
+ name: "gpt-5.2",
288
+ displayName: "GPT-5.2",
289
+ maxInputTokens: 272e3,
290
+ supportedFileTypes: ["pdf", "image"],
291
+ pricing: {
292
+ inputPerM: 1.75,
293
+ outputPerM: 14,
294
+ cacheReadPerM: 0.175,
295
+ currency: "USD",
296
+ unit: "per_million_tokens"
297
+ }
298
+ },
299
+ {
300
+ name: "gpt-5.2-chat-latest",
301
+ displayName: "GPT-5.2 Chat",
302
+ maxInputTokens: 128e3,
303
+ supportedFileTypes: ["pdf", "image"],
304
+ pricing: {
305
+ inputPerM: 1.75,
306
+ outputPerM: 14,
307
+ cacheReadPerM: 0.175,
308
+ currency: "USD",
309
+ unit: "per_million_tokens"
310
+ }
311
+ },
312
+ {
313
+ name: "gpt-5.2-codex",
314
+ displayName: "GPT-5.2 Codex",
315
+ maxInputTokens: 272e3,
316
+ supportedFileTypes: ["pdf", "image"],
317
+ pricing: {
318
+ inputPerM: 1.75,
319
+ outputPerM: 14,
320
+ cacheReadPerM: 0.175,
321
+ currency: "USD",
322
+ unit: "per_million_tokens"
323
+ }
324
+ },
325
+ {
326
+ name: "gpt-5.2-pro",
327
+ displayName: "GPT-5.2 Pro",
328
+ maxInputTokens: 272e3,
329
+ supportedFileTypes: ["pdf", "image"],
330
+ pricing: {
331
+ inputPerM: 21,
332
+ outputPerM: 168,
333
+ currency: "USD",
334
+ unit: "per_million_tokens"
335
+ }
336
+ },
337
+ {
338
+ name: "o1",
339
+ displayName: "o1",
340
+ maxInputTokens: 2e5,
341
+ supportedFileTypes: ["pdf", "image"],
342
+ pricing: {
343
+ inputPerM: 15,
344
+ outputPerM: 60,
345
+ cacheReadPerM: 7.5,
346
+ currency: "USD",
347
+ unit: "per_million_tokens"
348
+ }
349
+ },
350
+ {
351
+ name: "o1-mini",
352
+ displayName: "o1-mini",
353
+ maxInputTokens: 128e3,
354
+ supportedFileTypes: [],
355
+ pricing: {
356
+ inputPerM: 1.1,
357
+ outputPerM: 4.4,
358
+ cacheReadPerM: 0.55,
359
+ currency: "USD",
360
+ unit: "per_million_tokens"
361
+ }
362
+ },
363
+ {
364
+ name: "o1-preview",
365
+ displayName: "o1-preview",
366
+ maxInputTokens: 128e3,
367
+ supportedFileTypes: [],
368
+ pricing: {
369
+ inputPerM: 15,
370
+ outputPerM: 60,
371
+ cacheReadPerM: 7.5,
372
+ currency: "USD",
373
+ unit: "per_million_tokens"
374
+ }
375
+ },
376
+ {
377
+ name: "o1-pro",
378
+ displayName: "o1-pro",
379
+ maxInputTokens: 2e5,
380
+ supportedFileTypes: ["pdf", "image"],
381
+ pricing: {
382
+ inputPerM: 150,
383
+ outputPerM: 600,
384
+ currency: "USD",
385
+ unit: "per_million_tokens"
386
+ }
387
+ },
388
+ {
389
+ name: "o3",
390
+ displayName: "o3",
391
+ maxInputTokens: 2e5,
392
+ supportedFileTypes: ["pdf", "image"],
393
+ pricing: {
394
+ inputPerM: 2,
395
+ outputPerM: 8,
396
+ cacheReadPerM: 0.5,
397
+ currency: "USD",
398
+ unit: "per_million_tokens"
399
+ }
400
+ },
401
+ {
402
+ name: "o3-deep-research",
403
+ displayName: "o3-deep-research",
404
+ maxInputTokens: 2e5,
405
+ supportedFileTypes: ["pdf", "image"],
406
+ pricing: {
407
+ inputPerM: 10,
408
+ outputPerM: 40,
409
+ cacheReadPerM: 2.5,
410
+ currency: "USD",
411
+ unit: "per_million_tokens"
412
+ }
413
+ },
414
+ {
415
+ name: "o3-mini",
416
+ displayName: "o3-mini",
417
+ maxInputTokens: 2e5,
418
+ supportedFileTypes: [],
419
+ pricing: {
420
+ inputPerM: 1.1,
421
+ outputPerM: 4.4,
422
+ cacheReadPerM: 0.55,
423
+ currency: "USD",
424
+ unit: "per_million_tokens"
425
+ }
426
+ },
427
+ {
428
+ name: "o3-pro",
429
+ displayName: "o3-pro",
430
+ maxInputTokens: 2e5,
431
+ supportedFileTypes: ["pdf", "image"],
432
+ pricing: {
433
+ inputPerM: 20,
434
+ outputPerM: 80,
435
+ currency: "USD",
436
+ unit: "per_million_tokens"
437
+ }
438
+ },
439
+ {
440
+ name: "o4-mini",
441
+ displayName: "o4-mini",
442
+ maxInputTokens: 2e5,
443
+ supportedFileTypes: ["pdf", "image"],
444
+ pricing: {
445
+ inputPerM: 1.1,
446
+ outputPerM: 4.4,
447
+ cacheReadPerM: 0.28,
448
+ currency: "USD",
449
+ unit: "per_million_tokens"
450
+ }
451
+ },
452
+ {
453
+ name: "o4-mini-deep-research",
454
+ displayName: "o4-mini-deep-research",
455
+ maxInputTokens: 2e5,
456
+ supportedFileTypes: ["pdf", "image"],
457
+ pricing: {
458
+ inputPerM: 2,
459
+ outputPerM: 8,
460
+ cacheReadPerM: 0.5,
461
+ currency: "USD",
462
+ unit: "per_million_tokens"
463
+ }
464
+ }
465
+ ],
466
+ "openai-compatible": [],
467
+ anthropic: [
468
+ {
469
+ name: "claude-3-5-haiku-20241022",
470
+ displayName: "Claude Haiku 3.5",
471
+ maxInputTokens: 2e5,
472
+ supportedFileTypes: ["pdf", "image"],
473
+ pricing: {
474
+ inputPerM: 0.8,
475
+ outputPerM: 4,
476
+ cacheReadPerM: 0.08,
477
+ cacheWritePerM: 1,
478
+ currency: "USD",
479
+ unit: "per_million_tokens"
480
+ }
481
+ },
482
+ {
483
+ name: "claude-3-5-haiku-latest",
484
+ displayName: "Claude Haiku 3.5 (latest)",
485
+ maxInputTokens: 2e5,
486
+ supportedFileTypes: ["pdf", "image"],
487
+ pricing: {
488
+ inputPerM: 0.8,
489
+ outputPerM: 4,
490
+ cacheReadPerM: 0.08,
491
+ cacheWritePerM: 1,
492
+ currency: "USD",
493
+ unit: "per_million_tokens"
494
+ }
495
+ },
496
+ {
497
+ name: "claude-3-5-sonnet-20240620",
498
+ displayName: "Claude Sonnet 3.5",
499
+ maxInputTokens: 2e5,
500
+ supportedFileTypes: ["pdf", "image"],
501
+ pricing: {
502
+ inputPerM: 3,
503
+ outputPerM: 15,
504
+ cacheReadPerM: 0.3,
505
+ cacheWritePerM: 3.75,
506
+ currency: "USD",
507
+ unit: "per_million_tokens"
508
+ }
509
+ },
510
+ {
511
+ name: "claude-3-5-sonnet-20241022",
512
+ displayName: "Claude Sonnet 3.5 v2",
513
+ maxInputTokens: 2e5,
514
+ supportedFileTypes: ["pdf", "image"],
515
+ pricing: {
516
+ inputPerM: 3,
517
+ outputPerM: 15,
518
+ cacheReadPerM: 0.3,
519
+ cacheWritePerM: 3.75,
520
+ currency: "USD",
521
+ unit: "per_million_tokens"
522
+ }
523
+ },
524
+ {
525
+ name: "claude-3-7-sonnet-20250219",
526
+ displayName: "Claude Sonnet 3.7",
527
+ maxInputTokens: 2e5,
528
+ supportedFileTypes: ["pdf", "image"],
529
+ pricing: {
530
+ inputPerM: 3,
531
+ outputPerM: 15,
532
+ cacheReadPerM: 0.3,
533
+ cacheWritePerM: 3.75,
534
+ currency: "USD",
535
+ unit: "per_million_tokens"
536
+ }
537
+ },
538
+ {
539
+ name: "claude-3-7-sonnet-latest",
540
+ displayName: "Claude Sonnet 3.7 (latest)",
541
+ maxInputTokens: 2e5,
542
+ supportedFileTypes: ["pdf", "image"],
543
+ pricing: {
544
+ inputPerM: 3,
545
+ outputPerM: 15,
546
+ cacheReadPerM: 0.3,
547
+ cacheWritePerM: 3.75,
548
+ currency: "USD",
549
+ unit: "per_million_tokens"
550
+ }
551
+ },
552
+ {
553
+ name: "claude-3-haiku-20240307",
554
+ displayName: "Claude Haiku 3",
555
+ maxInputTokens: 2e5,
556
+ supportedFileTypes: ["pdf", "image"],
557
+ pricing: {
558
+ inputPerM: 0.25,
559
+ outputPerM: 1.25,
560
+ cacheReadPerM: 0.03,
561
+ cacheWritePerM: 0.3,
562
+ currency: "USD",
563
+ unit: "per_million_tokens"
564
+ }
565
+ },
566
+ {
567
+ name: "claude-3-opus-20240229",
568
+ displayName: "Claude Opus 3",
569
+ maxInputTokens: 2e5,
570
+ supportedFileTypes: ["pdf", "image"],
571
+ pricing: {
572
+ inputPerM: 15,
573
+ outputPerM: 75,
574
+ cacheReadPerM: 1.5,
575
+ cacheWritePerM: 18.75,
576
+ currency: "USD",
577
+ unit: "per_million_tokens"
578
+ }
579
+ },
580
+ {
581
+ name: "claude-3-sonnet-20240229",
582
+ displayName: "Claude Sonnet 3",
583
+ maxInputTokens: 2e5,
584
+ supportedFileTypes: ["pdf", "image"],
585
+ pricing: {
586
+ inputPerM: 3,
587
+ outputPerM: 15,
588
+ cacheReadPerM: 0.3,
589
+ cacheWritePerM: 0.3,
590
+ currency: "USD",
591
+ unit: "per_million_tokens"
592
+ }
593
+ },
594
+ {
595
+ name: "claude-haiku-4-5",
596
+ displayName: "Claude Haiku 4.5 (latest)",
597
+ maxInputTokens: 2e5,
598
+ supportedFileTypes: ["pdf", "image"],
599
+ pricing: {
600
+ inputPerM: 1,
601
+ outputPerM: 5,
602
+ cacheReadPerM: 0.1,
603
+ cacheWritePerM: 1.25,
604
+ currency: "USD",
605
+ unit: "per_million_tokens"
606
+ }
607
+ },
608
+ {
609
+ name: "claude-haiku-4-5-20251001",
610
+ displayName: "Claude Haiku 4.5",
611
+ maxInputTokens: 2e5,
612
+ supportedFileTypes: ["pdf", "image"],
613
+ pricing: {
614
+ inputPerM: 1,
615
+ outputPerM: 5,
616
+ cacheReadPerM: 0.1,
617
+ cacheWritePerM: 1.25,
618
+ currency: "USD",
619
+ unit: "per_million_tokens"
620
+ },
621
+ default: true
622
+ },
623
+ {
624
+ name: "claude-opus-4-0",
625
+ displayName: "Claude Opus 4 (latest)",
626
+ maxInputTokens: 2e5,
627
+ supportedFileTypes: ["pdf", "image"],
628
+ pricing: {
629
+ inputPerM: 15,
630
+ outputPerM: 75,
631
+ cacheReadPerM: 1.5,
632
+ cacheWritePerM: 18.75,
633
+ currency: "USD",
634
+ unit: "per_million_tokens"
635
+ }
636
+ },
637
+ {
638
+ name: "claude-opus-4-1",
639
+ displayName: "Claude Opus 4.1 (latest)",
640
+ maxInputTokens: 2e5,
641
+ supportedFileTypes: ["pdf", "image"],
642
+ pricing: {
643
+ inputPerM: 15,
644
+ outputPerM: 75,
645
+ cacheReadPerM: 1.5,
646
+ cacheWritePerM: 18.75,
647
+ currency: "USD",
648
+ unit: "per_million_tokens"
649
+ }
650
+ },
651
+ {
652
+ name: "claude-opus-4-1-20250805",
653
+ displayName: "Claude Opus 4.1",
654
+ maxInputTokens: 2e5,
655
+ supportedFileTypes: ["pdf", "image"],
656
+ pricing: {
657
+ inputPerM: 15,
658
+ outputPerM: 75,
659
+ cacheReadPerM: 1.5,
660
+ cacheWritePerM: 18.75,
661
+ currency: "USD",
662
+ unit: "per_million_tokens"
663
+ }
664
+ },
665
+ {
666
+ name: "claude-opus-4-20250514",
667
+ displayName: "Claude Opus 4",
668
+ maxInputTokens: 2e5,
669
+ supportedFileTypes: ["pdf", "image"],
670
+ pricing: {
671
+ inputPerM: 15,
672
+ outputPerM: 75,
673
+ cacheReadPerM: 1.5,
674
+ cacheWritePerM: 18.75,
675
+ currency: "USD",
676
+ unit: "per_million_tokens"
677
+ }
678
+ },
679
+ {
680
+ name: "claude-opus-4-5",
681
+ displayName: "Claude Opus 4.5 (latest)",
682
+ maxInputTokens: 2e5,
683
+ supportedFileTypes: ["pdf", "image"],
684
+ pricing: {
685
+ inputPerM: 5,
686
+ outputPerM: 25,
687
+ cacheReadPerM: 0.5,
688
+ cacheWritePerM: 6.25,
689
+ currency: "USD",
690
+ unit: "per_million_tokens"
691
+ }
692
+ },
693
+ {
694
+ name: "claude-opus-4-5-20251101",
695
+ displayName: "Claude Opus 4.5",
696
+ maxInputTokens: 2e5,
697
+ supportedFileTypes: ["pdf", "image"],
698
+ pricing: {
699
+ inputPerM: 5,
700
+ outputPerM: 25,
701
+ cacheReadPerM: 0.5,
702
+ cacheWritePerM: 6.25,
703
+ currency: "USD",
704
+ unit: "per_million_tokens"
705
+ }
706
+ },
707
+ {
708
+ name: "claude-sonnet-4-0",
709
+ displayName: "Claude Sonnet 4 (latest)",
710
+ maxInputTokens: 2e5,
711
+ supportedFileTypes: ["pdf", "image"],
712
+ pricing: {
713
+ inputPerM: 3,
714
+ outputPerM: 15,
715
+ cacheReadPerM: 0.3,
716
+ cacheWritePerM: 3.75,
717
+ currency: "USD",
718
+ unit: "per_million_tokens"
719
+ }
720
+ },
721
+ {
722
+ name: "claude-sonnet-4-20250514",
723
+ displayName: "Claude Sonnet 4",
724
+ maxInputTokens: 2e5,
725
+ supportedFileTypes: ["pdf", "image"],
726
+ pricing: {
727
+ inputPerM: 3,
728
+ outputPerM: 15,
729
+ cacheReadPerM: 0.3,
730
+ cacheWritePerM: 3.75,
731
+ currency: "USD",
732
+ unit: "per_million_tokens"
733
+ }
734
+ },
735
+ {
736
+ name: "claude-sonnet-4-5",
737
+ displayName: "Claude Sonnet 4.5 (latest)",
738
+ maxInputTokens: 2e5,
739
+ supportedFileTypes: ["pdf", "image"],
740
+ pricing: {
741
+ inputPerM: 3,
742
+ outputPerM: 15,
743
+ cacheReadPerM: 0.3,
744
+ cacheWritePerM: 3.75,
745
+ currency: "USD",
746
+ unit: "per_million_tokens"
747
+ }
748
+ },
749
+ {
750
+ name: "claude-sonnet-4-5-20250929",
751
+ displayName: "Claude Sonnet 4.5",
752
+ maxInputTokens: 2e5,
753
+ supportedFileTypes: ["pdf", "image"],
754
+ pricing: {
755
+ inputPerM: 3,
756
+ outputPerM: 15,
757
+ cacheReadPerM: 0.3,
758
+ cacheWritePerM: 3.75,
759
+ currency: "USD",
760
+ unit: "per_million_tokens"
761
+ }
762
+ }
763
+ ],
764
+ google: [
765
+ {
766
+ name: "gemini-1.5-flash",
767
+ displayName: "Gemini 1.5 Flash",
768
+ maxInputTokens: 1e6,
769
+ supportedFileTypes: ["image", "audio"],
770
+ pricing: {
771
+ inputPerM: 0.075,
772
+ outputPerM: 0.3,
773
+ cacheReadPerM: 0.01875,
774
+ currency: "USD",
775
+ unit: "per_million_tokens"
776
+ }
777
+ },
778
+ {
779
+ name: "gemini-1.5-flash-8b",
780
+ displayName: "Gemini 1.5 Flash-8B",
781
+ maxInputTokens: 1e6,
782
+ supportedFileTypes: ["image", "audio"],
783
+ pricing: {
784
+ inputPerM: 0.0375,
785
+ outputPerM: 0.15,
786
+ cacheReadPerM: 0.01,
787
+ currency: "USD",
788
+ unit: "per_million_tokens"
789
+ }
790
+ },
791
+ {
792
+ name: "gemini-1.5-pro",
793
+ displayName: "Gemini 1.5 Pro",
794
+ maxInputTokens: 1e6,
795
+ supportedFileTypes: ["image", "audio"],
796
+ pricing: {
797
+ inputPerM: 1.25,
798
+ outputPerM: 5,
799
+ cacheReadPerM: 0.3125,
800
+ currency: "USD",
801
+ unit: "per_million_tokens"
802
+ }
803
+ },
804
+ {
805
+ name: "gemini-2.0-flash",
806
+ displayName: "Gemini 2.0 Flash",
807
+ maxInputTokens: 1048576,
808
+ supportedFileTypes: ["pdf", "image", "audio"],
809
+ pricing: {
810
+ inputPerM: 0.1,
811
+ outputPerM: 0.4,
812
+ cacheReadPerM: 0.025,
813
+ currency: "USD",
814
+ unit: "per_million_tokens"
815
+ }
816
+ },
817
+ {
818
+ name: "gemini-2.0-flash-lite",
819
+ displayName: "Gemini 2.0 Flash Lite",
820
+ maxInputTokens: 1048576,
821
+ supportedFileTypes: ["pdf", "image", "audio"],
822
+ pricing: {
823
+ inputPerM: 0.075,
824
+ outputPerM: 0.3,
825
+ currency: "USD",
826
+ unit: "per_million_tokens"
827
+ }
828
+ },
829
+ {
830
+ name: "gemini-2.5-flash",
831
+ displayName: "Gemini 2.5 Flash",
832
+ maxInputTokens: 1048576,
833
+ supportedFileTypes: ["pdf", "image", "audio"],
834
+ pricing: {
835
+ inputPerM: 0.3,
836
+ outputPerM: 2.5,
837
+ cacheReadPerM: 0.075,
838
+ currency: "USD",
839
+ unit: "per_million_tokens"
840
+ }
841
+ },
842
+ {
843
+ name: "gemini-2.5-flash-image",
844
+ displayName: "Gemini 2.5 Flash Image",
845
+ maxInputTokens: 32768,
846
+ supportedFileTypes: ["image"],
847
+ pricing: {
848
+ inputPerM: 0.3,
849
+ outputPerM: 30,
850
+ cacheReadPerM: 0.075,
851
+ currency: "USD",
852
+ unit: "per_million_tokens"
853
+ }
854
+ },
855
+ {
856
+ name: "gemini-2.5-flash-image-preview",
857
+ displayName: "Gemini 2.5 Flash Image (Preview)",
858
+ maxInputTokens: 32768,
859
+ supportedFileTypes: ["image"],
860
+ pricing: {
861
+ inputPerM: 0.3,
862
+ outputPerM: 30,
863
+ cacheReadPerM: 0.075,
864
+ currency: "USD",
865
+ unit: "per_million_tokens"
866
+ }
867
+ },
868
+ {
869
+ name: "gemini-2.5-flash-lite",
870
+ displayName: "Gemini 2.5 Flash Lite",
871
+ maxInputTokens: 1048576,
872
+ supportedFileTypes: ["pdf", "image", "audio"],
873
+ pricing: {
874
+ inputPerM: 0.1,
875
+ outputPerM: 0.4,
876
+ cacheReadPerM: 0.025,
877
+ currency: "USD",
878
+ unit: "per_million_tokens"
879
+ }
880
+ },
881
+ {
882
+ name: "gemini-2.5-flash-lite-preview-06-17",
883
+ displayName: "Gemini 2.5 Flash Lite Preview 06-17",
884
+ maxInputTokens: 1048576,
885
+ supportedFileTypes: ["pdf", "image", "audio"],
886
+ pricing: {
887
+ inputPerM: 0.1,
888
+ outputPerM: 0.4,
889
+ cacheReadPerM: 0.025,
890
+ currency: "USD",
891
+ unit: "per_million_tokens"
892
+ }
893
+ },
894
+ {
895
+ name: "gemini-2.5-flash-lite-preview-09-2025",
896
+ displayName: "Gemini 2.5 Flash Lite Preview 09-25",
897
+ maxInputTokens: 1048576,
898
+ supportedFileTypes: ["pdf", "image", "audio"],
899
+ pricing: {
900
+ inputPerM: 0.1,
901
+ outputPerM: 0.4,
902
+ cacheReadPerM: 0.025,
903
+ currency: "USD",
904
+ unit: "per_million_tokens"
905
+ }
906
+ },
907
+ {
908
+ name: "gemini-2.5-flash-preview-04-17",
909
+ displayName: "Gemini 2.5 Flash Preview 04-17",
910
+ maxInputTokens: 1048576,
911
+ supportedFileTypes: ["pdf", "image", "audio"],
912
+ pricing: {
913
+ inputPerM: 0.15,
914
+ outputPerM: 0.6,
915
+ cacheReadPerM: 0.0375,
916
+ currency: "USD",
917
+ unit: "per_million_tokens"
918
+ }
919
+ },
920
+ {
921
+ name: "gemini-2.5-flash-preview-05-20",
922
+ displayName: "Gemini 2.5 Flash Preview 05-20",
923
+ maxInputTokens: 1048576,
924
+ supportedFileTypes: ["pdf", "image", "audio"],
925
+ pricing: {
926
+ inputPerM: 0.15,
927
+ outputPerM: 0.6,
928
+ cacheReadPerM: 0.0375,
929
+ currency: "USD",
930
+ unit: "per_million_tokens"
931
+ }
932
+ },
933
+ {
934
+ name: "gemini-2.5-flash-preview-09-2025",
935
+ displayName: "Gemini 2.5 Flash Preview 09-25",
936
+ maxInputTokens: 1048576,
937
+ supportedFileTypes: ["pdf", "image", "audio"],
938
+ pricing: {
939
+ inputPerM: 0.3,
940
+ outputPerM: 2.5,
941
+ cacheReadPerM: 0.075,
942
+ currency: "USD",
943
+ unit: "per_million_tokens"
944
+ }
945
+ },
946
+ {
947
+ name: "gemini-2.5-flash-preview-tts",
948
+ displayName: "Gemini 2.5 Flash Preview TTS",
949
+ maxInputTokens: 8e3,
950
+ supportedFileTypes: [],
951
+ pricing: {
952
+ inputPerM: 0.5,
953
+ outputPerM: 10,
954
+ currency: "USD",
955
+ unit: "per_million_tokens"
956
+ }
957
+ },
958
+ {
959
+ name: "gemini-2.5-pro",
960
+ displayName: "Gemini 2.5 Pro",
961
+ maxInputTokens: 1048576,
962
+ supportedFileTypes: ["pdf", "image", "audio"],
963
+ pricing: {
964
+ inputPerM: 1.25,
965
+ outputPerM: 10,
966
+ cacheReadPerM: 0.31,
967
+ currency: "USD",
968
+ unit: "per_million_tokens"
969
+ }
970
+ },
971
+ {
972
+ name: "gemini-2.5-pro-preview-05-06",
973
+ displayName: "Gemini 2.5 Pro Preview 05-06",
974
+ maxInputTokens: 1048576,
975
+ supportedFileTypes: ["pdf", "image", "audio"],
976
+ pricing: {
977
+ inputPerM: 1.25,
978
+ outputPerM: 10,
979
+ cacheReadPerM: 0.31,
980
+ currency: "USD",
981
+ unit: "per_million_tokens"
982
+ }
983
+ },
984
+ {
985
+ name: "gemini-2.5-pro-preview-06-05",
986
+ displayName: "Gemini 2.5 Pro Preview 06-05",
987
+ maxInputTokens: 1048576,
988
+ supportedFileTypes: ["pdf", "image", "audio"],
989
+ pricing: {
990
+ inputPerM: 1.25,
991
+ outputPerM: 10,
992
+ cacheReadPerM: 0.31,
993
+ currency: "USD",
994
+ unit: "per_million_tokens"
995
+ }
996
+ },
997
+ {
998
+ name: "gemini-2.5-pro-preview-tts",
999
+ displayName: "Gemini 2.5 Pro Preview TTS",
1000
+ maxInputTokens: 8e3,
1001
+ supportedFileTypes: [],
1002
+ pricing: {
1003
+ inputPerM: 1,
1004
+ outputPerM: 20,
1005
+ currency: "USD",
1006
+ unit: "per_million_tokens"
1007
+ }
1008
+ },
1009
+ {
1010
+ name: "gemini-3-flash-preview",
1011
+ displayName: "Gemini 3 Flash Preview",
1012
+ maxInputTokens: 1048576,
1013
+ supportedFileTypes: ["pdf", "image", "audio"],
1014
+ pricing: {
1015
+ inputPerM: 0.5,
1016
+ outputPerM: 3,
1017
+ cacheReadPerM: 0.05,
1018
+ currency: "USD",
1019
+ unit: "per_million_tokens"
1020
+ },
1021
+ default: true
1022
+ },
1023
+ {
1024
+ name: "gemini-3-pro-preview",
1025
+ displayName: "Gemini 3 Pro Preview",
1026
+ maxInputTokens: 1e6,
1027
+ supportedFileTypes: ["pdf", "image", "audio"],
1028
+ pricing: {
1029
+ inputPerM: 2,
1030
+ outputPerM: 12,
1031
+ cacheReadPerM: 0.2,
1032
+ currency: "USD",
1033
+ unit: "per_million_tokens"
1034
+ }
1035
+ },
1036
+ {
1037
+ name: "gemini-embedding-001",
1038
+ displayName: "Gemini Embedding 001",
1039
+ maxInputTokens: 2048,
1040
+ supportedFileTypes: [],
1041
+ pricing: {
1042
+ inputPerM: 0.15,
1043
+ outputPerM: 0,
1044
+ currency: "USD",
1045
+ unit: "per_million_tokens"
1046
+ }
1047
+ },
1048
+ {
1049
+ name: "gemini-flash-latest",
1050
+ displayName: "Gemini Flash Latest",
1051
+ maxInputTokens: 1048576,
1052
+ supportedFileTypes: ["pdf", "image", "audio"],
1053
+ pricing: {
1054
+ inputPerM: 0.3,
1055
+ outputPerM: 2.5,
1056
+ cacheReadPerM: 0.075,
1057
+ currency: "USD",
1058
+ unit: "per_million_tokens"
1059
+ }
1060
+ },
1061
+ {
1062
+ name: "gemini-flash-lite-latest",
1063
+ displayName: "Gemini Flash-Lite Latest",
1064
+ maxInputTokens: 1048576,
1065
+ supportedFileTypes: ["pdf", "image", "audio"],
1066
+ pricing: {
1067
+ inputPerM: 0.1,
1068
+ outputPerM: 0.4,
1069
+ cacheReadPerM: 0.025,
1070
+ currency: "USD",
1071
+ unit: "per_million_tokens"
1072
+ }
1073
+ },
1074
+ {
1075
+ name: "gemini-live-2.5-flash",
1076
+ displayName: "Gemini Live 2.5 Flash",
1077
+ maxInputTokens: 128e3,
1078
+ supportedFileTypes: ["image", "audio"],
1079
+ pricing: {
1080
+ inputPerM: 0.5,
1081
+ outputPerM: 2,
1082
+ currency: "USD",
1083
+ unit: "per_million_tokens"
1084
+ }
1085
+ },
1086
+ {
1087
+ name: "gemini-live-2.5-flash-preview-native-audio",
1088
+ displayName: "Gemini Live 2.5 Flash Preview Native Audio",
1089
+ maxInputTokens: 131072,
1090
+ supportedFileTypes: ["audio"],
1091
+ pricing: {
1092
+ inputPerM: 0.5,
1093
+ outputPerM: 2,
1094
+ currency: "USD",
1095
+ unit: "per_million_tokens"
1096
+ }
1097
+ }
1098
+ ],
1099
+ groq: [
1100
+ {
1101
+ name: "deepseek-r1-distill-llama-70b",
1102
+ displayName: "DeepSeek R1 Distill Llama 70B",
1103
+ maxInputTokens: 131072,
1104
+ supportedFileTypes: [],
1105
+ pricing: {
1106
+ inputPerM: 0.75,
1107
+ outputPerM: 0.99,
1108
+ currency: "USD",
1109
+ unit: "per_million_tokens"
1110
+ }
1111
+ },
1112
+ {
1113
+ name: "gemma2-9b-it",
1114
+ displayName: "Gemma 2 9B",
1115
+ maxInputTokens: 8192,
1116
+ supportedFileTypes: [],
1117
+ pricing: {
1118
+ inputPerM: 0.2,
1119
+ outputPerM: 0.2,
1120
+ currency: "USD",
1121
+ unit: "per_million_tokens"
1122
+ }
1123
+ },
1124
+ {
1125
+ name: "llama-3.1-8b-instant",
1126
+ displayName: "Llama 3.1 8B Instant",
1127
+ maxInputTokens: 131072,
1128
+ supportedFileTypes: [],
1129
+ pricing: {
1130
+ inputPerM: 0.05,
1131
+ outputPerM: 0.08,
1132
+ currency: "USD",
1133
+ unit: "per_million_tokens"
1134
+ }
1135
+ },
1136
+ {
1137
+ name: "llama-3.3-70b-versatile",
1138
+ displayName: "Llama 3.3 70B Versatile",
1139
+ maxInputTokens: 131072,
1140
+ supportedFileTypes: [],
1141
+ pricing: {
1142
+ inputPerM: 0.59,
1143
+ outputPerM: 0.79,
1144
+ currency: "USD",
1145
+ unit: "per_million_tokens"
1146
+ },
1147
+ default: true
1148
+ },
1149
+ {
1150
+ name: "llama-guard-3-8b",
1151
+ displayName: "Llama Guard 3 8B",
1152
+ maxInputTokens: 8192,
1153
+ supportedFileTypes: [],
1154
+ pricing: {
1155
+ inputPerM: 0.2,
1156
+ outputPerM: 0.2,
1157
+ currency: "USD",
1158
+ unit: "per_million_tokens"
1159
+ }
1160
+ },
1161
+ {
1162
+ name: "llama3-70b-8192",
1163
+ displayName: "Llama 3 70B",
1164
+ maxInputTokens: 8192,
1165
+ supportedFileTypes: [],
1166
+ pricing: {
1167
+ inputPerM: 0.59,
1168
+ outputPerM: 0.79,
1169
+ currency: "USD",
1170
+ unit: "per_million_tokens"
1171
+ }
1172
+ },
1173
+ {
1174
+ name: "llama3-8b-8192",
1175
+ displayName: "Llama 3 8B",
1176
+ maxInputTokens: 8192,
1177
+ supportedFileTypes: [],
1178
+ pricing: {
1179
+ inputPerM: 0.05,
1180
+ outputPerM: 0.08,
1181
+ currency: "USD",
1182
+ unit: "per_million_tokens"
1183
+ }
1184
+ },
1185
+ {
1186
+ name: "meta-llama/llama-4-maverick-17b-128e-instruct",
1187
+ displayName: "Llama 4 Maverick 17B",
1188
+ maxInputTokens: 131072,
1189
+ supportedFileTypes: ["image"],
1190
+ pricing: {
1191
+ inputPerM: 0.2,
1192
+ outputPerM: 0.6,
1193
+ currency: "USD",
1194
+ unit: "per_million_tokens"
1195
+ }
1196
+ },
1197
+ {
1198
+ name: "meta-llama/llama-4-scout-17b-16e-instruct",
1199
+ displayName: "Llama 4 Scout 17B",
1200
+ maxInputTokens: 131072,
1201
+ supportedFileTypes: ["image"],
1202
+ pricing: {
1203
+ inputPerM: 0.11,
1204
+ outputPerM: 0.34,
1205
+ currency: "USD",
1206
+ unit: "per_million_tokens"
1207
+ }
1208
+ },
1209
+ {
1210
+ name: "meta-llama/llama-guard-4-12b",
1211
+ displayName: "Llama Guard 4 12B",
1212
+ maxInputTokens: 131072,
1213
+ supportedFileTypes: ["image"],
1214
+ pricing: {
1215
+ inputPerM: 0.2,
1216
+ outputPerM: 0.2,
1217
+ currency: "USD",
1218
+ unit: "per_million_tokens"
1219
+ }
1220
+ },
1221
+ {
1222
+ name: "mistral-saba-24b",
1223
+ displayName: "Mistral Saba 24B",
1224
+ maxInputTokens: 32768,
1225
+ supportedFileTypes: [],
1226
+ pricing: {
1227
+ inputPerM: 0.79,
1228
+ outputPerM: 0.79,
1229
+ currency: "USD",
1230
+ unit: "per_million_tokens"
1231
+ }
1232
+ },
1233
+ {
1234
+ name: "moonshotai/kimi-k2-instruct",
1235
+ displayName: "Kimi K2 Instruct",
1236
+ maxInputTokens: 131072,
1237
+ supportedFileTypes: [],
1238
+ pricing: {
1239
+ inputPerM: 1,
1240
+ outputPerM: 3,
1241
+ currency: "USD",
1242
+ unit: "per_million_tokens"
1243
+ }
1244
+ },
1245
+ {
1246
+ name: "moonshotai/kimi-k2-instruct-0905",
1247
+ displayName: "Kimi K2 Instruct 0905",
1248
+ maxInputTokens: 262144,
1249
+ supportedFileTypes: [],
1250
+ pricing: {
1251
+ inputPerM: 1,
1252
+ outputPerM: 3,
1253
+ currency: "USD",
1254
+ unit: "per_million_tokens"
1255
+ }
1256
+ },
1257
+ {
1258
+ name: "openai/gpt-oss-120b",
1259
+ displayName: "GPT OSS 120B",
1260
+ maxInputTokens: 131072,
1261
+ supportedFileTypes: [],
1262
+ pricing: {
1263
+ inputPerM: 0.15,
1264
+ outputPerM: 0.6,
1265
+ currency: "USD",
1266
+ unit: "per_million_tokens"
1267
+ }
1268
+ },
1269
+ {
1270
+ name: "openai/gpt-oss-20b",
1271
+ displayName: "GPT OSS 20B",
1272
+ maxInputTokens: 131072,
1273
+ supportedFileTypes: [],
1274
+ pricing: {
1275
+ inputPerM: 0.075,
1276
+ outputPerM: 0.3,
1277
+ currency: "USD",
1278
+ unit: "per_million_tokens"
1279
+ }
1280
+ },
1281
+ {
1282
+ name: "qwen-qwq-32b",
1283
+ displayName: "Qwen QwQ 32B",
1284
+ maxInputTokens: 131072,
1285
+ supportedFileTypes: [],
1286
+ pricing: {
1287
+ inputPerM: 0.29,
1288
+ outputPerM: 0.39,
1289
+ currency: "USD",
1290
+ unit: "per_million_tokens"
1291
+ }
1292
+ },
1293
+ {
1294
+ name: "qwen/qwen3-32b",
1295
+ displayName: "Qwen3 32B",
1296
+ maxInputTokens: 131072,
1297
+ supportedFileTypes: [],
1298
+ pricing: {
1299
+ inputPerM: 0.29,
1300
+ outputPerM: 0.59,
1301
+ currency: "USD",
1302
+ unit: "per_million_tokens"
1303
+ }
1304
+ }
1305
+ ],
1306
+ xai: [
1307
+ {
1308
+ name: "grok-2",
1309
+ displayName: "Grok 2",
1310
+ maxInputTokens: 131072,
1311
+ supportedFileTypes: [],
1312
+ pricing: {
1313
+ inputPerM: 2,
1314
+ outputPerM: 10,
1315
+ cacheReadPerM: 2,
1316
+ currency: "USD",
1317
+ unit: "per_million_tokens"
1318
+ }
1319
+ },
1320
+ {
1321
+ name: "grok-2-1212",
1322
+ displayName: "Grok 2 (1212)",
1323
+ maxInputTokens: 131072,
1324
+ supportedFileTypes: [],
1325
+ pricing: {
1326
+ inputPerM: 2,
1327
+ outputPerM: 10,
1328
+ cacheReadPerM: 2,
1329
+ currency: "USD",
1330
+ unit: "per_million_tokens"
1331
+ }
1332
+ },
1333
+ {
1334
+ name: "grok-2-latest",
1335
+ displayName: "Grok 2 Latest",
1336
+ maxInputTokens: 131072,
1337
+ supportedFileTypes: [],
1338
+ pricing: {
1339
+ inputPerM: 2,
1340
+ outputPerM: 10,
1341
+ cacheReadPerM: 2,
1342
+ currency: "USD",
1343
+ unit: "per_million_tokens"
1344
+ }
1345
+ },
1346
+ {
1347
+ name: "grok-2-vision",
1348
+ displayName: "Grok 2 Vision",
1349
+ maxInputTokens: 8192,
1350
+ supportedFileTypes: ["image"],
1351
+ pricing: {
1352
+ inputPerM: 2,
1353
+ outputPerM: 10,
1354
+ cacheReadPerM: 2,
1355
+ currency: "USD",
1356
+ unit: "per_million_tokens"
1357
+ }
1358
+ },
1359
+ {
1360
+ name: "grok-2-vision-1212",
1361
+ displayName: "Grok 2 Vision (1212)",
1362
+ maxInputTokens: 8192,
1363
+ supportedFileTypes: ["image"],
1364
+ pricing: {
1365
+ inputPerM: 2,
1366
+ outputPerM: 10,
1367
+ cacheReadPerM: 2,
1368
+ currency: "USD",
1369
+ unit: "per_million_tokens"
1370
+ }
1371
+ },
1372
+ {
1373
+ name: "grok-2-vision-latest",
1374
+ displayName: "Grok 2 Vision Latest",
1375
+ maxInputTokens: 8192,
1376
+ supportedFileTypes: ["image"],
1377
+ pricing: {
1378
+ inputPerM: 2,
1379
+ outputPerM: 10,
1380
+ cacheReadPerM: 2,
1381
+ currency: "USD",
1382
+ unit: "per_million_tokens"
1383
+ }
1384
+ },
1385
+ {
1386
+ name: "grok-3",
1387
+ displayName: "Grok 3",
1388
+ maxInputTokens: 131072,
1389
+ supportedFileTypes: [],
1390
+ pricing: {
1391
+ inputPerM: 3,
1392
+ outputPerM: 15,
1393
+ cacheReadPerM: 0.75,
1394
+ currency: "USD",
1395
+ unit: "per_million_tokens"
1396
+ }
1397
+ },
1398
+ {
1399
+ name: "grok-3-fast",
1400
+ displayName: "Grok 3 Fast",
1401
+ maxInputTokens: 131072,
1402
+ supportedFileTypes: [],
1403
+ pricing: {
1404
+ inputPerM: 5,
1405
+ outputPerM: 25,
1406
+ cacheReadPerM: 1.25,
1407
+ currency: "USD",
1408
+ unit: "per_million_tokens"
1409
+ }
1410
+ },
1411
+ {
1412
+ name: "grok-3-fast-latest",
1413
+ displayName: "Grok 3 Fast Latest",
1414
+ maxInputTokens: 131072,
1415
+ supportedFileTypes: [],
1416
+ pricing: {
1417
+ inputPerM: 5,
1418
+ outputPerM: 25,
1419
+ cacheReadPerM: 1.25,
1420
+ currency: "USD",
1421
+ unit: "per_million_tokens"
1422
+ }
1423
+ },
1424
+ {
1425
+ name: "grok-3-latest",
1426
+ displayName: "Grok 3 Latest",
1427
+ maxInputTokens: 131072,
1428
+ supportedFileTypes: [],
1429
+ pricing: {
1430
+ inputPerM: 3,
1431
+ outputPerM: 15,
1432
+ cacheReadPerM: 0.75,
1433
+ currency: "USD",
1434
+ unit: "per_million_tokens"
1435
+ }
1436
+ },
1437
+ {
1438
+ name: "grok-3-mini",
1439
+ displayName: "Grok 3 Mini",
1440
+ maxInputTokens: 131072,
1441
+ supportedFileTypes: [],
1442
+ pricing: {
1443
+ inputPerM: 0.3,
1444
+ outputPerM: 0.5,
1445
+ cacheReadPerM: 0.075,
1446
+ currency: "USD",
1447
+ unit: "per_million_tokens"
1448
+ }
1449
+ },
1450
+ {
1451
+ name: "grok-3-mini-fast",
1452
+ displayName: "Grok 3 Mini Fast",
1453
+ maxInputTokens: 131072,
1454
+ supportedFileTypes: [],
1455
+ pricing: {
1456
+ inputPerM: 0.6,
1457
+ outputPerM: 4,
1458
+ cacheReadPerM: 0.15,
1459
+ currency: "USD",
1460
+ unit: "per_million_tokens"
1461
+ }
1462
+ },
1463
+ {
1464
+ name: "grok-3-mini-fast-latest",
1465
+ displayName: "Grok 3 Mini Fast Latest",
1466
+ maxInputTokens: 131072,
1467
+ supportedFileTypes: [],
1468
+ pricing: {
1469
+ inputPerM: 0.6,
1470
+ outputPerM: 4,
1471
+ cacheReadPerM: 0.15,
1472
+ currency: "USD",
1473
+ unit: "per_million_tokens"
1474
+ }
1475
+ },
1476
+ {
1477
+ name: "grok-3-mini-latest",
1478
+ displayName: "Grok 3 Mini Latest",
1479
+ maxInputTokens: 131072,
1480
+ supportedFileTypes: [],
1481
+ pricing: {
1482
+ inputPerM: 0.3,
1483
+ outputPerM: 0.5,
1484
+ cacheReadPerM: 0.075,
1485
+ currency: "USD",
1486
+ unit: "per_million_tokens"
1487
+ }
1488
+ },
1489
+ {
1490
+ name: "grok-4",
1491
+ displayName: "Grok 4",
1492
+ maxInputTokens: 256e3,
1493
+ supportedFileTypes: [],
1494
+ pricing: {
1495
+ inputPerM: 3,
1496
+ outputPerM: 15,
1497
+ cacheReadPerM: 0.75,
1498
+ currency: "USD",
1499
+ unit: "per_million_tokens"
1500
+ },
1501
+ default: true
1502
+ },
1503
+ {
1504
+ name: "grok-4-1-fast",
1505
+ displayName: "Grok 4.1 Fast",
1506
+ maxInputTokens: 2e6,
1507
+ supportedFileTypes: ["image"],
1508
+ pricing: {
1509
+ inputPerM: 0.2,
1510
+ outputPerM: 0.5,
1511
+ cacheReadPerM: 0.05,
1512
+ currency: "USD",
1513
+ unit: "per_million_tokens"
1514
+ }
1515
+ },
1516
+ {
1517
+ name: "grok-4-1-fast-non-reasoning",
1518
+ displayName: "Grok 4.1 Fast (Non-Reasoning)",
1519
+ maxInputTokens: 2e6,
1520
+ supportedFileTypes: ["image"],
1521
+ pricing: {
1522
+ inputPerM: 0.2,
1523
+ outputPerM: 0.5,
1524
+ cacheReadPerM: 0.05,
1525
+ currency: "USD",
1526
+ unit: "per_million_tokens"
1527
+ }
1528
+ },
1529
+ {
1530
+ name: "grok-4-fast",
1531
+ displayName: "Grok 4 Fast",
1532
+ maxInputTokens: 2e6,
1533
+ supportedFileTypes: ["image"],
1534
+ pricing: {
1535
+ inputPerM: 0.2,
1536
+ outputPerM: 0.5,
1537
+ cacheReadPerM: 0.05,
1538
+ currency: "USD",
1539
+ unit: "per_million_tokens"
1540
+ }
1541
+ },
1542
+ {
1543
+ name: "grok-4-fast-non-reasoning",
1544
+ displayName: "Grok 4 Fast (Non-Reasoning)",
1545
+ maxInputTokens: 2e6,
1546
+ supportedFileTypes: ["image"],
1547
+ pricing: {
1548
+ inputPerM: 0.2,
1549
+ outputPerM: 0.5,
1550
+ cacheReadPerM: 0.05,
1551
+ currency: "USD",
1552
+ unit: "per_million_tokens"
1553
+ }
1554
+ },
1555
+ {
1556
+ name: "grok-beta",
1557
+ displayName: "Grok Beta",
1558
+ maxInputTokens: 131072,
1559
+ supportedFileTypes: [],
1560
+ pricing: {
1561
+ inputPerM: 5,
1562
+ outputPerM: 15,
1563
+ cacheReadPerM: 5,
1564
+ currency: "USD",
1565
+ unit: "per_million_tokens"
1566
+ }
1567
+ },
1568
+ {
1569
+ name: "grok-code-fast-1",
1570
+ displayName: "Grok Code Fast 1",
1571
+ maxInputTokens: 256e3,
1572
+ supportedFileTypes: [],
1573
+ pricing: {
1574
+ inputPerM: 0.2,
1575
+ outputPerM: 1.5,
1576
+ cacheReadPerM: 0.02,
1577
+ currency: "USD",
1578
+ unit: "per_million_tokens"
1579
+ }
1580
+ },
1581
+ {
1582
+ name: "grok-vision-beta",
1583
+ displayName: "Grok Vision Beta",
1584
+ maxInputTokens: 8192,
1585
+ supportedFileTypes: ["image"],
1586
+ pricing: {
1587
+ inputPerM: 5,
1588
+ outputPerM: 15,
1589
+ cacheReadPerM: 5,
1590
+ currency: "USD",
1591
+ unit: "per_million_tokens"
1592
+ }
1593
+ }
1594
+ ],
1595
+ cohere: [
1596
+ {
1597
+ name: "command-a-03-2025",
1598
+ displayName: "Command A",
1599
+ maxInputTokens: 256e3,
1600
+ supportedFileTypes: [],
1601
+ pricing: {
1602
+ inputPerM: 2.5,
1603
+ outputPerM: 10,
1604
+ currency: "USD",
1605
+ unit: "per_million_tokens"
1606
+ },
1607
+ default: true
1608
+ },
1609
+ {
1610
+ name: "command-a-reasoning-08-2025",
1611
+ displayName: "Command A Reasoning",
1612
+ maxInputTokens: 256e3,
1613
+ supportedFileTypes: [],
1614
+ pricing: {
1615
+ inputPerM: 2.5,
1616
+ outputPerM: 10,
1617
+ currency: "USD",
1618
+ unit: "per_million_tokens"
1619
+ }
1620
+ },
1621
+ {
1622
+ name: "command-a-translate-08-2025",
1623
+ displayName: "Command A Translate",
1624
+ maxInputTokens: 8e3,
1625
+ supportedFileTypes: [],
1626
+ pricing: {
1627
+ inputPerM: 2.5,
1628
+ outputPerM: 10,
1629
+ currency: "USD",
1630
+ unit: "per_million_tokens"
1631
+ }
1632
+ },
1633
+ {
1634
+ name: "command-a-vision-07-2025",
1635
+ displayName: "Command A Vision",
1636
+ maxInputTokens: 128e3,
1637
+ supportedFileTypes: ["image"],
1638
+ pricing: {
1639
+ inputPerM: 2.5,
1640
+ outputPerM: 10,
1641
+ currency: "USD",
1642
+ unit: "per_million_tokens"
1643
+ }
1644
+ },
1645
+ {
1646
+ name: "command-r-08-2024",
1647
+ displayName: "Command R",
1648
+ maxInputTokens: 128e3,
1649
+ supportedFileTypes: [],
1650
+ pricing: {
1651
+ inputPerM: 0.15,
1652
+ outputPerM: 0.6,
1653
+ currency: "USD",
1654
+ unit: "per_million_tokens"
1655
+ }
1656
+ },
1657
+ {
1658
+ name: "command-r-plus-08-2024",
1659
+ displayName: "Command R+",
1660
+ maxInputTokens: 128e3,
1661
+ supportedFileTypes: [],
1662
+ pricing: {
1663
+ inputPerM: 2.5,
1664
+ outputPerM: 10,
1665
+ currency: "USD",
1666
+ unit: "per_million_tokens"
1667
+ }
1668
+ },
1669
+ {
1670
+ name: "command-r7b-12-2024",
1671
+ displayName: "Command R7B",
1672
+ maxInputTokens: 128e3,
1673
+ supportedFileTypes: [],
1674
+ pricing: {
1675
+ inputPerM: 0.0375,
1676
+ outputPerM: 0.15,
1677
+ currency: "USD",
1678
+ unit: "per_million_tokens"
1679
+ }
1680
+ }
1681
+ ],
1682
+ minimax: [
1683
+ {
1684
+ name: "MiniMax-M2",
1685
+ displayName: "MiniMax-M2",
1686
+ maxInputTokens: 196608,
1687
+ supportedFileTypes: [],
1688
+ pricing: {
1689
+ inputPerM: 0.3,
1690
+ outputPerM: 1.2,
1691
+ currency: "USD",
1692
+ unit: "per_million_tokens"
1693
+ }
1694
+ },
1695
+ {
1696
+ name: "MiniMax-M2.1",
1697
+ displayName: "MiniMax-M2.1",
1698
+ maxInputTokens: 204800,
1699
+ supportedFileTypes: [],
1700
+ pricing: {
1701
+ inputPerM: 0.3,
1702
+ outputPerM: 1.2,
1703
+ currency: "USD",
1704
+ unit: "per_million_tokens"
1705
+ },
1706
+ default: true
1707
+ }
1708
+ ],
1709
+ glm: [
1710
+ {
1711
+ name: "glm-4.5",
1712
+ displayName: "GLM-4.5",
1713
+ maxInputTokens: 131072,
1714
+ supportedFileTypes: [],
1715
+ pricing: {
1716
+ inputPerM: 0.6,
1717
+ outputPerM: 2.2,
1718
+ cacheReadPerM: 0.11,
1719
+ cacheWritePerM: 0,
1720
+ currency: "USD",
1721
+ unit: "per_million_tokens"
1722
+ }
1723
+ },
1724
+ {
1725
+ name: "glm-4.5-air",
1726
+ displayName: "GLM-4.5-Air",
1727
+ maxInputTokens: 131072,
1728
+ supportedFileTypes: [],
1729
+ pricing: {
1730
+ inputPerM: 0.2,
1731
+ outputPerM: 1.1,
1732
+ cacheReadPerM: 0.03,
1733
+ cacheWritePerM: 0,
1734
+ currency: "USD",
1735
+ unit: "per_million_tokens"
1736
+ }
1737
+ },
1738
+ {
1739
+ name: "glm-4.5-flash",
1740
+ displayName: "GLM-4.5-Flash",
1741
+ maxInputTokens: 131072,
1742
+ supportedFileTypes: [],
1743
+ pricing: {
1744
+ inputPerM: 0,
1745
+ outputPerM: 0,
1746
+ cacheReadPerM: 0,
1747
+ cacheWritePerM: 0,
1748
+ currency: "USD",
1749
+ unit: "per_million_tokens"
1750
+ }
1751
+ },
1752
+ {
1753
+ name: "glm-4.5v",
1754
+ displayName: "GLM-4.5V",
1755
+ maxInputTokens: 64e3,
1756
+ supportedFileTypes: ["image"],
1757
+ pricing: {
1758
+ inputPerM: 0.6,
1759
+ outputPerM: 1.8,
1760
+ currency: "USD",
1761
+ unit: "per_million_tokens"
1762
+ }
1763
+ },
1764
+ {
1765
+ name: "glm-4.6",
1766
+ displayName: "GLM-4.6",
1767
+ maxInputTokens: 204800,
1768
+ supportedFileTypes: [],
1769
+ pricing: {
1770
+ inputPerM: 0.6,
1771
+ outputPerM: 2.2,
1772
+ cacheReadPerM: 0.11,
1773
+ cacheWritePerM: 0,
1774
+ currency: "USD",
1775
+ unit: "per_million_tokens"
1776
+ }
1777
+ },
1778
+ {
1779
+ name: "glm-4.6v",
1780
+ displayName: "GLM-4.6V",
1781
+ maxInputTokens: 128e3,
1782
+ supportedFileTypes: ["image"],
1783
+ pricing: {
1784
+ inputPerM: 0.3,
1785
+ outputPerM: 0.9,
1786
+ currency: "USD",
1787
+ unit: "per_million_tokens"
1788
+ }
1789
+ },
1790
+ {
1791
+ name: "glm-4.7",
1792
+ displayName: "GLM-4.7",
1793
+ maxInputTokens: 204800,
1794
+ supportedFileTypes: [],
1795
+ pricing: {
1796
+ inputPerM: 0.6,
1797
+ outputPerM: 2.2,
1798
+ cacheReadPerM: 0.11,
1799
+ cacheWritePerM: 0,
1800
+ currency: "USD",
1801
+ unit: "per_million_tokens"
1802
+ },
1803
+ default: true
1804
+ },
1805
+ {
1806
+ name: "glm-4.7-flash",
1807
+ displayName: "GLM-4.7-Flash",
1808
+ maxInputTokens: 2e5,
1809
+ supportedFileTypes: [],
1810
+ pricing: {
1811
+ inputPerM: 0,
1812
+ outputPerM: 0,
1813
+ cacheReadPerM: 0,
1814
+ cacheWritePerM: 0,
1815
+ currency: "USD",
1816
+ unit: "per_million_tokens"
1817
+ }
1818
+ }
1819
+ ],
1820
+ openrouter: [
1821
+ {
1822
+ name: "anthropic/claude-3.5-haiku",
1823
+ displayName: "Claude Haiku 3.5",
1824
+ maxInputTokens: 2e5,
1825
+ supportedFileTypes: ["pdf", "image"],
1826
+ pricing: {
1827
+ inputPerM: 0.8,
1828
+ outputPerM: 4,
1829
+ cacheReadPerM: 0.08,
1830
+ cacheWritePerM: 1,
1831
+ currency: "USD",
1832
+ unit: "per_million_tokens"
1833
+ }
1834
+ },
1835
+ {
1836
+ name: "anthropic/claude-3.7-sonnet",
1837
+ displayName: "Claude Sonnet 3.7",
1838
+ maxInputTokens: 2e5,
1839
+ supportedFileTypes: ["pdf", "image"],
1840
+ pricing: {
1841
+ inputPerM: 15,
1842
+ outputPerM: 75,
1843
+ cacheReadPerM: 1.5,
1844
+ cacheWritePerM: 18.75,
1845
+ currency: "USD",
1846
+ unit: "per_million_tokens"
1847
+ }
1848
+ },
1849
+ {
1850
+ name: "anthropic/claude-haiku-4.5",
1851
+ displayName: "Claude Haiku 4.5",
1852
+ maxInputTokens: 2e5,
1853
+ supportedFileTypes: ["pdf", "image"],
1854
+ pricing: {
1855
+ inputPerM: 1,
1856
+ outputPerM: 5,
1857
+ cacheReadPerM: 0.1,
1858
+ cacheWritePerM: 1.25,
1859
+ currency: "USD",
1860
+ unit: "per_million_tokens"
1861
+ }
1862
+ },
1863
+ {
1864
+ name: "anthropic/claude-opus-4",
1865
+ displayName: "Claude Opus 4",
1866
+ maxInputTokens: 2e5,
1867
+ supportedFileTypes: ["pdf", "image"],
1868
+ pricing: {
1869
+ inputPerM: 15,
1870
+ outputPerM: 75,
1871
+ cacheReadPerM: 1.5,
1872
+ cacheWritePerM: 18.75,
1873
+ currency: "USD",
1874
+ unit: "per_million_tokens"
1875
+ }
1876
+ },
1877
+ {
1878
+ name: "anthropic/claude-opus-4.1",
1879
+ displayName: "Claude Opus 4.1",
1880
+ maxInputTokens: 2e5,
1881
+ supportedFileTypes: ["pdf", "image"],
1882
+ pricing: {
1883
+ inputPerM: 15,
1884
+ outputPerM: 75,
1885
+ cacheReadPerM: 1.5,
1886
+ cacheWritePerM: 18.75,
1887
+ currency: "USD",
1888
+ unit: "per_million_tokens"
1889
+ }
1890
+ },
1891
+ {
1892
+ name: "anthropic/claude-opus-4.5",
1893
+ displayName: "Claude Opus 4.5",
1894
+ maxInputTokens: 2e5,
1895
+ supportedFileTypes: ["pdf", "image"],
1896
+ pricing: {
1897
+ inputPerM: 5,
1898
+ outputPerM: 25,
1899
+ cacheReadPerM: 0.5,
1900
+ cacheWritePerM: 6.25,
1901
+ currency: "USD",
1902
+ unit: "per_million_tokens"
1903
+ }
1904
+ },
1905
+ {
1906
+ name: "anthropic/claude-sonnet-4",
1907
+ displayName: "Claude Sonnet 4",
1908
+ maxInputTokens: 2e5,
1909
+ supportedFileTypes: ["pdf", "image"],
1910
+ pricing: {
1911
+ inputPerM: 3,
1912
+ outputPerM: 15,
1913
+ cacheReadPerM: 0.3,
1914
+ cacheWritePerM: 3.75,
1915
+ currency: "USD",
1916
+ unit: "per_million_tokens"
1917
+ }
1918
+ },
1919
+ {
1920
+ name: "anthropic/claude-sonnet-4.5",
1921
+ displayName: "Claude Sonnet 4.5",
1922
+ maxInputTokens: 1e6,
1923
+ supportedFileTypes: ["pdf", "image"],
1924
+ pricing: {
1925
+ inputPerM: 3,
1926
+ outputPerM: 15,
1927
+ cacheReadPerM: 0.3,
1928
+ cacheWritePerM: 3.75,
1929
+ currency: "USD",
1930
+ unit: "per_million_tokens"
1931
+ }
1932
+ },
1933
+ {
1934
+ name: "arcee-ai/trinity-large-preview:free",
1935
+ displayName: "Trinity Large Preview",
1936
+ maxInputTokens: 131072,
1937
+ supportedFileTypes: [],
1938
+ pricing: {
1939
+ inputPerM: 0,
1940
+ outputPerM: 0,
1941
+ currency: "USD",
1942
+ unit: "per_million_tokens"
1943
+ }
1944
+ },
1945
+ {
1946
+ name: "arcee-ai/trinity-mini:free",
1947
+ displayName: "Trinity Mini",
1948
+ maxInputTokens: 131072,
1949
+ supportedFileTypes: [],
1950
+ pricing: {
1951
+ inputPerM: 0,
1952
+ outputPerM: 0,
1953
+ currency: "USD",
1954
+ unit: "per_million_tokens"
1955
+ }
1956
+ },
1957
+ {
1958
+ name: "cognitivecomputations/dolphin3.0-mistral-24b",
1959
+ displayName: "Dolphin3.0 Mistral 24B",
1960
+ maxInputTokens: 32768,
1961
+ supportedFileTypes: [],
1962
+ pricing: {
1963
+ inputPerM: 0,
1964
+ outputPerM: 0,
1965
+ currency: "USD",
1966
+ unit: "per_million_tokens"
1967
+ }
1968
+ },
1969
+ {
1970
+ name: "cognitivecomputations/dolphin3.0-r1-mistral-24b",
1971
+ displayName: "Dolphin3.0 R1 Mistral 24B",
1972
+ maxInputTokens: 32768,
1973
+ supportedFileTypes: [],
1974
+ pricing: {
1975
+ inputPerM: 0,
1976
+ outputPerM: 0,
1977
+ currency: "USD",
1978
+ unit: "per_million_tokens"
1979
+ }
1980
+ },
1981
+ {
1982
+ name: "deepseek/deepseek-chat-v3-0324",
1983
+ displayName: "DeepSeek V3 0324",
1984
+ maxInputTokens: 16384,
1985
+ supportedFileTypes: [],
1986
+ pricing: {
1987
+ inputPerM: 0,
1988
+ outputPerM: 0,
1989
+ currency: "USD",
1990
+ unit: "per_million_tokens"
1991
+ }
1992
+ },
1993
+ {
1994
+ name: "deepseek/deepseek-chat-v3.1",
1995
+ displayName: "DeepSeek-V3.1",
1996
+ maxInputTokens: 163840,
1997
+ supportedFileTypes: [],
1998
+ pricing: {
1999
+ inputPerM: 0.2,
2000
+ outputPerM: 0.8,
2001
+ currency: "USD",
2002
+ unit: "per_million_tokens"
2003
+ }
2004
+ },
2005
+ {
2006
+ name: "deepseek/deepseek-r1-0528-qwen3-8b:free",
2007
+ displayName: "Deepseek R1 0528 Qwen3 8B (free)",
2008
+ maxInputTokens: 131072,
2009
+ supportedFileTypes: [],
2010
+ pricing: {
2011
+ inputPerM: 0,
2012
+ outputPerM: 0,
2013
+ currency: "USD",
2014
+ unit: "per_million_tokens"
2015
+ }
2016
+ },
2017
+ {
2018
+ name: "deepseek/deepseek-r1-0528:free",
2019
+ displayName: "R1 0528 (free)",
2020
+ maxInputTokens: 163840,
2021
+ supportedFileTypes: [],
2022
+ pricing: {
2023
+ inputPerM: 0,
2024
+ outputPerM: 0,
2025
+ currency: "USD",
2026
+ unit: "per_million_tokens"
2027
+ }
2028
+ },
2029
+ {
2030
+ name: "deepseek/deepseek-r1-distill-llama-70b",
2031
+ displayName: "DeepSeek R1 Distill Llama 70B",
2032
+ maxInputTokens: 8192,
2033
+ supportedFileTypes: [],
2034
+ pricing: {
2035
+ inputPerM: 0,
2036
+ outputPerM: 0,
2037
+ currency: "USD",
2038
+ unit: "per_million_tokens"
2039
+ }
2040
+ },
2041
+ {
2042
+ name: "deepseek/deepseek-r1-distill-qwen-14b",
2043
+ displayName: "DeepSeek R1 Distill Qwen 14B",
2044
+ maxInputTokens: 64e3,
2045
+ supportedFileTypes: [],
2046
+ pricing: {
2047
+ inputPerM: 0,
2048
+ outputPerM: 0,
2049
+ currency: "USD",
2050
+ unit: "per_million_tokens"
2051
+ }
2052
+ },
2053
+ {
2054
+ name: "deepseek/deepseek-r1:free",
2055
+ displayName: "R1 (free)",
2056
+ maxInputTokens: 163840,
2057
+ supportedFileTypes: [],
2058
+ pricing: {
2059
+ inputPerM: 0,
2060
+ outputPerM: 0,
2061
+ currency: "USD",
2062
+ unit: "per_million_tokens"
2063
+ }
2064
+ },
2065
+ {
2066
+ name: "deepseek/deepseek-v3-base:free",
2067
+ displayName: "DeepSeek V3 Base (free)",
2068
+ maxInputTokens: 163840,
2069
+ supportedFileTypes: [],
2070
+ pricing: {
2071
+ inputPerM: 0,
2072
+ outputPerM: 0,
2073
+ currency: "USD",
2074
+ unit: "per_million_tokens"
2075
+ }
2076
+ },
2077
+ {
2078
+ name: "deepseek/deepseek-v3.1-terminus",
2079
+ displayName: "DeepSeek V3.1 Terminus",
2080
+ maxInputTokens: 131072,
2081
+ supportedFileTypes: [],
2082
+ pricing: {
2083
+ inputPerM: 0.27,
2084
+ outputPerM: 1,
2085
+ currency: "USD",
2086
+ unit: "per_million_tokens"
2087
+ }
2088
+ },
2089
+ {
2090
+ name: "deepseek/deepseek-v3.1-terminus:exacto",
2091
+ displayName: "DeepSeek V3.1 Terminus (exacto)",
2092
+ maxInputTokens: 131072,
2093
+ supportedFileTypes: [],
2094
+ pricing: {
2095
+ inputPerM: 0.27,
2096
+ outputPerM: 1,
2097
+ currency: "USD",
2098
+ unit: "per_million_tokens"
2099
+ }
2100
+ },
2101
+ {
2102
+ name: "deepseek/deepseek-v3.2",
2103
+ displayName: "DeepSeek V3.2",
2104
+ maxInputTokens: 163840,
2105
+ supportedFileTypes: [],
2106
+ pricing: {
2107
+ inputPerM: 0.28,
2108
+ outputPerM: 0.4,
2109
+ currency: "USD",
2110
+ unit: "per_million_tokens"
2111
+ }
2112
+ },
2113
+ {
2114
+ name: "deepseek/deepseek-v3.2-speciale",
2115
+ displayName: "DeepSeek V3.2 Speciale",
2116
+ maxInputTokens: 163840,
2117
+ supportedFileTypes: [],
2118
+ pricing: {
2119
+ inputPerM: 0.27,
2120
+ outputPerM: 0.41,
2121
+ currency: "USD",
2122
+ unit: "per_million_tokens"
2123
+ }
2124
+ },
2125
+ {
2126
+ name: "featherless/qwerky-72b",
2127
+ displayName: "Qwerky 72B",
2128
+ maxInputTokens: 32768,
2129
+ supportedFileTypes: [],
2130
+ pricing: {
2131
+ inputPerM: 0,
2132
+ outputPerM: 0,
2133
+ currency: "USD",
2134
+ unit: "per_million_tokens"
2135
+ }
2136
+ },
2137
+ {
2138
+ name: "google/gemini-2.0-flash-001",
2139
+ displayName: "Gemini 2.0 Flash",
2140
+ maxInputTokens: 1048576,
2141
+ supportedFileTypes: ["pdf", "image", "audio"],
2142
+ pricing: {
2143
+ inputPerM: 0.1,
2144
+ outputPerM: 0.4,
2145
+ cacheReadPerM: 0.025,
2146
+ currency: "USD",
2147
+ unit: "per_million_tokens"
2148
+ }
2149
+ },
2150
+ {
2151
+ name: "google/gemini-2.0-flash-exp:free",
2152
+ displayName: "Gemini 2.0 Flash Experimental (free)",
2153
+ maxInputTokens: 1048576,
2154
+ supportedFileTypes: ["image"],
2155
+ pricing: {
2156
+ inputPerM: 0,
2157
+ outputPerM: 0,
2158
+ currency: "USD",
2159
+ unit: "per_million_tokens"
2160
+ }
2161
+ },
2162
+ {
2163
+ name: "google/gemini-2.5-flash",
2164
+ displayName: "Gemini 2.5 Flash",
2165
+ maxInputTokens: 1048576,
2166
+ supportedFileTypes: ["pdf", "image", "audio"],
2167
+ pricing: {
2168
+ inputPerM: 0.3,
2169
+ outputPerM: 2.5,
2170
+ cacheReadPerM: 0.0375,
2171
+ currency: "USD",
2172
+ unit: "per_million_tokens"
2173
+ }
2174
+ },
2175
+ {
2176
+ name: "google/gemini-2.5-flash-lite",
2177
+ displayName: "Gemini 2.5 Flash Lite",
2178
+ maxInputTokens: 1048576,
2179
+ supportedFileTypes: ["pdf", "image", "audio"],
2180
+ pricing: {
2181
+ inputPerM: 0.1,
2182
+ outputPerM: 0.4,
2183
+ cacheReadPerM: 0.025,
2184
+ currency: "USD",
2185
+ unit: "per_million_tokens"
2186
+ }
2187
+ },
2188
+ {
2189
+ name: "google/gemini-2.5-flash-lite-preview-09-2025",
2190
+ displayName: "Gemini 2.5 Flash Lite Preview 09-25",
2191
+ maxInputTokens: 1048576,
2192
+ supportedFileTypes: ["pdf", "image", "audio"],
2193
+ pricing: {
2194
+ inputPerM: 0.1,
2195
+ outputPerM: 0.4,
2196
+ cacheReadPerM: 0.025,
2197
+ currency: "USD",
2198
+ unit: "per_million_tokens"
2199
+ }
2200
+ },
2201
+ {
2202
+ name: "google/gemini-2.5-flash-preview-09-2025",
2203
+ displayName: "Gemini 2.5 Flash Preview 09-25",
2204
+ maxInputTokens: 1048576,
2205
+ supportedFileTypes: ["pdf", "image", "audio"],
2206
+ pricing: {
2207
+ inputPerM: 0.3,
2208
+ outputPerM: 2.5,
2209
+ cacheReadPerM: 0.031,
2210
+ currency: "USD",
2211
+ unit: "per_million_tokens"
2212
+ }
2213
+ },
2214
+ {
2215
+ name: "google/gemini-2.5-pro",
2216
+ displayName: "Gemini 2.5 Pro",
2217
+ maxInputTokens: 1048576,
2218
+ supportedFileTypes: ["pdf", "image", "audio"],
2219
+ pricing: {
2220
+ inputPerM: 1.25,
2221
+ outputPerM: 10,
2222
+ cacheReadPerM: 0.31,
2223
+ currency: "USD",
2224
+ unit: "per_million_tokens"
2225
+ }
2226
+ },
2227
+ {
2228
+ name: "google/gemini-2.5-pro-preview-05-06",
2229
+ displayName: "Gemini 2.5 Pro Preview 05-06",
2230
+ maxInputTokens: 1048576,
2231
+ supportedFileTypes: ["pdf", "image", "audio"],
2232
+ pricing: {
2233
+ inputPerM: 1.25,
2234
+ outputPerM: 10,
2235
+ cacheReadPerM: 0.31,
2236
+ currency: "USD",
2237
+ unit: "per_million_tokens"
2238
+ }
2239
+ },
2240
+ {
2241
+ name: "google/gemini-2.5-pro-preview-06-05",
2242
+ displayName: "Gemini 2.5 Pro Preview 06-05",
2243
+ maxInputTokens: 1048576,
2244
+ supportedFileTypes: ["pdf", "image", "audio"],
2245
+ pricing: {
2246
+ inputPerM: 1.25,
2247
+ outputPerM: 10,
2248
+ cacheReadPerM: 0.31,
2249
+ currency: "USD",
2250
+ unit: "per_million_tokens"
2251
+ }
2252
+ },
2253
+ {
2254
+ name: "google/gemini-3-flash-preview",
2255
+ displayName: "Gemini 3 Flash Preview",
2256
+ maxInputTokens: 1048576,
2257
+ supportedFileTypes: ["pdf", "image", "audio"],
2258
+ pricing: {
2259
+ inputPerM: 0.5,
2260
+ outputPerM: 3,
2261
+ cacheReadPerM: 0.05,
2262
+ currency: "USD",
2263
+ unit: "per_million_tokens"
2264
+ }
2265
+ },
2266
+ {
2267
+ name: "google/gemini-3-pro-preview",
2268
+ displayName: "Gemini 3 Pro Preview",
2269
+ maxInputTokens: 105e4,
2270
+ supportedFileTypes: ["pdf", "image", "audio"],
2271
+ pricing: {
2272
+ inputPerM: 2,
2273
+ outputPerM: 12,
2274
+ currency: "USD",
2275
+ unit: "per_million_tokens"
2276
+ }
2277
+ },
2278
+ {
2279
+ name: "google/gemma-2-9b-it:free",
2280
+ displayName: "Gemma 2 9B (free)",
2281
+ maxInputTokens: 8192,
2282
+ supportedFileTypes: [],
2283
+ pricing: {
2284
+ inputPerM: 0,
2285
+ outputPerM: 0,
2286
+ currency: "USD",
2287
+ unit: "per_million_tokens"
2288
+ }
2289
+ },
2290
+ {
2291
+ name: "google/gemma-3-12b-it",
2292
+ displayName: "Gemma 3 12B IT",
2293
+ maxInputTokens: 96e3,
2294
+ supportedFileTypes: ["image"],
2295
+ pricing: {
2296
+ inputPerM: 0,
2297
+ outputPerM: 0,
2298
+ currency: "USD",
2299
+ unit: "per_million_tokens"
2300
+ }
2301
+ },
2302
+ {
2303
+ name: "google/gemma-3-27b-it",
2304
+ displayName: "Gemma 3 27B IT",
2305
+ maxInputTokens: 96e3,
2306
+ supportedFileTypes: ["image"],
2307
+ pricing: {
2308
+ inputPerM: 0,
2309
+ outputPerM: 0,
2310
+ currency: "USD",
2311
+ unit: "per_million_tokens"
2312
+ }
2313
+ },
2314
+ {
2315
+ name: "google/gemma-3-27b-it:free",
2316
+ displayName: "Gemma 3 27B",
2317
+ maxInputTokens: 131072,
2318
+ supportedFileTypes: ["image"],
2319
+ pricing: {
2320
+ inputPerM: 0,
2321
+ outputPerM: 0,
2322
+ currency: "USD",
2323
+ unit: "per_million_tokens"
2324
+ }
2325
+ },
2326
+ {
2327
+ name: "google/gemma-3n-e4b-it",
2328
+ displayName: "Gemma 3n E4B IT",
2329
+ maxInputTokens: 8192,
2330
+ supportedFileTypes: ["image", "audio"],
2331
+ pricing: {
2332
+ inputPerM: 0,
2333
+ outputPerM: 0,
2334
+ currency: "USD",
2335
+ unit: "per_million_tokens"
2336
+ }
2337
+ },
2338
+ {
2339
+ name: "google/gemma-3n-e4b-it:free",
2340
+ displayName: "Gemma 3n 4B (free)",
2341
+ maxInputTokens: 8192,
2342
+ supportedFileTypes: ["image", "audio"],
2343
+ pricing: {
2344
+ inputPerM: 0,
2345
+ outputPerM: 0,
2346
+ currency: "USD",
2347
+ unit: "per_million_tokens"
2348
+ }
2349
+ },
2350
+ {
2351
+ name: "kwaipilot/kat-coder-pro:free",
2352
+ displayName: "Kat Coder Pro (free)",
2353
+ maxInputTokens: 256e3,
2354
+ supportedFileTypes: [],
2355
+ pricing: {
2356
+ inputPerM: 0,
2357
+ outputPerM: 0,
2358
+ currency: "USD",
2359
+ unit: "per_million_tokens"
2360
+ }
2361
+ },
2362
+ {
2363
+ name: "meta-llama/llama-3.2-11b-vision-instruct",
2364
+ displayName: "Llama 3.2 11B Vision Instruct",
2365
+ maxInputTokens: 131072,
2366
+ supportedFileTypes: ["image"],
2367
+ pricing: {
2368
+ inputPerM: 0,
2369
+ outputPerM: 0,
2370
+ currency: "USD",
2371
+ unit: "per_million_tokens"
2372
+ }
2373
+ },
2374
+ {
2375
+ name: "meta-llama/llama-3.3-70b-instruct:free",
2376
+ displayName: "Llama 3.3 70B Instruct (free)",
2377
+ maxInputTokens: 65536,
2378
+ supportedFileTypes: [],
2379
+ pricing: {
2380
+ inputPerM: 0,
2381
+ outputPerM: 0,
2382
+ currency: "USD",
2383
+ unit: "per_million_tokens"
2384
+ }
2385
+ },
2386
+ {
2387
+ name: "meta-llama/llama-4-scout:free",
2388
+ displayName: "Llama 4 Scout (free)",
2389
+ maxInputTokens: 64e3,
2390
+ supportedFileTypes: ["image"],
2391
+ pricing: {
2392
+ inputPerM: 0,
2393
+ outputPerM: 0,
2394
+ currency: "USD",
2395
+ unit: "per_million_tokens"
2396
+ }
2397
+ },
2398
+ {
2399
+ name: "microsoft/mai-ds-r1:free",
2400
+ displayName: "MAI DS R1 (free)",
2401
+ maxInputTokens: 163840,
2402
+ supportedFileTypes: [],
2403
+ pricing: {
2404
+ inputPerM: 0,
2405
+ outputPerM: 0,
2406
+ currency: "USD",
2407
+ unit: "per_million_tokens"
2408
+ }
2409
+ },
2410
+ {
2411
+ name: "minimax/minimax-01",
2412
+ displayName: "MiniMax-01",
2413
+ maxInputTokens: 1e6,
2414
+ supportedFileTypes: ["image"],
2415
+ pricing: {
2416
+ inputPerM: 0.2,
2417
+ outputPerM: 1.1,
2418
+ currency: "USD",
2419
+ unit: "per_million_tokens"
2420
+ }
2421
+ },
2422
+ {
2423
+ name: "minimax/minimax-m1",
2424
+ displayName: "MiniMax M1",
2425
+ maxInputTokens: 1e6,
2426
+ supportedFileTypes: [],
2427
+ pricing: {
2428
+ inputPerM: 0.4,
2429
+ outputPerM: 2.2,
2430
+ currency: "USD",
2431
+ unit: "per_million_tokens"
2432
+ }
2433
+ },
2434
+ {
2435
+ name: "minimax/minimax-m2",
2436
+ displayName: "MiniMax M2",
2437
+ maxInputTokens: 196600,
2438
+ supportedFileTypes: [],
2439
+ pricing: {
2440
+ inputPerM: 0.28,
2441
+ outputPerM: 1.15,
2442
+ cacheReadPerM: 0.28,
2443
+ cacheWritePerM: 1.15,
2444
+ currency: "USD",
2445
+ unit: "per_million_tokens"
2446
+ }
2447
+ },
2448
+ {
2449
+ name: "minimax/minimax-m2.1",
2450
+ displayName: "MiniMax M2.1",
2451
+ maxInputTokens: 204800,
2452
+ supportedFileTypes: [],
2453
+ pricing: {
2454
+ inputPerM: 0.3,
2455
+ outputPerM: 1.2,
2456
+ currency: "USD",
2457
+ unit: "per_million_tokens"
2458
+ }
2459
+ },
2460
+ {
2461
+ name: "mistralai/codestral-2508",
2462
+ displayName: "Codestral 2508",
2463
+ maxInputTokens: 256e3,
2464
+ supportedFileTypes: [],
2465
+ pricing: {
2466
+ inputPerM: 0.3,
2467
+ outputPerM: 0.9,
2468
+ currency: "USD",
2469
+ unit: "per_million_tokens"
2470
+ }
2471
+ },
2472
+ {
2473
+ name: "mistralai/devstral-2512",
2474
+ displayName: "Devstral 2 2512",
2475
+ maxInputTokens: 262144,
2476
+ supportedFileTypes: [],
2477
+ pricing: {
2478
+ inputPerM: 0.15,
2479
+ outputPerM: 0.6,
2480
+ currency: "USD",
2481
+ unit: "per_million_tokens"
2482
+ }
2483
+ },
2484
+ {
2485
+ name: "mistralai/devstral-2512:free",
2486
+ displayName: "Devstral 2 2512 (free)",
2487
+ maxInputTokens: 262144,
2488
+ supportedFileTypes: [],
2489
+ pricing: {
2490
+ inputPerM: 0,
2491
+ outputPerM: 0,
2492
+ currency: "USD",
2493
+ unit: "per_million_tokens"
2494
+ }
2495
+ },
2496
+ {
2497
+ name: "mistralai/devstral-medium-2507",
2498
+ displayName: "Devstral Medium",
2499
+ maxInputTokens: 131072,
2500
+ supportedFileTypes: [],
2501
+ pricing: {
2502
+ inputPerM: 0.4,
2503
+ outputPerM: 2,
2504
+ currency: "USD",
2505
+ unit: "per_million_tokens"
2506
+ }
2507
+ },
2508
+ {
2509
+ name: "mistralai/devstral-small-2505",
2510
+ displayName: "Devstral Small",
2511
+ maxInputTokens: 128e3,
2512
+ supportedFileTypes: [],
2513
+ pricing: {
2514
+ inputPerM: 0.06,
2515
+ outputPerM: 0.12,
2516
+ currency: "USD",
2517
+ unit: "per_million_tokens"
2518
+ }
2519
+ },
2520
+ {
2521
+ name: "mistralai/devstral-small-2505:free",
2522
+ displayName: "Devstral Small 2505 (free)",
2523
+ maxInputTokens: 32768,
2524
+ supportedFileTypes: [],
2525
+ pricing: {
2526
+ inputPerM: 0,
2527
+ outputPerM: 0,
2528
+ currency: "USD",
2529
+ unit: "per_million_tokens"
2530
+ }
2531
+ },
2532
+ {
2533
+ name: "mistralai/devstral-small-2507",
2534
+ displayName: "Devstral Small 1.1",
2535
+ maxInputTokens: 131072,
2536
+ supportedFileTypes: [],
2537
+ pricing: {
2538
+ inputPerM: 0.1,
2539
+ outputPerM: 0.3,
2540
+ currency: "USD",
2541
+ unit: "per_million_tokens"
2542
+ }
2543
+ },
2544
+ {
2545
+ name: "mistralai/mistral-7b-instruct:free",
2546
+ displayName: "Mistral 7B Instruct (free)",
2547
+ maxInputTokens: 32768,
2548
+ supportedFileTypes: [],
2549
+ pricing: {
2550
+ inputPerM: 0,
2551
+ outputPerM: 0,
2552
+ currency: "USD",
2553
+ unit: "per_million_tokens"
2554
+ }
2555
+ },
2556
+ {
2557
+ name: "mistralai/mistral-medium-3",
2558
+ displayName: "Mistral Medium 3",
2559
+ maxInputTokens: 131072,
2560
+ supportedFileTypes: ["image"],
2561
+ pricing: {
2562
+ inputPerM: 0.4,
2563
+ outputPerM: 2,
2564
+ currency: "USD",
2565
+ unit: "per_million_tokens"
2566
+ }
2567
+ },
2568
+ {
2569
+ name: "mistralai/mistral-medium-3.1",
2570
+ displayName: "Mistral Medium 3.1",
2571
+ maxInputTokens: 262144,
2572
+ supportedFileTypes: ["image"],
2573
+ pricing: {
2574
+ inputPerM: 0.4,
2575
+ outputPerM: 2,
2576
+ currency: "USD",
2577
+ unit: "per_million_tokens"
2578
+ }
2579
+ },
2580
+ {
2581
+ name: "mistralai/mistral-nemo:free",
2582
+ displayName: "Mistral Nemo (free)",
2583
+ maxInputTokens: 131072,
2584
+ supportedFileTypes: [],
2585
+ pricing: {
2586
+ inputPerM: 0,
2587
+ outputPerM: 0,
2588
+ currency: "USD",
2589
+ unit: "per_million_tokens"
2590
+ }
2591
+ },
2592
+ {
2593
+ name: "mistralai/mistral-small-3.1-24b-instruct",
2594
+ displayName: "Mistral Small 3.1 24B Instruct",
2595
+ maxInputTokens: 128e3,
2596
+ supportedFileTypes: ["image"],
2597
+ pricing: {
2598
+ inputPerM: 0,
2599
+ outputPerM: 0,
2600
+ currency: "USD",
2601
+ unit: "per_million_tokens"
2602
+ }
2603
+ },
2604
+ {
2605
+ name: "mistralai/mistral-small-3.2-24b-instruct",
2606
+ displayName: "Mistral Small 3.2 24B Instruct",
2607
+ maxInputTokens: 96e3,
2608
+ supportedFileTypes: ["image"],
2609
+ pricing: {
2610
+ inputPerM: 0,
2611
+ outputPerM: 0,
2612
+ currency: "USD",
2613
+ unit: "per_million_tokens"
2614
+ }
2615
+ },
2616
+ {
2617
+ name: "mistralai/mistral-small-3.2-24b-instruct:free",
2618
+ displayName: "Mistral Small 3.2 24B (free)",
2619
+ maxInputTokens: 96e3,
2620
+ supportedFileTypes: ["image"],
2621
+ pricing: {
2622
+ inputPerM: 0,
2623
+ outputPerM: 0,
2624
+ currency: "USD",
2625
+ unit: "per_million_tokens"
2626
+ }
2627
+ },
2628
+ {
2629
+ name: "moonshotai/kimi-dev-72b:free",
2630
+ displayName: "Kimi Dev 72b (free)",
2631
+ maxInputTokens: 131072,
2632
+ supportedFileTypes: [],
2633
+ pricing: {
2634
+ inputPerM: 0,
2635
+ outputPerM: 0,
2636
+ currency: "USD",
2637
+ unit: "per_million_tokens"
2638
+ }
2639
+ },
2640
+ {
2641
+ name: "moonshotai/kimi-k2",
2642
+ displayName: "Kimi K2",
2643
+ maxInputTokens: 131072,
2644
+ supportedFileTypes: [],
2645
+ pricing: {
2646
+ inputPerM: 0.55,
2647
+ outputPerM: 2.2,
2648
+ currency: "USD",
2649
+ unit: "per_million_tokens"
2650
+ }
2651
+ },
2652
+ {
2653
+ name: "moonshotai/kimi-k2-0905",
2654
+ displayName: "Kimi K2 Instruct 0905",
2655
+ maxInputTokens: 262144,
2656
+ supportedFileTypes: [],
2657
+ pricing: {
2658
+ inputPerM: 0.6,
2659
+ outputPerM: 2.5,
2660
+ currency: "USD",
2661
+ unit: "per_million_tokens"
2662
+ }
2663
+ },
2664
+ {
2665
+ name: "moonshotai/kimi-k2-0905:exacto",
2666
+ displayName: "Kimi K2 Instruct 0905 (exacto)",
2667
+ maxInputTokens: 262144,
2668
+ supportedFileTypes: [],
2669
+ pricing: {
2670
+ inputPerM: 0.6,
2671
+ outputPerM: 2.5,
2672
+ currency: "USD",
2673
+ unit: "per_million_tokens"
2674
+ }
2675
+ },
2676
+ {
2677
+ name: "moonshotai/kimi-k2-thinking",
2678
+ displayName: "Kimi K2 Thinking",
2679
+ maxInputTokens: 262144,
2680
+ supportedFileTypes: [],
2681
+ pricing: {
2682
+ inputPerM: 0.6,
2683
+ outputPerM: 2.5,
2684
+ cacheReadPerM: 0.15,
2685
+ currency: "USD",
2686
+ unit: "per_million_tokens"
2687
+ }
2688
+ },
2689
+ {
2690
+ name: "moonshotai/kimi-k2:free",
2691
+ displayName: "Kimi K2 (free)",
2692
+ maxInputTokens: 32800,
2693
+ supportedFileTypes: [],
2694
+ pricing: {
2695
+ inputPerM: 0,
2696
+ outputPerM: 0,
2697
+ currency: "USD",
2698
+ unit: "per_million_tokens"
2699
+ }
2700
+ },
2701
+ {
2702
+ name: "moonshotai/kimi-k2.5",
2703
+ displayName: "Kimi K2.5",
2704
+ maxInputTokens: 262144,
2705
+ supportedFileTypes: ["image"],
2706
+ pricing: {
2707
+ inputPerM: 0.6,
2708
+ outputPerM: 3,
2709
+ cacheReadPerM: 0.1,
2710
+ currency: "USD",
2711
+ unit: "per_million_tokens"
2712
+ }
2713
+ },
2714
+ {
2715
+ name: "nousresearch/deephermes-3-llama-3-8b-preview",
2716
+ displayName: "DeepHermes 3 Llama 3 8B Preview",
2717
+ maxInputTokens: 131072,
2718
+ supportedFileTypes: [],
2719
+ pricing: {
2720
+ inputPerM: 0,
2721
+ outputPerM: 0,
2722
+ currency: "USD",
2723
+ unit: "per_million_tokens"
2724
+ }
2725
+ },
2726
+ {
2727
+ name: "nousresearch/hermes-4-405b",
2728
+ displayName: "Hermes 4 405B",
2729
+ maxInputTokens: 131072,
2730
+ supportedFileTypes: [],
2731
+ pricing: {
2732
+ inputPerM: 1,
2733
+ outputPerM: 3,
2734
+ currency: "USD",
2735
+ unit: "per_million_tokens"
2736
+ }
2737
+ },
2738
+ {
2739
+ name: "nousresearch/hermes-4-70b",
2740
+ displayName: "Hermes 4 70B",
2741
+ maxInputTokens: 131072,
2742
+ supportedFileTypes: [],
2743
+ pricing: {
2744
+ inputPerM: 0.13,
2745
+ outputPerM: 0.4,
2746
+ currency: "USD",
2747
+ unit: "per_million_tokens"
2748
+ }
2749
+ },
2750
+ {
2751
+ name: "nvidia/nemotron-nano-9b-v2",
2752
+ displayName: "nvidia-nemotron-nano-9b-v2",
2753
+ maxInputTokens: 131072,
2754
+ supportedFileTypes: [],
2755
+ pricing: {
2756
+ inputPerM: 0.04,
2757
+ outputPerM: 0.16,
2758
+ currency: "USD",
2759
+ unit: "per_million_tokens"
2760
+ }
2761
+ },
2762
+ {
2763
+ name: "openai/gpt-4.1",
2764
+ displayName: "GPT-4.1",
2765
+ maxInputTokens: 1047576,
2766
+ supportedFileTypes: ["image"],
2767
+ pricing: {
2768
+ inputPerM: 2,
2769
+ outputPerM: 8,
2770
+ cacheReadPerM: 0.5,
2771
+ currency: "USD",
2772
+ unit: "per_million_tokens"
2773
+ }
2774
+ },
2775
+ {
2776
+ name: "openai/gpt-4.1-mini",
2777
+ displayName: "GPT-4.1 Mini",
2778
+ maxInputTokens: 1047576,
2779
+ supportedFileTypes: ["image"],
2780
+ pricing: {
2781
+ inputPerM: 0.4,
2782
+ outputPerM: 1.6,
2783
+ cacheReadPerM: 0.1,
2784
+ currency: "USD",
2785
+ unit: "per_million_tokens"
2786
+ }
2787
+ },
2788
+ {
2789
+ name: "openai/gpt-4o-mini",
2790
+ displayName: "GPT-4o-mini",
2791
+ maxInputTokens: 128e3,
2792
+ supportedFileTypes: ["image"],
2793
+ pricing: {
2794
+ inputPerM: 0.15,
2795
+ outputPerM: 0.6,
2796
+ cacheReadPerM: 0.08,
2797
+ currency: "USD",
2798
+ unit: "per_million_tokens"
2799
+ }
2800
+ },
2801
+ {
2802
+ name: "openai/gpt-5",
2803
+ displayName: "GPT-5",
2804
+ maxInputTokens: 4e5,
2805
+ supportedFileTypes: ["image"],
2806
+ pricing: {
2807
+ inputPerM: 1.25,
2808
+ outputPerM: 10,
2809
+ currency: "USD",
2810
+ unit: "per_million_tokens"
2811
+ }
2812
+ },
2813
+ {
2814
+ name: "openai/gpt-5-chat",
2815
+ displayName: "GPT-5 Chat (latest)",
2816
+ maxInputTokens: 4e5,
2817
+ supportedFileTypes: ["image"],
2818
+ pricing: {
2819
+ inputPerM: 1.25,
2820
+ outputPerM: 10,
2821
+ currency: "USD",
2822
+ unit: "per_million_tokens"
2823
+ }
2824
+ },
2825
+ {
2826
+ name: "openai/gpt-5-codex",
2827
+ displayName: "GPT-5 Codex",
2828
+ maxInputTokens: 4e5,
2829
+ supportedFileTypes: ["image"],
2830
+ pricing: {
2831
+ inputPerM: 1.25,
2832
+ outputPerM: 10,
2833
+ cacheReadPerM: 0.125,
2834
+ currency: "USD",
2835
+ unit: "per_million_tokens"
2836
+ }
2837
+ },
2838
+ {
2839
+ name: "openai/gpt-5-image",
2840
+ displayName: "GPT-5 Image",
2841
+ maxInputTokens: 4e5,
2842
+ supportedFileTypes: ["pdf", "image"],
2843
+ pricing: {
2844
+ inputPerM: 5,
2845
+ outputPerM: 10,
2846
+ cacheReadPerM: 1.25,
2847
+ currency: "USD",
2848
+ unit: "per_million_tokens"
2849
+ }
2850
+ },
2851
+ {
2852
+ name: "openai/gpt-5-mini",
2853
+ displayName: "GPT-5 Mini",
2854
+ maxInputTokens: 4e5,
2855
+ supportedFileTypes: ["image"],
2856
+ pricing: {
2857
+ inputPerM: 0.25,
2858
+ outputPerM: 2,
2859
+ currency: "USD",
2860
+ unit: "per_million_tokens"
2861
+ }
2862
+ },
2863
+ {
2864
+ name: "openai/gpt-5-nano",
2865
+ displayName: "GPT-5 Nano",
2866
+ maxInputTokens: 4e5,
2867
+ supportedFileTypes: ["image"],
2868
+ pricing: {
2869
+ inputPerM: 0.05,
2870
+ outputPerM: 0.4,
2871
+ currency: "USD",
2872
+ unit: "per_million_tokens"
2873
+ }
2874
+ },
2875
+ {
2876
+ name: "openai/gpt-5-pro",
2877
+ displayName: "GPT-5 Pro",
2878
+ maxInputTokens: 4e5,
2879
+ supportedFileTypes: ["image"],
2880
+ pricing: {
2881
+ inputPerM: 15,
2882
+ outputPerM: 120,
2883
+ currency: "USD",
2884
+ unit: "per_million_tokens"
2885
+ }
2886
+ },
2887
+ {
2888
+ name: "openai/gpt-5.1",
2889
+ displayName: "GPT-5.1",
2890
+ maxInputTokens: 4e5,
2891
+ supportedFileTypes: ["image"],
2892
+ pricing: {
2893
+ inputPerM: 1.25,
2894
+ outputPerM: 10,
2895
+ cacheReadPerM: 0.125,
2896
+ currency: "USD",
2897
+ unit: "per_million_tokens"
2898
+ }
2899
+ },
2900
+ {
2901
+ name: "openai/gpt-5.1-chat",
2902
+ displayName: "GPT-5.1 Chat",
2903
+ maxInputTokens: 128e3,
2904
+ supportedFileTypes: ["image"],
2905
+ pricing: {
2906
+ inputPerM: 1.25,
2907
+ outputPerM: 10,
2908
+ cacheReadPerM: 0.125,
2909
+ currency: "USD",
2910
+ unit: "per_million_tokens"
2911
+ }
2912
+ },
2913
+ {
2914
+ name: "openai/gpt-5.1-codex",
2915
+ displayName: "GPT-5.1-Codex",
2916
+ maxInputTokens: 4e5,
2917
+ supportedFileTypes: ["image"],
2918
+ pricing: {
2919
+ inputPerM: 1.25,
2920
+ outputPerM: 10,
2921
+ cacheReadPerM: 0.125,
2922
+ currency: "USD",
2923
+ unit: "per_million_tokens"
2924
+ }
2925
+ },
2926
+ {
2927
+ name: "openai/gpt-5.1-codex-max",
2928
+ displayName: "GPT-5.1-Codex-Max",
2929
+ maxInputTokens: 4e5,
2930
+ supportedFileTypes: ["image"],
2931
+ pricing: {
2932
+ inputPerM: 1.1,
2933
+ outputPerM: 9,
2934
+ cacheReadPerM: 0.11,
2935
+ currency: "USD",
2936
+ unit: "per_million_tokens"
2937
+ }
2938
+ },
2939
+ {
2940
+ name: "openai/gpt-5.1-codex-mini",
2941
+ displayName: "GPT-5.1-Codex-Mini",
2942
+ maxInputTokens: 4e5,
2943
+ supportedFileTypes: ["image"],
2944
+ pricing: {
2945
+ inputPerM: 0.25,
2946
+ outputPerM: 2,
2947
+ cacheReadPerM: 0.025,
2948
+ currency: "USD",
2949
+ unit: "per_million_tokens"
2950
+ }
2951
+ },
2952
+ {
2953
+ name: "openai/gpt-5.2",
2954
+ displayName: "GPT-5.2",
2955
+ maxInputTokens: 4e5,
2956
+ supportedFileTypes: ["image"],
2957
+ pricing: {
2958
+ inputPerM: 1.75,
2959
+ outputPerM: 14,
2960
+ cacheReadPerM: 0.175,
2961
+ currency: "USD",
2962
+ unit: "per_million_tokens"
2963
+ }
2964
+ },
2965
+ {
2966
+ name: "openai/gpt-5.2-chat-latest",
2967
+ displayName: "GPT-5.2 Chat",
2968
+ maxInputTokens: 128e3,
2969
+ supportedFileTypes: ["image"],
2970
+ pricing: {
2971
+ inputPerM: 1.75,
2972
+ outputPerM: 14,
2973
+ cacheReadPerM: 0.175,
2974
+ currency: "USD",
2975
+ unit: "per_million_tokens"
2976
+ }
2977
+ },
2978
+ {
2979
+ name: "openai/gpt-5.2-codex",
2980
+ displayName: "GPT-5.2-Codex",
2981
+ maxInputTokens: 4e5,
2982
+ supportedFileTypes: ["image"],
2983
+ pricing: {
2984
+ inputPerM: 1.75,
2985
+ outputPerM: 14,
2986
+ cacheReadPerM: 0.175,
2987
+ currency: "USD",
2988
+ unit: "per_million_tokens"
2989
+ }
2990
+ },
2991
+ {
2992
+ name: "openai/gpt-5.2-pro",
2993
+ displayName: "GPT-5.2 Pro",
2994
+ maxInputTokens: 4e5,
2995
+ supportedFileTypes: ["image"],
2996
+ pricing: {
2997
+ inputPerM: 21,
2998
+ outputPerM: 168,
2999
+ currency: "USD",
3000
+ unit: "per_million_tokens"
3001
+ }
3002
+ },
3003
+ {
3004
+ name: "openai/gpt-oss-120b",
3005
+ displayName: "GPT OSS 120B",
3006
+ maxInputTokens: 131072,
3007
+ supportedFileTypes: [],
3008
+ pricing: {
3009
+ inputPerM: 0.072,
3010
+ outputPerM: 0.28,
3011
+ currency: "USD",
3012
+ unit: "per_million_tokens"
3013
+ }
3014
+ },
3015
+ {
3016
+ name: "openai/gpt-oss-120b:exacto",
3017
+ displayName: "GPT OSS 120B (exacto)",
3018
+ maxInputTokens: 131072,
3019
+ supportedFileTypes: [],
3020
+ pricing: {
3021
+ inputPerM: 0.05,
3022
+ outputPerM: 0.24,
3023
+ currency: "USD",
3024
+ unit: "per_million_tokens"
3025
+ }
3026
+ },
3027
+ {
3028
+ name: "openai/gpt-oss-20b",
3029
+ displayName: "GPT OSS 20B",
3030
+ maxInputTokens: 131072,
3031
+ supportedFileTypes: [],
3032
+ pricing: {
3033
+ inputPerM: 0.05,
3034
+ outputPerM: 0.2,
3035
+ currency: "USD",
3036
+ unit: "per_million_tokens"
3037
+ }
3038
+ },
3039
+ {
3040
+ name: "openai/gpt-oss-safeguard-20b",
3041
+ displayName: "GPT OSS Safeguard 20B",
3042
+ maxInputTokens: 131072,
3043
+ supportedFileTypes: [],
3044
+ pricing: {
3045
+ inputPerM: 0.075,
3046
+ outputPerM: 0.3,
3047
+ currency: "USD",
3048
+ unit: "per_million_tokens"
3049
+ }
3050
+ },
3051
+ {
3052
+ name: "openai/o4-mini",
3053
+ displayName: "o4 Mini",
3054
+ maxInputTokens: 2e5,
3055
+ supportedFileTypes: ["image"],
3056
+ pricing: {
3057
+ inputPerM: 1.1,
3058
+ outputPerM: 4.4,
3059
+ cacheReadPerM: 0.28,
3060
+ currency: "USD",
3061
+ unit: "per_million_tokens"
3062
+ }
3063
+ },
3064
+ {
3065
+ name: "openrouter/sherlock-dash-alpha",
3066
+ displayName: "Sherlock Dash Alpha",
3067
+ maxInputTokens: 184e4,
3068
+ supportedFileTypes: ["image"],
3069
+ pricing: {
3070
+ inputPerM: 0,
3071
+ outputPerM: 0,
3072
+ currency: "USD",
3073
+ unit: "per_million_tokens"
3074
+ }
3075
+ },
3076
+ {
3077
+ name: "openrouter/sherlock-think-alpha",
3078
+ displayName: "Sherlock Think Alpha",
3079
+ maxInputTokens: 184e4,
3080
+ supportedFileTypes: ["image"],
3081
+ pricing: {
3082
+ inputPerM: 0,
3083
+ outputPerM: 0,
3084
+ currency: "USD",
3085
+ unit: "per_million_tokens"
3086
+ }
3087
+ },
3088
+ {
3089
+ name: "qwen/qwen-2.5-coder-32b-instruct",
3090
+ displayName: "Qwen2.5 Coder 32B Instruct",
3091
+ maxInputTokens: 32768,
3092
+ supportedFileTypes: [],
3093
+ pricing: {
3094
+ inputPerM: 0,
3095
+ outputPerM: 0,
3096
+ currency: "USD",
3097
+ unit: "per_million_tokens"
3098
+ }
3099
+ },
3100
+ {
3101
+ name: "qwen/qwen2.5-vl-32b-instruct:free",
3102
+ displayName: "Qwen2.5 VL 32B Instruct (free)",
3103
+ maxInputTokens: 8192,
3104
+ supportedFileTypes: ["image"],
3105
+ pricing: {
3106
+ inputPerM: 0,
3107
+ outputPerM: 0,
3108
+ currency: "USD",
3109
+ unit: "per_million_tokens"
3110
+ }
3111
+ },
3112
+ {
3113
+ name: "qwen/qwen2.5-vl-72b-instruct",
3114
+ displayName: "Qwen2.5 VL 72B Instruct",
3115
+ maxInputTokens: 32768,
3116
+ supportedFileTypes: ["image"],
3117
+ pricing: {
3118
+ inputPerM: 0,
3119
+ outputPerM: 0,
3120
+ currency: "USD",
3121
+ unit: "per_million_tokens"
3122
+ }
3123
+ },
3124
+ {
3125
+ name: "qwen/qwen2.5-vl-72b-instruct:free",
3126
+ displayName: "Qwen2.5 VL 72B Instruct (free)",
3127
+ maxInputTokens: 32768,
3128
+ supportedFileTypes: ["image"],
3129
+ pricing: {
3130
+ inputPerM: 0,
3131
+ outputPerM: 0,
3132
+ currency: "USD",
3133
+ unit: "per_million_tokens"
3134
+ }
3135
+ },
3136
+ {
3137
+ name: "qwen/qwen3-14b:free",
3138
+ displayName: "Qwen3 14B (free)",
3139
+ maxInputTokens: 40960,
3140
+ supportedFileTypes: [],
3141
+ pricing: {
3142
+ inputPerM: 0,
3143
+ outputPerM: 0,
3144
+ currency: "USD",
3145
+ unit: "per_million_tokens"
3146
+ }
3147
+ },
3148
+ {
3149
+ name: "qwen/qwen3-235b-a22b-07-25",
3150
+ displayName: "Qwen3 235B A22B Instruct 2507",
3151
+ maxInputTokens: 262144,
3152
+ supportedFileTypes: [],
3153
+ pricing: {
3154
+ inputPerM: 0.15,
3155
+ outputPerM: 0.85,
3156
+ currency: "USD",
3157
+ unit: "per_million_tokens"
3158
+ }
3159
+ },
3160
+ {
3161
+ name: "qwen/qwen3-235b-a22b-07-25:free",
3162
+ displayName: "Qwen3 235B A22B Instruct 2507 (free)",
3163
+ maxInputTokens: 262144,
3164
+ supportedFileTypes: [],
3165
+ pricing: {
3166
+ inputPerM: 0,
3167
+ outputPerM: 0,
3168
+ currency: "USD",
3169
+ unit: "per_million_tokens"
3170
+ }
3171
+ },
3172
+ {
3173
+ name: "qwen/qwen3-235b-a22b-thinking-2507",
3174
+ displayName: "Qwen3 235B A22B Thinking 2507",
3175
+ maxInputTokens: 262144,
3176
+ supportedFileTypes: [],
3177
+ pricing: {
3178
+ inputPerM: 0.078,
3179
+ outputPerM: 0.312,
3180
+ currency: "USD",
3181
+ unit: "per_million_tokens"
3182
+ }
3183
+ },
3184
+ {
3185
+ name: "qwen/qwen3-235b-a22b:free",
3186
+ displayName: "Qwen3 235B A22B (free)",
3187
+ maxInputTokens: 131072,
3188
+ supportedFileTypes: [],
3189
+ pricing: {
3190
+ inputPerM: 0,
3191
+ outputPerM: 0,
3192
+ currency: "USD",
3193
+ unit: "per_million_tokens"
3194
+ }
3195
+ },
3196
+ {
3197
+ name: "qwen/qwen3-30b-a3b-instruct-2507",
3198
+ displayName: "Qwen3 30B A3B Instruct 2507",
3199
+ maxInputTokens: 262e3,
3200
+ supportedFileTypes: [],
3201
+ pricing: {
3202
+ inputPerM: 0.2,
3203
+ outputPerM: 0.8,
3204
+ currency: "USD",
3205
+ unit: "per_million_tokens"
3206
+ }
3207
+ },
3208
+ {
3209
+ name: "qwen/qwen3-30b-a3b-thinking-2507",
3210
+ displayName: "Qwen3 30B A3B Thinking 2507",
3211
+ maxInputTokens: 262e3,
3212
+ supportedFileTypes: [],
3213
+ pricing: {
3214
+ inputPerM: 0.2,
3215
+ outputPerM: 0.8,
3216
+ currency: "USD",
3217
+ unit: "per_million_tokens"
3218
+ }
3219
+ },
3220
+ {
3221
+ name: "qwen/qwen3-30b-a3b:free",
3222
+ displayName: "Qwen3 30B A3B (free)",
3223
+ maxInputTokens: 40960,
3224
+ supportedFileTypes: [],
3225
+ pricing: {
3226
+ inputPerM: 0,
3227
+ outputPerM: 0,
3228
+ currency: "USD",
3229
+ unit: "per_million_tokens"
3230
+ }
3231
+ },
3232
+ {
3233
+ name: "qwen/qwen3-32b:free",
3234
+ displayName: "Qwen3 32B (free)",
3235
+ maxInputTokens: 40960,
3236
+ supportedFileTypes: [],
3237
+ pricing: {
3238
+ inputPerM: 0,
3239
+ outputPerM: 0,
3240
+ currency: "USD",
3241
+ unit: "per_million_tokens"
3242
+ }
3243
+ },
3244
+ {
3245
+ name: "qwen/qwen3-8b:free",
3246
+ displayName: "Qwen3 8B (free)",
3247
+ maxInputTokens: 40960,
3248
+ supportedFileTypes: [],
3249
+ pricing: {
3250
+ inputPerM: 0,
3251
+ outputPerM: 0,
3252
+ currency: "USD",
3253
+ unit: "per_million_tokens"
3254
+ }
3255
+ },
3256
+ {
3257
+ name: "qwen/qwen3-coder",
3258
+ displayName: "Qwen3 Coder",
3259
+ maxInputTokens: 262144,
3260
+ supportedFileTypes: [],
3261
+ pricing: {
3262
+ inputPerM: 0.3,
3263
+ outputPerM: 1.2,
3264
+ currency: "USD",
3265
+ unit: "per_million_tokens"
3266
+ }
3267
+ },
3268
+ {
3269
+ name: "qwen/qwen3-coder-30b-a3b-instruct",
3270
+ displayName: "Qwen3 Coder 30B A3B Instruct",
3271
+ maxInputTokens: 16e4,
3272
+ supportedFileTypes: [],
3273
+ pricing: {
3274
+ inputPerM: 0.07,
3275
+ outputPerM: 0.27,
3276
+ currency: "USD",
3277
+ unit: "per_million_tokens"
3278
+ }
3279
+ },
3280
+ {
3281
+ name: "qwen/qwen3-coder-flash",
3282
+ displayName: "Qwen3 Coder Flash",
3283
+ maxInputTokens: 128e3,
3284
+ supportedFileTypes: [],
3285
+ pricing: {
3286
+ inputPerM: 0.3,
3287
+ outputPerM: 1.5,
3288
+ currency: "USD",
3289
+ unit: "per_million_tokens"
3290
+ }
3291
+ },
3292
+ {
3293
+ name: "qwen/qwen3-coder:exacto",
3294
+ displayName: "Qwen3 Coder (exacto)",
3295
+ maxInputTokens: 131072,
3296
+ supportedFileTypes: [],
3297
+ pricing: {
3298
+ inputPerM: 0.38,
3299
+ outputPerM: 1.53,
3300
+ currency: "USD",
3301
+ unit: "per_million_tokens"
3302
+ }
3303
+ },
3304
+ {
3305
+ name: "qwen/qwen3-coder:free",
3306
+ displayName: "Qwen3 Coder 480B A35B Instruct (free)",
3307
+ maxInputTokens: 262144,
3308
+ supportedFileTypes: [],
3309
+ pricing: {
3310
+ inputPerM: 0,
3311
+ outputPerM: 0,
3312
+ currency: "USD",
3313
+ unit: "per_million_tokens"
3314
+ }
3315
+ },
3316
+ {
3317
+ name: "qwen/qwen3-max",
3318
+ displayName: "Qwen3 Max",
3319
+ maxInputTokens: 262144,
3320
+ supportedFileTypes: [],
3321
+ pricing: {
3322
+ inputPerM: 1.2,
3323
+ outputPerM: 6,
3324
+ currency: "USD",
3325
+ unit: "per_million_tokens"
3326
+ }
3327
+ },
3328
+ {
3329
+ name: "qwen/qwen3-next-80b-a3b-instruct",
3330
+ displayName: "Qwen3 Next 80B A3B Instruct",
3331
+ maxInputTokens: 262144,
3332
+ supportedFileTypes: [],
3333
+ pricing: {
3334
+ inputPerM: 0.14,
3335
+ outputPerM: 1.4,
3336
+ currency: "USD",
3337
+ unit: "per_million_tokens"
3338
+ }
3339
+ },
3340
+ {
3341
+ name: "qwen/qwen3-next-80b-a3b-thinking",
3342
+ displayName: "Qwen3 Next 80B A3B Thinking",
3343
+ maxInputTokens: 262144,
3344
+ supportedFileTypes: [],
3345
+ pricing: {
3346
+ inputPerM: 0.14,
3347
+ outputPerM: 1.4,
3348
+ currency: "USD",
3349
+ unit: "per_million_tokens"
3350
+ }
3351
+ },
3352
+ {
3353
+ name: "qwen/qwq-32b:free",
3354
+ displayName: "QwQ 32B (free)",
3355
+ maxInputTokens: 32768,
3356
+ supportedFileTypes: [],
3357
+ pricing: {
3358
+ inputPerM: 0,
3359
+ outputPerM: 0,
3360
+ currency: "USD",
3361
+ unit: "per_million_tokens"
3362
+ }
3363
+ },
3364
+ {
3365
+ name: "rekaai/reka-flash-3",
3366
+ displayName: "Reka Flash 3",
3367
+ maxInputTokens: 32768,
3368
+ supportedFileTypes: [],
3369
+ pricing: {
3370
+ inputPerM: 0,
3371
+ outputPerM: 0,
3372
+ currency: "USD",
3373
+ unit: "per_million_tokens"
3374
+ }
3375
+ },
3376
+ {
3377
+ name: "sarvamai/sarvam-m:free",
3378
+ displayName: "Sarvam-M (free)",
3379
+ maxInputTokens: 32768,
3380
+ supportedFileTypes: [],
3381
+ pricing: {
3382
+ inputPerM: 0,
3383
+ outputPerM: 0,
3384
+ currency: "USD",
3385
+ unit: "per_million_tokens"
3386
+ }
3387
+ },
3388
+ {
3389
+ name: "thudm/glm-z1-32b:free",
3390
+ displayName: "GLM Z1 32B (free)",
3391
+ maxInputTokens: 32768,
3392
+ supportedFileTypes: [],
3393
+ pricing: {
3394
+ inputPerM: 0,
3395
+ outputPerM: 0,
3396
+ currency: "USD",
3397
+ unit: "per_million_tokens"
3398
+ }
3399
+ },
3400
+ {
3401
+ name: "tngtech/deepseek-r1t2-chimera:free",
3402
+ displayName: "DeepSeek R1T2 Chimera (free)",
3403
+ maxInputTokens: 163840,
3404
+ supportedFileTypes: [],
3405
+ pricing: {
3406
+ inputPerM: 0,
3407
+ outputPerM: 0,
3408
+ currency: "USD",
3409
+ unit: "per_million_tokens"
3410
+ }
3411
+ },
3412
+ {
3413
+ name: "x-ai/grok-3",
3414
+ displayName: "Grok 3",
3415
+ maxInputTokens: 131072,
3416
+ supportedFileTypes: [],
3417
+ pricing: {
3418
+ inputPerM: 3,
3419
+ outputPerM: 15,
3420
+ cacheReadPerM: 0.75,
3421
+ cacheWritePerM: 15,
3422
+ currency: "USD",
3423
+ unit: "per_million_tokens"
3424
+ }
3425
+ },
3426
+ {
3427
+ name: "x-ai/grok-3-beta",
3428
+ displayName: "Grok 3 Beta",
3429
+ maxInputTokens: 131072,
3430
+ supportedFileTypes: [],
3431
+ pricing: {
3432
+ inputPerM: 3,
3433
+ outputPerM: 15,
3434
+ cacheReadPerM: 0.75,
3435
+ cacheWritePerM: 15,
3436
+ currency: "USD",
3437
+ unit: "per_million_tokens"
3438
+ }
3439
+ },
3440
+ {
3441
+ name: "x-ai/grok-3-mini",
3442
+ displayName: "Grok 3 Mini",
3443
+ maxInputTokens: 131072,
3444
+ supportedFileTypes: [],
3445
+ pricing: {
3446
+ inputPerM: 0.3,
3447
+ outputPerM: 0.5,
3448
+ cacheReadPerM: 0.075,
3449
+ cacheWritePerM: 0.5,
3450
+ currency: "USD",
3451
+ unit: "per_million_tokens"
3452
+ }
3453
+ },
3454
+ {
3455
+ name: "x-ai/grok-3-mini-beta",
3456
+ displayName: "Grok 3 Mini Beta",
3457
+ maxInputTokens: 131072,
3458
+ supportedFileTypes: [],
3459
+ pricing: {
3460
+ inputPerM: 0.3,
3461
+ outputPerM: 0.5,
3462
+ cacheReadPerM: 0.075,
3463
+ cacheWritePerM: 0.5,
3464
+ currency: "USD",
3465
+ unit: "per_million_tokens"
3466
+ }
3467
+ },
3468
+ {
3469
+ name: "x-ai/grok-4",
3470
+ displayName: "Grok 4",
3471
+ maxInputTokens: 256e3,
3472
+ supportedFileTypes: [],
3473
+ pricing: {
3474
+ inputPerM: 3,
3475
+ outputPerM: 15,
3476
+ cacheReadPerM: 0.75,
3477
+ cacheWritePerM: 15,
3478
+ currency: "USD",
3479
+ unit: "per_million_tokens"
3480
+ }
3481
+ },
3482
+ {
3483
+ name: "x-ai/grok-4-fast",
3484
+ displayName: "Grok 4 Fast",
3485
+ maxInputTokens: 2e6,
3486
+ supportedFileTypes: ["image"],
3487
+ pricing: {
3488
+ inputPerM: 0.2,
3489
+ outputPerM: 0.5,
3490
+ cacheReadPerM: 0.05,
3491
+ cacheWritePerM: 0.05,
3492
+ currency: "USD",
3493
+ unit: "per_million_tokens"
3494
+ }
3495
+ },
3496
+ {
3497
+ name: "x-ai/grok-4.1-fast",
3498
+ displayName: "Grok 4.1 Fast",
3499
+ maxInputTokens: 2e6,
3500
+ supportedFileTypes: ["image"],
3501
+ pricing: {
3502
+ inputPerM: 0.2,
3503
+ outputPerM: 0.5,
3504
+ cacheReadPerM: 0.05,
3505
+ cacheWritePerM: 0.05,
3506
+ currency: "USD",
3507
+ unit: "per_million_tokens"
3508
+ }
3509
+ },
3510
+ {
3511
+ name: "x-ai/grok-code-fast-1",
3512
+ displayName: "Grok Code Fast 1",
3513
+ maxInputTokens: 256e3,
3514
+ supportedFileTypes: [],
3515
+ pricing: {
3516
+ inputPerM: 0.2,
3517
+ outputPerM: 1.5,
3518
+ cacheReadPerM: 0.02,
3519
+ currency: "USD",
3520
+ unit: "per_million_tokens"
3521
+ }
3522
+ },
3523
+ {
3524
+ name: "z-ai/glm-4.5",
3525
+ displayName: "GLM 4.5",
3526
+ maxInputTokens: 128e3,
3527
+ supportedFileTypes: [],
3528
+ pricing: {
3529
+ inputPerM: 0.6,
3530
+ outputPerM: 2.2,
3531
+ currency: "USD",
3532
+ unit: "per_million_tokens"
3533
+ }
3534
+ },
3535
+ {
3536
+ name: "z-ai/glm-4.5-air",
3537
+ displayName: "GLM 4.5 Air",
3538
+ maxInputTokens: 128e3,
3539
+ supportedFileTypes: [],
3540
+ pricing: {
3541
+ inputPerM: 0.2,
3542
+ outputPerM: 1.1,
3543
+ currency: "USD",
3544
+ unit: "per_million_tokens"
3545
+ }
3546
+ },
3547
+ {
3548
+ name: "z-ai/glm-4.5-air:free",
3549
+ displayName: "GLM 4.5 Air (free)",
3550
+ maxInputTokens: 128e3,
3551
+ supportedFileTypes: [],
3552
+ pricing: {
3553
+ inputPerM: 0,
3554
+ outputPerM: 0,
3555
+ currency: "USD",
3556
+ unit: "per_million_tokens"
3557
+ }
3558
+ },
3559
+ {
3560
+ name: "z-ai/glm-4.5v",
3561
+ displayName: "GLM 4.5V",
3562
+ maxInputTokens: 64e3,
3563
+ supportedFileTypes: ["image"],
3564
+ pricing: {
3565
+ inputPerM: 0.6,
3566
+ outputPerM: 1.8,
3567
+ currency: "USD",
3568
+ unit: "per_million_tokens"
3569
+ }
3570
+ },
3571
+ {
3572
+ name: "z-ai/glm-4.6",
3573
+ displayName: "GLM 4.6",
3574
+ maxInputTokens: 2e5,
3575
+ supportedFileTypes: [],
3576
+ pricing: {
3577
+ inputPerM: 0.6,
3578
+ outputPerM: 2.2,
3579
+ cacheReadPerM: 0.11,
3580
+ currency: "USD",
3581
+ unit: "per_million_tokens"
3582
+ }
3583
+ },
3584
+ {
3585
+ name: "z-ai/glm-4.6:exacto",
3586
+ displayName: "GLM 4.6 (exacto)",
3587
+ maxInputTokens: 2e5,
3588
+ supportedFileTypes: [],
3589
+ pricing: {
3590
+ inputPerM: 0.6,
3591
+ outputPerM: 1.9,
3592
+ cacheReadPerM: 0.11,
3593
+ currency: "USD",
3594
+ unit: "per_million_tokens"
3595
+ }
3596
+ },
3597
+ {
3598
+ name: "z-ai/glm-4.7",
3599
+ displayName: "GLM-4.7",
3600
+ maxInputTokens: 204800,
3601
+ supportedFileTypes: [],
3602
+ pricing: {
3603
+ inputPerM: 0.6,
3604
+ outputPerM: 2.2,
3605
+ cacheReadPerM: 0.11,
3606
+ currency: "USD",
3607
+ unit: "per_million_tokens"
3608
+ }
3609
+ }
3610
+ ],
3611
+ litellm: [],
3612
+ glama: [],
3613
+ vertex: [
3614
+ {
3615
+ name: "claude-3-5-haiku@20241022",
3616
+ displayName: "Claude Haiku 3.5",
3617
+ maxInputTokens: 2e5,
3618
+ supportedFileTypes: ["pdf", "image"],
3619
+ pricing: {
3620
+ inputPerM: 0.8,
3621
+ outputPerM: 4,
3622
+ cacheReadPerM: 0.08,
3623
+ cacheWritePerM: 1,
3624
+ currency: "USD",
3625
+ unit: "per_million_tokens"
3626
+ }
3627
+ },
3628
+ {
3629
+ name: "claude-3-5-sonnet@20241022",
3630
+ displayName: "Claude Sonnet 3.5 v2",
3631
+ maxInputTokens: 2e5,
3632
+ supportedFileTypes: ["pdf", "image"],
3633
+ pricing: {
3634
+ inputPerM: 3,
3635
+ outputPerM: 15,
3636
+ cacheReadPerM: 0.3,
3637
+ cacheWritePerM: 3.75,
3638
+ currency: "USD",
3639
+ unit: "per_million_tokens"
3640
+ }
3641
+ },
3642
+ {
3643
+ name: "claude-3-7-sonnet@20250219",
3644
+ displayName: "Claude Sonnet 3.7",
3645
+ maxInputTokens: 2e5,
3646
+ supportedFileTypes: ["pdf", "image"],
3647
+ pricing: {
3648
+ inputPerM: 3,
3649
+ outputPerM: 15,
3650
+ cacheReadPerM: 0.3,
3651
+ cacheWritePerM: 3.75,
3652
+ currency: "USD",
3653
+ unit: "per_million_tokens"
3654
+ }
3655
+ },
3656
+ {
3657
+ name: "claude-haiku-4-5@20251001",
3658
+ displayName: "Claude Haiku 4.5",
3659
+ maxInputTokens: 2e5,
3660
+ supportedFileTypes: ["pdf", "image"],
3661
+ pricing: {
3662
+ inputPerM: 1,
3663
+ outputPerM: 5,
3664
+ cacheReadPerM: 0.1,
3665
+ cacheWritePerM: 1.25,
3666
+ currency: "USD",
3667
+ unit: "per_million_tokens"
3668
+ }
3669
+ },
3670
+ {
3671
+ name: "claude-opus-4-1@20250805",
3672
+ displayName: "Claude Opus 4.1",
3673
+ maxInputTokens: 2e5,
3674
+ supportedFileTypes: ["pdf", "image"],
3675
+ pricing: {
3676
+ inputPerM: 15,
3677
+ outputPerM: 75,
3678
+ cacheReadPerM: 1.5,
3679
+ cacheWritePerM: 18.75,
3680
+ currency: "USD",
3681
+ unit: "per_million_tokens"
3682
+ }
3683
+ },
3684
+ {
3685
+ name: "claude-opus-4-5@20251101",
3686
+ displayName: "Claude Opus 4.5",
3687
+ maxInputTokens: 2e5,
3688
+ supportedFileTypes: ["pdf", "image"],
3689
+ pricing: {
3690
+ inputPerM: 5,
3691
+ outputPerM: 25,
3692
+ cacheReadPerM: 0.5,
3693
+ cacheWritePerM: 6.25,
3694
+ currency: "USD",
3695
+ unit: "per_million_tokens"
3696
+ }
3697
+ },
3698
+ {
3699
+ name: "claude-opus-4@20250514",
3700
+ displayName: "Claude Opus 4",
3701
+ maxInputTokens: 2e5,
3702
+ supportedFileTypes: ["pdf", "image"],
3703
+ pricing: {
3704
+ inputPerM: 15,
3705
+ outputPerM: 75,
3706
+ cacheReadPerM: 1.5,
3707
+ cacheWritePerM: 18.75,
3708
+ currency: "USD",
3709
+ unit: "per_million_tokens"
3710
+ }
3711
+ },
3712
+ {
3713
+ name: "claude-sonnet-4-5@20250929",
3714
+ displayName: "Claude Sonnet 4.5",
3715
+ maxInputTokens: 2e5,
3716
+ supportedFileTypes: ["pdf", "image"],
3717
+ pricing: {
3718
+ inputPerM: 3,
3719
+ outputPerM: 15,
3720
+ cacheReadPerM: 0.3,
3721
+ cacheWritePerM: 3.75,
3722
+ currency: "USD",
3723
+ unit: "per_million_tokens"
3724
+ }
3725
+ },
3726
+ {
3727
+ name: "claude-sonnet-4@20250514",
3728
+ displayName: "Claude Sonnet 4",
3729
+ maxInputTokens: 2e5,
3730
+ supportedFileTypes: ["pdf", "image"],
3731
+ pricing: {
3732
+ inputPerM: 3,
3733
+ outputPerM: 15,
3734
+ cacheReadPerM: 0.3,
3735
+ cacheWritePerM: 3.75,
3736
+ currency: "USD",
3737
+ unit: "per_million_tokens"
3738
+ }
3739
+ },
3740
+ {
3741
+ name: "gemini-2.0-flash",
3742
+ displayName: "Gemini 2.0 Flash",
3743
+ maxInputTokens: 1048576,
3744
+ supportedFileTypes: ["pdf", "image", "audio"],
3745
+ pricing: {
3746
+ inputPerM: 0.15,
3747
+ outputPerM: 0.6,
3748
+ cacheReadPerM: 0.025,
3749
+ currency: "USD",
3750
+ unit: "per_million_tokens"
3751
+ }
3752
+ },
3753
+ {
3754
+ name: "gemini-2.0-flash-lite",
3755
+ displayName: "Gemini 2.0 Flash Lite",
3756
+ maxInputTokens: 1048576,
3757
+ supportedFileTypes: ["pdf", "image", "audio"],
3758
+ pricing: {
3759
+ inputPerM: 0.075,
3760
+ outputPerM: 0.3,
3761
+ currency: "USD",
3762
+ unit: "per_million_tokens"
3763
+ }
3764
+ },
3765
+ {
3766
+ name: "gemini-2.5-flash",
3767
+ displayName: "Gemini 2.5 Flash",
3768
+ maxInputTokens: 1048576,
3769
+ supportedFileTypes: ["pdf", "image", "audio"],
3770
+ pricing: {
3771
+ inputPerM: 0.3,
3772
+ outputPerM: 2.5,
3773
+ cacheReadPerM: 0.075,
3774
+ cacheWritePerM: 0.383,
3775
+ currency: "USD",
3776
+ unit: "per_million_tokens"
3777
+ }
3778
+ },
3779
+ {
3780
+ name: "gemini-2.5-flash-lite",
3781
+ displayName: "Gemini 2.5 Flash Lite",
3782
+ maxInputTokens: 1048576,
3783
+ supportedFileTypes: ["pdf", "image", "audio"],
3784
+ pricing: {
3785
+ inputPerM: 0.1,
3786
+ outputPerM: 0.4,
3787
+ cacheReadPerM: 0.025,
3788
+ currency: "USD",
3789
+ unit: "per_million_tokens"
3790
+ }
3791
+ },
3792
+ {
3793
+ name: "gemini-2.5-flash-lite-preview-06-17",
3794
+ displayName: "Gemini 2.5 Flash Lite Preview 06-17",
3795
+ maxInputTokens: 65536,
3796
+ supportedFileTypes: ["pdf", "image", "audio"],
3797
+ pricing: {
3798
+ inputPerM: 0.1,
3799
+ outputPerM: 0.4,
3800
+ cacheReadPerM: 0.025,
3801
+ currency: "USD",
3802
+ unit: "per_million_tokens"
3803
+ }
3804
+ },
3805
+ {
3806
+ name: "gemini-2.5-flash-lite-preview-09-2025",
3807
+ displayName: "Gemini 2.5 Flash Lite Preview 09-25",
3808
+ maxInputTokens: 1048576,
3809
+ supportedFileTypes: ["pdf", "image", "audio"],
3810
+ pricing: {
3811
+ inputPerM: 0.1,
3812
+ outputPerM: 0.4,
3813
+ cacheReadPerM: 0.025,
3814
+ currency: "USD",
3815
+ unit: "per_million_tokens"
3816
+ }
3817
+ },
3818
+ {
3819
+ name: "gemini-2.5-flash-preview-04-17",
3820
+ displayName: "Gemini 2.5 Flash Preview 04-17",
3821
+ maxInputTokens: 1048576,
3822
+ supportedFileTypes: ["pdf", "image", "audio"],
3823
+ pricing: {
3824
+ inputPerM: 0.15,
3825
+ outputPerM: 0.6,
3826
+ cacheReadPerM: 0.0375,
3827
+ currency: "USD",
3828
+ unit: "per_million_tokens"
3829
+ }
3830
+ },
3831
+ {
3832
+ name: "gemini-2.5-flash-preview-05-20",
3833
+ displayName: "Gemini 2.5 Flash Preview 05-20",
3834
+ maxInputTokens: 1048576,
3835
+ supportedFileTypes: ["pdf", "image", "audio"],
3836
+ pricing: {
3837
+ inputPerM: 0.15,
3838
+ outputPerM: 0.6,
3839
+ cacheReadPerM: 0.0375,
3840
+ currency: "USD",
3841
+ unit: "per_million_tokens"
3842
+ }
3843
+ },
3844
+ {
3845
+ name: "gemini-2.5-flash-preview-09-2025",
3846
+ displayName: "Gemini 2.5 Flash Preview 09-25",
3847
+ maxInputTokens: 1048576,
3848
+ supportedFileTypes: ["pdf", "image", "audio"],
3849
+ pricing: {
3850
+ inputPerM: 0.3,
3851
+ outputPerM: 2.5,
3852
+ cacheReadPerM: 0.075,
3853
+ cacheWritePerM: 0.383,
3854
+ currency: "USD",
3855
+ unit: "per_million_tokens"
3856
+ }
3857
+ },
3858
+ {
3859
+ name: "gemini-2.5-pro",
3860
+ displayName: "Gemini 2.5 Pro",
3861
+ maxInputTokens: 1048576,
3862
+ supportedFileTypes: ["pdf", "image", "audio"],
3863
+ pricing: {
3864
+ inputPerM: 1.25,
3865
+ outputPerM: 10,
3866
+ cacheReadPerM: 0.31,
3867
+ currency: "USD",
3868
+ unit: "per_million_tokens"
3869
+ }
3870
+ },
3871
+ {
3872
+ name: "gemini-2.5-pro-preview-05-06",
3873
+ displayName: "Gemini 2.5 Pro Preview 05-06",
3874
+ maxInputTokens: 1048576,
3875
+ supportedFileTypes: ["pdf", "image", "audio"],
3876
+ pricing: {
3877
+ inputPerM: 1.25,
3878
+ outputPerM: 10,
3879
+ cacheReadPerM: 0.31,
3880
+ currency: "USD",
3881
+ unit: "per_million_tokens"
3882
+ }
3883
+ },
3884
+ {
3885
+ name: "gemini-2.5-pro-preview-06-05",
3886
+ displayName: "Gemini 2.5 Pro Preview 06-05",
3887
+ maxInputTokens: 1048576,
3888
+ supportedFileTypes: ["pdf", "image", "audio"],
3889
+ pricing: {
3890
+ inputPerM: 1.25,
3891
+ outputPerM: 10,
3892
+ cacheReadPerM: 0.31,
3893
+ currency: "USD",
3894
+ unit: "per_million_tokens"
3895
+ }
3896
+ },
3897
+ {
3898
+ name: "gemini-3-flash-preview",
3899
+ displayName: "Gemini 3 Flash Preview",
3900
+ maxInputTokens: 1048576,
3901
+ supportedFileTypes: ["pdf", "image", "audio"],
3902
+ pricing: {
3903
+ inputPerM: 0.5,
3904
+ outputPerM: 3,
3905
+ cacheReadPerM: 0.05,
3906
+ currency: "USD",
3907
+ unit: "per_million_tokens"
3908
+ },
3909
+ default: true
3910
+ },
3911
+ {
3912
+ name: "gemini-3-pro-preview",
3913
+ displayName: "Gemini 3 Pro Preview",
3914
+ maxInputTokens: 1048576,
3915
+ supportedFileTypes: ["pdf", "image", "audio"],
3916
+ pricing: {
3917
+ inputPerM: 2,
3918
+ outputPerM: 12,
3919
+ cacheReadPerM: 0.2,
3920
+ currency: "USD",
3921
+ unit: "per_million_tokens"
3922
+ }
3923
+ },
3924
+ {
3925
+ name: "gemini-embedding-001",
3926
+ displayName: "Gemini Embedding 001",
3927
+ maxInputTokens: 2048,
3928
+ supportedFileTypes: [],
3929
+ pricing: {
3930
+ inputPerM: 0.15,
3931
+ outputPerM: 0,
3932
+ currency: "USD",
3933
+ unit: "per_million_tokens"
3934
+ }
3935
+ },
3936
+ {
3937
+ name: "gemini-flash-latest",
3938
+ displayName: "Gemini Flash Latest",
3939
+ maxInputTokens: 1048576,
3940
+ supportedFileTypes: ["pdf", "image", "audio"],
3941
+ pricing: {
3942
+ inputPerM: 0.3,
3943
+ outputPerM: 2.5,
3944
+ cacheReadPerM: 0.075,
3945
+ cacheWritePerM: 0.383,
3946
+ currency: "USD",
3947
+ unit: "per_million_tokens"
3948
+ }
3949
+ },
3950
+ {
3951
+ name: "gemini-flash-lite-latest",
3952
+ displayName: "Gemini Flash-Lite Latest",
3953
+ maxInputTokens: 1048576,
3954
+ supportedFileTypes: ["pdf", "image", "audio"],
3955
+ pricing: {
3956
+ inputPerM: 0.1,
3957
+ outputPerM: 0.4,
3958
+ cacheReadPerM: 0.025,
3959
+ currency: "USD",
3960
+ unit: "per_million_tokens"
3961
+ }
3962
+ },
3963
+ {
3964
+ name: "openai/gpt-oss-120b-maas",
3965
+ displayName: "GPT OSS 120B",
3966
+ maxInputTokens: 131072,
3967
+ supportedFileTypes: [],
3968
+ pricing: {
3969
+ inputPerM: 0.09,
3970
+ outputPerM: 0.36,
3971
+ currency: "USD",
3972
+ unit: "per_million_tokens"
3973
+ }
3974
+ },
3975
+ {
3976
+ name: "openai/gpt-oss-20b-maas",
3977
+ displayName: "GPT OSS 20B",
3978
+ maxInputTokens: 131072,
3979
+ supportedFileTypes: [],
3980
+ pricing: {
3981
+ inputPerM: 0.07,
3982
+ outputPerM: 0.25,
3983
+ currency: "USD",
3984
+ unit: "per_million_tokens"
3985
+ }
3986
+ },
3987
+ {
3988
+ name: "zai-org/glm-4.7-maas",
3989
+ displayName: "GLM-4.7",
3990
+ maxInputTokens: 204800,
3991
+ supportedFileTypes: [],
3992
+ pricing: {
3993
+ inputPerM: 0.6,
3994
+ outputPerM: 2.2,
3995
+ currency: "USD",
3996
+ unit: "per_million_tokens"
3997
+ }
3998
+ }
3999
+ ],
4000
+ bedrock: [
4001
+ {
4002
+ name: "ai21.jamba-1-5-large-v1:0",
4003
+ displayName: "Jamba 1.5 Large",
4004
+ maxInputTokens: 256e3,
4005
+ supportedFileTypes: [],
4006
+ pricing: {
4007
+ inputPerM: 2,
4008
+ outputPerM: 8,
4009
+ currency: "USD",
4010
+ unit: "per_million_tokens"
4011
+ }
4012
+ },
4013
+ {
4014
+ name: "ai21.jamba-1-5-mini-v1:0",
4015
+ displayName: "Jamba 1.5 Mini",
4016
+ maxInputTokens: 256e3,
4017
+ supportedFileTypes: [],
4018
+ pricing: {
4019
+ inputPerM: 0.2,
4020
+ outputPerM: 0.4,
4021
+ currency: "USD",
4022
+ unit: "per_million_tokens"
4023
+ }
4024
+ },
4025
+ {
4026
+ name: "amazon.nova-2-lite-v1:0",
4027
+ displayName: "Nova 2 Lite",
4028
+ maxInputTokens: 128e3,
4029
+ supportedFileTypes: ["image"],
4030
+ pricing: {
4031
+ inputPerM: 0.33,
4032
+ outputPerM: 2.75,
4033
+ currency: "USD",
4034
+ unit: "per_million_tokens"
4035
+ }
4036
+ },
4037
+ {
4038
+ name: "amazon.nova-lite-v1:0",
4039
+ displayName: "Nova Lite",
4040
+ maxInputTokens: 3e5,
4041
+ supportedFileTypes: ["image"],
4042
+ pricing: {
4043
+ inputPerM: 0.06,
4044
+ outputPerM: 0.24,
4045
+ cacheReadPerM: 0.015,
4046
+ currency: "USD",
4047
+ unit: "per_million_tokens"
4048
+ }
4049
+ },
4050
+ {
4051
+ name: "amazon.nova-micro-v1:0",
4052
+ displayName: "Nova Micro",
4053
+ maxInputTokens: 128e3,
4054
+ supportedFileTypes: [],
4055
+ pricing: {
4056
+ inputPerM: 0.035,
4057
+ outputPerM: 0.14,
4058
+ cacheReadPerM: 875e-5,
4059
+ currency: "USD",
4060
+ unit: "per_million_tokens"
4061
+ }
4062
+ },
4063
+ {
4064
+ name: "amazon.nova-premier-v1:0",
4065
+ displayName: "Nova Premier",
4066
+ maxInputTokens: 1e6,
4067
+ supportedFileTypes: ["image"],
4068
+ pricing: {
4069
+ inputPerM: 2.5,
4070
+ outputPerM: 12.5,
4071
+ currency: "USD",
4072
+ unit: "per_million_tokens"
4073
+ }
4074
+ },
4075
+ {
4076
+ name: "amazon.nova-pro-v1:0",
4077
+ displayName: "Nova Pro",
4078
+ maxInputTokens: 3e5,
4079
+ supportedFileTypes: ["image"],
4080
+ pricing: {
4081
+ inputPerM: 0.8,
4082
+ outputPerM: 3.2,
4083
+ cacheReadPerM: 0.2,
4084
+ currency: "USD",
4085
+ unit: "per_million_tokens"
4086
+ }
4087
+ },
4088
+ {
4089
+ name: "amazon.titan-text-express-v1",
4090
+ displayName: "Titan Text G1 - Express",
4091
+ maxInputTokens: 128e3,
4092
+ supportedFileTypes: [],
4093
+ pricing: {
4094
+ inputPerM: 0.2,
4095
+ outputPerM: 0.6,
4096
+ currency: "USD",
4097
+ unit: "per_million_tokens"
4098
+ }
4099
+ },
4100
+ {
4101
+ name: "amazon.titan-text-express-v1:0:8k",
4102
+ displayName: "Titan Text G1 - Express",
4103
+ maxInputTokens: 128e3,
4104
+ supportedFileTypes: [],
4105
+ pricing: {
4106
+ inputPerM: 0.2,
4107
+ outputPerM: 0.6,
4108
+ currency: "USD",
4109
+ unit: "per_million_tokens"
4110
+ }
4111
+ },
4112
+ {
4113
+ name: "anthropic.claude-3-5-haiku-20241022-v1:0",
4114
+ displayName: "Claude Haiku 3.5",
4115
+ maxInputTokens: 2e5,
4116
+ supportedFileTypes: ["pdf", "image"],
4117
+ pricing: {
4118
+ inputPerM: 0.8,
4119
+ outputPerM: 4,
4120
+ cacheReadPerM: 0.08,
4121
+ cacheWritePerM: 1,
4122
+ currency: "USD",
4123
+ unit: "per_million_tokens"
4124
+ }
4125
+ },
4126
+ {
4127
+ name: "anthropic.claude-3-5-sonnet-20240620-v1:0",
4128
+ displayName: "Claude Sonnet 3.5",
4129
+ maxInputTokens: 2e5,
4130
+ supportedFileTypes: ["pdf", "image"],
4131
+ pricing: {
4132
+ inputPerM: 3,
4133
+ outputPerM: 15,
4134
+ cacheReadPerM: 0.3,
4135
+ cacheWritePerM: 3.75,
4136
+ currency: "USD",
4137
+ unit: "per_million_tokens"
4138
+ }
4139
+ },
4140
+ {
4141
+ name: "anthropic.claude-3-5-sonnet-20241022-v2:0",
4142
+ displayName: "Claude Sonnet 3.5 v2",
4143
+ maxInputTokens: 2e5,
4144
+ supportedFileTypes: ["pdf", "image"],
4145
+ pricing: {
4146
+ inputPerM: 3,
4147
+ outputPerM: 15,
4148
+ cacheReadPerM: 0.3,
4149
+ cacheWritePerM: 3.75,
4150
+ currency: "USD",
4151
+ unit: "per_million_tokens"
4152
+ }
4153
+ },
4154
+ {
4155
+ name: "anthropic.claude-3-7-sonnet-20250219-v1:0",
4156
+ displayName: "Claude Sonnet 3.7",
4157
+ maxInputTokens: 2e5,
4158
+ supportedFileTypes: ["pdf", "image"],
4159
+ pricing: {
4160
+ inputPerM: 3,
4161
+ outputPerM: 15,
4162
+ cacheReadPerM: 0.3,
4163
+ cacheWritePerM: 3.75,
4164
+ currency: "USD",
4165
+ unit: "per_million_tokens"
4166
+ }
4167
+ },
4168
+ {
4169
+ name: "anthropic.claude-3-haiku-20240307-v1:0",
4170
+ displayName: "Claude Haiku 3",
4171
+ maxInputTokens: 2e5,
4172
+ supportedFileTypes: ["pdf", "image"],
4173
+ pricing: {
4174
+ inputPerM: 0.25,
4175
+ outputPerM: 1.25,
4176
+ currency: "USD",
4177
+ unit: "per_million_tokens"
4178
+ }
4179
+ },
4180
+ {
4181
+ name: "anthropic.claude-3-opus-20240229-v1:0",
4182
+ displayName: "Claude Opus 3",
4183
+ maxInputTokens: 2e5,
4184
+ supportedFileTypes: ["pdf", "image"],
4185
+ pricing: {
4186
+ inputPerM: 15,
4187
+ outputPerM: 75,
4188
+ currency: "USD",
4189
+ unit: "per_million_tokens"
4190
+ }
4191
+ },
4192
+ {
4193
+ name: "anthropic.claude-3-sonnet-20240229-v1:0",
4194
+ displayName: "Claude Sonnet 3",
4195
+ maxInputTokens: 2e5,
4196
+ supportedFileTypes: ["pdf", "image"],
4197
+ pricing: {
4198
+ inputPerM: 3,
4199
+ outputPerM: 15,
4200
+ currency: "USD",
4201
+ unit: "per_million_tokens"
4202
+ }
4203
+ },
4204
+ {
4205
+ name: "anthropic.claude-haiku-4-5-20251001-v1:0",
4206
+ displayName: "Claude Haiku 4.5",
4207
+ maxInputTokens: 2e5,
4208
+ supportedFileTypes: ["pdf", "image"],
4209
+ pricing: {
4210
+ inputPerM: 1,
4211
+ outputPerM: 5,
4212
+ cacheReadPerM: 0.1,
4213
+ cacheWritePerM: 1.25,
4214
+ currency: "USD",
4215
+ unit: "per_million_tokens"
4216
+ }
4217
+ },
4218
+ {
4219
+ name: "anthropic.claude-instant-v1",
4220
+ displayName: "Claude Instant",
4221
+ maxInputTokens: 1e5,
4222
+ supportedFileTypes: [],
4223
+ pricing: {
4224
+ inputPerM: 0.8,
4225
+ outputPerM: 2.4,
4226
+ currency: "USD",
4227
+ unit: "per_million_tokens"
4228
+ }
4229
+ },
4230
+ {
4231
+ name: "anthropic.claude-opus-4-1-20250805-v1:0",
4232
+ displayName: "Claude Opus 4.1",
4233
+ maxInputTokens: 2e5,
4234
+ supportedFileTypes: ["pdf", "image"],
4235
+ pricing: {
4236
+ inputPerM: 15,
4237
+ outputPerM: 75,
4238
+ cacheReadPerM: 1.5,
4239
+ cacheWritePerM: 18.75,
4240
+ currency: "USD",
4241
+ unit: "per_million_tokens"
4242
+ }
4243
+ },
4244
+ {
4245
+ name: "anthropic.claude-opus-4-20250514-v1:0",
4246
+ displayName: "Claude Opus 4",
4247
+ maxInputTokens: 2e5,
4248
+ supportedFileTypes: ["pdf", "image"],
4249
+ pricing: {
4250
+ inputPerM: 15,
4251
+ outputPerM: 75,
4252
+ cacheReadPerM: 1.5,
4253
+ cacheWritePerM: 18.75,
4254
+ currency: "USD",
4255
+ unit: "per_million_tokens"
4256
+ }
4257
+ },
4258
+ {
4259
+ name: "anthropic.claude-opus-4-5-20251101-v1:0",
4260
+ displayName: "Claude Opus 4.5",
4261
+ maxInputTokens: 2e5,
4262
+ supportedFileTypes: ["pdf", "image"],
4263
+ pricing: {
4264
+ inputPerM: 5,
4265
+ outputPerM: 25,
4266
+ cacheReadPerM: 0.5,
4267
+ cacheWritePerM: 6.25,
4268
+ currency: "USD",
4269
+ unit: "per_million_tokens"
4270
+ }
4271
+ },
4272
+ {
4273
+ name: "anthropic.claude-sonnet-4-20250514-v1:0",
4274
+ displayName: "Claude Sonnet 4",
4275
+ maxInputTokens: 2e5,
4276
+ supportedFileTypes: ["pdf", "image"],
4277
+ pricing: {
4278
+ inputPerM: 3,
4279
+ outputPerM: 15,
4280
+ cacheReadPerM: 0.3,
4281
+ cacheWritePerM: 3.75,
4282
+ currency: "USD",
4283
+ unit: "per_million_tokens"
4284
+ }
4285
+ },
4286
+ {
4287
+ name: "anthropic.claude-sonnet-4-5-20250929-v1:0",
4288
+ displayName: "Claude Sonnet 4.5",
4289
+ maxInputTokens: 2e5,
4290
+ supportedFileTypes: ["pdf", "image"],
4291
+ pricing: {
4292
+ inputPerM: 3,
4293
+ outputPerM: 15,
4294
+ cacheReadPerM: 0.3,
4295
+ cacheWritePerM: 3.75,
4296
+ currency: "USD",
4297
+ unit: "per_million_tokens"
4298
+ },
4299
+ default: true
4300
+ },
4301
+ {
4302
+ name: "anthropic.claude-v2",
4303
+ displayName: "Claude 2",
4304
+ maxInputTokens: 1e5,
4305
+ supportedFileTypes: [],
4306
+ pricing: {
4307
+ inputPerM: 8,
4308
+ outputPerM: 24,
4309
+ currency: "USD",
4310
+ unit: "per_million_tokens"
4311
+ }
4312
+ },
4313
+ {
4314
+ name: "anthropic.claude-v2:1",
4315
+ displayName: "Claude 2.1",
4316
+ maxInputTokens: 2e5,
4317
+ supportedFileTypes: [],
4318
+ pricing: {
4319
+ inputPerM: 8,
4320
+ outputPerM: 24,
4321
+ currency: "USD",
4322
+ unit: "per_million_tokens"
4323
+ }
4324
+ },
4325
+ {
4326
+ name: "cohere.command-light-text-v14",
4327
+ displayName: "Command Light",
4328
+ maxInputTokens: 4096,
4329
+ supportedFileTypes: [],
4330
+ pricing: {
4331
+ inputPerM: 0.3,
4332
+ outputPerM: 0.6,
4333
+ currency: "USD",
4334
+ unit: "per_million_tokens"
4335
+ }
4336
+ },
4337
+ {
4338
+ name: "cohere.command-r-plus-v1:0",
4339
+ displayName: "Command R+",
4340
+ maxInputTokens: 128e3,
4341
+ supportedFileTypes: [],
4342
+ pricing: {
4343
+ inputPerM: 3,
4344
+ outputPerM: 15,
4345
+ currency: "USD",
4346
+ unit: "per_million_tokens"
4347
+ }
4348
+ },
4349
+ {
4350
+ name: "cohere.command-r-v1:0",
4351
+ displayName: "Command R",
4352
+ maxInputTokens: 128e3,
4353
+ supportedFileTypes: [],
4354
+ pricing: {
4355
+ inputPerM: 0.5,
4356
+ outputPerM: 1.5,
4357
+ currency: "USD",
4358
+ unit: "per_million_tokens"
4359
+ }
4360
+ },
4361
+ {
4362
+ name: "cohere.command-text-v14",
4363
+ displayName: "Command",
4364
+ maxInputTokens: 4096,
4365
+ supportedFileTypes: [],
4366
+ pricing: {
4367
+ inputPerM: 1.5,
4368
+ outputPerM: 2,
4369
+ currency: "USD",
4370
+ unit: "per_million_tokens"
4371
+ }
4372
+ },
4373
+ {
4374
+ name: "deepseek.r1-v1:0",
4375
+ displayName: "DeepSeek-R1",
4376
+ maxInputTokens: 128e3,
4377
+ supportedFileTypes: [],
4378
+ pricing: {
4379
+ inputPerM: 1.35,
4380
+ outputPerM: 5.4,
4381
+ currency: "USD",
4382
+ unit: "per_million_tokens"
4383
+ }
4384
+ },
4385
+ {
4386
+ name: "deepseek.v3-v1:0",
4387
+ displayName: "DeepSeek-V3.1",
4388
+ maxInputTokens: 163840,
4389
+ supportedFileTypes: [],
4390
+ pricing: {
4391
+ inputPerM: 0.58,
4392
+ outputPerM: 1.68,
4393
+ currency: "USD",
4394
+ unit: "per_million_tokens"
4395
+ }
4396
+ },
4397
+ {
4398
+ name: "global.anthropic.claude-opus-4-5-20251101-v1:0",
4399
+ displayName: "Claude Opus 4.5 (Global)",
4400
+ maxInputTokens: 2e5,
4401
+ supportedFileTypes: ["pdf", "image"],
4402
+ pricing: {
4403
+ inputPerM: 5,
4404
+ outputPerM: 25,
4405
+ cacheReadPerM: 0.5,
4406
+ cacheWritePerM: 6.25,
4407
+ currency: "USD",
4408
+ unit: "per_million_tokens"
4409
+ }
4410
+ },
4411
+ {
4412
+ name: "google.gemma-3-12b-it",
4413
+ displayName: "Google Gemma 3 12B",
4414
+ maxInputTokens: 131072,
4415
+ supportedFileTypes: ["image"],
4416
+ pricing: {
4417
+ inputPerM: 0.049999999999999996,
4418
+ outputPerM: 0.09999999999999999,
4419
+ currency: "USD",
4420
+ unit: "per_million_tokens"
4421
+ }
4422
+ },
4423
+ {
4424
+ name: "google.gemma-3-27b-it",
4425
+ displayName: "Google Gemma 3 27B Instruct",
4426
+ maxInputTokens: 202752,
4427
+ supportedFileTypes: ["image"],
4428
+ pricing: {
4429
+ inputPerM: 0.12,
4430
+ outputPerM: 0.2,
4431
+ currency: "USD",
4432
+ unit: "per_million_tokens"
4433
+ }
4434
+ },
4435
+ {
4436
+ name: "google.gemma-3-4b-it",
4437
+ displayName: "Gemma 3 4B IT",
4438
+ maxInputTokens: 128e3,
4439
+ supportedFileTypes: ["image"],
4440
+ pricing: {
4441
+ inputPerM: 0.04,
4442
+ outputPerM: 0.08,
4443
+ currency: "USD",
4444
+ unit: "per_million_tokens"
4445
+ }
4446
+ },
4447
+ {
4448
+ name: "meta.llama3-1-70b-instruct-v1:0",
4449
+ displayName: "Llama 3.1 70B Instruct",
4450
+ maxInputTokens: 128e3,
4451
+ supportedFileTypes: [],
4452
+ pricing: {
4453
+ inputPerM: 0.72,
4454
+ outputPerM: 0.72,
4455
+ currency: "USD",
4456
+ unit: "per_million_tokens"
4457
+ }
4458
+ },
4459
+ {
4460
+ name: "meta.llama3-1-8b-instruct-v1:0",
4461
+ displayName: "Llama 3.1 8B Instruct",
4462
+ maxInputTokens: 128e3,
4463
+ supportedFileTypes: [],
4464
+ pricing: {
4465
+ inputPerM: 0.22,
4466
+ outputPerM: 0.22,
4467
+ currency: "USD",
4468
+ unit: "per_million_tokens"
4469
+ }
4470
+ },
4471
+ {
4472
+ name: "meta.llama3-2-11b-instruct-v1:0",
4473
+ displayName: "Llama 3.2 11B Instruct",
4474
+ maxInputTokens: 128e3,
4475
+ supportedFileTypes: ["image"],
4476
+ pricing: {
4477
+ inputPerM: 0.16,
4478
+ outputPerM: 0.16,
4479
+ currency: "USD",
4480
+ unit: "per_million_tokens"
4481
+ }
4482
+ },
4483
+ {
4484
+ name: "meta.llama3-2-1b-instruct-v1:0",
4485
+ displayName: "Llama 3.2 1B Instruct",
4486
+ maxInputTokens: 131e3,
4487
+ supportedFileTypes: [],
4488
+ pricing: {
4489
+ inputPerM: 0.1,
4490
+ outputPerM: 0.1,
4491
+ currency: "USD",
4492
+ unit: "per_million_tokens"
4493
+ }
4494
+ },
4495
+ {
4496
+ name: "meta.llama3-2-3b-instruct-v1:0",
4497
+ displayName: "Llama 3.2 3B Instruct",
4498
+ maxInputTokens: 131e3,
4499
+ supportedFileTypes: [],
4500
+ pricing: {
4501
+ inputPerM: 0.15,
4502
+ outputPerM: 0.15,
4503
+ currency: "USD",
4504
+ unit: "per_million_tokens"
4505
+ }
4506
+ },
4507
+ {
4508
+ name: "meta.llama3-2-90b-instruct-v1:0",
4509
+ displayName: "Llama 3.2 90B Instruct",
4510
+ maxInputTokens: 128e3,
4511
+ supportedFileTypes: ["image"],
4512
+ pricing: {
4513
+ inputPerM: 0.72,
4514
+ outputPerM: 0.72,
4515
+ currency: "USD",
4516
+ unit: "per_million_tokens"
4517
+ }
4518
+ },
4519
+ {
4520
+ name: "meta.llama3-3-70b-instruct-v1:0",
4521
+ displayName: "Llama 3.3 70B Instruct",
4522
+ maxInputTokens: 128e3,
4523
+ supportedFileTypes: [],
4524
+ pricing: {
4525
+ inputPerM: 0.72,
4526
+ outputPerM: 0.72,
4527
+ currency: "USD",
4528
+ unit: "per_million_tokens"
4529
+ }
4530
+ },
4531
+ {
4532
+ name: "meta.llama3-70b-instruct-v1:0",
4533
+ displayName: "Llama 3 70B Instruct",
4534
+ maxInputTokens: 8192,
4535
+ supportedFileTypes: [],
4536
+ pricing: {
4537
+ inputPerM: 2.65,
4538
+ outputPerM: 3.5,
4539
+ currency: "USD",
4540
+ unit: "per_million_tokens"
4541
+ }
4542
+ },
4543
+ {
4544
+ name: "meta.llama3-8b-instruct-v1:0",
4545
+ displayName: "Llama 3 8B Instruct",
4546
+ maxInputTokens: 8192,
4547
+ supportedFileTypes: [],
4548
+ pricing: {
4549
+ inputPerM: 0.3,
4550
+ outputPerM: 0.6,
4551
+ currency: "USD",
4552
+ unit: "per_million_tokens"
4553
+ }
4554
+ },
4555
+ {
4556
+ name: "meta.llama4-maverick-17b-instruct-v1:0",
4557
+ displayName: "Llama 4 Maverick 17B Instruct",
4558
+ maxInputTokens: 1e6,
4559
+ supportedFileTypes: ["image"],
4560
+ pricing: {
4561
+ inputPerM: 0.24,
4562
+ outputPerM: 0.97,
4563
+ currency: "USD",
4564
+ unit: "per_million_tokens"
4565
+ }
4566
+ },
4567
+ {
4568
+ name: "meta.llama4-scout-17b-instruct-v1:0",
4569
+ displayName: "Llama 4 Scout 17B Instruct",
4570
+ maxInputTokens: 35e5,
4571
+ supportedFileTypes: ["image"],
4572
+ pricing: {
4573
+ inputPerM: 0.17,
4574
+ outputPerM: 0.66,
4575
+ currency: "USD",
4576
+ unit: "per_million_tokens"
4577
+ }
4578
+ },
4579
+ {
4580
+ name: "minimax.minimax-m2",
4581
+ displayName: "MiniMax M2",
4582
+ maxInputTokens: 204608,
4583
+ supportedFileTypes: [],
4584
+ pricing: {
4585
+ inputPerM: 0.3,
4586
+ outputPerM: 1.2,
4587
+ currency: "USD",
4588
+ unit: "per_million_tokens"
4589
+ }
4590
+ },
4591
+ {
4592
+ name: "mistral.ministral-3-14b-instruct",
4593
+ displayName: "Ministral 14B 3.0",
4594
+ maxInputTokens: 128e3,
4595
+ supportedFileTypes: [],
4596
+ pricing: {
4597
+ inputPerM: 0.2,
4598
+ outputPerM: 0.2,
4599
+ currency: "USD",
4600
+ unit: "per_million_tokens"
4601
+ }
4602
+ },
4603
+ {
4604
+ name: "mistral.ministral-3-8b-instruct",
4605
+ displayName: "Ministral 3 8B",
4606
+ maxInputTokens: 128e3,
4607
+ supportedFileTypes: [],
4608
+ pricing: {
4609
+ inputPerM: 0.15,
4610
+ outputPerM: 0.15,
4611
+ currency: "USD",
4612
+ unit: "per_million_tokens"
4613
+ }
4614
+ },
4615
+ {
4616
+ name: "mistral.mistral-7b-instruct-v0:2",
4617
+ displayName: "Mistral-7B-Instruct-v0.3",
4618
+ maxInputTokens: 127e3,
4619
+ supportedFileTypes: [],
4620
+ pricing: {
4621
+ inputPerM: 0.11,
4622
+ outputPerM: 0.11,
4623
+ currency: "USD",
4624
+ unit: "per_million_tokens"
4625
+ }
4626
+ },
4627
+ {
4628
+ name: "mistral.mistral-large-2402-v1:0",
4629
+ displayName: "Mistral Large (24.02)",
4630
+ maxInputTokens: 128e3,
4631
+ supportedFileTypes: [],
4632
+ pricing: {
4633
+ inputPerM: 0.5,
4634
+ outputPerM: 1.5,
4635
+ currency: "USD",
4636
+ unit: "per_million_tokens"
4637
+ }
4638
+ },
4639
+ {
4640
+ name: "mistral.mixtral-8x7b-instruct-v0:1",
4641
+ displayName: "Mixtral-8x7B-Instruct-v0.1",
4642
+ maxInputTokens: 32e3,
4643
+ supportedFileTypes: [],
4644
+ pricing: {
4645
+ inputPerM: 0.7,
4646
+ outputPerM: 0.7,
4647
+ currency: "USD",
4648
+ unit: "per_million_tokens"
4649
+ }
4650
+ },
4651
+ {
4652
+ name: "mistral.voxtral-mini-3b-2507",
4653
+ displayName: "Voxtral Mini 3B 2507",
4654
+ maxInputTokens: 128e3,
4655
+ supportedFileTypes: ["audio"],
4656
+ pricing: {
4657
+ inputPerM: 0.04,
4658
+ outputPerM: 0.04,
4659
+ currency: "USD",
4660
+ unit: "per_million_tokens"
4661
+ }
4662
+ },
4663
+ {
4664
+ name: "mistral.voxtral-small-24b-2507",
4665
+ displayName: "Voxtral Small 24B 2507",
4666
+ maxInputTokens: 32e3,
4667
+ supportedFileTypes: ["audio"],
4668
+ pricing: {
4669
+ inputPerM: 0.15,
4670
+ outputPerM: 0.35,
4671
+ currency: "USD",
4672
+ unit: "per_million_tokens"
4673
+ }
4674
+ },
4675
+ {
4676
+ name: "moonshot.kimi-k2-thinking",
4677
+ displayName: "Kimi K2 Thinking",
4678
+ maxInputTokens: 256e3,
4679
+ supportedFileTypes: [],
4680
+ pricing: {
4681
+ inputPerM: 0.6,
4682
+ outputPerM: 2.5,
4683
+ currency: "USD",
4684
+ unit: "per_million_tokens"
4685
+ }
4686
+ },
4687
+ {
4688
+ name: "nvidia.nemotron-nano-12b-v2",
4689
+ displayName: "NVIDIA Nemotron Nano 12B v2 VL BF16",
4690
+ maxInputTokens: 128e3,
4691
+ supportedFileTypes: ["image"],
4692
+ pricing: {
4693
+ inputPerM: 0.2,
4694
+ outputPerM: 0.6,
4695
+ currency: "USD",
4696
+ unit: "per_million_tokens"
4697
+ }
4698
+ },
4699
+ {
4700
+ name: "nvidia.nemotron-nano-9b-v2",
4701
+ displayName: "NVIDIA Nemotron Nano 9B v2",
4702
+ maxInputTokens: 128e3,
4703
+ supportedFileTypes: [],
4704
+ pricing: {
4705
+ inputPerM: 0.06,
4706
+ outputPerM: 0.23,
4707
+ currency: "USD",
4708
+ unit: "per_million_tokens"
4709
+ }
4710
+ },
4711
+ {
4712
+ name: "openai.gpt-oss-120b-1:0",
4713
+ displayName: "gpt-oss-120b",
4714
+ maxInputTokens: 128e3,
4715
+ supportedFileTypes: [],
4716
+ pricing: {
4717
+ inputPerM: 0.15,
4718
+ outputPerM: 0.6,
4719
+ currency: "USD",
4720
+ unit: "per_million_tokens"
4721
+ }
4722
+ },
4723
+ {
4724
+ name: "openai.gpt-oss-20b-1:0",
4725
+ displayName: "gpt-oss-20b",
4726
+ maxInputTokens: 128e3,
4727
+ supportedFileTypes: [],
4728
+ pricing: {
4729
+ inputPerM: 0.07,
4730
+ outputPerM: 0.3,
4731
+ currency: "USD",
4732
+ unit: "per_million_tokens"
4733
+ }
4734
+ },
4735
+ {
4736
+ name: "openai.gpt-oss-safeguard-120b",
4737
+ displayName: "GPT OSS Safeguard 120B",
4738
+ maxInputTokens: 128e3,
4739
+ supportedFileTypes: [],
4740
+ pricing: {
4741
+ inputPerM: 0.15,
4742
+ outputPerM: 0.6,
4743
+ currency: "USD",
4744
+ unit: "per_million_tokens"
4745
+ }
4746
+ },
4747
+ {
4748
+ name: "openai.gpt-oss-safeguard-20b",
4749
+ displayName: "GPT OSS Safeguard 20B",
4750
+ maxInputTokens: 128e3,
4751
+ supportedFileTypes: [],
4752
+ pricing: {
4753
+ inputPerM: 0.07,
4754
+ outputPerM: 0.2,
4755
+ currency: "USD",
4756
+ unit: "per_million_tokens"
4757
+ }
4758
+ },
4759
+ {
4760
+ name: "qwen.qwen3-235b-a22b-2507-v1:0",
4761
+ displayName: "Qwen3 235B A22B 2507",
4762
+ maxInputTokens: 262144,
4763
+ supportedFileTypes: [],
4764
+ pricing: {
4765
+ inputPerM: 0.22,
4766
+ outputPerM: 0.88,
4767
+ currency: "USD",
4768
+ unit: "per_million_tokens"
4769
+ }
4770
+ },
4771
+ {
4772
+ name: "qwen.qwen3-32b-v1:0",
4773
+ displayName: "Qwen3 32B (dense)",
4774
+ maxInputTokens: 16384,
4775
+ supportedFileTypes: [],
4776
+ pricing: {
4777
+ inputPerM: 0.15,
4778
+ outputPerM: 0.6,
4779
+ currency: "USD",
4780
+ unit: "per_million_tokens"
4781
+ }
4782
+ },
4783
+ {
4784
+ name: "qwen.qwen3-coder-30b-a3b-v1:0",
4785
+ displayName: "Qwen3 Coder 30B A3B Instruct",
4786
+ maxInputTokens: 262144,
4787
+ supportedFileTypes: [],
4788
+ pricing: {
4789
+ inputPerM: 0.15,
4790
+ outputPerM: 0.6,
4791
+ currency: "USD",
4792
+ unit: "per_million_tokens"
4793
+ }
4794
+ },
4795
+ {
4796
+ name: "qwen.qwen3-coder-480b-a35b-v1:0",
4797
+ displayName: "Qwen3 Coder 480B A35B Instruct",
4798
+ maxInputTokens: 131072,
4799
+ supportedFileTypes: [],
4800
+ pricing: {
4801
+ inputPerM: 0.22,
4802
+ outputPerM: 1.8,
4803
+ currency: "USD",
4804
+ unit: "per_million_tokens"
4805
+ }
4806
+ },
4807
+ {
4808
+ name: "qwen.qwen3-next-80b-a3b",
4809
+ displayName: "Qwen/Qwen3-Next-80B-A3B-Instruct",
4810
+ maxInputTokens: 262e3,
4811
+ supportedFileTypes: [],
4812
+ pricing: {
4813
+ inputPerM: 0.14,
4814
+ outputPerM: 1.4,
4815
+ currency: "USD",
4816
+ unit: "per_million_tokens"
4817
+ }
4818
+ },
4819
+ {
4820
+ name: "qwen.qwen3-vl-235b-a22b",
4821
+ displayName: "Qwen/Qwen3-VL-235B-A22B-Instruct",
4822
+ maxInputTokens: 262e3,
4823
+ supportedFileTypes: ["image"],
4824
+ pricing: {
4825
+ inputPerM: 0.3,
4826
+ outputPerM: 1.5,
4827
+ currency: "USD",
4828
+ unit: "per_million_tokens"
4829
+ }
4830
+ }
4831
+ ],
4832
+ local: [],
4833
+ ollama: [],
4834
+ "dexto-nova": []
4835
+ };
4836
+ export {
4837
+ MODELS_BY_PROVIDER
4838
+ };