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