@mastra/core 1.9.0 → 1.10.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 (438) hide show
  1. package/CHANGELOG.md +202 -0
  2. package/dist/agent/agent.d.ts +22 -3
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/index.cjs +13 -13
  5. package/dist/agent/index.js +2 -2
  6. package/dist/agent/message-list/index.cjs +18 -18
  7. package/dist/agent/message-list/index.js +1 -1
  8. package/dist/agent/message-list/message-list.d.ts.map +1 -1
  9. package/dist/{chunk-IOY7Y5GV.js → chunk-3VVNJPTO.js} +602 -187
  10. package/dist/chunk-3VVNJPTO.js.map +1 -0
  11. package/dist/{chunk-VDKWYUGC.cjs → chunk-5WBEMKE2.cjs} +7 -3
  12. package/dist/chunk-5WBEMKE2.cjs.map +1 -0
  13. package/dist/{chunk-H5S4PS44.cjs → chunk-76Q75VI4.cjs} +602 -187
  14. package/dist/chunk-76Q75VI4.cjs.map +1 -0
  15. package/dist/{chunk-ZBESCKPX.cjs → chunk-7AHCLTZZ.cjs} +1572 -36
  16. package/dist/chunk-7AHCLTZZ.cjs.map +1 -0
  17. package/dist/{chunk-SEKQJ447.js → chunk-ACAILOJE.js} +166 -68
  18. package/dist/chunk-ACAILOJE.js.map +1 -0
  19. package/dist/{chunk-YIJZBU54.cjs → chunk-BCSVBOAN.cjs} +240 -463
  20. package/dist/chunk-BCSVBOAN.cjs.map +1 -0
  21. package/dist/{chunk-ZVWVQ6MG.js → chunk-CY4ZWL2X.js} +8 -3
  22. package/dist/chunk-CY4ZWL2X.js.map +1 -0
  23. package/dist/{chunk-ET7GXCHS.js → chunk-DIKRJVK6.js} +5 -5
  24. package/dist/{chunk-ET7GXCHS.js.map → chunk-DIKRJVK6.js.map} +1 -1
  25. package/dist/{chunk-P6ZX7OKT.cjs → chunk-E6I5LBDM.cjs} +7 -7
  26. package/dist/{chunk-P6ZX7OKT.cjs.map → chunk-E6I5LBDM.cjs.map} +1 -1
  27. package/dist/{chunk-BFV3GSGS.js → chunk-FT5Q6XTK.js} +1546 -22
  28. package/dist/chunk-FT5Q6XTK.js.map +1 -0
  29. package/dist/{chunk-K54LFB4P.js → chunk-FXOWXS4O.js} +3 -3
  30. package/dist/{chunk-K54LFB4P.js.map → chunk-FXOWXS4O.js.map} +1 -1
  31. package/dist/{chunk-QNXY3J6B.cjs → chunk-GCRPNAAR.cjs} +22 -19
  32. package/dist/chunk-GCRPNAAR.cjs.map +1 -0
  33. package/dist/{chunk-5M3RMO7U.js → chunk-GTA5BKXZ.js} +8 -8
  34. package/dist/{chunk-5M3RMO7U.js.map → chunk-GTA5BKXZ.js.map} +1 -1
  35. package/dist/{chunk-G5R2755Q.cjs → chunk-HAIQ57YB.cjs} +53 -20
  36. package/dist/chunk-HAIQ57YB.cjs.map +1 -0
  37. package/dist/{chunk-3ZBLD2Y4.cjs → chunk-HH76UOJL.cjs} +2 -2
  38. package/dist/{chunk-3ZBLD2Y4.cjs.map → chunk-HH76UOJL.cjs.map} +1 -1
  39. package/dist/{chunk-HAGCXIBX.cjs → chunk-HNYQITSV.cjs} +9 -9
  40. package/dist/{chunk-HAGCXIBX.cjs.map → chunk-HNYQITSV.cjs.map} +1 -1
  41. package/dist/{chunk-GJTLWOKJ.js → chunk-HQA3IBLZ.js} +51 -18
  42. package/dist/chunk-HQA3IBLZ.js.map +1 -0
  43. package/dist/{chunk-4BXXAZ75.js → chunk-HQTHWVAK.js} +15 -7
  44. package/dist/chunk-HQTHWVAK.js.map +1 -0
  45. package/dist/{chunk-CCLV5CAA.js → chunk-JGOH7RWL.js} +7 -3
  46. package/dist/chunk-JGOH7RWL.js.map +1 -0
  47. package/dist/{chunk-Y6TGIUGL.js → chunk-LSF5WJ6G.js} +2 -2
  48. package/dist/{chunk-Y6TGIUGL.js.map → chunk-LSF5WJ6G.js.map} +1 -1
  49. package/dist/{chunk-D6HO5QAM.cjs → chunk-M26GEN4C.cjs} +14 -9
  50. package/dist/chunk-M26GEN4C.cjs.map +1 -0
  51. package/dist/{chunk-4P35AVPE.cjs → chunk-MEMYFFOL.cjs} +256 -157
  52. package/dist/chunk-MEMYFFOL.cjs.map +1 -0
  53. package/dist/{chunk-BQ355Z3O.js → chunk-NUZWQA4J.js} +4 -4
  54. package/dist/{chunk-BQ355Z3O.js.map → chunk-NUZWQA4J.js.map} +1 -1
  55. package/dist/{chunk-JIRB5LX4.js → chunk-OHX36YXF.js} +5 -3
  56. package/dist/chunk-OHX36YXF.js.map +1 -0
  57. package/dist/{chunk-PKORY4ZZ.cjs → chunk-OOTLMVNN.cjs} +107 -7
  58. package/dist/chunk-OOTLMVNN.cjs.map +1 -0
  59. package/dist/{chunk-D4M6E4OQ.cjs → chunk-OWZ6QT24.cjs} +16 -8
  60. package/dist/chunk-OWZ6QT24.cjs.map +1 -0
  61. package/dist/{chunk-6OHS6ZQ3.js → chunk-PDJCIONR.js} +8 -8
  62. package/dist/{chunk-6OHS6ZQ3.js.map → chunk-PDJCIONR.js.map} +1 -1
  63. package/dist/{chunk-WU2P7XOU.cjs → chunk-PP4G2TZZ.cjs} +20 -20
  64. package/dist/{chunk-WU2P7XOU.cjs.map → chunk-PP4G2TZZ.cjs.map} +1 -1
  65. package/dist/{chunk-VWAK25TU.js → chunk-SBBWRNZA.js} +10 -7
  66. package/dist/chunk-SBBWRNZA.js.map +1 -0
  67. package/dist/{chunk-TU4YMXOQ.js → chunk-TJIFNVPX.js} +6 -6
  68. package/dist/{chunk-TU4YMXOQ.js.map → chunk-TJIFNVPX.js.map} +1 -1
  69. package/dist/{chunk-V5YNS2QO.cjs → chunk-XJNQHPBJ.cjs} +15 -15
  70. package/dist/{chunk-V5YNS2QO.cjs.map → chunk-XJNQHPBJ.cjs.map} +1 -1
  71. package/dist/{chunk-MVYP55NA.js → chunk-YC6Z75K2.js} +113 -336
  72. package/dist/chunk-YC6Z75K2.js.map +1 -0
  73. package/dist/{chunk-3ZF7IC6Q.cjs → chunk-YZMSJKAK.cjs} +5 -3
  74. package/dist/chunk-YZMSJKAK.cjs.map +1 -0
  75. package/dist/{chunk-L3WDI7HP.cjs → chunk-Z2X5VTYJ.cjs} +65 -65
  76. package/dist/{chunk-L3WDI7HP.cjs.map → chunk-Z2X5VTYJ.cjs.map} +1 -1
  77. package/dist/{chunk-BN5MV2QK.cjs → chunk-Z52OAJ73.cjs} +4 -4
  78. package/dist/{chunk-BN5MV2QK.cjs.map → chunk-Z52OAJ73.cjs.map} +1 -1
  79. package/dist/{chunk-WYPSC6CO.js → chunk-ZBU6P4JV.js} +104 -4
  80. package/dist/chunk-ZBU6P4JV.js.map +1 -0
  81. package/dist/datasets/experiment/index.d.ts.map +1 -1
  82. package/dist/datasets/experiment/scorer.d.ts.map +1 -1
  83. package/dist/datasets/index.cjs +17 -17
  84. package/dist/datasets/index.js +2 -2
  85. package/dist/di/index.cjs +4 -4
  86. package/dist/di/index.js +1 -1
  87. package/dist/docs/SKILL.md +1 -1
  88. package/dist/docs/assets/SOURCE_MAP.json +443 -384
  89. package/dist/docs/references/docs-agents-agent-approval.md +61 -31
  90. package/dist/docs/references/docs-agents-supervisor-agents.md +1 -1
  91. package/dist/docs/references/docs-memory-observational-memory.md +9 -0
  92. package/dist/docs/references/docs-memory-semantic-recall.md +17 -1
  93. package/dist/docs/references/docs-workspace-skills.md +7 -5
  94. package/dist/docs/references/reference-agents-agent.md +20 -20
  95. package/dist/docs/references/reference-agents-generate.md +200 -66
  96. package/dist/docs/references/reference-agents-generateLegacy.md +77 -35
  97. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +4 -6
  98. package/dist/docs/references/reference-agents-getDefaultOptions.md +4 -6
  99. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +4 -6
  100. package/dist/docs/references/reference-agents-getDescription.md +1 -1
  101. package/dist/docs/references/reference-agents-getInstructions.md +4 -6
  102. package/dist/docs/references/reference-agents-getLLM.md +6 -8
  103. package/dist/docs/references/reference-agents-getMemory.md +4 -6
  104. package/dist/docs/references/reference-agents-getModel.md +4 -6
  105. package/dist/docs/references/reference-agents-getTools.md +5 -7
  106. package/dist/docs/references/reference-agents-getVoice.md +4 -6
  107. package/dist/docs/references/reference-agents-listAgents.md +4 -6
  108. package/dist/docs/references/reference-agents-listScorers.md +4 -6
  109. package/dist/docs/references/reference-agents-listTools.md +4 -6
  110. package/dist/docs/references/reference-agents-listWorkflows.md +4 -6
  111. package/dist/docs/references/reference-agents-network.md +69 -23
  112. package/dist/docs/references/reference-ai-sdk-chat-route.md +7 -7
  113. package/dist/docs/references/reference-ai-sdk-network-route.md +3 -3
  114. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +9 -9
  115. package/dist/docs/references/reference-ai-sdk-with-mastra.md +12 -12
  116. package/dist/docs/references/reference-ai-sdk-workflow-route.md +3 -3
  117. package/dist/docs/references/reference-auth-auth0.md +6 -6
  118. package/dist/docs/references/reference-auth-clerk.md +5 -5
  119. package/dist/docs/references/reference-auth-firebase.md +7 -7
  120. package/dist/docs/references/reference-auth-jwt.md +1 -1
  121. package/dist/docs/references/reference-auth-supabase.md +4 -4
  122. package/dist/docs/references/reference-auth-workos.md +6 -6
  123. package/dist/docs/references/reference-core-addGateway.md +2 -2
  124. package/dist/docs/references/reference-core-getAgent.md +2 -2
  125. package/dist/docs/references/reference-core-getAgentById.md +2 -2
  126. package/dist/docs/references/reference-core-getDeployer.md +1 -1
  127. package/dist/docs/references/reference-core-getGateway.md +2 -2
  128. package/dist/docs/references/reference-core-getGatewayById.md +2 -2
  129. package/dist/docs/references/reference-core-getLogger.md +1 -1
  130. package/dist/docs/references/reference-core-getMCPServer.md +2 -2
  131. package/dist/docs/references/reference-core-getMCPServerById.md +3 -3
  132. package/dist/docs/references/reference-core-getMemory.md +2 -2
  133. package/dist/docs/references/reference-core-getScorer.md +2 -2
  134. package/dist/docs/references/reference-core-getScorerById.md +2 -2
  135. package/dist/docs/references/reference-core-getServer.md +1 -1
  136. package/dist/docs/references/reference-core-getStorage.md +1 -1
  137. package/dist/docs/references/reference-core-getStoredAgentById.md +18 -20
  138. package/dist/docs/references/reference-core-getTelemetry.md +1 -1
  139. package/dist/docs/references/reference-core-getVector.md +2 -2
  140. package/dist/docs/references/reference-core-getWorkflow.md +3 -3
  141. package/dist/docs/references/reference-core-listAgents.md +1 -1
  142. package/dist/docs/references/reference-core-listGateways.md +1 -1
  143. package/dist/docs/references/reference-core-listLogs.md +9 -11
  144. package/dist/docs/references/reference-core-listLogsByRunId.md +9 -9
  145. package/dist/docs/references/reference-core-listMCPServers.md +1 -1
  146. package/dist/docs/references/reference-core-listMemory.md +1 -1
  147. package/dist/docs/references/reference-core-listScorers.md +1 -1
  148. package/dist/docs/references/reference-core-listStoredAgents.md +9 -11
  149. package/dist/docs/references/reference-core-listVectors.md +1 -1
  150. package/dist/docs/references/reference-core-listWorkflows.md +2 -2
  151. package/dist/docs/references/reference-core-mastra-class.md +17 -17
  152. package/dist/docs/references/reference-core-mastra-model-gateway.md +15 -15
  153. package/dist/docs/references/reference-core-setLogger.md +2 -4
  154. package/dist/docs/references/reference-core-setStorage.md +1 -1
  155. package/dist/docs/references/reference-datasets-addItem.md +20 -4
  156. package/dist/docs/references/reference-datasets-addItems.md +8 -2
  157. package/dist/docs/references/reference-datasets-compareExperiments.md +15 -3
  158. package/dist/docs/references/reference-datasets-create.md +6 -6
  159. package/dist/docs/references/reference-datasets-dataset.md +1 -1
  160. package/dist/docs/references/reference-datasets-delete.md +2 -2
  161. package/dist/docs/references/reference-datasets-deleteExperiment.md +2 -2
  162. package/dist/docs/references/reference-datasets-deleteItem.md +2 -2
  163. package/dist/docs/references/reference-datasets-deleteItems.md +2 -2
  164. package/dist/docs/references/reference-datasets-get.md +2 -2
  165. package/dist/docs/references/reference-datasets-getDetails.md +9 -9
  166. package/dist/docs/references/reference-datasets-getExperiment.md +2 -2
  167. package/dist/docs/references/reference-datasets-getItem.md +3 -3
  168. package/dist/docs/references/reference-datasets-getItemHistory.md +22 -2
  169. package/dist/docs/references/reference-datasets-list.md +7 -3
  170. package/dist/docs/references/reference-datasets-listExperimentResults.md +34 -4
  171. package/dist/docs/references/reference-datasets-listExperiments.md +41 -3
  172. package/dist/docs/references/reference-datasets-listItems.md +18 -6
  173. package/dist/docs/references/reference-datasets-listVersions.md +23 -3
  174. package/dist/docs/references/reference-datasets-startExperiment.md +62 -12
  175. package/dist/docs/references/reference-datasets-startExperimentAsync.md +5 -1
  176. package/dist/docs/references/reference-datasets-update.md +6 -6
  177. package/dist/docs/references/reference-datasets-updateItem.md +5 -5
  178. package/dist/docs/references/reference-evals-answer-relevancy.md +11 -11
  179. package/dist/docs/references/reference-evals-answer-similarity.md +17 -19
  180. package/dist/docs/references/reference-evals-bias.md +10 -10
  181. package/dist/docs/references/reference-evals-completeness.md +3 -3
  182. package/dist/docs/references/reference-evals-content-similarity.md +6 -6
  183. package/dist/docs/references/reference-evals-context-precision.md +4 -4
  184. package/dist/docs/references/reference-evals-create-scorer.md +47 -49
  185. package/dist/docs/references/reference-evals-faithfulness.md +11 -11
  186. package/dist/docs/references/reference-evals-hallucination.md +17 -21
  187. package/dist/docs/references/reference-evals-keyword-coverage.md +4 -4
  188. package/dist/docs/references/reference-evals-mastra-scorer.md +14 -14
  189. package/dist/docs/references/reference-evals-run-evals.md +16 -16
  190. package/dist/docs/references/reference-evals-scorer-utils.md +3 -3
  191. package/dist/docs/references/reference-evals-textual-difference.md +3 -3
  192. package/dist/docs/references/reference-evals-tone-consistency.md +3 -3
  193. package/dist/docs/references/reference-evals-toxicity.md +8 -8
  194. package/dist/docs/references/reference-harness-harness-class.md +34 -42
  195. package/dist/docs/references/reference-logging-pino-logger.md +5 -5
  196. package/dist/docs/references/reference-memory-deleteMessages.md +2 -2
  197. package/dist/docs/references/reference-memory-memory-class.md +12 -14
  198. package/dist/docs/references/reference-memory-observational-memory.md +102 -94
  199. package/dist/docs/references/reference-observability-tracing-configuration.md +27 -10
  200. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +4 -7
  201. package/dist/docs/references/reference-processors-batch-parts-processor.md +8 -10
  202. package/dist/docs/references/reference-processors-language-detector.md +14 -16
  203. package/dist/docs/references/reference-processors-message-history-processor.md +7 -9
  204. package/dist/docs/references/reference-processors-moderation-processor.md +13 -15
  205. package/dist/docs/references/reference-processors-pii-detector.md +14 -16
  206. package/dist/docs/references/reference-processors-processor-interface.md +62 -62
  207. package/dist/docs/references/reference-processors-prompt-injection-detector.md +11 -13
  208. package/dist/docs/references/reference-processors-semantic-recall-processor.md +14 -16
  209. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +12 -14
  210. package/dist/docs/references/reference-processors-token-limiter-processor.md +11 -13
  211. package/dist/docs/references/reference-processors-tool-call-filter.md +5 -7
  212. package/dist/docs/references/reference-processors-tool-search-processor.md +9 -11
  213. package/dist/docs/references/reference-processors-unicode-normalizer.md +8 -10
  214. package/dist/docs/references/reference-processors-working-memory-processor.md +14 -18
  215. package/dist/docs/references/reference-rag-database-config.md +11 -7
  216. package/dist/docs/references/reference-rag-embeddings.md +12 -12
  217. package/dist/docs/references/reference-server-mastra-server.md +10 -10
  218. package/dist/docs/references/reference-server-register-api-route.md +13 -13
  219. package/dist/docs/references/reference-storage-cloudflare-d1.md +5 -5
  220. package/dist/docs/references/reference-storage-composite.md +9 -9
  221. package/dist/docs/references/reference-storage-lance.md +3 -3
  222. package/dist/docs/references/reference-storage-libsql.md +2 -2
  223. package/dist/docs/references/reference-storage-mongodb.md +5 -5
  224. package/dist/docs/references/reference-storage-mssql.md +2 -2
  225. package/dist/docs/references/reference-storage-postgresql.md +25 -25
  226. package/dist/docs/references/reference-storage-upstash.md +3 -3
  227. package/dist/docs/references/reference-streaming-ChunkType.md +251 -59
  228. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +86 -16
  229. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +79 -39
  230. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +18 -8
  231. package/dist/docs/references/reference-streaming-workflows-stream.md +21 -9
  232. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +4 -4
  233. package/dist/docs/references/reference-tools-create-tool.md +25 -21
  234. package/dist/docs/references/reference-tools-graph-rag-tool.md +16 -18
  235. package/dist/docs/references/reference-tools-mcp-client.md +38 -27
  236. package/dist/docs/references/reference-tools-mcp-server.md +45 -45
  237. package/dist/docs/references/reference-tools-vector-query-tool.md +34 -22
  238. package/dist/docs/references/reference-vectors-libsql.md +31 -31
  239. package/dist/docs/references/reference-vectors-mongodb.md +32 -32
  240. package/dist/docs/references/reference-vectors-pg.md +60 -44
  241. package/dist/docs/references/reference-vectors-upstash.md +25 -25
  242. package/dist/docs/references/reference-voice-composite-voice.md +10 -10
  243. package/dist/docs/references/reference-voice-mastra-voice.md +20 -20
  244. package/dist/docs/references/reference-voice-voice.addInstructions.md +1 -1
  245. package/dist/docs/references/reference-voice-voice.addTools.md +1 -1
  246. package/dist/docs/references/reference-voice-voice.connect.md +3 -3
  247. package/dist/docs/references/reference-voice-voice.events.md +11 -11
  248. package/dist/docs/references/reference-voice-voice.listen.md +9 -9
  249. package/dist/docs/references/reference-voice-voice.on.md +2 -2
  250. package/dist/docs/references/reference-voice-voice.speak.md +11 -11
  251. package/dist/docs/references/reference-workflows-run-methods-cancel.md +2 -2
  252. package/dist/docs/references/reference-workflows-run-methods-restart.md +17 -5
  253. package/dist/docs/references/reference-workflows-run-methods-resume.md +23 -9
  254. package/dist/docs/references/reference-workflows-run-methods-start.md +22 -8
  255. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +12 -6
  256. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +29 -13
  257. package/dist/docs/references/reference-workflows-run.md +12 -12
  258. package/dist/docs/references/reference-workflows-step.md +24 -26
  259. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +2 -2
  260. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +1 -1
  261. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +4 -4
  262. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +3 -3
  263. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +3 -3
  264. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +9 -9
  265. package/dist/docs/references/reference-workflows-workflow-methods-map.md +2 -2
  266. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +2 -2
  267. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +2 -2
  268. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +2 -2
  269. package/dist/docs/references/reference-workflows-workflow-methods-then.md +2 -2
  270. package/dist/docs/references/reference-workflows-workflow.md +40 -50
  271. package/dist/docs/references/reference-workspace-filesystem.md +22 -22
  272. package/dist/docs/references/reference-workspace-local-filesystem.md +35 -35
  273. package/dist/docs/references/reference-workspace-local-sandbox.md +26 -26
  274. package/dist/docs/references/reference-workspace-sandbox.md +8 -8
  275. package/dist/docs/references/reference-workspace-workspace-class.md +30 -34
  276. package/dist/editor/types.d.ts +1 -0
  277. package/dist/editor/types.d.ts.map +1 -1
  278. package/dist/evals/index.cjs +20 -20
  279. package/dist/evals/index.js +3 -3
  280. package/dist/evals/scoreTraces/index.cjs +5 -5
  281. package/dist/evals/scoreTraces/index.js +2 -2
  282. package/dist/harness/harness.d.ts.map +1 -1
  283. package/dist/harness/index.cjs +25 -21
  284. package/dist/harness/index.cjs.map +1 -1
  285. package/dist/harness/index.js +15 -11
  286. package/dist/harness/index.js.map +1 -1
  287. package/dist/index.cjs +2 -2
  288. package/dist/index.js +1 -1
  289. package/dist/integration/index.cjs +2 -2
  290. package/dist/integration/index.js +1 -1
  291. package/dist/llm/index.cjs +12 -12
  292. package/dist/llm/index.js +3 -3
  293. package/dist/llm/model/model.d.ts.map +1 -1
  294. package/dist/llm/model/model.loop.d.ts.map +1 -1
  295. package/dist/llm/model/provider-types.generated.d.ts +5 -1
  296. package/dist/loop/index.cjs +14 -14
  297. package/dist/loop/index.js +1 -1
  298. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  299. package/dist/mastra/index.cjs +2 -2
  300. package/dist/mastra/index.js +1 -1
  301. package/dist/memory/index.cjs +14 -14
  302. package/dist/memory/index.js +1 -1
  303. package/dist/models-dev-2FJK72J2.cjs +12 -0
  304. package/dist/{models-dev-UVWCKPA2.cjs.map → models-dev-2FJK72J2.cjs.map} +1 -1
  305. package/dist/models-dev-CMQG6EMO.js +3 -0
  306. package/dist/{models-dev-W3LXZTEB.js.map → models-dev-CMQG6EMO.js.map} +1 -1
  307. package/dist/processor-provider/index.cjs +10 -10
  308. package/dist/processor-provider/index.js +1 -1
  309. package/dist/processors/index.cjs +42 -42
  310. package/dist/processors/index.js +1 -1
  311. package/dist/processors/processors/skills.d.ts +9 -42
  312. package/dist/processors/processors/skills.d.ts.map +1 -1
  313. package/dist/provider-registry-EHOAWHFE.cjs +40 -0
  314. package/dist/{provider-registry-4HLP2JRR.cjs.map → provider-registry-EHOAWHFE.cjs.map} +1 -1
  315. package/dist/provider-registry-LVP6T63V.js +3 -0
  316. package/dist/{provider-registry-K3DWQSMH.js.map → provider-registry-LVP6T63V.js.map} +1 -1
  317. package/dist/provider-registry.json +12 -4
  318. package/dist/relevance/index.cjs +3 -3
  319. package/dist/relevance/index.js +1 -1
  320. package/dist/request-context/index.cjs +4 -4
  321. package/dist/request-context/index.d.ts.map +1 -1
  322. package/dist/request-context/index.js +1 -1
  323. package/dist/storage/base.d.ts +34 -1
  324. package/dist/storage/base.d.ts.map +1 -1
  325. package/dist/storage/constants.cjs +56 -56
  326. package/dist/storage/constants.js +1 -1
  327. package/dist/storage/domains/agents/filesystem.d.ts +28 -0
  328. package/dist/storage/domains/agents/filesystem.d.ts.map +1 -0
  329. package/dist/storage/domains/agents/index.d.ts +1 -0
  330. package/dist/storage/domains/agents/index.d.ts.map +1 -1
  331. package/dist/storage/domains/experiments/inmemory.d.ts.map +1 -1
  332. package/dist/storage/domains/mcp-clients/filesystem.d.ts +28 -0
  333. package/dist/storage/domains/mcp-clients/filesystem.d.ts.map +1 -0
  334. package/dist/storage/domains/mcp-clients/index.d.ts +1 -0
  335. package/dist/storage/domains/mcp-clients/index.d.ts.map +1 -1
  336. package/dist/storage/domains/mcp-servers/filesystem.d.ts +28 -0
  337. package/dist/storage/domains/mcp-servers/filesystem.d.ts.map +1 -0
  338. package/dist/storage/domains/mcp-servers/index.d.ts +1 -0
  339. package/dist/storage/domains/mcp-servers/index.d.ts.map +1 -1
  340. package/dist/storage/domains/prompt-blocks/filesystem.d.ts +28 -0
  341. package/dist/storage/domains/prompt-blocks/filesystem.d.ts.map +1 -0
  342. package/dist/storage/domains/prompt-blocks/index.d.ts +1 -0
  343. package/dist/storage/domains/prompt-blocks/index.d.ts.map +1 -1
  344. package/dist/storage/domains/scorer-definitions/filesystem.d.ts +28 -0
  345. package/dist/storage/domains/scorer-definitions/filesystem.d.ts.map +1 -0
  346. package/dist/storage/domains/scorer-definitions/index.d.ts +1 -0
  347. package/dist/storage/domains/scorer-definitions/index.d.ts.map +1 -1
  348. package/dist/storage/domains/skills/filesystem.d.ts +28 -0
  349. package/dist/storage/domains/skills/filesystem.d.ts.map +1 -0
  350. package/dist/storage/domains/skills/index.d.ts +1 -0
  351. package/dist/storage/domains/skills/index.d.ts.map +1 -1
  352. package/dist/storage/domains/workspaces/filesystem.d.ts +28 -0
  353. package/dist/storage/domains/workspaces/filesystem.d.ts.map +1 -0
  354. package/dist/storage/domains/workspaces/index.d.ts +1 -0
  355. package/dist/storage/domains/workspaces/index.d.ts.map +1 -1
  356. package/dist/storage/filesystem-db.d.ts +82 -0
  357. package/dist/storage/filesystem-db.d.ts.map +1 -0
  358. package/dist/storage/filesystem-versioned.d.ts +148 -0
  359. package/dist/storage/filesystem-versioned.d.ts.map +1 -0
  360. package/dist/storage/filesystem.d.ts +39 -0
  361. package/dist/storage/filesystem.d.ts.map +1 -0
  362. package/dist/storage/git-history.d.ts +68 -0
  363. package/dist/storage/git-history.d.ts.map +1 -0
  364. package/dist/storage/index.cjs +208 -160
  365. package/dist/storage/index.d.ts +4 -0
  366. package/dist/storage/index.d.ts.map +1 -1
  367. package/dist/storage/index.js +2 -2
  368. package/dist/storage/types.d.ts +1 -0
  369. package/dist/storage/types.d.ts.map +1 -1
  370. package/dist/stream/RunOutput.d.ts +1 -1
  371. package/dist/stream/aisdk/v5/output-helpers.d.ts +6 -6
  372. package/dist/stream/base/output.d.ts +3 -3
  373. package/dist/stream/base/schema.d.ts +1 -1
  374. package/dist/stream/index.cjs +11 -11
  375. package/dist/stream/index.js +2 -2
  376. package/dist/test-utils/llm-mock.cjs +4 -4
  377. package/dist/test-utils/llm-mock.js +1 -1
  378. package/dist/tool-loop-agent/index.cjs +4 -4
  379. package/dist/tool-loop-agent/index.js +1 -1
  380. package/dist/tools/index.cjs +6 -6
  381. package/dist/tools/index.js +1 -1
  382. package/dist/tools/is-vercel-tool.cjs +2 -2
  383. package/dist/tools/is-vercel-tool.js +1 -1
  384. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  385. package/dist/tools/tool.d.ts +6 -0
  386. package/dist/tools/tool.d.ts.map +1 -1
  387. package/dist/tools/types.d.ts +27 -0
  388. package/dist/tools/types.d.ts.map +1 -1
  389. package/dist/utils.cjs +23 -23
  390. package/dist/utils.js +1 -1
  391. package/dist/vector/index.cjs +9 -9
  392. package/dist/vector/index.js +2 -2
  393. package/dist/workflows/evented/index.cjs +10 -10
  394. package/dist/workflows/evented/index.js +1 -1
  395. package/dist/workflows/index.cjs +25 -25
  396. package/dist/workflows/index.js +1 -1
  397. package/dist/workspace/index.cjs +70 -66
  398. package/dist/workspace/index.d.ts +1 -0
  399. package/dist/workspace/index.d.ts.map +1 -1
  400. package/dist/workspace/index.js +1 -1
  401. package/dist/workspace/sandbox/execa.d.ts +9 -0
  402. package/dist/workspace/sandbox/execa.d.ts.map +1 -0
  403. package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -1
  404. package/dist/workspace/skills/index.d.ts +1 -0
  405. package/dist/workspace/skills/index.d.ts.map +1 -1
  406. package/dist/workspace/skills/tools.d.ts +36 -0
  407. package/dist/workspace/skills/tools.d.ts.map +1 -0
  408. package/dist/workspace/tools/execute-command.d.ts.map +1 -1
  409. package/dist/workspace/tools/output-helpers.d.ts +4 -3
  410. package/dist/workspace/tools/output-helpers.d.ts.map +1 -1
  411. package/package.json +9 -9
  412. package/src/llm/model/provider-types.generated.d.ts +5 -1
  413. package/dist/chunk-3ZF7IC6Q.cjs.map +0 -1
  414. package/dist/chunk-4BXXAZ75.js.map +0 -1
  415. package/dist/chunk-4P35AVPE.cjs.map +0 -1
  416. package/dist/chunk-BFV3GSGS.js.map +0 -1
  417. package/dist/chunk-CCLV5CAA.js.map +0 -1
  418. package/dist/chunk-D4M6E4OQ.cjs.map +0 -1
  419. package/dist/chunk-D6HO5QAM.cjs.map +0 -1
  420. package/dist/chunk-G5R2755Q.cjs.map +0 -1
  421. package/dist/chunk-GJTLWOKJ.js.map +0 -1
  422. package/dist/chunk-H5S4PS44.cjs.map +0 -1
  423. package/dist/chunk-IOY7Y5GV.js.map +0 -1
  424. package/dist/chunk-JIRB5LX4.js.map +0 -1
  425. package/dist/chunk-MVYP55NA.js.map +0 -1
  426. package/dist/chunk-PKORY4ZZ.cjs.map +0 -1
  427. package/dist/chunk-QNXY3J6B.cjs.map +0 -1
  428. package/dist/chunk-SEKQJ447.js.map +0 -1
  429. package/dist/chunk-VDKWYUGC.cjs.map +0 -1
  430. package/dist/chunk-VWAK25TU.js.map +0 -1
  431. package/dist/chunk-WYPSC6CO.js.map +0 -1
  432. package/dist/chunk-YIJZBU54.cjs.map +0 -1
  433. package/dist/chunk-ZBESCKPX.cjs.map +0 -1
  434. package/dist/chunk-ZVWVQ6MG.js.map +0 -1
  435. package/dist/models-dev-UVWCKPA2.cjs +0 -12
  436. package/dist/models-dev-W3LXZTEB.js +0 -3
  437. package/dist/provider-registry-4HLP2JRR.cjs +0 -40
  438. package/dist/provider-registry-K3DWQSMH.js +0 -3
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/llm/model/provider-registry.json","../src/llm/model/provider-registry.ts"],"names":["require","isDev"],"mappings":"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","file":"chunk-4BXXAZ75.js","sourcesContent":["{\n \"providers\": {\n \"evroc\": {\n \"url\": \"https://models.think.evroc.com/v1\",\n \"apiKeyEnvVar\": \"EVROC_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"evroc\",\n \"models\": [\n \"KBLab/kb-whisper-large\",\n \"Qwen/Qwen3-30B-A3B-Instruct-2507-FP8\",\n \"Qwen/Qwen3-Embedding-8B\",\n \"Qwen/Qwen3-VL-30B-A3B-Instruct\",\n \"intfloat/multilingual-e5-large-instruct\",\n \"microsoft/Phi-4-multimodal-instruct\",\n \"mistralai/Magistral-Small-2509\",\n \"mistralai/Voxtral-Small-24B-2507\",\n \"mistralai/devstral-small-2-24b-instruct-2512\",\n \"moonshotai/Kimi-K2.5\",\n \"nvidia/Llama-3.3-70B-Instruct-FP8\",\n \"openai/gpt-oss-120b\",\n \"openai/whisper-large-v3\"\n ],\n \"docUrl\": \"https://docs.evroc.com/products/think/overview.html\",\n \"gateway\": \"models.dev\"\n },\n \"zai\": {\n \"url\": \"https://api.z.ai/api/paas/v4\",\n \"apiKeyEnvVar\": \"ZHIPU_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Z.AI\",\n \"models\": [\n \"glm-4.5\",\n \"glm-4.5-air\",\n \"glm-4.5-flash\",\n \"glm-4.5v\",\n \"glm-4.6\",\n \"glm-4.6v\",\n \"glm-4.7\",\n \"glm-4.7-flash\",\n \"glm-5\"\n ],\n \"docUrl\": \"https://docs.z.ai/guides/overview/pricing\",\n \"gateway\": \"models.dev\"\n },\n \"zenmux\": {\n \"url\": \"https://zenmux.ai/api/anthropic/v1\",\n \"apiKeyEnvVar\": \"ZENMUX_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"ZenMux\",\n \"models\": [\n \"anthropic/claude-3.5-haiku\",\n \"anthropic/claude-3.5-sonnet\",\n \"anthropic/claude-3.7-sonnet\",\n \"anthropic/claude-haiku-4.5\",\n \"anthropic/claude-opus-4\",\n \"anthropic/claude-opus-4.1\",\n \"anthropic/claude-opus-4.5\",\n \"anthropic/claude-opus-4.6\",\n \"anthropic/claude-sonnet-4\",\n \"anthropic/claude-sonnet-4.5\",\n \"anthropic/claude-sonnet-4.6\",\n \"baidu/ernie-5.0-thinking-preview\",\n \"deepseek/deepseek-chat\",\n \"deepseek/deepseek-v3.2\",\n \"deepseek/deepseek-v3.2-exp\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-flash-lite\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-3-flash-preview\",\n \"google/gemini-3-pro-preview\",\n \"inclusionai/ling-1t\",\n \"inclusionai/ring-1t\",\n \"kuaishou/kat-coder-pro-v1\",\n \"kuaishou/kat-coder-pro-v1-free\",\n \"minimax/minimax-m2\",\n \"minimax/minimax-m2.1\",\n \"minimax/minimax-m2.5\",\n \"minimax/minimax-m2.5-lightning\",\n \"moonshotai/kimi-k2-0905\",\n \"moonshotai/kimi-k2-thinking\",\n \"moonshotai/kimi-k2-thinking-turbo\",\n \"moonshotai/kimi-k2.5\",\n \"openai/gpt-5\",\n \"openai/gpt-5-codex\",\n \"openai/gpt-5.1\",\n \"openai/gpt-5.1-chat\",\n \"openai/gpt-5.1-codex\",\n \"openai/gpt-5.1-codex-mini\",\n \"openai/gpt-5.2\",\n \"openai/gpt-5.2-codex\",\n \"qwen/qwen3-coder-plus\",\n \"qwen/qwen3-max\",\n \"stepfun/step-3\",\n \"stepfun/step-3.5-flash\",\n \"stepfun/step-3.5-flash-free\",\n \"volcengine/doubao-seed-1.8\",\n \"volcengine/doubao-seed-2.0-lite\",\n \"volcengine/doubao-seed-2.0-mini\",\n \"volcengine/doubao-seed-2.0-pro\",\n \"volcengine/doubao-seed-code\",\n \"x-ai/grok-4\",\n \"x-ai/grok-4-fast\",\n \"x-ai/grok-4.1-fast\",\n \"x-ai/grok-4.1-fast-non-reasoning\",\n \"x-ai/grok-code-fast-1\",\n \"xiaomi/mimo-v2-flash\",\n \"xiaomi/mimo-v2-flash-free\",\n \"z-ai/glm-4.5\",\n \"z-ai/glm-4.5-air\",\n \"z-ai/glm-4.6\",\n \"z-ai/glm-4.6v\",\n \"z-ai/glm-4.6v-flash\",\n \"z-ai/glm-4.6v-flash-free\",\n \"z-ai/glm-4.7\",\n \"z-ai/glm-4.7-flash-free\",\n \"z-ai/glm-4.7-flashx\",\n \"z-ai/glm-5\"\n ],\n \"docUrl\": \"https://docs.zenmux.ai\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/anthropic\"\n },\n \"io-net\": {\n \"url\": \"https://api.intelligence.io.solutions/api/v1\",\n \"apiKeyEnvVar\": \"IOINTELLIGENCE_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"IO.NET\",\n \"models\": [\n \"Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar\",\n \"Qwen/Qwen2.5-VL-32B-Instruct\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n \"deepseek-ai/DeepSeek-R1-0528\",\n \"meta-llama/Llama-3.2-90B-Vision-Instruct\",\n \"meta-llama/Llama-3.3-70B-Instruct\",\n \"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8\",\n \"mistralai/Devstral-Small-2505\",\n \"mistralai/Magistral-Small-2506\",\n \"mistralai/Mistral-Large-Instruct-2411\",\n \"mistralai/Mistral-Nemo-Instruct-2407\",\n \"moonshotai/Kimi-K2-Instruct-0905\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"zai-org/GLM-4.6\"\n ],\n \"docUrl\": \"https://io.net/docs/guides/intelligence/io-intelligence\",\n \"gateway\": \"models.dev\"\n },\n \"nvidia\": {\n \"url\": \"https://integrate.api.nvidia.com/v1\",\n \"apiKeyEnvVar\": \"NVIDIA_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Nvidia\",\n \"models\": [\n \"black-forest-labs/flux.1-dev\",\n \"deepseek-ai/deepseek-coder-6.7b-instruct\",\n \"deepseek-ai/deepseek-r1\",\n \"deepseek-ai/deepseek-r1-0528\",\n \"deepseek-ai/deepseek-v3.1\",\n \"deepseek-ai/deepseek-v3.1-terminus\",\n \"deepseek-ai/deepseek-v3.2\",\n \"google/codegemma-1.1-7b\",\n \"google/codegemma-7b\",\n \"google/gemma-2-27b-it\",\n \"google/gemma-2-2b-it\",\n \"google/gemma-3-12b-it\",\n \"google/gemma-3-1b-it\",\n \"google/gemma-3-27b-it\",\n \"google/gemma-3n-e2b-it\",\n \"google/gemma-3n-e4b-it\",\n \"meta/codellama-70b\",\n \"meta/llama-3.1-405b-instruct\",\n \"meta/llama-3.1-70b-instruct\",\n \"meta/llama-3.2-11b-vision-instruct\",\n \"meta/llama-3.2-1b-instruct\",\n \"meta/llama-3.3-70b-instruct\",\n \"meta/llama-4-maverick-17b-128e-instruct\",\n \"meta/llama-4-scout-17b-16e-instruct\",\n \"meta/llama3-70b-instruct\",\n \"meta/llama3-8b-instruct\",\n \"microsoft/phi-3-medium-128k-instruct\",\n \"microsoft/phi-3-medium-4k-instruct\",\n \"microsoft/phi-3-small-128k-instruct\",\n \"microsoft/phi-3-small-8k-instruct\",\n \"microsoft/phi-3-vision-128k-instruct\",\n \"microsoft/phi-3.5-moe-instruct\",\n \"microsoft/phi-3.5-vision-instruct\",\n \"microsoft/phi-4-mini-instruct\",\n \"minimaxai/minimax-m2\",\n \"minimaxai/minimax-m2.1\",\n \"mistralai/codestral-22b-instruct-v0.1\",\n \"mistralai/devstral-2-123b-instruct-2512\",\n \"mistralai/mamba-codestral-7b-v0.1\",\n \"mistralai/ministral-14b-instruct-2512\",\n \"mistralai/mistral-large-2-instruct\",\n \"mistralai/mistral-large-3-675b-instruct-2512\",\n \"mistralai/mistral-small-3.1-24b-instruct-2503\",\n \"moonshotai/kimi-k2-instruct\",\n \"moonshotai/kimi-k2-instruct-0905\",\n \"moonshotai/kimi-k2-thinking\",\n \"moonshotai/kimi-k2.5\",\n \"nvidia/cosmos-nemotron-34b\",\n \"nvidia/llama-3.1-nemotron-51b-instruct\",\n \"nvidia/llama-3.1-nemotron-70b-instruct\",\n \"nvidia/llama-3.1-nemotron-ultra-253b-v1\",\n \"nvidia/llama-3.3-nemotron-super-49b-v1\",\n \"nvidia/llama-3.3-nemotron-super-49b-v1.5\",\n \"nvidia/llama-embed-nemotron-8b\",\n \"nvidia/llama3-chatqa-1.5-70b\",\n \"nvidia/nemoretriever-ocr-v1\",\n \"nvidia/nemotron-3-nano-30b-a3b\",\n \"nvidia/nemotron-4-340b-instruct\",\n \"nvidia/nvidia-nemotron-nano-9b-v2\",\n \"nvidia/parakeet-tdt-0.6b-v2\",\n \"openai/gpt-oss-120b\",\n \"openai/whisper-large-v3\",\n \"qwen/qwen2.5-coder-32b-instruct\",\n \"qwen/qwen2.5-coder-7b-instruct\",\n \"qwen/qwen3-235b-a22b\",\n \"qwen/qwen3-coder-480b-a35b-instruct\",\n \"qwen/qwen3-next-80b-a3b-instruct\",\n \"qwen/qwen3-next-80b-a3b-thinking\",\n \"qwen/qwq-32b\",\n \"z-ai/glm4.7\",\n \"z-ai/glm5\"\n ],\n \"docUrl\": \"https://docs.api.nvidia.com/nim/\",\n \"gateway\": \"models.dev\"\n },\n \"fastrouter\": {\n \"url\": \"https://go.fastrouter.ai/api/v1\",\n \"apiKeyEnvVar\": \"FASTROUTER_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"FastRouter\",\n \"models\": [\n \"anthropic/claude-opus-4.1\",\n \"anthropic/claude-sonnet-4\",\n \"deepseek-ai/deepseek-r1-distill-llama-70b\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-pro\",\n \"moonshotai/kimi-k2\",\n \"openai/gpt-4.1\",\n \"openai/gpt-5\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5-nano\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"qwen/qwen3-coder\",\n \"x-ai/grok-4\"\n ],\n \"docUrl\": \"https://fastrouter.ai/models\",\n \"gateway\": \"models.dev\"\n },\n \"iflowcn\": {\n \"url\": \"https://apis.iflow.cn/v1\",\n \"apiKeyEnvVar\": \"IFLOW_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"iFlow\",\n \"models\": [\n \"deepseek-r1\",\n \"deepseek-v3\",\n \"deepseek-v3.2\",\n \"glm-4.6\",\n \"kimi-k2\",\n \"kimi-k2-0905\",\n \"qwen3-235b\",\n \"qwen3-235b-a22b-instruct\",\n \"qwen3-235b-a22b-thinking-2507\",\n \"qwen3-32b\",\n \"qwen3-coder-plus\",\n \"qwen3-max\",\n \"qwen3-max-preview\",\n \"qwen3-vl-plus\"\n ],\n \"docUrl\": \"https://platform.iflow.cn/en/docs\",\n \"gateway\": \"models.dev\"\n },\n \"modelscope\": {\n \"url\": \"https://api-inference.modelscope.cn/v1\",\n \"apiKeyEnvVar\": \"MODELSCOPE_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"ModelScope\",\n \"models\": [\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-30B-A3B-Instruct-2507\",\n \"Qwen/Qwen3-30B-A3B-Thinking-2507\",\n \"Qwen/Qwen3-Coder-30B-A3B-Instruct\",\n \"ZhipuAI/GLM-4.5\",\n \"ZhipuAI/GLM-4.6\"\n ],\n \"docUrl\": \"https://modelscope.cn/docs/model-service/API-Inference/intro\",\n \"gateway\": \"models.dev\"\n },\n \"llama\": {\n \"url\": \"https://api.llama.com/compat/v1/\",\n \"apiKeyEnvVar\": \"LLAMA_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Llama\",\n \"models\": [\n \"cerebras-llama-4-maverick-17b-128e-instruct\",\n \"cerebras-llama-4-scout-17b-16e-instruct\",\n \"groq-llama-4-maverick-17b-128e-instruct\",\n \"llama-3.3-70b-instruct\",\n \"llama-3.3-8b-instruct\",\n \"llama-4-maverick-17b-128e-instruct-fp8\",\n \"llama-4-scout-17b-16e-instruct-fp8\"\n ],\n \"docUrl\": \"https://llama.developer.meta.com/docs/models\",\n \"gateway\": \"models.dev\"\n },\n \"inference\": {\n \"url\": \"https://inference.net/v1\",\n \"apiKeyEnvVar\": \"INFERENCE_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Inference\",\n \"models\": [\n \"google/gemma-3\",\n \"meta/llama-3.1-8b-instruct\",\n \"meta/llama-3.2-11b-vision-instruct\",\n \"meta/llama-3.2-1b-instruct\",\n \"meta/llama-3.2-3b-instruct\",\n \"mistral/mistral-nemo-12b-instruct\",\n \"osmosis/osmosis-structure-0.6b\",\n \"qwen/qwen-2.5-7b-vision-instruct\",\n \"qwen/qwen3-embedding-4b\"\n ],\n \"docUrl\": \"https://inference.net/models\",\n \"gateway\": \"models.dev\"\n },\n \"deepinfra\": {\n \"apiKeyEnvVar\": \"DEEPINFRA_API_KEY\",\n \"name\": \"Deep Infra\",\n \"models\": [\n \"MiniMaxAI/MiniMax-M2\",\n \"MiniMaxAI/MiniMax-M2.1\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo\",\n \"anthropic/claude-3-7-sonnet-latest\",\n \"anthropic/claude-4-opus\",\n \"deepseek-ai/DeepSeek-R1-0528\",\n \"deepseek-ai/DeepSeek-V3.2\",\n \"moonshotai/Kimi-K2-Instruct\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"moonshotai/Kimi-K2.5\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"zai-org/GLM-4.7\",\n \"zai-org/GLM-4.7-Flash\"\n ],\n \"docUrl\": \"https://deepinfra.com/models\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/deepinfra\"\n },\n \"perplexity-agent\": {\n \"url\": \"https://api.perplexity.ai/v1\",\n \"apiKeyEnvVar\": \"PERPLEXITY_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Perplexity Agent\",\n \"models\": [\n \"anthropic/claude-haiku-4-5\",\n \"anthropic/claude-opus-4-5\",\n \"anthropic/claude-opus-4-6\",\n \"anthropic/claude-sonnet-4-5\",\n \"anthropic/claude-sonnet-4-6\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-3-flash-preview\",\n \"google/gemini-3-pro-preview\",\n \"google/gemini-3.1-pro-preview\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5.1\",\n \"openai/gpt-5.2\",\n \"perplexity/sonar\",\n \"xai/grok-4-1-fast-non-reasoning\"\n ],\n \"docUrl\": \"https://docs.perplexity.ai/docs/agent-api/models\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/openai\"\n },\n \"xiaomi\": {\n \"url\": \"https://api.xiaomimimo.com/v1\",\n \"apiKeyEnvVar\": \"XIAOMI_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Xiaomi\",\n \"models\": [\"mimo-v2-flash\"],\n \"docUrl\": \"https://platform.xiaomimimo.com/#/docs\",\n \"gateway\": \"models.dev\"\n },\n \"synthetic\": {\n \"url\": \"https://api.synthetic.new/v1\",\n \"apiKeyEnvVar\": \"SYNTHETIC_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Synthetic\",\n \"models\": [\n \"hf:MiniMaxAI/MiniMax-M2\",\n \"hf:MiniMaxAI/MiniMax-M2.1\",\n \"hf:Qwen/Qwen2.5-Coder-32B-Instruct\",\n \"hf:Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"hf:Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"hf:Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n \"hf:deepseek-ai/DeepSeek-R1\",\n \"hf:deepseek-ai/DeepSeek-R1-0528\",\n \"hf:deepseek-ai/DeepSeek-V3\",\n \"hf:deepseek-ai/DeepSeek-V3-0324\",\n \"hf:deepseek-ai/DeepSeek-V3.1\",\n \"hf:deepseek-ai/DeepSeek-V3.1-Terminus\",\n \"hf:deepseek-ai/DeepSeek-V3.2\",\n \"hf:meta-llama/Llama-3.1-405B-Instruct\",\n \"hf:meta-llama/Llama-3.1-70B-Instruct\",\n \"hf:meta-llama/Llama-3.1-8B-Instruct\",\n \"hf:meta-llama/Llama-3.3-70B-Instruct\",\n \"hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8\",\n \"hf:meta-llama/Llama-4-Scout-17B-16E-Instruct\",\n \"hf:moonshotai/Kimi-K2-Instruct-0905\",\n \"hf:moonshotai/Kimi-K2-Thinking\",\n \"hf:moonshotai/Kimi-K2.5\",\n \"hf:nvidia/Kimi-K2.5-NVFP4\",\n \"hf:openai/gpt-oss-120b\",\n \"hf:zai-org/GLM-4.6\",\n \"hf:zai-org/GLM-4.7\"\n ],\n \"docUrl\": \"https://synthetic.new/pricing\",\n \"gateway\": \"models.dev\"\n },\n \"nebius\": {\n \"url\": \"https://api.tokenfactory.nebius.com/v1\",\n \"apiKeyEnvVar\": \"NEBIUS_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Nebius Token Factory\",\n \"models\": [\n \"BAAI/bge-en-icl\",\n \"BAAI/bge-multilingual-gemma2\",\n \"MiniMaxAI/minimax-m2.1\",\n \"NousResearch/hermes-4-405b\",\n \"NousResearch/hermes-4-70b\",\n \"PrimeIntellect/intellect-3\",\n \"black-forest-labs/flux-dev\",\n \"black-forest-labs/flux-schnell\",\n \"deepseek-ai/deepseek-r1-0528\",\n \"deepseek-ai/deepseek-r1-0528-fast\",\n \"deepseek-ai/deepseek-v3-0324\",\n \"deepseek-ai/deepseek-v3-0324-fast\",\n \"deepseek-ai/deepseek-v3.2\",\n \"google/gemma-2-2b-it\",\n \"google/gemma-2-9b-it-fast\",\n \"google/gemma-3-27b-it\",\n \"google/gemma-3-27b-it-fast\",\n \"intfloat/e5-mistral-7b-instruct\",\n \"meta-llama/Llama-3.3-70B-Instruct\",\n \"meta-llama/llama-3.3-70b-instruct-fast\",\n \"meta-llama/llama-guard-3-8b\",\n \"meta-llama/meta-llama-3.1-8b-instruct\",\n \"meta-llama/meta-llama-3.1-8b-instruct-fast\",\n \"moonshotai/Kimi-K2.5\",\n \"moonshotai/kimi-k2-instruct\",\n \"moonshotai/kimi-k2-thinking\",\n \"nvidia/llama-3_1-nemotron-ultra-253b-v1\",\n \"nvidia/nemotron-nano-v2-12b\",\n \"nvidia/nvidia-nemotron-3-nano-30b-a3b\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"qwen/qwen2.5-coder-7b-fast\",\n \"qwen/qwen2.5-vl-72b-instruct\",\n \"qwen/qwen3-235b-a22b-instruct-2507\",\n \"qwen/qwen3-235b-a22b-thinking-2507\",\n \"qwen/qwen3-30b-a3b-instruct-2507\",\n \"qwen/qwen3-30b-a3b-thinking-2507\",\n \"qwen/qwen3-32b\",\n \"qwen/qwen3-32b-fast\",\n \"qwen/qwen3-coder-30b-a3b-instruct\",\n \"qwen/qwen3-coder-480b-a35b-instruct\",\n \"qwen/qwen3-embedding-8b\",\n \"qwen/qwen3-next-80b-a3b-thinking\",\n \"zai-org/glm-4.5\",\n \"zai-org/glm-4.5-air\",\n \"zai-org/glm-4.7-fp8\"\n ],\n \"docUrl\": \"https://docs.tokenfactory.nebius.com/\",\n \"gateway\": \"models.dev\"\n },\n \"qiniu-ai\": {\n \"url\": \"https://api.qnaigc.com.com/v1\",\n \"apiKeyEnvVar\": \"Qiniu_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Qiniu\",\n \"models\": [\n \"MiniMax-M1\",\n \"claude-3.5-haiku\",\n \"claude-3.5-sonnet\",\n \"claude-3.7-sonnet\",\n \"claude-4.0-opus\",\n \"claude-4.0-sonnet\",\n \"claude-4.1-opus\",\n \"claude-4.5-haiku\",\n \"claude-4.5-opus\",\n \"claude-4.5-sonnet\",\n \"deepseek-r1\",\n \"deepseek-r1-0528\",\n \"deepseek-v3\",\n \"deepseek-v3-0324\",\n \"deepseek-v3.1\",\n \"deepseek/deepseek-math-v2\",\n \"deepseek/deepseek-v3.1-terminus\",\n \"deepseek/deepseek-v3.1-terminus-thinking\",\n \"deepseek/deepseek-v3.2-251201\",\n \"deepseek/deepseek-v3.2-exp\",\n \"deepseek/deepseek-v3.2-exp-thinking\",\n \"doubao-1.5-pro-32k\",\n \"doubao-1.5-thinking-pro\",\n \"doubao-1.5-vision-pro\",\n \"doubao-seed-1.6\",\n \"doubao-seed-1.6-flash\",\n \"doubao-seed-1.6-thinking\",\n \"gemini-2.0-flash\",\n \"gemini-2.0-flash-lite\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-flash-image\",\n \"gemini-2.5-flash-lite\",\n \"gemini-2.5-pro\",\n \"gemini-3.0-flash-preview\",\n \"gemini-3.0-pro-image-preview\",\n \"gemini-3.0-pro-preview\",\n \"glm-4.5\",\n \"glm-4.5-air\",\n \"gpt-oss-120b\",\n \"gpt-oss-20b\",\n \"kimi-k2\",\n \"kling-v2-6\",\n \"meituan/longcat-flash-chat\",\n \"mimo-v2-flash\",\n \"minimax/minimax-m2\",\n \"minimax/minimax-m2.1\",\n \"moonshotai/kimi-k2-0905\",\n \"moonshotai/kimi-k2-thinking\",\n \"openai/gpt-5\",\n \"openai/gpt-5.2\",\n \"qwen-max-2025-01-25\",\n \"qwen-turbo\",\n \"qwen-vl-max-2025-01-25\",\n \"qwen2.5-vl-72b-instruct\",\n \"qwen2.5-vl-7b-instruct\",\n \"qwen3-235b-a22b\",\n \"qwen3-235b-a22b-instruct-2507\",\n \"qwen3-235b-a22b-thinking-2507\",\n \"qwen3-30b-a3b\",\n \"qwen3-32b\",\n \"qwen3-coder-480b-a35b-instruct\",\n \"qwen3-max\",\n \"qwen3-max-preview\",\n \"qwen3-next-80b-a3b-instruct\",\n \"qwen3-next-80b-a3b-thinking\",\n \"stepfun-ai/gelab-zero-4b-preview\",\n \"x-ai/grok-4-fast\",\n \"x-ai/grok-4-fast-non-reasoning\",\n \"x-ai/grok-4-fast-reasoning\",\n \"x-ai/grok-4.1-fast\",\n \"x-ai/grok-4.1-fast-non-reasoning\",\n \"x-ai/grok-4.1-fast-reasoning\",\n \"x-ai/grok-code-fast-1\",\n \"z-ai/autoglm-phone-9b\",\n \"z-ai/glm-4.6\",\n \"z-ai/glm-4.7\"\n ],\n \"docUrl\": \"https://developer.qiniu.com/aitokenapi\",\n \"gateway\": \"models.dev\"\n },\n \"ollama-cloud\": {\n \"url\": \"https://ollama.com/v1\",\n \"apiKeyEnvVar\": \"OLLAMA_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Ollama Cloud\",\n \"models\": [\n \"cogito-2.1:671b\",\n \"deepseek-v3.1:671b\",\n \"deepseek-v3.2\",\n \"devstral-2:123b\",\n \"devstral-small-2:24b\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-preview\",\n \"gemma3:12b\",\n \"gemma3:27b\",\n \"gemma3:4b\",\n \"glm-4.6\",\n \"glm-4.7\",\n \"glm-5\",\n \"gpt-oss:120b\",\n \"gpt-oss:20b\",\n \"kimi-k2-thinking\",\n \"kimi-k2.5\",\n \"kimi-k2:1t\",\n \"minimax-m2\",\n \"minimax-m2.1\",\n \"minimax-m2.5\",\n \"ministral-3:14b\",\n \"ministral-3:3b\",\n \"ministral-3:8b\",\n \"mistral-large-3:675b\",\n \"nemotron-3-nano:30b\",\n \"qwen3-coder-next\",\n \"qwen3-coder:480b\",\n \"qwen3-next:80b\",\n \"qwen3-vl:235b\",\n \"qwen3-vl:235b-instruct\",\n \"qwen3.5:397b\",\n \"rnj-1:8b\"\n ],\n \"docUrl\": \"https://docs.ollama.com/cloud\",\n \"gateway\": \"models.dev\"\n },\n \"scaleway\": {\n \"url\": \"https://api.scaleway.ai/v1\",\n \"apiKeyEnvVar\": \"SCALEWAY_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Scaleway\",\n \"models\": [\n \"bge-multilingual-gemma2\",\n \"deepseek-r1-distill-llama-70b\",\n \"devstral-2-123b-instruct-2512\",\n \"gemma-3-27b-it\",\n \"gpt-oss-120b\",\n \"llama-3.1-8b-instruct\",\n \"llama-3.3-70b-instruct\",\n \"mistral-nemo-instruct-2407\",\n \"mistral-small-3.2-24b-instruct-2506\",\n \"pixtral-12b-2409\",\n \"qwen3-235b-a22b-instruct-2507\",\n \"qwen3-coder-30b-a3b-instruct\",\n \"voxtral-small-24b-2507\",\n \"whisper-large-v3\"\n ],\n \"docUrl\": \"https://www.scaleway.com/en/docs/generative-apis/\",\n \"gateway\": \"models.dev\"\n },\n \"kuae-cloud-coding-plan\": {\n \"url\": \"https://coding-plan-endpoint.kuaecloud.net/v1\",\n \"apiKeyEnvVar\": \"KUAE_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"KUAE Cloud Coding Plan\",\n \"models\": [\"GLM-4.7\"],\n \"docUrl\": \"https://docs.mthreads.com/kuaecloud/kuaecloud-doc-online/coding_plan/\",\n \"gateway\": \"models.dev\"\n },\n \"upstage\": {\n \"url\": \"https://api.upstage.ai/v1/solar\",\n \"apiKeyEnvVar\": \"UPSTAGE_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Upstage\",\n \"models\": [\"solar-mini\", \"solar-pro2\", \"solar-pro3\"],\n \"docUrl\": \"https://developers.upstage.ai/docs/apis/chat\",\n \"gateway\": \"models.dev\"\n },\n \"inception\": {\n \"url\": \"https://api.inceptionlabs.ai/v1/\",\n \"apiKeyEnvVar\": \"INCEPTION_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Inception\",\n \"models\": [\"mercury\", \"mercury-coder\"],\n \"docUrl\": \"https://platform.inceptionlabs.ai/docs\",\n \"gateway\": \"models.dev\"\n },\n \"submodel\": {\n \"url\": \"https://llm.submodel.ai/v1\",\n \"apiKeyEnvVar\": \"SUBMODEL_INSTAGEN_ACCESS_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"submodel\",\n \"models\": [\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8\",\n \"deepseek-ai/DeepSeek-R1-0528\",\n \"deepseek-ai/DeepSeek-V3-0324\",\n \"deepseek-ai/DeepSeek-V3.1\",\n \"openai/gpt-oss-120b\",\n \"zai-org/GLM-4.5-Air\",\n \"zai-org/GLM-4.5-FP8\"\n ],\n \"docUrl\": \"https://submodel.gitbook.io\",\n \"gateway\": \"models.dev\"\n },\n \"minimax-cn-coding-plan\": {\n \"url\": \"https://api.minimaxi.com/anthropic/v1\",\n \"apiKeyEnvVar\": \"MINIMAX_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"MiniMax Coding Plan (minimaxi.com)\",\n \"models\": [\"MiniMax-M2\", \"MiniMax-M2.1\", \"MiniMax-M2.5\", \"MiniMax-M2.5-highspeed\"],\n \"docUrl\": \"https://platform.minimaxi.com/docs/coding-plan/intro\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/anthropic\"\n },\n \"novita-ai\": {\n \"url\": \"https://api.novita.ai/openai\",\n \"apiKeyEnvVar\": \"NOVITA_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"NovitaAI\",\n \"models\": [\n \"baichuan/baichuan-m2-32b\",\n \"baidu/ernie-4.5-21B-a3b\",\n \"baidu/ernie-4.5-21B-a3b-thinking\",\n \"baidu/ernie-4.5-300b-a47b-paddle\",\n \"baidu/ernie-4.5-vl-28b-a3b\",\n \"baidu/ernie-4.5-vl-28b-a3b-thinking\",\n \"baidu/ernie-4.5-vl-424b-a47b\",\n \"deepseek/deepseek-ocr\",\n \"deepseek/deepseek-ocr-2\",\n \"deepseek/deepseek-prover-v2-671b\",\n \"deepseek/deepseek-r1-0528\",\n \"deepseek/deepseek-r1-0528-qwen3-8b\",\n \"deepseek/deepseek-r1-distill-llama-70b\",\n \"deepseek/deepseek-r1-turbo\",\n \"deepseek/deepseek-v3-0324\",\n \"deepseek/deepseek-v3-turbo\",\n \"deepseek/deepseek-v3.1\",\n \"deepseek/deepseek-v3.1-terminus\",\n \"deepseek/deepseek-v3.2\",\n \"deepseek/deepseek-v3.2-exp\",\n \"google/gemma-3-27b-it\",\n \"gryphe/mythomax-l2-13b\",\n \"kwaipilot/kat-coder\",\n \"kwaipilot/kat-coder-pro\",\n \"meta-llama/llama-3-70b-instruct\",\n \"meta-llama/llama-3-8b-instruct\",\n \"meta-llama/llama-3.1-8b-instruct\",\n \"meta-llama/llama-3.3-70b-instruct\",\n \"meta-llama/llama-4-maverick-17b-128e-instruct-fp8\",\n \"meta-llama/llama-4-scout-17b-16e-instruct\",\n \"microsoft/wizardlm-2-8x22b\",\n \"minimax/minimax-m2\",\n \"minimax/minimax-m2.1\",\n \"minimax/minimax-m2.5\",\n \"minimaxai/minimax-m1-80k\",\n \"mistralai/mistral-nemo\",\n \"moonshotai/kimi-k2-0905\",\n \"moonshotai/kimi-k2-instruct\",\n \"moonshotai/kimi-k2-thinking\",\n \"moonshotai/kimi-k2.5\",\n \"nousresearch/hermes-2-pro-llama-3-8b\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"paddlepaddle/paddleocr-vl\",\n \"qwen/qwen-2.5-72b-instruct\",\n \"qwen/qwen-mt-plus\",\n \"qwen/qwen2.5-7b-instruct\",\n \"qwen/qwen2.5-vl-72b-instruct\",\n \"qwen/qwen3-235b-a22b-fp8\",\n \"qwen/qwen3-235b-a22b-instruct-2507\",\n \"qwen/qwen3-235b-a22b-thinking-2507\",\n \"qwen/qwen3-30b-a3b-fp8\",\n \"qwen/qwen3-32b-fp8\",\n \"qwen/qwen3-4b-fp8\",\n \"qwen/qwen3-8b-fp8\",\n \"qwen/qwen3-coder-30b-a3b-instruct\",\n \"qwen/qwen3-coder-480b-a35b-instruct\",\n \"qwen/qwen3-coder-next\",\n \"qwen/qwen3-max\",\n \"qwen/qwen3-next-80b-a3b-instruct\",\n \"qwen/qwen3-next-80b-a3b-thinking\",\n \"qwen/qwen3-omni-30b-a3b-instruct\",\n \"qwen/qwen3-omni-30b-a3b-thinking\",\n \"qwen/qwen3-vl-235b-a22b-instruct\",\n \"qwen/qwen3-vl-235b-a22b-thinking\",\n \"qwen/qwen3-vl-30b-a3b-instruct\",\n \"qwen/qwen3-vl-30b-a3b-thinking\",\n \"qwen/qwen3-vl-8b-instruct\",\n \"qwen/qwen3.5-397b-a17b\",\n \"sao10k/L3-8B-Stheno-v3.2\",\n \"sao10k/l3-70b-euryale-v2.1\",\n \"sao10k/l3-8b-lunaris\",\n \"sao10k/l31-70b-euryale-v2.2\",\n \"skywork/r1v4-lite\",\n \"xiaomimimo/mimo-v2-flash\",\n \"zai-org/autoglm-phone-9b-multilingual\",\n \"zai-org/glm-4.5\",\n \"zai-org/glm-4.5-air\",\n \"zai-org/glm-4.5v\",\n \"zai-org/glm-4.6\",\n \"zai-org/glm-4.6v\",\n \"zai-org/glm-4.7\",\n \"zai-org/glm-4.7-flash\",\n \"zai-org/glm-5\"\n ],\n \"docUrl\": \"https://novita.ai/docs/guides/introduction\",\n \"gateway\": \"models.dev\"\n },\n \"opencode\": {\n \"url\": \"https://opencode.ai/zen/v1\",\n \"apiKeyEnvVar\": \"OPENCODE_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"OpenCode Zen\",\n \"models\": [\n \"big-pickle\",\n \"claude-3-5-haiku\",\n \"claude-haiku-4-5\",\n \"claude-opus-4-1\",\n \"claude-opus-4-5\",\n \"claude-opus-4-6\",\n \"claude-sonnet-4\",\n \"claude-sonnet-4-5\",\n \"claude-sonnet-4-6\",\n \"gemini-3-flash\",\n \"gemini-3-pro\",\n \"gemini-3.1-pro\",\n \"glm-4.6\",\n \"glm-4.7\",\n \"glm-5\",\n \"gpt-5\",\n \"gpt-5-codex\",\n \"gpt-5-nano\",\n \"gpt-5.1\",\n \"gpt-5.1-codex\",\n \"gpt-5.1-codex-max\",\n \"gpt-5.1-codex-mini\",\n \"gpt-5.2\",\n \"gpt-5.2-codex\",\n \"gpt-5.3-codex\",\n \"kimi-k2.5\",\n \"minimax-m2.1\",\n \"minimax-m2.5\",\n \"minimax-m2.5-free\",\n \"trinity-large-preview-free\"\n ],\n \"docUrl\": \"https://opencode.ai/docs/zen\",\n \"gateway\": \"models.dev\"\n },\n \"poe\": {\n \"url\": \"https://api.poe.com/v1\",\n \"apiKeyEnvVar\": \"POE_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Poe\",\n \"models\": [\n \"anthropic/claude-haiku-3\",\n \"anthropic/claude-haiku-3.5\",\n \"anthropic/claude-haiku-4.5\",\n \"anthropic/claude-opus-4\",\n \"anthropic/claude-opus-4.1\",\n \"anthropic/claude-opus-4.5\",\n \"anthropic/claude-opus-4.6\",\n \"anthropic/claude-sonnet-3.5\",\n \"anthropic/claude-sonnet-3.5-june\",\n \"anthropic/claude-sonnet-3.7\",\n \"anthropic/claude-sonnet-4\",\n \"anthropic/claude-sonnet-4.5\",\n \"anthropic/claude-sonnet-4.6\",\n \"cerebras/gpt-oss-120b-cs\",\n \"cerebras/llama-3.1-8b-cs\",\n \"cerebras/llama-3.3-70b-cs\",\n \"cerebras/qwen3-235b-2507-cs\",\n \"cerebras/qwen3-32b-cs\",\n \"elevenlabs/elevenlabs-music\",\n \"elevenlabs/elevenlabs-v2.5-turbo\",\n \"elevenlabs/elevenlabs-v3\",\n \"google/gemini-2.0-flash\",\n \"google/gemini-2.0-flash-lite\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-flash-lite\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-3-flash\",\n \"google/gemini-3-pro\",\n \"google/gemini-deep-research\",\n \"google/imagen-3\",\n \"google/imagen-3-fast\",\n \"google/imagen-4\",\n \"google/imagen-4-fast\",\n \"google/imagen-4-ultra\",\n \"google/lyria\",\n \"google/nano-banana\",\n \"google/nano-banana-pro\",\n \"google/veo-2\",\n \"google/veo-3\",\n \"google/veo-3-fast\",\n \"google/veo-3.1\",\n \"google/veo-3.1-fast\",\n \"ideogramai/ideogram\",\n \"ideogramai/ideogram-v2\",\n \"ideogramai/ideogram-v2a\",\n \"ideogramai/ideogram-v2a-turbo\",\n \"lumalabs/ray2\",\n \"novita/glm-4.6\",\n \"novita/glm-4.6v\",\n \"novita/glm-4.7\",\n \"novita/glm-4.7-flash\",\n \"novita/glm-4.7-n\",\n \"novita/kimi-k2-thinking\",\n \"novita/kimi-k2.5\",\n \"novita/minimax-m2.1\",\n \"openai/chatgpt-4o-latest\",\n \"openai/dall-e-3\",\n \"openai/gpt-3.5-turbo\",\n \"openai/gpt-3.5-turbo-instruct\",\n \"openai/gpt-3.5-turbo-raw\",\n \"openai/gpt-4-classic\",\n \"openai/gpt-4-classic-0314\",\n \"openai/gpt-4-turbo\",\n \"openai/gpt-4.1\",\n \"openai/gpt-4.1-mini\",\n \"openai/gpt-4.1-nano\",\n \"openai/gpt-4o\",\n \"openai/gpt-4o-aug\",\n \"openai/gpt-4o-mini\",\n \"openai/gpt-4o-mini-search\",\n \"openai/gpt-4o-search\",\n \"openai/gpt-5\",\n \"openai/gpt-5-chat\",\n \"openai/gpt-5-codex\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5-nano\",\n \"openai/gpt-5-pro\",\n \"openai/gpt-5.1\",\n \"openai/gpt-5.1-codex\",\n \"openai/gpt-5.1-codex-max\",\n \"openai/gpt-5.1-codex-mini\",\n \"openai/gpt-5.1-instant\",\n \"openai/gpt-5.2\",\n \"openai/gpt-5.2-codex\",\n \"openai/gpt-5.2-instant\",\n \"openai/gpt-5.2-pro\",\n \"openai/gpt-image-1\",\n \"openai/gpt-image-1-mini\",\n \"openai/gpt-image-1.5\",\n \"openai/o1\",\n \"openai/o1-pro\",\n \"openai/o3\",\n \"openai/o3-deep-research\",\n \"openai/o3-mini\",\n \"openai/o3-mini-high\",\n \"openai/o3-pro\",\n \"openai/o4-mini\",\n \"openai/o4-mini-deep-research\",\n \"openai/sora-2\",\n \"openai/sora-2-pro\",\n \"poetools/claude-code\",\n \"runwayml/runway\",\n \"runwayml/runway-gen-4-turbo\",\n \"stabilityai/stablediffusionxl\",\n \"topazlabs-co/topazlabs\",\n \"trytako/tako\",\n \"xai/grok-3\",\n \"xai/grok-3-mini\",\n \"xai/grok-4\",\n \"xai/grok-4-fast-non-reasoning\",\n \"xai/grok-4-fast-reasoning\",\n \"xai/grok-4.1-fast-non-reasoning\",\n \"xai/grok-4.1-fast-reasoning\",\n \"xai/grok-code-fast-1\"\n ],\n \"docUrl\": \"https://creator.poe.com/docs/external-applications/openai-compatible-api\",\n \"gateway\": \"models.dev\"\n },\n \"minimax-cn\": {\n \"url\": \"https://api.minimaxi.com/anthropic/v1\",\n \"apiKeyEnvVar\": \"MINIMAX_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"MiniMax (minimaxi.com)\",\n \"models\": [\"MiniMax-M2\", \"MiniMax-M2.1\", \"MiniMax-M2.5\", \"MiniMax-M2.5-highspeed\"],\n \"docUrl\": \"https://platform.minimaxi.com/docs/guides/quickstart\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/anthropic\"\n },\n \"bailing\": {\n \"url\": \"https://api.tbox.cn/api/llm/v1/chat/completions\",\n \"apiKeyEnvVar\": \"BAILING_API_TOKEN\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Bailing\",\n \"models\": [\"Ling-1T\", \"Ring-1T\"],\n \"docUrl\": \"https://alipaytbox.yuque.com/sxs0ba/ling/intro\",\n \"gateway\": \"models.dev\"\n },\n \"alibaba\": {\n \"url\": \"https://dashscope-intl.aliyuncs.com/compatible-mode/v1\",\n \"apiKeyEnvVar\": \"DASHSCOPE_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Alibaba\",\n \"models\": [\n \"qvq-max\",\n \"qwen-flash\",\n \"qwen-max\",\n \"qwen-mt-plus\",\n \"qwen-mt-turbo\",\n \"qwen-omni-turbo\",\n \"qwen-omni-turbo-realtime\",\n \"qwen-plus\",\n \"qwen-plus-character-ja\",\n \"qwen-turbo\",\n \"qwen-vl-max\",\n \"qwen-vl-ocr\",\n \"qwen-vl-plus\",\n \"qwen2-5-14b-instruct\",\n \"qwen2-5-32b-instruct\",\n \"qwen2-5-72b-instruct\",\n \"qwen2-5-7b-instruct\",\n \"qwen2-5-omni-7b\",\n \"qwen2-5-vl-72b-instruct\",\n \"qwen2-5-vl-7b-instruct\",\n \"qwen3-14b\",\n \"qwen3-235b-a22b\",\n \"qwen3-32b\",\n \"qwen3-8b\",\n \"qwen3-asr-flash\",\n \"qwen3-coder-30b-a3b-instruct\",\n \"qwen3-coder-480b-a35b-instruct\",\n \"qwen3-coder-flash\",\n \"qwen3-coder-plus\",\n \"qwen3-livetranslate-flash-realtime\",\n \"qwen3-max\",\n \"qwen3-next-80b-a3b-instruct\",\n \"qwen3-next-80b-a3b-thinking\",\n \"qwen3-omni-flash\",\n \"qwen3-omni-flash-realtime\",\n \"qwen3-vl-235b-a22b\",\n \"qwen3-vl-30b-a3b\",\n \"qwen3-vl-plus\",\n \"qwen3.5-397b-a17b\",\n \"qwen3.5-plus\",\n \"qwq-plus\"\n ],\n \"docUrl\": \"https://www.alibabacloud.com/help/en/model-studio/models\",\n \"gateway\": \"models.dev\"\n },\n \"cloudflare-workers-ai\": {\n \"url\": \"https://api.cloudflare.com/client/v4/accounts/${CLOUDFLARE_ACCOUNT_ID}/ai/v1\",\n \"apiKeyEnvVar\": \"CLOUDFLARE_ACCOUNT_ID\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Cloudflare Workers AI\",\n \"models\": [\n \"@cf/ai4bharat/indictrans2-en-indic-1B\",\n \"@cf/aisingapore/gemma-sea-lion-v4-27b-it\",\n \"@cf/baai/bge-base-en-v1.5\",\n \"@cf/baai/bge-large-en-v1.5\",\n \"@cf/baai/bge-m3\",\n \"@cf/baai/bge-reranker-base\",\n \"@cf/baai/bge-small-en-v1.5\",\n \"@cf/deepgram/aura-2-en\",\n \"@cf/deepgram/aura-2-es\",\n \"@cf/deepgram/nova-3\",\n \"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b\",\n \"@cf/facebook/bart-large-cnn\",\n \"@cf/google/gemma-3-12b-it\",\n \"@cf/huggingface/distilbert-sst-2-int8\",\n \"@cf/ibm-granite/granite-4.0-h-micro\",\n \"@cf/meta/llama-2-7b-chat-fp16\",\n \"@cf/meta/llama-3-8b-instruct\",\n \"@cf/meta/llama-3-8b-instruct-awq\",\n \"@cf/meta/llama-3.1-8b-instruct\",\n \"@cf/meta/llama-3.1-8b-instruct-awq\",\n \"@cf/meta/llama-3.1-8b-instruct-fp8\",\n \"@cf/meta/llama-3.2-11b-vision-instruct\",\n \"@cf/meta/llama-3.2-1b-instruct\",\n \"@cf/meta/llama-3.2-3b-instruct\",\n \"@cf/meta/llama-3.3-70b-instruct-fp8-fast\",\n \"@cf/meta/llama-4-scout-17b-16e-instruct\",\n \"@cf/meta/llama-guard-3-8b\",\n \"@cf/meta/m2m100-1.2b\",\n \"@cf/mistral/mistral-7b-instruct-v0.1\",\n \"@cf/mistralai/mistral-small-3.1-24b-instruct\",\n \"@cf/myshell-ai/melotts\",\n \"@cf/openai/gpt-oss-120b\",\n \"@cf/openai/gpt-oss-20b\",\n \"@cf/pfnet/plamo-embedding-1b\",\n \"@cf/pipecat-ai/smart-turn-v2\",\n \"@cf/qwen/qwen2.5-coder-32b-instruct\",\n \"@cf/qwen/qwen3-30b-a3b-fp8\",\n \"@cf/qwen/qwen3-embedding-0.6b\",\n \"@cf/qwen/qwq-32b\"\n ],\n \"docUrl\": \"https://developers.cloudflare.com/workers-ai/models/\",\n \"gateway\": \"models.dev\"\n },\n \"groq\": {\n \"url\": \"https://api.groq.com/openai/v1\",\n \"apiKeyEnvVar\": \"GROQ_API_KEY\",\n \"name\": \"Groq\",\n \"models\": [\n \"llama-3.1-8b-instant\",\n \"llama-3.3-70b-versatile\",\n \"meta-llama/llama-4-maverick-17b-128e-instruct\",\n \"meta-llama/llama-4-scout-17b-16e-instruct\",\n \"meta-llama/llama-guard-4-12b\",\n \"moonshotai/kimi-k2-instruct-0905\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"qwen/qwen3-32b\"\n ],\n \"docUrl\": \"https://console.groq.com/docs/models\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/groq\"\n },\n \"wandb\": {\n \"url\": \"https://api.inference.wandb.ai/v1\",\n \"apiKeyEnvVar\": \"WANDB_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Weights & Biases\",\n \"models\": [\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n \"deepseek-ai/DeepSeek-R1-0528\",\n \"deepseek-ai/DeepSeek-V3-0324\",\n \"meta-llama/Llama-3.1-8B-Instruct\",\n \"meta-llama/Llama-3.3-70B-Instruct\",\n \"meta-llama/Llama-4-Scout-17B-16E-Instruct\",\n \"microsoft/Phi-4-mini-instruct\",\n \"moonshotai/Kimi-K2-Instruct\"\n ],\n \"docUrl\": \"https://weave-docs.wandb.ai/guides/integrations/inference/\",\n \"gateway\": \"models.dev\"\n },\n \"aihubmix\": {\n \"url\": \"https://aihubmix.com/v1\",\n \"apiKeyEnvVar\": \"AIHUBMIX_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"AIHubMix\",\n \"models\": [\n \"Kimi-K2-0905\",\n \"claude-haiku-4-5\",\n \"claude-opus-4-1\",\n \"claude-opus-4-5\",\n \"claude-opus-4-6\",\n \"claude-opus-4-6-think\",\n \"claude-sonnet-4-5\",\n \"claude-sonnet-4-6\",\n \"claude-sonnet-4-6-think\",\n \"coding-glm-4.7\",\n \"coding-glm-4.7-free\",\n \"coding-minimax-m2.1-free\",\n \"deepseek-v3.2\",\n \"deepseek-v3.2-fast\",\n \"deepseek-v3.2-think\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-pro\",\n \"gemini-3-pro-preview\",\n \"gemini-3-pro-preview-search\",\n \"glm-4.6v\",\n \"glm-4.7\",\n \"gpt-4.1\",\n \"gpt-4.1-mini\",\n \"gpt-4.1-nano\",\n \"gpt-4o\",\n \"gpt-5\",\n \"gpt-5-codex\",\n \"gpt-5-mini\",\n \"gpt-5-nano\",\n \"gpt-5-pro\",\n \"gpt-5.1\",\n \"gpt-5.1-codex\",\n \"gpt-5.1-codex-max\",\n \"gpt-5.1-codex-mini\",\n \"gpt-5.2\",\n \"gpt-5.2-codex\",\n \"kimi-k2.5\",\n \"minimax-m2.1\",\n \"o4-mini\",\n \"qwen3-235b-a22b-instruct-2507\",\n \"qwen3-235b-a22b-thinking-2507\",\n \"qwen3-coder-480b-a35b-instruct\",\n \"qwen3-max-2026-01-23\"\n ],\n \"docUrl\": \"https://docs.aihubmix.com\",\n \"gateway\": \"models.dev\"\n },\n \"minimax-coding-plan\": {\n \"url\": \"https://api.minimax.io/anthropic/v1\",\n \"apiKeyEnvVar\": \"MINIMAX_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"MiniMax Coding Plan (minimax.io)\",\n \"models\": [\"MiniMax-M2\", \"MiniMax-M2.1\", \"MiniMax-M2.5\", \"MiniMax-M2.5-highspeed\"],\n \"docUrl\": \"https://platform.minimax.io/docs/coding-plan/intro\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/anthropic\"\n },\n \"kimi-for-coding\": {\n \"url\": \"https://api.kimi.com/coding/v1\",\n \"apiKeyEnvVar\": \"KIMI_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Kimi For Coding\",\n \"models\": [\"k2p5\", \"kimi-k2-thinking\"],\n \"docUrl\": \"https://www.kimi.com/coding/docs/en/third-party-agents.html\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/anthropic\"\n },\n \"mistral\": {\n \"url\": \"https://api.mistral.ai/v1\",\n \"apiKeyEnvVar\": \"MISTRAL_API_KEY\",\n \"name\": \"Mistral\",\n \"models\": [\n \"codestral-latest\",\n \"devstral-2512\",\n \"devstral-medium-2507\",\n \"devstral-medium-latest\",\n \"devstral-small-2505\",\n \"devstral-small-2507\",\n \"labs-devstral-small-2512\",\n \"magistral-medium-latest\",\n \"magistral-small\",\n \"ministral-3b-latest\",\n \"ministral-8b-latest\",\n \"mistral-embed\",\n \"mistral-large-2411\",\n \"mistral-large-2512\",\n \"mistral-large-latest\",\n \"mistral-medium-2505\",\n \"mistral-medium-2508\",\n \"mistral-medium-latest\",\n \"mistral-nemo\",\n \"mistral-small-2506\",\n \"mistral-small-latest\",\n \"open-mistral-7b\",\n \"open-mixtral-8x22b\",\n \"open-mixtral-8x7b\",\n \"pixtral-12b\",\n \"pixtral-large-latest\"\n ],\n \"docUrl\": \"https://docs.mistral.ai/getting-started/models/\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/mistral\"\n },\n \"abacus\": {\n \"url\": \"https://routellm.abacus.ai/v1\",\n \"apiKeyEnvVar\": \"ABACUS_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Abacus\",\n \"models\": [\n \"Qwen/QwQ-32B\",\n \"Qwen/Qwen2.5-72B-Instruct\",\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"Qwen/Qwen3-32B\",\n \"Qwen/qwen3-coder-480b-a35b-instruct\",\n \"claude-3-7-sonnet-20250219\",\n \"claude-haiku-4-5-20251001\",\n \"claude-opus-4-1-20250805\",\n \"claude-opus-4-20250514\",\n \"claude-opus-4-5-20251101\",\n \"claude-sonnet-4-20250514\",\n \"claude-sonnet-4-5-20250929\",\n \"deepseek-ai/DeepSeek-R1\",\n \"deepseek-ai/DeepSeek-V3.1-Terminus\",\n \"deepseek-ai/DeepSeek-V3.2\",\n \"deepseek/deepseek-v3.1\",\n \"gemini-2.0-flash-001\",\n \"gemini-2.0-pro-exp-02-05\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-pro\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-preview\",\n \"gpt-4.1\",\n \"gpt-4.1-mini\",\n \"gpt-4.1-nano\",\n \"gpt-4o-2024-11-20\",\n \"gpt-4o-mini\",\n \"gpt-5\",\n \"gpt-5-mini\",\n \"gpt-5-nano\",\n \"gpt-5.1\",\n \"gpt-5.1-chat-latest\",\n \"gpt-5.2\",\n \"gpt-5.2-chat-latest\",\n \"grok-4-0709\",\n \"grok-4-1-fast-non-reasoning\",\n \"grok-4-fast-non-reasoning\",\n \"grok-code-fast-1\",\n \"kimi-k2-turbo-preview\",\n \"llama-3.3-70b-versatile\",\n \"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8\",\n \"meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo\",\n \"meta-llama/Meta-Llama-3.1-70B-Instruct\",\n \"meta-llama/Meta-Llama-3.1-8B-Instruct\",\n \"o3\",\n \"o3-mini\",\n \"o3-pro\",\n \"o4-mini\",\n \"openai/gpt-oss-120b\",\n \"qwen-2.5-coder-32b\",\n \"qwen3-max\",\n \"route-llm\",\n \"zai-org/glm-4.5\",\n \"zai-org/glm-4.6\",\n \"zai-org/glm-4.7\"\n ],\n \"docUrl\": \"https://abacus.ai/help/api\",\n \"gateway\": \"models.dev\"\n },\n \"fireworks-ai\": {\n \"url\": \"https://api.fireworks.ai/inference/v1/\",\n \"apiKeyEnvVar\": \"FIREWORKS_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Fireworks AI\",\n \"models\": [\n \"accounts/fireworks/models/deepseek-v3p1\",\n \"accounts/fireworks/models/deepseek-v3p2\",\n \"accounts/fireworks/models/glm-4p5\",\n \"accounts/fireworks/models/glm-4p5-air\",\n \"accounts/fireworks/models/glm-4p7\",\n \"accounts/fireworks/models/glm-5\",\n \"accounts/fireworks/models/gpt-oss-120b\",\n \"accounts/fireworks/models/gpt-oss-20b\",\n \"accounts/fireworks/models/kimi-k2-instruct\",\n \"accounts/fireworks/models/kimi-k2-thinking\",\n \"accounts/fireworks/models/kimi-k2p5\",\n \"accounts/fireworks/models/minimax-m2p1\",\n \"accounts/fireworks/models/minimax-m2p5\"\n ],\n \"docUrl\": \"https://fireworks.ai/docs/\",\n \"gateway\": \"models.dev\"\n },\n \"stepfun\": {\n \"url\": \"https://api.stepfun.com/v1\",\n \"apiKeyEnvVar\": \"STEPFUN_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"StepFun\",\n \"models\": [\"step-1-32k\", \"step-2-16k\", \"step-3.5-flash\"],\n \"docUrl\": \"https://platform.stepfun.com/docs/zh/overview/concept\",\n \"gateway\": \"models.dev\"\n },\n \"siliconflow\": {\n \"url\": \"https://api.siliconflow.com/v1\",\n \"apiKeyEnvVar\": \"SILICONFLOW_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"SiliconFlow\",\n \"models\": [\n \"ByteDance-Seed/Seed-OSS-36B-Instruct\",\n \"MiniMaxAI/MiniMax-M2.1\",\n \"Qwen/QwQ-32B\",\n \"Qwen/Qwen2.5-14B-Instruct\",\n \"Qwen/Qwen2.5-32B-Instruct\",\n \"Qwen/Qwen2.5-72B-Instruct\",\n \"Qwen/Qwen2.5-72B-Instruct-128K\",\n \"Qwen/Qwen2.5-7B-Instruct\",\n \"Qwen/Qwen2.5-Coder-32B-Instruct\",\n \"Qwen/Qwen2.5-VL-32B-Instruct\",\n \"Qwen/Qwen2.5-VL-72B-Instruct\",\n \"Qwen/Qwen2.5-VL-7B-Instruct\",\n \"Qwen/Qwen3-14B\",\n \"Qwen/Qwen3-235B-A22B\",\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-30B-A3B-Instruct-2507\",\n \"Qwen/Qwen3-30B-A3B-Thinking-2507\",\n \"Qwen/Qwen3-32B\",\n \"Qwen/Qwen3-8B\",\n \"Qwen/Qwen3-Coder-30B-A3B-Instruct\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n \"Qwen/Qwen3-Next-80B-A3B-Thinking\",\n \"Qwen/Qwen3-Omni-30B-A3B-Captioner\",\n \"Qwen/Qwen3-Omni-30B-A3B-Instruct\",\n \"Qwen/Qwen3-Omni-30B-A3B-Thinking\",\n \"Qwen/Qwen3-VL-235B-A22B-Instruct\",\n \"Qwen/Qwen3-VL-235B-A22B-Thinking\",\n \"Qwen/Qwen3-VL-30B-A3B-Instruct\",\n \"Qwen/Qwen3-VL-30B-A3B-Thinking\",\n \"Qwen/Qwen3-VL-32B-Instruct\",\n \"Qwen/Qwen3-VL-32B-Thinking\",\n \"Qwen/Qwen3-VL-8B-Instruct\",\n \"Qwen/Qwen3-VL-8B-Thinking\",\n \"THUDM/GLM-4-32B-0414\",\n \"THUDM/GLM-4-9B-0414\",\n \"THUDM/GLM-Z1-32B-0414\",\n \"THUDM/GLM-Z1-9B-0414\",\n \"baidu/ERNIE-4.5-300B-A47B\",\n \"deepseek-ai/DeepSeek-R1\",\n \"deepseek-ai/DeepSeek-R1-Distill-Qwen-14B\",\n \"deepseek-ai/DeepSeek-R1-Distill-Qwen-32B\",\n \"deepseek-ai/DeepSeek-V3\",\n \"deepseek-ai/DeepSeek-V3.1\",\n \"deepseek-ai/DeepSeek-V3.1-Terminus\",\n \"deepseek-ai/DeepSeek-V3.2\",\n \"deepseek-ai/DeepSeek-V3.2-Exp\",\n \"deepseek-ai/deepseek-vl2\",\n \"inclusionAI/Ling-flash-2.0\",\n \"inclusionAI/Ling-mini-2.0\",\n \"inclusionAI/Ring-flash-2.0\",\n \"meta-llama/Meta-Llama-3.1-8B-Instruct\",\n \"moonshotai/Kimi-K2-Instruct\",\n \"moonshotai/Kimi-K2-Instruct-0905\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"moonshotai/Kimi-K2.5\",\n \"nex-agi/DeepSeek-V3.1-Nex-N1\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"stepfun-ai/Step-3.5-Flash\",\n \"tencent/Hunyuan-A13B-Instruct\",\n \"tencent/Hunyuan-MT-7B\",\n \"zai-org/GLM-4.5\",\n \"zai-org/GLM-4.5-Air\",\n \"zai-org/GLM-4.5V\",\n \"zai-org/GLM-4.6\",\n \"zai-org/GLM-4.6V\",\n \"zai-org/GLM-4.7\",\n \"zai-org/GLM-5\"\n ],\n \"docUrl\": \"https://cloud.siliconflow.com/models\",\n \"gateway\": \"models.dev\"\n },\n \"togetherai\": {\n \"apiKeyEnvVar\": \"TOGETHER_API_KEY\",\n \"name\": \"Together AI\",\n \"models\": [\n \"MiniMaxAI/MiniMax-M2.5\",\n \"Qwen/Qwen3-235B-A22B-Instruct-2507-tput\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8\",\n \"Qwen/Qwen3-Coder-Next-FP8\",\n \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n \"Qwen/Qwen3.5-397B-A17B\",\n \"deepseek-ai/DeepSeek-R1\",\n \"deepseek-ai/DeepSeek-V3\",\n \"deepseek-ai/DeepSeek-V3-1\",\n \"essentialai/Rnj-1-Instruct\",\n \"meta-llama/Llama-3.3-70B-Instruct-Turbo\",\n \"moonshotai/Kimi-K2-Instruct\",\n \"moonshotai/Kimi-K2-Instruct-0905\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"moonshotai/Kimi-K2.5\",\n \"openai/gpt-oss-120b\",\n \"zai-org/GLM-4.6\",\n \"zai-org/GLM-4.7\",\n \"zai-org/GLM-5\"\n ],\n \"docUrl\": \"https://docs.together.ai/docs/serverless-models\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/togetherai\"\n },\n \"berget\": {\n \"url\": \"https://api.berget.ai/v1\",\n \"apiKeyEnvVar\": \"BERGET_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Berget.AI\",\n \"models\": [\n \"BAAI/bge-reranker-v2-m3\",\n \"KBLab/kb-whisper-large\",\n \"intfloat/multilingual-e5-large\",\n \"intfloat/multilingual-e5-large-instruct\",\n \"meta-llama/Llama-3.3-70B-Instruct\",\n \"mistralai/Mistral-Small-3.2-24B-Instruct-2506\",\n \"openai/gpt-oss-120b\",\n \"zai-org/GLM-4.7\"\n ],\n \"docUrl\": \"https://api.berget.ai\",\n \"gateway\": \"models.dev\"\n },\n \"lucidquery\": {\n \"url\": \"https://lucidquery.com/api/v1\",\n \"apiKeyEnvVar\": \"LUCIDQUERY_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"LucidQuery AI\",\n \"models\": [\"lucidnova-rf1-100b\", \"lucidquery-nexus-coder\"],\n \"docUrl\": \"https://lucidquery.com/api/docs\",\n \"gateway\": \"models.dev\"\n },\n \"zhipuai-coding-plan\": {\n \"url\": \"https://open.bigmodel.cn/api/coding/paas/v4\",\n \"apiKeyEnvVar\": \"ZHIPU_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Zhipu AI Coding Plan\",\n \"models\": [\n \"glm-4.5\",\n \"glm-4.5-air\",\n \"glm-4.5-flash\",\n \"glm-4.5v\",\n \"glm-4.6\",\n \"glm-4.6v\",\n \"glm-4.6v-flash\",\n \"glm-4.7\",\n \"glm-5\"\n ],\n \"docUrl\": \"https://docs.bigmodel.cn/cn/coding-plan/overview\",\n \"gateway\": \"models.dev\"\n },\n \"deepseek\": {\n \"url\": \"https://api.deepseek.com\",\n \"apiKeyEnvVar\": \"DEEPSEEK_API_KEY\",\n \"name\": \"DeepSeek\",\n \"models\": [\"deepseek-chat\", \"deepseek-reasoner\"],\n \"docUrl\": \"https://platform.deepseek.com/api-docs/pricing\",\n \"gateway\": \"models.dev\"\n },\n \"lmstudio\": {\n \"url\": \"http://127.0.0.1:1234/v1\",\n \"apiKeyEnvVar\": \"LMSTUDIO_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"LMStudio\",\n \"models\": [\"openai/gpt-oss-20b\", \"qwen/qwen3-30b-a3b-2507\", \"qwen/qwen3-coder-30b\"],\n \"docUrl\": \"https://lmstudio.ai/models\",\n \"gateway\": \"models.dev\"\n },\n \"openrouter\": {\n \"url\": \"https://openrouter.ai/api/v1\",\n \"apiKeyEnvVar\": \"OPENROUTER_API_KEY\",\n \"name\": \"OpenRouter\",\n \"models\": [\n \"allenai/molmo-2-8b:free\",\n \"anthropic/claude-3.5-haiku\",\n \"anthropic/claude-3.7-sonnet\",\n \"anthropic/claude-haiku-4.5\",\n \"anthropic/claude-opus-4\",\n \"anthropic/claude-opus-4.1\",\n \"anthropic/claude-opus-4.5\",\n \"anthropic/claude-opus-4.6\",\n \"anthropic/claude-sonnet-4\",\n \"anthropic/claude-sonnet-4.5\",\n \"anthropic/claude-sonnet-4.6\",\n \"arcee-ai/trinity-large-preview:free\",\n \"arcee-ai/trinity-mini:free\",\n \"black-forest-labs/flux.2-flex\",\n \"black-forest-labs/flux.2-klein-4b\",\n \"black-forest-labs/flux.2-max\",\n \"black-forest-labs/flux.2-pro\",\n \"bytedance-seed/seedream-4.5\",\n \"cognitivecomputations/dolphin-mistral-24b-venice-edition:free\",\n \"cognitivecomputations/dolphin3.0-mistral-24b\",\n \"cognitivecomputations/dolphin3.0-r1-mistral-24b\",\n \"deepseek/deepseek-chat-v3-0324\",\n \"deepseek/deepseek-chat-v3.1\",\n \"deepseek/deepseek-r1-0528-qwen3-8b:free\",\n \"deepseek/deepseek-r1-0528:free\",\n \"deepseek/deepseek-r1-distill-llama-70b\",\n \"deepseek/deepseek-r1-distill-qwen-14b\",\n \"deepseek/deepseek-r1:free\",\n \"deepseek/deepseek-v3-base:free\",\n \"deepseek/deepseek-v3.1-terminus\",\n \"deepseek/deepseek-v3.1-terminus:exacto\",\n \"deepseek/deepseek-v3.2\",\n \"deepseek/deepseek-v3.2-speciale\",\n \"featherless/qwerky-72b\",\n \"google/gemini-2.0-flash-001\",\n \"google/gemini-2.0-flash-exp:free\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-flash-lite\",\n \"google/gemini-2.5-flash-lite-preview-09-2025\",\n \"google/gemini-2.5-flash-preview-09-2025\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-2.5-pro-preview-05-06\",\n \"google/gemini-2.5-pro-preview-06-05\",\n \"google/gemini-3-flash-preview\",\n \"google/gemini-3-pro-preview\",\n \"google/gemini-3.1-pro-preview\",\n \"google/gemini-3.1-pro-preview-customtools\",\n \"google/gemma-2-9b-it\",\n \"google/gemma-3-12b-it\",\n \"google/gemma-3-12b-it:free\",\n \"google/gemma-3-27b-it\",\n \"google/gemma-3-27b-it:free\",\n \"google/gemma-3-4b-it\",\n \"google/gemma-3-4b-it:free\",\n \"google/gemma-3n-e2b-it:free\",\n \"google/gemma-3n-e4b-it\",\n \"google/gemma-3n-e4b-it:free\",\n \"kwaipilot/kat-coder-pro:free\",\n \"liquid/lfm-2.5-1.2b-instruct:free\",\n \"liquid/lfm-2.5-1.2b-thinking:free\",\n \"meta-llama/llama-3.1-405b-instruct:free\",\n \"meta-llama/llama-3.2-11b-vision-instruct\",\n \"meta-llama/llama-3.2-3b-instruct:free\",\n \"meta-llama/llama-3.3-70b-instruct:free\",\n \"meta-llama/llama-4-scout:free\",\n \"microsoft/mai-ds-r1:free\",\n \"minimax/minimax-01\",\n \"minimax/minimax-m1\",\n \"minimax/minimax-m2\",\n \"minimax/minimax-m2.1\",\n \"minimax/minimax-m2.5\",\n \"mistralai/codestral-2508\",\n \"mistralai/devstral-2512\",\n \"mistralai/devstral-2512:free\",\n \"mistralai/devstral-medium-2507\",\n \"mistralai/devstral-small-2505\",\n \"mistralai/devstral-small-2505:free\",\n \"mistralai/devstral-small-2507\",\n \"mistralai/mistral-7b-instruct:free\",\n \"mistralai/mistral-medium-3\",\n \"mistralai/mistral-medium-3.1\",\n \"mistralai/mistral-nemo:free\",\n \"mistralai/mistral-small-3.1-24b-instruct\",\n \"mistralai/mistral-small-3.2-24b-instruct\",\n \"mistralai/mistral-small-3.2-24b-instruct:free\",\n \"moonshotai/kimi-dev-72b:free\",\n \"moonshotai/kimi-k2\",\n \"moonshotai/kimi-k2-0905\",\n \"moonshotai/kimi-k2-0905:exacto\",\n \"moonshotai/kimi-k2-thinking\",\n \"moonshotai/kimi-k2.5\",\n \"moonshotai/kimi-k2:free\",\n \"nousresearch/deephermes-3-llama-3-8b-preview\",\n \"nousresearch/hermes-3-llama-3.1-405b:free\",\n \"nousresearch/hermes-4-405b\",\n \"nousresearch/hermes-4-70b\",\n \"nvidia/nemotron-3-nano-30b-a3b:free\",\n \"nvidia/nemotron-nano-12b-v2-vl:free\",\n \"nvidia/nemotron-nano-9b-v2\",\n \"nvidia/nemotron-nano-9b-v2:free\",\n \"openai/gpt-4.1\",\n \"openai/gpt-4.1-mini\",\n \"openai/gpt-4o-mini\",\n \"openai/gpt-5\",\n \"openai/gpt-5-chat\",\n \"openai/gpt-5-codex\",\n \"openai/gpt-5-image\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5-nano\",\n \"openai/gpt-5-pro\",\n \"openai/gpt-5.1\",\n \"openai/gpt-5.1-chat\",\n \"openai/gpt-5.1-codex\",\n \"openai/gpt-5.1-codex-max\",\n \"openai/gpt-5.1-codex-mini\",\n \"openai/gpt-5.2\",\n \"openai/gpt-5.2-chat\",\n \"openai/gpt-5.2-codex\",\n \"openai/gpt-5.2-pro\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-120b:exacto\",\n \"openai/gpt-oss-120b:free\",\n \"openai/gpt-oss-20b\",\n \"openai/gpt-oss-20b:free\",\n \"openai/gpt-oss-safeguard-20b\",\n \"openai/o4-mini\",\n \"openrouter/aurora-alpha\",\n \"openrouter/sherlock-dash-alpha\",\n \"openrouter/sherlock-think-alpha\",\n \"prime-intellect/intellect-3\",\n \"qwen/qwen-2.5-coder-32b-instruct\",\n \"qwen/qwen-2.5-vl-7b-instruct:free\",\n \"qwen/qwen2.5-vl-32b-instruct:free\",\n \"qwen/qwen2.5-vl-72b-instruct\",\n \"qwen/qwen2.5-vl-72b-instruct:free\",\n \"qwen/qwen3-14b:free\",\n \"qwen/qwen3-235b-a22b-07-25\",\n \"qwen/qwen3-235b-a22b-07-25:free\",\n \"qwen/qwen3-235b-a22b-thinking-2507\",\n \"qwen/qwen3-235b-a22b:free\",\n \"qwen/qwen3-30b-a3b-instruct-2507\",\n \"qwen/qwen3-30b-a3b-thinking-2507\",\n \"qwen/qwen3-30b-a3b:free\",\n \"qwen/qwen3-32b:free\",\n \"qwen/qwen3-4b:free\",\n \"qwen/qwen3-8b:free\",\n \"qwen/qwen3-coder\",\n \"qwen/qwen3-coder-30b-a3b-instruct\",\n \"qwen/qwen3-coder-flash\",\n \"qwen/qwen3-coder:exacto\",\n \"qwen/qwen3-coder:free\",\n \"qwen/qwen3-max\",\n \"qwen/qwen3-next-80b-a3b-instruct\",\n \"qwen/qwen3-next-80b-a3b-instruct:free\",\n \"qwen/qwen3-next-80b-a3b-thinking\",\n \"qwen/qwen3.5-397b-a17b\",\n \"qwen/qwen3.5-plus-02-15\",\n \"qwen/qwq-32b:free\",\n \"rekaai/reka-flash-3\",\n \"sarvamai/sarvam-m:free\",\n \"sourceful/riverflow-v2-fast-preview\",\n \"sourceful/riverflow-v2-max-preview\",\n \"sourceful/riverflow-v2-standard-preview\",\n \"stepfun/step-3.5-flash\",\n \"stepfun/step-3.5-flash:free\",\n \"thudm/glm-z1-32b:free\",\n \"tngtech/deepseek-r1t2-chimera:free\",\n \"tngtech/tng-r1t-chimera:free\",\n \"x-ai/grok-3\",\n \"x-ai/grok-3-beta\",\n \"x-ai/grok-3-mini\",\n \"x-ai/grok-3-mini-beta\",\n \"x-ai/grok-4\",\n \"x-ai/grok-4-fast\",\n \"x-ai/grok-4.1-fast\",\n \"x-ai/grok-code-fast-1\",\n \"xiaomi/mimo-v2-flash\",\n \"z-ai/glm-4.5\",\n \"z-ai/glm-4.5-air\",\n \"z-ai/glm-4.5-air:free\",\n \"z-ai/glm-4.5v\",\n \"z-ai/glm-4.6\",\n \"z-ai/glm-4.6:exacto\",\n \"z-ai/glm-4.7\",\n \"z-ai/glm-4.7-flash\",\n \"z-ai/glm-5\"\n ],\n \"docUrl\": \"https://openrouter.ai/models\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@openrouter/ai-sdk-provider\"\n },\n \"github-models\": {\n \"url\": \"https://models.github.ai/inference\",\n \"apiKeyEnvVar\": \"GITHUB_TOKEN\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"GitHub Models\",\n \"models\": [\n \"ai21-labs/ai21-jamba-1.5-large\",\n \"ai21-labs/ai21-jamba-1.5-mini\",\n \"cohere/cohere-command-a\",\n \"cohere/cohere-command-r\",\n \"cohere/cohere-command-r-08-2024\",\n \"cohere/cohere-command-r-plus\",\n \"cohere/cohere-command-r-plus-08-2024\",\n \"core42/jais-30b-chat\",\n \"deepseek/deepseek-r1\",\n \"deepseek/deepseek-r1-0528\",\n \"deepseek/deepseek-v3-0324\",\n \"meta/llama-3.2-11b-vision-instruct\",\n \"meta/llama-3.2-90b-vision-instruct\",\n \"meta/llama-3.3-70b-instruct\",\n \"meta/llama-4-maverick-17b-128e-instruct-fp8\",\n \"meta/llama-4-scout-17b-16e-instruct\",\n \"meta/meta-llama-3-70b-instruct\",\n \"meta/meta-llama-3-8b-instruct\",\n \"meta/meta-llama-3.1-405b-instruct\",\n \"meta/meta-llama-3.1-70b-instruct\",\n \"meta/meta-llama-3.1-8b-instruct\",\n \"microsoft/mai-ds-r1\",\n \"microsoft/phi-3-medium-128k-instruct\",\n \"microsoft/phi-3-medium-4k-instruct\",\n \"microsoft/phi-3-mini-128k-instruct\",\n \"microsoft/phi-3-mini-4k-instruct\",\n \"microsoft/phi-3-small-128k-instruct\",\n \"microsoft/phi-3-small-8k-instruct\",\n \"microsoft/phi-3.5-mini-instruct\",\n \"microsoft/phi-3.5-moe-instruct\",\n \"microsoft/phi-3.5-vision-instruct\",\n \"microsoft/phi-4\",\n \"microsoft/phi-4-mini-instruct\",\n \"microsoft/phi-4-mini-reasoning\",\n \"microsoft/phi-4-multimodal-instruct\",\n \"microsoft/phi-4-reasoning\",\n \"mistral-ai/codestral-2501\",\n \"mistral-ai/ministral-3b\",\n \"mistral-ai/mistral-large-2411\",\n \"mistral-ai/mistral-medium-2505\",\n \"mistral-ai/mistral-nemo\",\n \"mistral-ai/mistral-small-2503\",\n \"openai/gpt-4.1\",\n \"openai/gpt-4.1-mini\",\n \"openai/gpt-4.1-nano\",\n \"openai/gpt-4o\",\n \"openai/gpt-4o-mini\",\n \"openai/o1\",\n \"openai/o1-mini\",\n \"openai/o1-preview\",\n \"openai/o3\",\n \"openai/o3-mini\",\n \"openai/o4-mini\",\n \"xai/grok-3\",\n \"xai/grok-3-mini\"\n ],\n \"docUrl\": \"https://docs.github.com/en/github-models\",\n \"gateway\": \"models.dev\"\n },\n \"302ai\": {\n \"url\": \"https://api.302.ai/v1\",\n \"apiKeyEnvVar\": \"302AI_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"302.AI\",\n \"models\": [\n \"MiniMax-M1\",\n \"MiniMax-M2\",\n \"MiniMax-M2.1\",\n \"chatgpt-4o-latest\",\n \"claude-haiku-4-5-20251001\",\n \"claude-opus-4-1-20250805\",\n \"claude-opus-4-1-20250805-thinking\",\n \"claude-opus-4-5-20251101\",\n \"claude-opus-4-5-20251101-thinking\",\n \"claude-sonnet-4-5-20250929\",\n \"claude-sonnet-4-5-20250929-thinking\",\n \"deepseek-chat\",\n \"deepseek-reasoner\",\n \"deepseek-v3.2\",\n \"deepseek-v3.2-thinking\",\n \"doubao-seed-1-6-thinking-250715\",\n \"doubao-seed-1-6-vision-250815\",\n \"doubao-seed-1-8-251215\",\n \"doubao-seed-code-preview-251028\",\n \"gemini-2.0-flash-lite\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-flash-image\",\n \"gemini-2.5-flash-lite-preview-09-2025\",\n \"gemini-2.5-flash-nothink\",\n \"gemini-2.5-flash-preview-09-2025\",\n \"gemini-2.5-pro\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-image-preview\",\n \"gemini-3-pro-preview\",\n \"glm-4.5\",\n \"glm-4.5v\",\n \"glm-4.6\",\n \"glm-4.6v\",\n \"glm-4.7\",\n \"gpt-4.1\",\n \"gpt-4.1-mini\",\n \"gpt-4.1-nano\",\n \"gpt-4o\",\n \"gpt-5\",\n \"gpt-5-mini\",\n \"gpt-5-pro\",\n \"gpt-5-thinking\",\n \"gpt-5.1\",\n \"gpt-5.1-chat-latest\",\n \"gpt-5.2\",\n \"gpt-5.2-chat-latest\",\n \"grok-4-1-fast-non-reasoning\",\n \"grok-4-1-fast-reasoning\",\n \"grok-4-fast-non-reasoning\",\n \"grok-4-fast-reasoning\",\n \"grok-4.1\",\n \"kimi-k2-0905-preview\",\n \"kimi-k2-thinking\",\n \"kimi-k2-thinking-turbo\",\n \"ministral-14b-2512\",\n \"mistral-large-2512\",\n \"qwen-flash\",\n \"qwen-max-latest\",\n \"qwen-plus\",\n \"qwen3-235b-a22b\",\n \"qwen3-235b-a22b-instruct-2507\",\n \"qwen3-30b-a3b\",\n \"qwen3-coder-480b-a35b-instruct\",\n \"qwen3-max-2025-09-23\"\n ],\n \"docUrl\": \"https://doc.302.ai\",\n \"gateway\": \"models.dev\"\n },\n \"moonshotai\": {\n \"url\": \"https://api.moonshot.ai/anthropic/v1\",\n \"apiKeyEnvVar\": \"MOONSHOT_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Moonshot AI\",\n \"models\": [\n \"kimi-k2-0711-preview\",\n \"kimi-k2-0905-preview\",\n \"kimi-k2-thinking\",\n \"kimi-k2-thinking-turbo\",\n \"kimi-k2-turbo-preview\",\n \"kimi-k2.5\"\n ],\n \"docUrl\": \"https://platform.moonshot.ai/docs/api/chat\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/anthropic\"\n },\n \"privatemode-ai\": {\n \"url\": \"http://localhost:8080/v1\",\n \"apiKeyEnvVar\": \"PRIVATEMODE_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Privatemode AI\",\n \"models\": [\"gemma-3-27b\", \"gpt-oss-120b\", \"qwen3-coder-30b-a3b\", \"qwen3-embedding-4b\", \"whisper-large-v3\"],\n \"docUrl\": \"https://docs.privatemode.ai/api/overview\",\n \"gateway\": \"models.dev\"\n },\n \"google\": {\n \"apiKeyEnvVar\": \"GOOGLE_GENERATIVE_AI_API_KEY\",\n \"name\": \"Google\",\n \"models\": [\n \"gemini-1.5-flash\",\n \"gemini-1.5-flash-8b\",\n \"gemini-1.5-pro\",\n \"gemini-2.0-flash\",\n \"gemini-2.0-flash-lite\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-flash-image\",\n \"gemini-2.5-flash-image-preview\",\n \"gemini-2.5-flash-lite\",\n \"gemini-2.5-flash-lite-preview-06-17\",\n \"gemini-2.5-flash-lite-preview-09-2025\",\n \"gemini-2.5-flash-preview-04-17\",\n \"gemini-2.5-flash-preview-05-20\",\n \"gemini-2.5-flash-preview-09-2025\",\n \"gemini-2.5-flash-preview-tts\",\n \"gemini-2.5-pro\",\n \"gemini-2.5-pro-preview-05-06\",\n \"gemini-2.5-pro-preview-06-05\",\n \"gemini-2.5-pro-preview-tts\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-preview\",\n \"gemini-3.1-pro-preview\",\n \"gemini-3.1-pro-preview-customtools\",\n \"gemini-embedding-001\",\n \"gemini-flash-latest\",\n \"gemini-flash-lite-latest\",\n \"gemini-live-2.5-flash\",\n \"gemini-live-2.5-flash-preview-native-audio\"\n ],\n \"docUrl\": \"https://ai.google.dev/gemini-api/docs/pricing\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/google\"\n },\n \"vivgrid\": {\n \"url\": \"https://api.vivgrid.com/v1\",\n \"apiKeyEnvVar\": \"VIVGRID_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Vivgrid\",\n \"models\": [\n \"deepseek-v3.2\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-preview\",\n \"glm-5\",\n \"gpt-5-mini\",\n \"gpt-5.1-codex\",\n \"gpt-5.1-codex-max\",\n \"gpt-5.2-codex\"\n ],\n \"docUrl\": \"https://docs.vivgrid.com/models\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/openai\"\n },\n \"moonshotai-cn\": {\n \"url\": \"https://api.moonshot.cn/anthropic/v1\",\n \"apiKeyEnvVar\": \"MOONSHOT_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Moonshot AI (China)\",\n \"models\": [\n \"kimi-k2-0711-preview\",\n \"kimi-k2-0905-preview\",\n \"kimi-k2-thinking\",\n \"kimi-k2-thinking-turbo\",\n \"kimi-k2-turbo-preview\",\n \"kimi-k2.5\"\n ],\n \"docUrl\": \"https://platform.moonshot.cn/docs/api/chat\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/anthropic\"\n },\n \"zhipuai\": {\n \"url\": \"https://open.bigmodel.cn/api/paas/v4\",\n \"apiKeyEnvVar\": \"ZHIPU_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Zhipu AI\",\n \"models\": [\n \"glm-4.5\",\n \"glm-4.5-air\",\n \"glm-4.5-flash\",\n \"glm-4.5v\",\n \"glm-4.6\",\n \"glm-4.6v\",\n \"glm-4.7\",\n \"glm-4.7-flash\",\n \"glm-5\"\n ],\n \"docUrl\": \"https://docs.z.ai/guides/overview/pricing\",\n \"gateway\": \"models.dev\"\n },\n \"nova\": {\n \"url\": \"https://api.nova.amazon.com/v1\",\n \"apiKeyEnvVar\": \"NOVA_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Nova\",\n \"models\": [\"nova-2-lite-v1\", \"nova-2-pro-v1\"],\n \"docUrl\": \"https://nova.amazon.com/dev/documentation\",\n \"gateway\": \"models.dev\"\n },\n \"zai-coding-plan\": {\n \"url\": \"https://api.z.ai/api/coding/paas/v4\",\n \"apiKeyEnvVar\": \"ZHIPU_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Z.AI Coding Plan\",\n \"models\": [\n \"glm-4.5\",\n \"glm-4.5-air\",\n \"glm-4.5-flash\",\n \"glm-4.5v\",\n \"glm-4.6\",\n \"glm-4.6v\",\n \"glm-4.7\",\n \"glm-4.7-flash\",\n \"glm-4.7-flashx\",\n \"glm-5\"\n ],\n \"docUrl\": \"https://docs.z.ai/devpack/overview\",\n \"gateway\": \"models.dev\"\n },\n \"opencode-go\": {\n \"url\": \"https://opencode.ai/zen/go/v1\",\n \"apiKeyEnvVar\": \"OPENCODE_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"OpenCode Go\",\n \"models\": [\"glm-5\", \"kimi-k2.5\", \"minimax-m2.5\"],\n \"docUrl\": \"https://opencode.ai/docs/zen\",\n \"gateway\": \"models.dev\"\n },\n \"firmware\": {\n \"url\": \"https://app.firmware.ai/api/v1\",\n \"apiKeyEnvVar\": \"FIRMWARE_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Firmware\",\n \"models\": [\n \"claude-haiku-4-5\",\n \"claude-opus-4-5\",\n \"claude-opus-4-6\",\n \"claude-sonnet-4-5\",\n \"claude-sonnet-4-6\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-pro\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-preview\",\n \"gpt-4o\",\n \"gpt-5\",\n \"gpt-5-mini\",\n \"gpt-5-nano\",\n \"gpt-5.2\",\n \"gpt-oss-120b\",\n \"gpt-oss-20b\"\n ],\n \"docUrl\": \"https://docs.firmware.ai\",\n \"gateway\": \"models.dev\"\n },\n \"ovhcloud\": {\n \"url\": \"https://oai.endpoints.kepler.ai.cloud.ovh.net/v1\",\n \"apiKeyEnvVar\": \"OVHCLOUD_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"OVHcloud AI Endpoints\",\n \"models\": [\n \"deepseek-r1-distill-llama-70b\",\n \"gpt-oss-120b\",\n \"gpt-oss-20b\",\n \"llama-3.1-8b-instruct\",\n \"meta-llama-3_3-70b-instruct\",\n \"mistral-7b-instruct-v0.3\",\n \"mistral-nemo-instruct-2407\",\n \"mistral-small-3.2-24b-instruct-2506\",\n \"mixtral-8x7b-instruct-v0.1\",\n \"qwen2.5-coder-32b-instruct\",\n \"qwen2.5-vl-72b-instruct\",\n \"qwen3-32b\",\n \"qwen3-coder-30b-a3b-instruct\"\n ],\n \"docUrl\": \"https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog//\",\n \"gateway\": \"models.dev\"\n },\n \"stackit\": {\n \"url\": \"https://api.openai-compat.model-serving.eu01.onstackit.cloud/v1\",\n \"apiKeyEnvVar\": \"STACKIT_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"STACKIT\",\n \"models\": [\n \"Qwen/Qwen3-VL-235B-A22B-Instruct-FP8\",\n \"Qwen/Qwen3-VL-Embedding-8B\",\n \"cortecs/Llama-3.3-70B-Instruct-FP8-Dynamic\",\n \"google/gemma-3-27b-it\",\n \"intfloat/e5-mistral-7b-instruct\",\n \"neuralmagic/Meta-Llama-3.1-8B-Instruct-FP8\",\n \"neuralmagic/Mistral-Nemo-Instruct-2407-FP8\",\n \"openai/gpt-oss-120b\"\n ],\n \"docUrl\": \"https://docs.stackit.cloud/products/data-and-ai/ai-model-serving/basics/available-shared-models\",\n \"gateway\": \"models.dev\"\n },\n \"cloudferro-sherlock\": {\n \"url\": \"https://api-sherlock.cloudferro.com/openai/v1/\",\n \"apiKeyEnvVar\": \"CLOUDFERRO_SHERLOCK_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"CloudFerro Sherlock\",\n \"models\": [\n \"meta-llama/Llama-3.3-70B-Instruct\",\n \"openai/gpt-oss-120b\",\n \"speakleash/Bielik-11B-v2.6-Instruct\",\n \"speakleash/Bielik-11B-v3.0-Instruct\"\n ],\n \"docUrl\": \"https://docs.sherlock.cloudferro.com/\",\n \"gateway\": \"models.dev\"\n },\n \"requesty\": {\n \"url\": \"https://router.requesty.ai/v1\",\n \"apiKeyEnvVar\": \"REQUESTY_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Requesty\",\n \"models\": [\n \"anthropic/claude-3-7-sonnet\",\n \"anthropic/claude-haiku-4-5\",\n \"anthropic/claude-opus-4\",\n \"anthropic/claude-opus-4-1\",\n \"anthropic/claude-opus-4-5\",\n \"anthropic/claude-sonnet-4\",\n \"anthropic/claude-sonnet-4-5\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-3-flash-preview\",\n \"google/gemini-3-pro-preview\",\n \"openai/gpt-4.1\",\n \"openai/gpt-4.1-mini\",\n \"openai/gpt-4o-mini\",\n \"openai/gpt-5\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5-nano\",\n \"openai/o4-mini\",\n \"xai/grok-4\",\n \"xai/grok-4-fast\"\n ],\n \"docUrl\": \"https://requesty.ai/solution/llm-routing/models\",\n \"gateway\": \"models.dev\"\n },\n \"qihang-ai\": {\n \"url\": \"https://api.qhaigc.net/v1\",\n \"apiKeyEnvVar\": \"QIHANG_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"QiHang\",\n \"models\": [\n \"claude-haiku-4-5-20251001\",\n \"claude-opus-4-5-20251101\",\n \"claude-sonnet-4-5-20250929\",\n \"gemini-2.5-flash\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-preview\",\n \"gpt-5-mini\",\n \"gpt-5.2\",\n \"gpt-5.2-codex\"\n ],\n \"docUrl\": \"https://www.qhaigc.net/docs\",\n \"gateway\": \"models.dev\"\n },\n \"siliconflow-cn\": {\n \"url\": \"https://api.siliconflow.cn/v1\",\n \"apiKeyEnvVar\": \"SILICONFLOW_CN_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"SiliconFlow (China)\",\n \"models\": [\n \"ByteDance-Seed/Seed-OSS-36B-Instruct\",\n \"Kwaipilot/KAT-Dev\",\n \"PaddlePaddle/PaddleOCR-VL\",\n \"PaddlePaddle/PaddleOCR-VL-1.5\",\n \"Pro/MiniMaxAI/MiniMax-M2.1\",\n \"Pro/MiniMaxAI/MiniMax-M2.5\",\n \"Pro/deepseek-ai/DeepSeek-R1\",\n \"Pro/deepseek-ai/DeepSeek-V3\",\n \"Pro/deepseek-ai/DeepSeek-V3.1-Terminus\",\n \"Pro/deepseek-ai/DeepSeek-V3.2\",\n \"Pro/moonshotai/Kimi-K2-Instruct-0905\",\n \"Pro/moonshotai/Kimi-K2-Thinking\",\n \"Pro/moonshotai/Kimi-K2.5\",\n \"Pro/zai-org/GLM-4.7\",\n \"Pro/zai-org/GLM-5\",\n \"Qwen/QwQ-32B\",\n \"Qwen/Qwen2.5-14B-Instruct\",\n \"Qwen/Qwen2.5-32B-Instruct\",\n \"Qwen/Qwen2.5-72B-Instruct\",\n \"Qwen/Qwen2.5-72B-Instruct-128K\",\n \"Qwen/Qwen2.5-7B-Instruct\",\n \"Qwen/Qwen2.5-Coder-32B-Instruct\",\n \"Qwen/Qwen2.5-VL-32B-Instruct\",\n \"Qwen/Qwen2.5-VL-72B-Instruct\",\n \"Qwen/Qwen3-14B\",\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-30B-A3B-Instruct-2507\",\n \"Qwen/Qwen3-30B-A3B-Thinking-2507\",\n \"Qwen/Qwen3-32B\",\n \"Qwen/Qwen3-8B\",\n \"Qwen/Qwen3-Coder-30B-A3B-Instruct\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n \"Qwen/Qwen3-Next-80B-A3B-Thinking\",\n \"Qwen/Qwen3-Omni-30B-A3B-Captioner\",\n \"Qwen/Qwen3-Omni-30B-A3B-Instruct\",\n \"Qwen/Qwen3-Omni-30B-A3B-Thinking\",\n \"Qwen/Qwen3-VL-235B-A22B-Instruct\",\n \"Qwen/Qwen3-VL-235B-A22B-Thinking\",\n \"Qwen/Qwen3-VL-30B-A3B-Instruct\",\n \"Qwen/Qwen3-VL-30B-A3B-Thinking\",\n \"Qwen/Qwen3-VL-32B-Instruct\",\n \"Qwen/Qwen3-VL-32B-Thinking\",\n \"Qwen/Qwen3-VL-8B-Instruct\",\n \"Qwen/Qwen3-VL-8B-Thinking\",\n \"THUDM/GLM-4-32B-0414\",\n \"THUDM/GLM-4-9B-0414\",\n \"THUDM/GLM-Z1-32B-0414\",\n \"THUDM/GLM-Z1-9B-0414\",\n \"ascend-tribe/pangu-pro-moe\",\n \"baidu/ERNIE-4.5-300B-A47B\",\n \"deepseek-ai/DeepSeek-OCR\",\n \"deepseek-ai/DeepSeek-R1\",\n \"deepseek-ai/DeepSeek-R1-Distill-Qwen-14B\",\n \"deepseek-ai/DeepSeek-R1-Distill-Qwen-32B\",\n \"deepseek-ai/DeepSeek-V3\",\n \"deepseek-ai/DeepSeek-V3.1-Terminus\",\n \"deepseek-ai/DeepSeek-V3.2\",\n \"deepseek-ai/deepseek-vl2\",\n \"inclusionAI/Ling-flash-2.0\",\n \"inclusionAI/Ling-mini-2.0\",\n \"inclusionAI/Ring-flash-2.0\",\n \"moonshotai/Kimi-K2-Instruct-0905\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"stepfun-ai/Step-3.5-Flash\",\n \"tencent/Hunyuan-A13B-Instruct\",\n \"tencent/Hunyuan-MT-7B\",\n \"zai-org/GLM-4.5-Air\",\n \"zai-org/GLM-4.5V\",\n \"zai-org/GLM-4.6\",\n \"zai-org/GLM-4.6V\"\n ],\n \"docUrl\": \"https://cloud.siliconflow.com/models\",\n \"gateway\": \"models.dev\"\n },\n \"helicone\": {\n \"url\": \"https://ai-gateway.helicone.ai/v1\",\n \"apiKeyEnvVar\": \"HELICONE_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Helicone\",\n \"models\": [\n \"chatgpt-4o-latest\",\n \"claude-3-haiku-20240307\",\n \"claude-3.5-haiku\",\n \"claude-3.5-sonnet-v2\",\n \"claude-3.7-sonnet\",\n \"claude-4.5-haiku\",\n \"claude-4.5-opus\",\n \"claude-4.5-sonnet\",\n \"claude-haiku-4-5-20251001\",\n \"claude-opus-4\",\n \"claude-opus-4-1\",\n \"claude-opus-4-1-20250805\",\n \"claude-sonnet-4\",\n \"claude-sonnet-4-5-20250929\",\n \"codex-mini-latest\",\n \"deepseek-r1-distill-llama-70b\",\n \"deepseek-reasoner\",\n \"deepseek-tng-r1t2-chimera\",\n \"deepseek-v3\",\n \"deepseek-v3.1-terminus\",\n \"deepseek-v3.2\",\n \"ernie-4.5-21b-a3b-thinking\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-flash-lite\",\n \"gemini-2.5-pro\",\n \"gemini-3-pro-preview\",\n \"gemma-3-12b-it\",\n \"gemma2-9b-it\",\n \"glm-4.6\",\n \"gpt-4.1\",\n \"gpt-4.1-mini\",\n \"gpt-4.1-mini-2025-04-14\",\n \"gpt-4.1-nano\",\n \"gpt-4o\",\n \"gpt-4o-mini\",\n \"gpt-5\",\n \"gpt-5-chat-latest\",\n \"gpt-5-codex\",\n \"gpt-5-mini\",\n \"gpt-5-nano\",\n \"gpt-5-pro\",\n \"gpt-5.1\",\n \"gpt-5.1-chat-latest\",\n \"gpt-5.1-codex\",\n \"gpt-5.1-codex-mini\",\n \"gpt-oss-120b\",\n \"gpt-oss-20b\",\n \"grok-3\",\n \"grok-3-mini\",\n \"grok-4\",\n \"grok-4-1-fast-non-reasoning\",\n \"grok-4-1-fast-reasoning\",\n \"grok-4-fast-non-reasoning\",\n \"grok-4-fast-reasoning\",\n \"grok-code-fast-1\",\n \"hermes-2-pro-llama-3-8b\",\n \"kimi-k2-0711\",\n \"kimi-k2-0905\",\n \"kimi-k2-thinking\",\n \"llama-3.1-8b-instant\",\n \"llama-3.1-8b-instruct\",\n \"llama-3.1-8b-instruct-turbo\",\n \"llama-3.3-70b-instruct\",\n \"llama-3.3-70b-versatile\",\n \"llama-4-maverick\",\n \"llama-4-scout\",\n \"llama-guard-4\",\n \"llama-prompt-guard-2-22m\",\n \"llama-prompt-guard-2-86m\",\n \"mistral-large-2411\",\n \"mistral-nemo\",\n \"mistral-small\",\n \"o1\",\n \"o1-mini\",\n \"o3\",\n \"o3-mini\",\n \"o3-pro\",\n \"o4-mini\",\n \"qwen2.5-coder-7b-fast\",\n \"qwen3-235b-a22b-thinking\",\n \"qwen3-30b-a3b\",\n \"qwen3-32b\",\n \"qwen3-coder\",\n \"qwen3-coder-30b-a3b-instruct\",\n \"qwen3-next-80b-a3b-instruct\",\n \"qwen3-vl-235b-a22b-instruct\",\n \"sonar\",\n \"sonar-deep-research\",\n \"sonar-pro\",\n \"sonar-reasoning\",\n \"sonar-reasoning-pro\"\n ],\n \"docUrl\": \"https://helicone.ai/models\",\n \"gateway\": \"models.dev\"\n },\n \"vercel\": {\n \"apiKeyEnvVar\": \"AI_GATEWAY_API_KEY\",\n \"name\": \"Vercel AI Gateway\",\n \"models\": [\n \"alibaba/qwen-3-14b\",\n \"alibaba/qwen-3-235b\",\n \"alibaba/qwen-3-30b\",\n \"alibaba/qwen-3-32b\",\n \"alibaba/qwen3-235b-a22b-thinking\",\n \"alibaba/qwen3-coder\",\n \"alibaba/qwen3-coder-30b-a3b\",\n \"alibaba/qwen3-coder-next\",\n \"alibaba/qwen3-coder-plus\",\n \"alibaba/qwen3-embedding-0.6b\",\n \"alibaba/qwen3-embedding-4b\",\n \"alibaba/qwen3-embedding-8b\",\n \"alibaba/qwen3-max\",\n \"alibaba/qwen3-max-preview\",\n \"alibaba/qwen3-max-thinking\",\n \"alibaba/qwen3-next-80b-a3b-instruct\",\n \"alibaba/qwen3-next-80b-a3b-thinking\",\n \"alibaba/qwen3-vl-instruct\",\n \"alibaba/qwen3-vl-thinking\",\n \"alibaba/qwen3.5-flash\",\n \"alibaba/qwen3.5-plus\",\n \"amazon/nova-2-lite\",\n \"amazon/nova-lite\",\n \"amazon/nova-micro\",\n \"amazon/nova-pro\",\n \"amazon/titan-embed-text-v2\",\n \"anthropic/claude-3-haiku\",\n \"anthropic/claude-3-opus\",\n \"anthropic/claude-3.5-haiku\",\n \"anthropic/claude-3.5-sonnet\",\n \"anthropic/claude-3.5-sonnet-20240620\",\n \"anthropic/claude-3.7-sonnet\",\n \"anthropic/claude-haiku-4.5\",\n \"anthropic/claude-opus-4\",\n \"anthropic/claude-opus-4.1\",\n \"anthropic/claude-opus-4.5\",\n \"anthropic/claude-opus-4.6\",\n \"anthropic/claude-sonnet-4\",\n \"anthropic/claude-sonnet-4.5\",\n \"anthropic/claude-sonnet-4.6\",\n \"arcee-ai/trinity-large-preview\",\n \"arcee-ai/trinity-mini\",\n \"bfl/flux-kontext-max\",\n \"bfl/flux-kontext-pro\",\n \"bfl/flux-pro-1.0-fill\",\n \"bfl/flux-pro-1.1\",\n \"bfl/flux-pro-1.1-ultra\",\n \"bytedance/seed-1.6\",\n \"bytedance/seed-1.8\",\n \"cohere/command-a\",\n \"cohere/embed-v4.0\",\n \"deepseek/deepseek-r1\",\n \"deepseek/deepseek-v3\",\n \"deepseek/deepseek-v3.1\",\n \"deepseek/deepseek-v3.1-terminus\",\n \"deepseek/deepseek-v3.2\",\n \"deepseek/deepseek-v3.2-exp\",\n \"deepseek/deepseek-v3.2-thinking\",\n \"google/gemini-2.0-flash\",\n \"google/gemini-2.0-flash-lite\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-flash-image\",\n \"google/gemini-2.5-flash-image-preview\",\n \"google/gemini-2.5-flash-lite\",\n \"google/gemini-2.5-flash-lite-preview-09-2025\",\n \"google/gemini-2.5-flash-preview-09-2025\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-3-flash\",\n \"google/gemini-3-pro-image\",\n \"google/gemini-3-pro-preview\",\n \"google/gemini-3.1-pro-preview\",\n \"google/gemini-embedding-001\",\n \"google/imagen-4.0-fast-generate-001\",\n \"google/imagen-4.0-generate-001\",\n \"google/imagen-4.0-ultra-generate-001\",\n \"google/text-embedding-005\",\n \"google/text-multilingual-embedding-002\",\n \"inception/mercury-coder-small\",\n \"kwaipilot/kat-coder-pro-v1\",\n \"meituan/longcat-flash-chat\",\n \"meituan/longcat-flash-thinking\",\n \"meta/llama-3.1-70b\",\n \"meta/llama-3.1-8b\",\n \"meta/llama-3.2-11b\",\n \"meta/llama-3.2-1b\",\n \"meta/llama-3.2-3b\",\n \"meta/llama-3.2-90b\",\n \"meta/llama-3.3-70b\",\n \"meta/llama-4-maverick\",\n \"meta/llama-4-scout\",\n \"minimax/minimax-m2\",\n \"minimax/minimax-m2.1\",\n \"minimax/minimax-m2.1-lightning\",\n \"minimax/minimax-m2.5\",\n \"mistral/codestral\",\n \"mistral/codestral-embed\",\n \"mistral/devstral-2\",\n \"mistral/devstral-small\",\n \"mistral/devstral-small-2\",\n \"mistral/magistral-medium\",\n \"mistral/magistral-small\",\n \"mistral/ministral-14b\",\n \"mistral/ministral-3b\",\n \"mistral/ministral-8b\",\n \"mistral/mistral-embed\",\n \"mistral/mistral-large-3\",\n \"mistral/mistral-medium\",\n \"mistral/mistral-nemo\",\n \"mistral/mistral-small\",\n \"mistral/mixtral-8x22b-instruct\",\n \"mistral/pixtral-12b\",\n \"mistral/pixtral-large\",\n \"moonshotai/kimi-k2-0905\",\n \"moonshotai/kimi-k2-thinking\",\n \"moonshotai/kimi-k2-thinking-turbo\",\n \"moonshotai/kimi-k2-turbo\",\n \"moonshotai/kimi-k2.5\",\n \"morph/morph-v3-fast\",\n \"morph/morph-v3-large\",\n \"nvidia/nemotron-3-nano-30b-a3b\",\n \"nvidia/nemotron-nano-12b-v2-vl\",\n \"nvidia/nemotron-nano-9b-v2\",\n \"openai/codex-mini\",\n \"openai/gpt-3.5-turbo\",\n \"openai/gpt-3.5-turbo-instruct\",\n \"openai/gpt-4-turbo\",\n \"openai/gpt-4.1\",\n \"openai/gpt-4.1-mini\",\n \"openai/gpt-4.1-nano\",\n \"openai/gpt-4o\",\n \"openai/gpt-4o-mini\",\n \"openai/gpt-4o-mini-search-preview\",\n \"openai/gpt-5\",\n \"openai/gpt-5-chat\",\n \"openai/gpt-5-codex\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5-nano\",\n \"openai/gpt-5-pro\",\n \"openai/gpt-5.1-codex\",\n \"openai/gpt-5.1-codex-max\",\n \"openai/gpt-5.1-codex-mini\",\n \"openai/gpt-5.1-instant\",\n \"openai/gpt-5.1-thinking\",\n \"openai/gpt-5.2\",\n \"openai/gpt-5.2-chat\",\n \"openai/gpt-5.2-codex\",\n \"openai/gpt-5.2-pro\",\n \"openai/gpt-5.3-codex\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"openai/gpt-oss-safeguard-20b\",\n \"openai/o1\",\n \"openai/o3\",\n \"openai/o3-deep-research\",\n \"openai/o3-mini\",\n \"openai/o3-pro\",\n \"openai/o4-mini\",\n \"openai/text-embedding-3-large\",\n \"openai/text-embedding-3-small\",\n \"openai/text-embedding-ada-002\",\n \"perplexity/sonar\",\n \"perplexity/sonar-pro\",\n \"perplexity/sonar-reasoning\",\n \"perplexity/sonar-reasoning-pro\",\n \"prime-intellect/intellect-3\",\n \"recraft/recraft-v2\",\n \"recraft/recraft-v3\",\n \"vercel/v0-1.0-md\",\n \"vercel/v0-1.5-md\",\n \"voyage/voyage-3-large\",\n \"voyage/voyage-3.5\",\n \"voyage/voyage-3.5-lite\",\n \"voyage/voyage-code-2\",\n \"voyage/voyage-code-3\",\n \"voyage/voyage-finance-2\",\n \"voyage/voyage-law-2\",\n \"xai/grok-2-vision\",\n \"xai/grok-3\",\n \"xai/grok-3-fast\",\n \"xai/grok-3-mini\",\n \"xai/grok-3-mini-fast\",\n \"xai/grok-4\",\n \"xai/grok-4-fast-non-reasoning\",\n \"xai/grok-4-fast-reasoning\",\n \"xai/grok-4.1-fast-non-reasoning\",\n \"xai/grok-4.1-fast-reasoning\",\n \"xai/grok-code-fast-1\",\n \"xai/grok-imagine-image\",\n \"xai/grok-imagine-image-pro\",\n \"xiaomi/mimo-v2-flash\",\n \"zai/glm-4.5\",\n \"zai/glm-4.5-air\",\n \"zai/glm-4.5v\",\n \"zai/glm-4.6\",\n \"zai/glm-4.6v\",\n \"zai/glm-4.6v-flash\",\n \"zai/glm-4.7\",\n \"zai/glm-4.7-flashx\",\n \"zai/glm-5\"\n ],\n \"docUrl\": \"https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway\",\n \"gateway\": \"models.dev\"\n },\n \"openai\": {\n \"apiKeyEnvVar\": \"OPENAI_API_KEY\",\n \"name\": \"OpenAI\",\n \"models\": [\n \"codex-mini-latest\",\n \"gpt-3.5-turbo\",\n \"gpt-4\",\n \"gpt-4-turbo\",\n \"gpt-4.1\",\n \"gpt-4.1-mini\",\n \"gpt-4.1-nano\",\n \"gpt-4o\",\n \"gpt-4o-2024-05-13\",\n \"gpt-4o-2024-08-06\",\n \"gpt-4o-2024-11-20\",\n \"gpt-4o-mini\",\n \"gpt-5\",\n \"gpt-5-chat-latest\",\n \"gpt-5-codex\",\n \"gpt-5-mini\",\n \"gpt-5-nano\",\n \"gpt-5-pro\",\n \"gpt-5.1\",\n \"gpt-5.1-chat-latest\",\n \"gpt-5.1-codex\",\n \"gpt-5.1-codex-max\",\n \"gpt-5.1-codex-mini\",\n \"gpt-5.2\",\n \"gpt-5.2-chat-latest\",\n \"gpt-5.2-codex\",\n \"gpt-5.2-pro\",\n \"gpt-5.3-codex\",\n \"gpt-5.3-codex-spark\",\n \"o1\",\n \"o1-mini\",\n \"o1-preview\",\n \"o1-pro\",\n \"o3\",\n \"o3-deep-research\",\n \"o3-mini\",\n \"o3-pro\",\n \"o4-mini\",\n \"o4-mini-deep-research\",\n \"text-embedding-3-large\",\n \"text-embedding-3-small\",\n \"text-embedding-ada-002\"\n ],\n \"docUrl\": \"https://platform.openai.com/docs/models\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/openai\"\n },\n \"moark\": {\n \"url\": \"https://moark.com/v1\",\n \"apiKeyEnvVar\": \"MOARK_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Moark\",\n \"models\": [\"GLM-4.7\", \"MiniMax-M2.1\"],\n \"docUrl\": \"https://moark.com/docs/openapi/v1#tag/%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90\",\n \"gateway\": \"models.dev\"\n },\n \"morph\": {\n \"url\": \"https://api.morphllm.com/v1\",\n \"apiKeyEnvVar\": \"MORPH_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Morph\",\n \"models\": [\"auto\", \"morph-v3-fast\", \"morph-v3-large\"],\n \"docUrl\": \"https://docs.morphllm.com/api-reference/introduction\",\n \"gateway\": \"models.dev\"\n },\n \"minimax\": {\n \"url\": \"https://api.minimax.io/anthropic/v1\",\n \"apiKeyEnvVar\": \"MINIMAX_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"MiniMax (minimax.io)\",\n \"models\": [\"MiniMax-M2\", \"MiniMax-M2.1\", \"MiniMax-M2.5\", \"MiniMax-M2.5-highspeed\"],\n \"docUrl\": \"https://platform.minimax.io/docs/guides/quickstart\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/anthropic\"\n },\n \"vultr\": {\n \"url\": \"https://api.vultrinference.com/v1\",\n \"apiKeyEnvVar\": \"VULTR_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Vultr\",\n \"models\": [\n \"deepseek-r1-distill-llama-70b\",\n \"deepseek-r1-distill-qwen-32b\",\n \"gpt-oss-120b\",\n \"kimi-k2-instruct\",\n \"qwen2.5-coder-32b-instruct\"\n ],\n \"docUrl\": \"https://api.vultrinference.com/\",\n \"gateway\": \"models.dev\"\n },\n \"baseten\": {\n \"url\": \"https://inference.baseten.co/v1\",\n \"apiKeyEnvVar\": \"BASETEN_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Baseten\",\n \"models\": [\n \"MiniMaxAI/MiniMax-M2.5\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n \"deepseek-ai/DeepSeek-V3.2\",\n \"moonshotai/Kimi-K2-Instruct-0905\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"moonshotai/Kimi-K2.5\",\n \"zai-org/GLM-4.6\",\n \"zai-org/GLM-4.7\",\n \"zai-org/GLM-5\"\n ],\n \"docUrl\": \"https://docs.baseten.co/development/model-apis/overview\",\n \"gateway\": \"models.dev\"\n },\n \"jiekou\": {\n \"url\": \"https://api.jiekou.ai/openai\",\n \"apiKeyEnvVar\": \"JIEKOU_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Jiekou.AI\",\n \"models\": [\n \"baidu/ernie-4.5-300b-a47b-paddle\",\n \"baidu/ernie-4.5-vl-424b-a47b\",\n \"claude-haiku-4-5-20251001\",\n \"claude-opus-4-1-20250805\",\n \"claude-opus-4-20250514\",\n \"claude-opus-4-5-20251101\",\n \"claude-opus-4-6\",\n \"claude-sonnet-4-20250514\",\n \"claude-sonnet-4-5-20250929\",\n \"deepseek/deepseek-r1-0528\",\n \"deepseek/deepseek-v3-0324\",\n \"deepseek/deepseek-v3.1\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-flash-lite\",\n \"gemini-2.5-flash-lite-preview-06-17\",\n \"gemini-2.5-flash-lite-preview-09-2025\",\n \"gemini-2.5-flash-preview-05-20\",\n \"gemini-2.5-pro\",\n \"gemini-2.5-pro-preview-06-05\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-preview\",\n \"gpt-5-chat-latest\",\n \"gpt-5-codex\",\n \"gpt-5-mini\",\n \"gpt-5-nano\",\n \"gpt-5-pro\",\n \"gpt-5.1\",\n \"gpt-5.1-codex\",\n \"gpt-5.1-codex-max\",\n \"gpt-5.1-codex-mini\",\n \"gpt-5.2\",\n \"gpt-5.2-codex\",\n \"gpt-5.2-pro\",\n \"grok-4-0709\",\n \"grok-4-1-fast-non-reasoning\",\n \"grok-4-1-fast-reasoning\",\n \"grok-4-fast-non-reasoning\",\n \"grok-4-fast-reasoning\",\n \"grok-code-fast-1\",\n \"minimax/minimax-m2.1\",\n \"minimaxai/minimax-m1-80k\",\n \"moonshotai/kimi-k2-0905\",\n \"moonshotai/kimi-k2-instruct\",\n \"moonshotai/kimi-k2.5\",\n \"o3\",\n \"o3-mini\",\n \"o4-mini\",\n \"qwen/qwen3-235b-a22b-fp8\",\n \"qwen/qwen3-235b-a22b-instruct-2507\",\n \"qwen/qwen3-235b-a22b-thinking-2507\",\n \"qwen/qwen3-30b-a3b-fp8\",\n \"qwen/qwen3-32b-fp8\",\n \"qwen/qwen3-coder-480b-a35b-instruct\",\n \"qwen/qwen3-coder-next\",\n \"qwen/qwen3-next-80b-a3b-instruct\",\n \"qwen/qwen3-next-80b-a3b-thinking\",\n \"xiaomimimo/mimo-v2-flash\",\n \"zai-org/glm-4.5\",\n \"zai-org/glm-4.5v\",\n \"zai-org/glm-4.7\",\n \"zai-org/glm-4.7-flash\"\n ],\n \"docUrl\": \"https://docs.jiekou.ai/docs/support/quickstart?utm_source=github_models.dev\",\n \"gateway\": \"models.dev\"\n },\n \"meganova\": {\n \"url\": \"https://api.meganova.ai/v1\",\n \"apiKeyEnvVar\": \"MEGANOVA_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Meganova\",\n \"models\": [\n \"MiniMaxAI/MiniMax-M2.1\",\n \"MiniMaxAI/MiniMax-M2.5\",\n \"Qwen/Qwen2.5-VL-32B-Instruct\",\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"Qwen/Qwen3.5-Plus\",\n \"XiaomiMiMo/MiMo-V2-Flash\",\n \"deepseek-ai/DeepSeek-R1-0528\",\n \"deepseek-ai/DeepSeek-V3-0324\",\n \"deepseek-ai/DeepSeek-V3.1\",\n \"deepseek-ai/DeepSeek-V3.2\",\n \"deepseek-ai/DeepSeek-V3.2-Exp\",\n \"meta-llama/Llama-3.3-70B-Instruct\",\n \"mistralai/Mistral-Nemo-Instruct-2407\",\n \"mistralai/Mistral-Small-3.2-24B-Instruct-2506\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"moonshotai/Kimi-K2.5\",\n \"zai-org/GLM-4.6\",\n \"zai-org/GLM-4.7\",\n \"zai-org/GLM-5\"\n ],\n \"docUrl\": \"https://docs.meganova.ai\",\n \"gateway\": \"models.dev\"\n },\n \"perplexity\": {\n \"apiKeyEnvVar\": \"PERPLEXITY_API_KEY\",\n \"name\": \"Perplexity\",\n \"models\": [\"sonar\", \"sonar-deep-research\", \"sonar-pro\", \"sonar-reasoning-pro\"],\n \"docUrl\": \"https://docs.perplexity.ai\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/perplexity\"\n },\n \"huggingface\": {\n \"url\": \"https://router.huggingface.co/v1\",\n \"apiKeyEnvVar\": \"HF_TOKEN\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Hugging Face\",\n \"models\": [\n \"MiniMaxAI/MiniMax-M2.1\",\n \"MiniMaxAI/MiniMax-M2.5\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n \"Qwen/Qwen3-Coder-Next\",\n \"Qwen/Qwen3-Embedding-4B\",\n \"Qwen/Qwen3-Embedding-8B\",\n \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n \"Qwen/Qwen3-Next-80B-A3B-Thinking\",\n \"Qwen/Qwen3.5-397B-A17B\",\n \"XiaomiMiMo/MiMo-V2-Flash\",\n \"deepseek-ai/DeepSeek-R1-0528\",\n \"deepseek-ai/DeepSeek-V3.2\",\n \"moonshotai/Kimi-K2-Instruct\",\n \"moonshotai/Kimi-K2-Instruct-0905\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"moonshotai/Kimi-K2.5\",\n \"zai-org/GLM-4.7\",\n \"zai-org/GLM-4.7-Flash\",\n \"zai-org/GLM-5\"\n ],\n \"docUrl\": \"https://huggingface.co/docs/inference-providers\",\n \"gateway\": \"models.dev\"\n },\n \"anthropic\": {\n \"apiKeyEnvVar\": \"ANTHROPIC_API_KEY\",\n \"name\": \"Anthropic\",\n \"models\": [\n \"claude-3-5-haiku-20241022\",\n \"claude-3-5-haiku-latest\",\n \"claude-3-5-sonnet-20240620\",\n \"claude-3-5-sonnet-20241022\",\n \"claude-3-7-sonnet-20250219\",\n \"claude-3-7-sonnet-latest\",\n \"claude-3-haiku-20240307\",\n \"claude-3-opus-20240229\",\n \"claude-3-sonnet-20240229\",\n \"claude-haiku-4-5\",\n \"claude-haiku-4-5-20251001\",\n \"claude-opus-4-0\",\n \"claude-opus-4-1\",\n \"claude-opus-4-1-20250805\",\n \"claude-opus-4-20250514\",\n \"claude-opus-4-5\",\n \"claude-opus-4-5-20251101\",\n \"claude-opus-4-6\",\n \"claude-sonnet-4-0\",\n \"claude-sonnet-4-20250514\",\n \"claude-sonnet-4-5\",\n \"claude-sonnet-4-5-20250929\",\n \"claude-sonnet-4-6\"\n ],\n \"docUrl\": \"https://docs.anthropic.com/en/docs/about-claude/models\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/anthropic\"\n },\n \"friendli\": {\n \"url\": \"https://api.friendli.ai/serverless/v1\",\n \"apiKeyEnvVar\": \"FRIENDLI_TOKEN\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Friendli\",\n \"models\": [\n \"MiniMaxAI/MiniMax-M2.1\",\n \"MiniMaxAI/MiniMax-M2.5\",\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"meta-llama/Llama-3.1-8B-Instruct\",\n \"meta-llama/Llama-3.3-70B-Instruct\",\n \"zai-org/GLM-4.7\",\n \"zai-org/GLM-5\"\n ],\n \"docUrl\": \"https://friendli.ai/docs/guides/serverless_endpoints/introduction\",\n \"gateway\": \"models.dev\"\n },\n \"kilo\": {\n \"url\": \"https://api.kilo.ai/api/gateway\",\n \"apiKeyEnvVar\": \"KILO_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Kilo Gateway\",\n \"models\": [\n \"allenai/molmo-2-8b\",\n \"amazon/nova-2-lite-v1\",\n \"amazon/nova-pro-v1\",\n \"anthropic/claude-3-haiku\",\n \"anthropic/claude-3.5-haiku\",\n \"anthropic/claude-3.5-sonnet\",\n \"anthropic/claude-3.7-sonnet\",\n \"anthropic/claude-3.7-sonnet:thinking\",\n \"anthropic/claude-haiku-4.5\",\n \"anthropic/claude-opus-4\",\n \"anthropic/claude-opus-4.1\",\n \"anthropic/claude-opus-4.5\",\n \"anthropic/claude-opus-4.6\",\n \"anthropic/claude-sonnet-4\",\n \"anthropic/claude-sonnet-4.5\",\n \"arcee-ai/trinity-large-preview:free\",\n \"arcee-ai/trinity-mini\",\n \"arcee-ai/trinity-mini:free\",\n \"baidu/ernie-4.5-21b-a3b\",\n \"baidu/ernie-4.5-21b-a3b-thinking\",\n \"baidu/ernie-4.5-300b-a47b\",\n \"baidu/ernie-4.5-vl-28b-a3b\",\n \"baidu/ernie-4.5-vl-424b-a47b\",\n \"bytedance-seed/seed-1.6\",\n \"cognitivecomputations/dolphin-mistral-24b-venice-edition:free\",\n \"cohere/command-a\",\n \"cohere/command-r-08-2024\",\n \"cohere/command-r-plus-08-2024\",\n \"cohere/command-r7b-12-2024\",\n \"deepseek/deepseek-chat\",\n \"deepseek/deepseek-chat-v3-0324\",\n \"deepseek/deepseek-chat-v3.1\",\n \"deepseek/deepseek-r1\",\n \"deepseek/deepseek-r1-0528\",\n \"deepseek/deepseek-r1-0528:free\",\n \"deepseek/deepseek-r1-distill-llama-70b\",\n \"deepseek/deepseek-r1-distill-qwen-32b\",\n \"deepseek/deepseek-v3.1-terminus\",\n \"deepseek/deepseek-v3.1-terminus:exacto\",\n \"deepseek/deepseek-v3.2\",\n \"deepseek/deepseek-v3.2-exp\",\n \"deepseek/deepseek-v3.2-speciale\",\n \"essentialai/rnj-1-instruct\",\n \"google/gemini-2.0-flash-001\",\n \"google/gemini-2.0-flash-lite-001\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-flash-lite\",\n \"google/gemini-2.5-flash-lite-preview-09-2025\",\n \"google/gemini-2.5-flash-preview-09-2025\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-2.5-pro-preview\",\n \"google/gemini-2.5-pro-preview-05-06\",\n \"google/gemini-3-flash-preview\",\n \"google/gemini-3-pro-preview\",\n \"google/gemma-2-27b-it\",\n \"google/gemma-2-9b-it\",\n \"google/gemma-3-12b-it\",\n \"google/gemma-3-12b-it:free\",\n \"google/gemma-3-27b-it\",\n \"google/gemma-3-27b-it:free\",\n \"google/gemma-3-4b-it\",\n \"google/gemma-3-4b-it:free\",\n \"google/gemma-3n-e2b-it:free\",\n \"google/gemma-3n-e4b-it\",\n \"google/gemma-3n-e4b-it:free\",\n \"gryphe/mythomax-l2-13b\",\n \"inception/mercury\",\n \"inception/mercury-coder\",\n \"kilo/auto\",\n \"kwaipilot/kat-coder-pro\",\n \"liquid/lfm-2.5-1.2b-instruct:free\",\n \"liquid/lfm-2.5-1.2b-thinking:free\",\n \"meituan/longcat-flash-chat\",\n \"meta-llama/llama-3-70b-instruct\",\n \"meta-llama/llama-3-8b-instruct\",\n \"meta-llama/llama-3.1-405b-instruct\",\n \"meta-llama/llama-3.1-70b-instruct\",\n \"meta-llama/llama-3.1-8b-instruct\",\n \"meta-llama/llama-3.2-11b-vision-instruct\",\n \"meta-llama/llama-3.2-1b-instruct\",\n \"meta-llama/llama-3.2-3b-instruct\",\n \"meta-llama/llama-3.2-3b-instruct:free\",\n \"meta-llama/llama-3.3-70b-instruct\",\n \"meta-llama/llama-3.3-70b-instruct:free\",\n \"meta-llama/llama-4-maverick\",\n \"meta-llama/llama-4-scout\",\n \"meta-llama/llama-guard-3-8b\",\n \"meta-llama/llama-guard-4-12b\",\n \"microsoft/phi-4\",\n \"microsoft/wizardlm-2-8x22b\",\n \"minimax/minimax-01\",\n \"minimax/minimax-m1\",\n \"minimax/minimax-m2\",\n \"minimax/minimax-m2.1\",\n \"minimax/minimax-m2.5\",\n \"minimax/minimax-m2.5:free\",\n \"mistralai/codestral-2508\",\n \"mistralai/devstral-2512\",\n \"mistralai/devstral-medium\",\n \"mistralai/devstral-small\",\n \"mistralai/ministral-14b-2512\",\n \"mistralai/mistral-7b-instruct\",\n \"mistralai/mistral-7b-instruct-v0.1\",\n \"mistralai/mistral-7b-instruct-v0.3\",\n \"mistralai/mistral-large\",\n \"mistralai/mistral-large-2411\",\n \"mistralai/mistral-large-2512\",\n \"mistralai/mistral-medium-3\",\n \"mistralai/mistral-medium-3.1\",\n \"mistralai/mistral-nemo\",\n \"mistralai/mistral-small-24b-instruct-2501\",\n \"mistralai/mistral-small-3.1-24b-instruct\",\n \"mistralai/mistral-small-3.1-24b-instruct:free\",\n \"mistralai/mistral-small-3.2-24b-instruct\",\n \"mistralai/mixtral-8x22b-instruct\",\n \"mistralai/voxtral-small-24b-2507\",\n \"moonshotai/kimi-k2\",\n \"moonshotai/kimi-k2-0905\",\n \"moonshotai/kimi-k2-0905:exacto\",\n \"moonshotai/kimi-k2-thinking\",\n \"moonshotai/kimi-k2.5\",\n \"morph/morph-v3-fast\",\n \"morph/morph-v3-large\",\n \"nex-agi/deepseek-v3.1-nex-n1\",\n \"nousresearch/deephermes-3-mistral-24b-preview\",\n \"nousresearch/hermes-2-pro-llama-3-8b\",\n \"nousresearch/hermes-3-llama-3.1-405b\",\n \"nousresearch/hermes-3-llama-3.1-405b:free\",\n \"nousresearch/hermes-4-405b\",\n \"nousresearch/hermes-4-70b\",\n \"nvidia/llama-3.1-nemotron-70b-instruct\",\n \"nvidia/llama-3.1-nemotron-ultra-253b-v1\",\n \"nvidia/llama-3.3-nemotron-super-49b-v1.5\",\n \"nvidia/nemotron-3-nano-30b-a3b\",\n \"nvidia/nemotron-3-nano-30b-a3b:free\",\n \"nvidia/nemotron-nano-12b-v2-vl\",\n \"nvidia/nemotron-nano-12b-v2-vl:free\",\n \"nvidia/nemotron-nano-9b-v2\",\n \"nvidia/nemotron-nano-9b-v2:free\",\n \"openai/chatgpt-4o-latest\",\n \"openai/gpt-3.5-turbo\",\n \"openai/gpt-3.5-turbo-0613\",\n \"openai/gpt-3.5-turbo-instruct\",\n \"openai/gpt-4\",\n \"openai/gpt-4-turbo\",\n \"openai/gpt-4.1\",\n \"openai/gpt-4.1-mini\",\n \"openai/gpt-4.1-nano\",\n \"openai/gpt-4o\",\n \"openai/gpt-4o-2024-05-13\",\n \"openai/gpt-4o-2024-08-06\",\n \"openai/gpt-4o-2024-11-20\",\n \"openai/gpt-4o-mini\",\n \"openai/gpt-4o-mini-search-preview\",\n \"openai/gpt-4o:extended\",\n \"openai/gpt-5\",\n \"openai/gpt-5-chat\",\n \"openai/gpt-5-codex\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5-nano\",\n \"openai/gpt-5-pro\",\n \"openai/gpt-5.1\",\n \"openai/gpt-5.1-chat\",\n \"openai/gpt-5.1-codex\",\n \"openai/gpt-5.1-codex-max\",\n \"openai/gpt-5.1-codex-mini\",\n \"openai/gpt-5.2\",\n \"openai/gpt-5.2-chat\",\n \"openai/gpt-5.2-codex\",\n \"openai/gpt-5.2-pro\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-120b:exacto\",\n \"openai/gpt-oss-120b:free\",\n \"openai/gpt-oss-20b\",\n \"openai/gpt-oss-20b:free\",\n \"openai/gpt-oss-safeguard-20b\",\n \"openai/o1\",\n \"openai/o1-pro\",\n \"openai/o3\",\n \"openai/o3-deep-research\",\n \"openai/o3-mini\",\n \"openai/o3-mini-high\",\n \"openai/o3-pro\",\n \"openai/o4-mini\",\n \"openai/o4-mini-deep-research\",\n \"openrouter/aurora-alpha\",\n \"perplexity/sonar\",\n \"perplexity/sonar-deep-research\",\n \"perplexity/sonar-pro\",\n \"perplexity/sonar-reasoning-pro\",\n \"prime-intellect/intellect-3\",\n \"qwen/qwen-2.5-72b-instruct\",\n \"qwen/qwen-2.5-7b-instruct\",\n \"qwen/qwen-2.5-coder-32b-instruct\",\n \"qwen/qwen-2.5-vl-7b-instruct\",\n \"qwen/qwen-max\",\n \"qwen/qwen-plus\",\n \"qwen/qwen-turbo\",\n \"qwen/qwen-vl-max\",\n \"qwen/qwen-vl-plus\",\n \"qwen/qwen2.5-coder-7b-instruct\",\n \"qwen/qwen2.5-vl-32b-instruct\",\n \"qwen/qwen2.5-vl-72b-instruct\",\n \"qwen/qwen3-14b\",\n \"qwen/qwen3-235b-a22b\",\n \"qwen/qwen3-235b-a22b-2507\",\n \"qwen/qwen3-235b-a22b-thinking-2507\",\n \"qwen/qwen3-30b-a3b\",\n \"qwen/qwen3-30b-a3b-instruct-2507\",\n \"qwen/qwen3-30b-a3b-thinking-2507\",\n \"qwen/qwen3-32b\",\n \"qwen/qwen3-4b\",\n \"qwen/qwen3-4b:free\",\n \"qwen/qwen3-8b\",\n \"qwen/qwen3-coder\",\n \"qwen/qwen3-coder-30b-a3b-instruct\",\n \"qwen/qwen3-coder-flash\",\n \"qwen/qwen3-coder-next\",\n \"qwen/qwen3-coder-plus\",\n \"qwen/qwen3-coder:exacto\",\n \"qwen/qwen3-coder:free\",\n \"qwen/qwen3-max\",\n \"qwen/qwen3-max-thinking\",\n \"qwen/qwen3-next-80b-a3b-instruct\",\n \"qwen/qwen3-next-80b-a3b-instruct:free\",\n \"qwen/qwen3-next-80b-a3b-thinking\",\n \"qwen/qwen3-vl-235b-a22b-instruct\",\n \"qwen/qwen3-vl-235b-a22b-thinking\",\n \"qwen/qwen3-vl-30b-a3b-instruct\",\n \"qwen/qwen3-vl-30b-a3b-thinking\",\n \"qwen/qwen3-vl-32b-instruct\",\n \"qwen/qwen3-vl-8b-instruct\",\n \"qwen/qwen3-vl-8b-thinking\",\n \"qwen/qwen3.5-397b-a17b\",\n \"qwen/qwen3.5-plus-02-15\",\n \"qwen/qwq-32b\",\n \"stepfun/step-3.5-flash\",\n \"stepfun/step-3.5-flash:free\",\n \"tencent/hunyuan-a13b-instruct\",\n \"tngtech/deepseek-r1t-chimera\",\n \"tngtech/deepseek-r1t2-chimera\",\n \"tngtech/tng-r1t-chimera\",\n \"writer/palmyra-x5\",\n \"x-ai/grok-3\",\n \"x-ai/grok-3-beta\",\n \"x-ai/grok-3-mini\",\n \"x-ai/grok-3-mini-beta\",\n \"x-ai/grok-4\",\n \"x-ai/grok-4-fast\",\n \"x-ai/grok-4.1-fast\",\n \"x-ai/grok-code-fast-1\",\n \"xiaomi/mimo-v2-flash\",\n \"z-ai/glm-4.5\",\n \"z-ai/glm-4.5-air\",\n \"z-ai/glm-4.5-air:free\",\n \"z-ai/glm-4.5v\",\n \"z-ai/glm-4.6\",\n \"z-ai/glm-4.6:exacto\",\n \"z-ai/glm-4.6v\",\n \"z-ai/glm-4.7\",\n \"z-ai/glm-4.7-flash\",\n \"z-ai/glm-5\",\n \"z-ai/glm-5:free\"\n ],\n \"docUrl\": \"https://kilo.ai\",\n \"gateway\": \"models.dev\"\n },\n \"nano-gpt\": {\n \"url\": \"https://nano-gpt.com/api/v1\",\n \"apiKeyEnvVar\": \"NANO_GPT_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"NanoGPT\",\n \"models\": [\n \"deepseek/deepseek-r1\",\n \"deepseek/deepseek-v3.2:thinking\",\n \"meta-llama/llama-3.3-70b-instruct\",\n \"meta-llama/llama-4-maverick\",\n \"minimax/minimax-m2.1\",\n \"minimax/minimax-m2.5\",\n \"minimax/minimax-m2.5-official\",\n \"mistralai/devstral-2-123b-instruct-2512\",\n \"mistralai/ministral-14b-instruct-2512\",\n \"mistralai/mistral-large-3-675b-instruct-2512\",\n \"moonshotai/kimi-k2-instruct\",\n \"moonshotai/kimi-k2-thinking\",\n \"moonshotai/kimi-k2.5\",\n \"moonshotai/kimi-k2.5-thinking\",\n \"nousresearch/hermes-4-405b:thinking\",\n \"nvidia/llama-3_3-nemotron-super-49b-v1_5\",\n \"openai/gpt-oss-120b\",\n \"qwen/qwen3-235b-a22b-thinking-2507\",\n \"qwen/qwen3-coder\",\n \"qwen/qwen3.5-397b-a17b\",\n \"qwen/qwen3.5-397b-a17b-thinking\",\n \"qwen/qwen3.5-plus\",\n \"qwen/qwen3.5-plus-thinking\",\n \"zai-org/glm-4.5-air\",\n \"zai-org/glm-4.5-air:thinking\",\n \"zai-org/glm-4.6\",\n \"zai-org/glm-4.6:thinking\",\n \"zai-org/glm-4.7\",\n \"zai-org/glm-4.7:thinking\",\n \"zai-org/glm-5\",\n \"zai-org/glm-5-original\",\n \"zai-org/glm-5-original:thinking\",\n \"zai-org/glm-5:thinking\"\n ],\n \"docUrl\": \"https://docs.nano-gpt.com\",\n \"gateway\": \"models.dev\"\n },\n \"cerebras\": {\n \"apiKeyEnvVar\": \"CEREBRAS_API_KEY\",\n \"name\": \"Cerebras\",\n \"models\": [\"gpt-oss-120b\", \"llama3.1-8b\", \"qwen-3-235b-a22b-instruct-2507\", \"zai-glm-4.7\"],\n \"docUrl\": \"https://inference-docs.cerebras.ai/models/overview\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/cerebras\"\n },\n \"cortecs\": {\n \"url\": \"https://api.cortecs.ai/v1\",\n \"apiKeyEnvVar\": \"CORTECS_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Cortecs\",\n \"models\": [\n \"claude-4-5-sonnet\",\n \"claude-sonnet-4\",\n \"deepseek-v3-0324\",\n \"devstral-2512\",\n \"devstral-small-2512\",\n \"gemini-2.5-pro\",\n \"glm-4p5\",\n \"glm-4p5-air\",\n \"glm-4p7\",\n \"gpt-4.1\",\n \"gpt-oss-120b\",\n \"intellect-3\",\n \"kimi-k2-instruct\",\n \"kimi-k2-thinking\",\n \"llama-3.1-405b-instruct\",\n \"minimax-m2\",\n \"minimax-m2p1\",\n \"nova-pro-v1\",\n \"qwen3-32b\",\n \"qwen3-coder-480b-a35b-instruct\",\n \"qwen3-next-80b-a3b-thinking\"\n ],\n \"docUrl\": \"https://api.cortecs.ai/v1/models\",\n \"gateway\": \"models.dev\"\n },\n \"xai\": {\n \"apiKeyEnvVar\": \"XAI_API_KEY\",\n \"name\": \"xAI\",\n \"models\": [\n \"grok-2\",\n \"grok-2-1212\",\n \"grok-2-latest\",\n \"grok-2-vision\",\n \"grok-2-vision-1212\",\n \"grok-2-vision-latest\",\n \"grok-3\",\n \"grok-3-fast\",\n \"grok-3-fast-latest\",\n \"grok-3-latest\",\n \"grok-3-mini\",\n \"grok-3-mini-fast\",\n \"grok-3-mini-fast-latest\",\n \"grok-3-mini-latest\",\n \"grok-4\",\n \"grok-4-1-fast\",\n \"grok-4-1-fast-non-reasoning\",\n \"grok-4-fast\",\n \"grok-4-fast-non-reasoning\",\n \"grok-beta\",\n \"grok-code-fast-1\",\n \"grok-vision-beta\"\n ],\n \"docUrl\": \"https://docs.x.ai/docs/models\",\n \"gateway\": \"models.dev\",\n \"npm\": \"@ai-sdk/xai\"\n },\n \"alibaba-cn\": {\n \"url\": \"https://dashscope.aliyuncs.com/compatible-mode/v1\",\n \"apiKeyEnvVar\": \"DASHSCOPE_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Alibaba (China)\",\n \"models\": [\n \"deepseek-r1\",\n \"deepseek-r1-0528\",\n \"deepseek-r1-distill-llama-70b\",\n \"deepseek-r1-distill-llama-8b\",\n \"deepseek-r1-distill-qwen-1-5b\",\n \"deepseek-r1-distill-qwen-14b\",\n \"deepseek-r1-distill-qwen-32b\",\n \"deepseek-r1-distill-qwen-7b\",\n \"deepseek-v3\",\n \"deepseek-v3-1\",\n \"deepseek-v3-2-exp\",\n \"kimi-k2-thinking\",\n \"kimi-k2.5\",\n \"moonshot-kimi-k2-instruct\",\n \"qvq-max\",\n \"qwen-deep-research\",\n \"qwen-doc-turbo\",\n \"qwen-flash\",\n \"qwen-long\",\n \"qwen-math-plus\",\n \"qwen-math-turbo\",\n \"qwen-max\",\n \"qwen-mt-plus\",\n \"qwen-mt-turbo\",\n \"qwen-omni-turbo\",\n \"qwen-omni-turbo-realtime\",\n \"qwen-plus\",\n \"qwen-plus-character\",\n \"qwen-turbo\",\n \"qwen-vl-max\",\n \"qwen-vl-ocr\",\n \"qwen-vl-plus\",\n \"qwen2-5-14b-instruct\",\n \"qwen2-5-32b-instruct\",\n \"qwen2-5-72b-instruct\",\n \"qwen2-5-7b-instruct\",\n \"qwen2-5-coder-32b-instruct\",\n \"qwen2-5-coder-7b-instruct\",\n \"qwen2-5-math-72b-instruct\",\n \"qwen2-5-math-7b-instruct\",\n \"qwen2-5-omni-7b\",\n \"qwen2-5-vl-72b-instruct\",\n \"qwen2-5-vl-7b-instruct\",\n \"qwen3-14b\",\n \"qwen3-235b-a22b\",\n \"qwen3-32b\",\n \"qwen3-8b\",\n \"qwen3-asr-flash\",\n \"qwen3-coder-30b-a3b-instruct\",\n \"qwen3-coder-480b-a35b-instruct\",\n \"qwen3-coder-flash\",\n \"qwen3-coder-plus\",\n \"qwen3-max\",\n \"qwen3-next-80b-a3b-instruct\",\n \"qwen3-next-80b-a3b-thinking\",\n \"qwen3-omni-flash\",\n \"qwen3-omni-flash-realtime\",\n \"qwen3-vl-235b-a22b\",\n \"qwen3-vl-30b-a3b\",\n \"qwen3-vl-plus\",\n \"qwen3.5-397b-a17b\",\n \"qwen3.5-plus\",\n \"qwq-32b\",\n \"qwq-plus\",\n \"tongyi-intent-detect-v3\"\n ],\n \"docUrl\": \"https://www.alibabacloud.com/help/en/model-studio/models\",\n \"gateway\": \"models.dev\"\n },\n \"chutes\": {\n \"url\": \"https://llm.chutes.ai/v1\",\n \"apiKeyEnvVar\": \"CHUTES_API_KEY\",\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Chutes\",\n \"models\": [\n \"MiniMaxAI/MiniMax-M2.1-TEE\",\n \"MiniMaxAI/MiniMax-M2.5-TEE\",\n \"NousResearch/DeepHermes-3-Mistral-24B-Preview\",\n \"NousResearch/Hermes-4-14B\",\n \"NousResearch/Hermes-4-405B-FP8-TEE\",\n \"NousResearch/Hermes-4-70B\",\n \"NousResearch/Hermes-4.3-36B\",\n \"OpenGVLab/InternVL3-78B-TEE\",\n \"Qwen/Qwen2.5-72B-Instruct\",\n \"Qwen/Qwen2.5-Coder-32B-Instruct\",\n \"Qwen/Qwen2.5-VL-32B-Instruct\",\n \"Qwen/Qwen2.5-VL-72B-Instruct-TEE\",\n \"Qwen/Qwen3-14B\",\n \"Qwen/Qwen3-235B-A22B\",\n \"Qwen/Qwen3-235B-A22B-Instruct-2507-TEE\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-30B-A3B\",\n \"Qwen/Qwen3-30B-A3B-Instruct-2507\",\n \"Qwen/Qwen3-32B\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8-TEE\",\n \"Qwen/Qwen3-Coder-Next\",\n \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n \"Qwen/Qwen3-VL-235B-A22B-Instruct\",\n \"Qwen/Qwen3.5-397B-A17B-TEE\",\n \"Qwen/Qwen3Guard-Gen-0.6B\",\n \"XiaomiMiMo/MiMo-V2-Flash\",\n \"chutesai/Mistral-Small-3.1-24B-Instruct-2503\",\n \"chutesai/Mistral-Small-3.2-24B-Instruct-2506\",\n \"deepseek-ai/DeepSeek-R1-0528-TEE\",\n \"deepseek-ai/DeepSeek-R1-Distill-Llama-70B\",\n \"deepseek-ai/DeepSeek-R1-TEE\",\n \"deepseek-ai/DeepSeek-V3\",\n \"deepseek-ai/DeepSeek-V3-0324-TEE\",\n \"deepseek-ai/DeepSeek-V3.1-TEE\",\n \"deepseek-ai/DeepSeek-V3.1-Terminus-TEE\",\n \"deepseek-ai/DeepSeek-V3.2-Speciale-TEE\",\n \"deepseek-ai/DeepSeek-V3.2-TEE\",\n \"miromind-ai/MiroThinker-v1.5-235B\",\n \"mistralai/Devstral-2-123B-Instruct-2512-TEE\",\n \"moonshotai/Kimi-K2-Instruct-0905\",\n \"moonshotai/Kimi-K2-Thinking-TEE\",\n \"moonshotai/Kimi-K2.5-TEE\",\n \"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16\",\n \"openai/gpt-oss-120b-TEE\",\n \"openai/gpt-oss-20b\",\n \"rednote-hilab/dots.ocr\",\n \"tngtech/DeepSeek-R1T-Chimera\",\n \"tngtech/DeepSeek-TNG-R1T2-Chimera\",\n \"tngtech/TNG-R1T-Chimera-TEE\",\n \"tngtech/TNG-R1T-Chimera-Turbo\",\n \"unsloth/Llama-3.2-1B-Instruct\",\n \"unsloth/Llama-3.2-3B-Instruct\",\n \"unsloth/Mistral-Nemo-Instruct-2407\",\n \"unsloth/Mistral-Small-24B-Instruct-2501\",\n \"unsloth/gemma-3-12b-it\",\n \"unsloth/gemma-3-27b-it\",\n \"unsloth/gemma-3-4b-it\",\n \"zai-org/GLM-4.5-Air\",\n \"zai-org/GLM-4.5-FP8\",\n \"zai-org/GLM-4.5-TEE\",\n \"zai-org/GLM-4.6-FP8\",\n \"zai-org/GLM-4.6-TEE\",\n \"zai-org/GLM-4.6V\",\n \"zai-org/GLM-4.7-FP8\",\n \"zai-org/GLM-4.7-Flash\",\n \"zai-org/GLM-4.7-TEE\",\n \"zai-org/GLM-5-TEE\"\n ],\n \"docUrl\": \"https://llm.chutes.ai/v1/models\",\n \"gateway\": \"models.dev\"\n },\n \"netlify\": {\n \"apiKeyEnvVar\": [\"NETLIFY_TOKEN\", \"NETLIFY_SITE_ID\"],\n \"apiKeyHeader\": \"Authorization\",\n \"name\": \"Netlify\",\n \"gateway\": \"netlify\",\n \"models\": [\n \"anthropic/claude-3-haiku-20240307\",\n \"anthropic/claude-haiku-4-5\",\n \"anthropic/claude-haiku-4-5-20251001\",\n \"anthropic/claude-opus-4-1-20250805\",\n \"anthropic/claude-opus-4-20250514\",\n \"anthropic/claude-opus-4-5\",\n \"anthropic/claude-opus-4-5-20251101\",\n \"anthropic/claude-opus-4-6\",\n \"anthropic/claude-sonnet-4-0\",\n \"anthropic/claude-sonnet-4-20250514\",\n \"anthropic/claude-sonnet-4-5\",\n \"anthropic/claude-sonnet-4-5-20250929\",\n \"anthropic/claude-sonnet-4-6\",\n \"gemini/gemini-2.0-flash\",\n \"gemini/gemini-2.0-flash-lite\",\n \"gemini/gemini-2.5-flash\",\n \"gemini/gemini-2.5-flash-image\",\n \"gemini/gemini-2.5-flash-lite\",\n \"gemini/gemini-2.5-flash-lite-preview-09-2025\",\n \"gemini/gemini-2.5-pro\",\n \"gemini/gemini-3-flash-preview\",\n \"gemini/gemini-3-pro-image-preview\",\n \"gemini/gemini-3-pro-preview\",\n \"gemini/gemini-3.1-flash-image-preview\",\n \"gemini/gemini-3.1-flash-lite-preview\",\n \"gemini/gemini-3.1-pro-preview\",\n \"gemini/gemini-3.1-pro-preview-customtools\",\n \"gemini/gemini-flash-latest\",\n \"gemini/gemini-flash-lite-latest\",\n \"openai/gpt-4.1\",\n \"openai/gpt-4.1-mini\",\n \"openai/gpt-4.1-nano\",\n \"openai/gpt-4o\",\n \"openai/gpt-4o-mini\",\n \"openai/gpt-5\",\n \"openai/gpt-5-2025-08-07\",\n \"openai/gpt-5-codex\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5-mini-2025-08-07\",\n \"openai/gpt-5-nano\",\n \"openai/gpt-5-pro\",\n \"openai/gpt-5.1\",\n \"openai/gpt-5.1-2025-11-13\",\n \"openai/gpt-5.1-codex\",\n \"openai/gpt-5.1-codex-max\",\n \"openai/gpt-5.1-codex-mini\",\n \"openai/gpt-5.2\",\n \"openai/gpt-5.2-2025-12-11\",\n \"openai/gpt-5.2-codex\",\n \"openai/gpt-5.2-pro\",\n \"openai/gpt-5.2-pro-2025-12-11\",\n \"openai/gpt-5.3-chat-latest\",\n \"openai/gpt-5.3-codex\",\n \"openai/o3\",\n \"openai/o3-mini\",\n \"openai/o4-mini\"\n ],\n \"docUrl\": \"https://docs.netlify.com/build/ai-gateway/overview/\"\n }\n },\n \"models\": {\n \"evroc\": [\n \"KBLab/kb-whisper-large\",\n \"Qwen/Qwen3-30B-A3B-Instruct-2507-FP8\",\n \"Qwen/Qwen3-Embedding-8B\",\n \"Qwen/Qwen3-VL-30B-A3B-Instruct\",\n \"intfloat/multilingual-e5-large-instruct\",\n \"microsoft/Phi-4-multimodal-instruct\",\n \"mistralai/Magistral-Small-2509\",\n \"mistralai/Voxtral-Small-24B-2507\",\n \"mistralai/devstral-small-2-24b-instruct-2512\",\n \"moonshotai/Kimi-K2.5\",\n \"nvidia/Llama-3.3-70B-Instruct-FP8\",\n \"openai/gpt-oss-120b\",\n \"openai/whisper-large-v3\"\n ],\n \"zai\": [\n \"glm-4.5\",\n \"glm-4.5-air\",\n \"glm-4.5-flash\",\n \"glm-4.5v\",\n \"glm-4.6\",\n \"glm-4.6v\",\n \"glm-4.7\",\n \"glm-4.7-flash\",\n \"glm-5\"\n ],\n \"zenmux\": [\n \"anthropic/claude-3.5-haiku\",\n \"anthropic/claude-3.5-sonnet\",\n \"anthropic/claude-3.7-sonnet\",\n \"anthropic/claude-haiku-4.5\",\n \"anthropic/claude-opus-4\",\n \"anthropic/claude-opus-4.1\",\n \"anthropic/claude-opus-4.5\",\n \"anthropic/claude-opus-4.6\",\n \"anthropic/claude-sonnet-4\",\n \"anthropic/claude-sonnet-4.5\",\n \"anthropic/claude-sonnet-4.6\",\n \"baidu/ernie-5.0-thinking-preview\",\n \"deepseek/deepseek-chat\",\n \"deepseek/deepseek-v3.2\",\n \"deepseek/deepseek-v3.2-exp\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-flash-lite\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-3-flash-preview\",\n \"google/gemini-3-pro-preview\",\n \"inclusionai/ling-1t\",\n \"inclusionai/ring-1t\",\n \"kuaishou/kat-coder-pro-v1\",\n \"kuaishou/kat-coder-pro-v1-free\",\n \"minimax/minimax-m2\",\n \"minimax/minimax-m2.1\",\n \"minimax/minimax-m2.5\",\n \"minimax/minimax-m2.5-lightning\",\n \"moonshotai/kimi-k2-0905\",\n \"moonshotai/kimi-k2-thinking\",\n \"moonshotai/kimi-k2-thinking-turbo\",\n \"moonshotai/kimi-k2.5\",\n \"openai/gpt-5\",\n \"openai/gpt-5-codex\",\n \"openai/gpt-5.1\",\n \"openai/gpt-5.1-chat\",\n \"openai/gpt-5.1-codex\",\n \"openai/gpt-5.1-codex-mini\",\n \"openai/gpt-5.2\",\n \"openai/gpt-5.2-codex\",\n \"qwen/qwen3-coder-plus\",\n \"qwen/qwen3-max\",\n \"stepfun/step-3\",\n \"stepfun/step-3.5-flash\",\n \"stepfun/step-3.5-flash-free\",\n \"volcengine/doubao-seed-1.8\",\n \"volcengine/doubao-seed-2.0-lite\",\n \"volcengine/doubao-seed-2.0-mini\",\n \"volcengine/doubao-seed-2.0-pro\",\n \"volcengine/doubao-seed-code\",\n \"x-ai/grok-4\",\n \"x-ai/grok-4-fast\",\n \"x-ai/grok-4.1-fast\",\n \"x-ai/grok-4.1-fast-non-reasoning\",\n \"x-ai/grok-code-fast-1\",\n \"xiaomi/mimo-v2-flash\",\n \"xiaomi/mimo-v2-flash-free\",\n \"z-ai/glm-4.5\",\n \"z-ai/glm-4.5-air\",\n \"z-ai/glm-4.6\",\n \"z-ai/glm-4.6v\",\n \"z-ai/glm-4.6v-flash\",\n \"z-ai/glm-4.6v-flash-free\",\n \"z-ai/glm-4.7\",\n \"z-ai/glm-4.7-flash-free\",\n \"z-ai/glm-4.7-flashx\",\n \"z-ai/glm-5\"\n ],\n \"io-net\": [\n \"Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar\",\n \"Qwen/Qwen2.5-VL-32B-Instruct\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n \"deepseek-ai/DeepSeek-R1-0528\",\n \"meta-llama/Llama-3.2-90B-Vision-Instruct\",\n \"meta-llama/Llama-3.3-70B-Instruct\",\n \"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8\",\n \"mistralai/Devstral-Small-2505\",\n \"mistralai/Magistral-Small-2506\",\n \"mistralai/Mistral-Large-Instruct-2411\",\n \"mistralai/Mistral-Nemo-Instruct-2407\",\n \"moonshotai/Kimi-K2-Instruct-0905\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"zai-org/GLM-4.6\"\n ],\n \"nvidia\": [\n \"black-forest-labs/flux.1-dev\",\n \"deepseek-ai/deepseek-coder-6.7b-instruct\",\n \"deepseek-ai/deepseek-r1\",\n \"deepseek-ai/deepseek-r1-0528\",\n \"deepseek-ai/deepseek-v3.1\",\n \"deepseek-ai/deepseek-v3.1-terminus\",\n \"deepseek-ai/deepseek-v3.2\",\n \"google/codegemma-1.1-7b\",\n \"google/codegemma-7b\",\n \"google/gemma-2-27b-it\",\n \"google/gemma-2-2b-it\",\n \"google/gemma-3-12b-it\",\n \"google/gemma-3-1b-it\",\n \"google/gemma-3-27b-it\",\n \"google/gemma-3n-e2b-it\",\n \"google/gemma-3n-e4b-it\",\n \"meta/codellama-70b\",\n \"meta/llama-3.1-405b-instruct\",\n \"meta/llama-3.1-70b-instruct\",\n \"meta/llama-3.2-11b-vision-instruct\",\n \"meta/llama-3.2-1b-instruct\",\n \"meta/llama-3.3-70b-instruct\",\n \"meta/llama-4-maverick-17b-128e-instruct\",\n \"meta/llama-4-scout-17b-16e-instruct\",\n \"meta/llama3-70b-instruct\",\n \"meta/llama3-8b-instruct\",\n \"microsoft/phi-3-medium-128k-instruct\",\n \"microsoft/phi-3-medium-4k-instruct\",\n \"microsoft/phi-3-small-128k-instruct\",\n \"microsoft/phi-3-small-8k-instruct\",\n \"microsoft/phi-3-vision-128k-instruct\",\n \"microsoft/phi-3.5-moe-instruct\",\n \"microsoft/phi-3.5-vision-instruct\",\n \"microsoft/phi-4-mini-instruct\",\n \"minimaxai/minimax-m2\",\n \"minimaxai/minimax-m2.1\",\n \"mistralai/codestral-22b-instruct-v0.1\",\n \"mistralai/devstral-2-123b-instruct-2512\",\n \"mistralai/mamba-codestral-7b-v0.1\",\n \"mistralai/ministral-14b-instruct-2512\",\n \"mistralai/mistral-large-2-instruct\",\n \"mistralai/mistral-large-3-675b-instruct-2512\",\n \"mistralai/mistral-small-3.1-24b-instruct-2503\",\n \"moonshotai/kimi-k2-instruct\",\n \"moonshotai/kimi-k2-instruct-0905\",\n \"moonshotai/kimi-k2-thinking\",\n \"moonshotai/kimi-k2.5\",\n \"nvidia/cosmos-nemotron-34b\",\n \"nvidia/llama-3.1-nemotron-51b-instruct\",\n \"nvidia/llama-3.1-nemotron-70b-instruct\",\n \"nvidia/llama-3.1-nemotron-ultra-253b-v1\",\n \"nvidia/llama-3.3-nemotron-super-49b-v1\",\n \"nvidia/llama-3.3-nemotron-super-49b-v1.5\",\n \"nvidia/llama-embed-nemotron-8b\",\n \"nvidia/llama3-chatqa-1.5-70b\",\n \"nvidia/nemoretriever-ocr-v1\",\n \"nvidia/nemotron-3-nano-30b-a3b\",\n \"nvidia/nemotron-4-340b-instruct\",\n \"nvidia/nvidia-nemotron-nano-9b-v2\",\n \"nvidia/parakeet-tdt-0.6b-v2\",\n \"openai/gpt-oss-120b\",\n \"openai/whisper-large-v3\",\n \"qwen/qwen2.5-coder-32b-instruct\",\n \"qwen/qwen2.5-coder-7b-instruct\",\n \"qwen/qwen3-235b-a22b\",\n \"qwen/qwen3-coder-480b-a35b-instruct\",\n \"qwen/qwen3-next-80b-a3b-instruct\",\n \"qwen/qwen3-next-80b-a3b-thinking\",\n \"qwen/qwq-32b\",\n \"z-ai/glm4.7\",\n \"z-ai/glm5\"\n ],\n \"fastrouter\": [\n \"anthropic/claude-opus-4.1\",\n \"anthropic/claude-sonnet-4\",\n \"deepseek-ai/deepseek-r1-distill-llama-70b\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-pro\",\n \"moonshotai/kimi-k2\",\n \"openai/gpt-4.1\",\n \"openai/gpt-5\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5-nano\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"qwen/qwen3-coder\",\n \"x-ai/grok-4\"\n ],\n \"iflowcn\": [\n \"deepseek-r1\",\n \"deepseek-v3\",\n \"deepseek-v3.2\",\n \"glm-4.6\",\n \"kimi-k2\",\n \"kimi-k2-0905\",\n \"qwen3-235b\",\n \"qwen3-235b-a22b-instruct\",\n \"qwen3-235b-a22b-thinking-2507\",\n \"qwen3-32b\",\n \"qwen3-coder-plus\",\n \"qwen3-max\",\n \"qwen3-max-preview\",\n \"qwen3-vl-plus\"\n ],\n \"modelscope\": [\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-30B-A3B-Instruct-2507\",\n \"Qwen/Qwen3-30B-A3B-Thinking-2507\",\n \"Qwen/Qwen3-Coder-30B-A3B-Instruct\",\n \"ZhipuAI/GLM-4.5\",\n \"ZhipuAI/GLM-4.6\"\n ],\n \"llama\": [\n \"cerebras-llama-4-maverick-17b-128e-instruct\",\n \"cerebras-llama-4-scout-17b-16e-instruct\",\n \"groq-llama-4-maverick-17b-128e-instruct\",\n \"llama-3.3-70b-instruct\",\n \"llama-3.3-8b-instruct\",\n \"llama-4-maverick-17b-128e-instruct-fp8\",\n \"llama-4-scout-17b-16e-instruct-fp8\"\n ],\n \"inference\": [\n \"google/gemma-3\",\n \"meta/llama-3.1-8b-instruct\",\n \"meta/llama-3.2-11b-vision-instruct\",\n \"meta/llama-3.2-1b-instruct\",\n \"meta/llama-3.2-3b-instruct\",\n \"mistral/mistral-nemo-12b-instruct\",\n \"osmosis/osmosis-structure-0.6b\",\n \"qwen/qwen-2.5-7b-vision-instruct\",\n \"qwen/qwen3-embedding-4b\"\n ],\n \"deepinfra\": [\n \"MiniMaxAI/MiniMax-M2\",\n \"MiniMaxAI/MiniMax-M2.1\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo\",\n \"anthropic/claude-3-7-sonnet-latest\",\n \"anthropic/claude-4-opus\",\n \"deepseek-ai/DeepSeek-R1-0528\",\n \"deepseek-ai/DeepSeek-V3.2\",\n \"moonshotai/Kimi-K2-Instruct\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"moonshotai/Kimi-K2.5\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"zai-org/GLM-4.7\",\n \"zai-org/GLM-4.7-Flash\"\n ],\n \"perplexity-agent\": [\n \"anthropic/claude-haiku-4-5\",\n \"anthropic/claude-opus-4-5\",\n \"anthropic/claude-opus-4-6\",\n \"anthropic/claude-sonnet-4-5\",\n \"anthropic/claude-sonnet-4-6\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-3-flash-preview\",\n \"google/gemini-3-pro-preview\",\n \"google/gemini-3.1-pro-preview\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5.1\",\n \"openai/gpt-5.2\",\n \"perplexity/sonar\",\n \"xai/grok-4-1-fast-non-reasoning\"\n ],\n \"xiaomi\": [\"mimo-v2-flash\"],\n \"synthetic\": [\n \"hf:MiniMaxAI/MiniMax-M2\",\n \"hf:MiniMaxAI/MiniMax-M2.1\",\n \"hf:Qwen/Qwen2.5-Coder-32B-Instruct\",\n \"hf:Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"hf:Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"hf:Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n \"hf:deepseek-ai/DeepSeek-R1\",\n \"hf:deepseek-ai/DeepSeek-R1-0528\",\n \"hf:deepseek-ai/DeepSeek-V3\",\n \"hf:deepseek-ai/DeepSeek-V3-0324\",\n \"hf:deepseek-ai/DeepSeek-V3.1\",\n \"hf:deepseek-ai/DeepSeek-V3.1-Terminus\",\n \"hf:deepseek-ai/DeepSeek-V3.2\",\n \"hf:meta-llama/Llama-3.1-405B-Instruct\",\n \"hf:meta-llama/Llama-3.1-70B-Instruct\",\n \"hf:meta-llama/Llama-3.1-8B-Instruct\",\n \"hf:meta-llama/Llama-3.3-70B-Instruct\",\n \"hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8\",\n \"hf:meta-llama/Llama-4-Scout-17B-16E-Instruct\",\n \"hf:moonshotai/Kimi-K2-Instruct-0905\",\n \"hf:moonshotai/Kimi-K2-Thinking\",\n \"hf:moonshotai/Kimi-K2.5\",\n \"hf:nvidia/Kimi-K2.5-NVFP4\",\n \"hf:openai/gpt-oss-120b\",\n \"hf:zai-org/GLM-4.6\",\n \"hf:zai-org/GLM-4.7\"\n ],\n \"nebius\": [\n \"BAAI/bge-en-icl\",\n \"BAAI/bge-multilingual-gemma2\",\n \"MiniMaxAI/minimax-m2.1\",\n \"NousResearch/hermes-4-405b\",\n \"NousResearch/hermes-4-70b\",\n \"PrimeIntellect/intellect-3\",\n \"black-forest-labs/flux-dev\",\n \"black-forest-labs/flux-schnell\",\n \"deepseek-ai/deepseek-r1-0528\",\n \"deepseek-ai/deepseek-r1-0528-fast\",\n \"deepseek-ai/deepseek-v3-0324\",\n \"deepseek-ai/deepseek-v3-0324-fast\",\n \"deepseek-ai/deepseek-v3.2\",\n \"google/gemma-2-2b-it\",\n \"google/gemma-2-9b-it-fast\",\n \"google/gemma-3-27b-it\",\n \"google/gemma-3-27b-it-fast\",\n \"intfloat/e5-mistral-7b-instruct\",\n \"meta-llama/Llama-3.3-70B-Instruct\",\n \"meta-llama/llama-3.3-70b-instruct-fast\",\n \"meta-llama/llama-guard-3-8b\",\n \"meta-llama/meta-llama-3.1-8b-instruct\",\n \"meta-llama/meta-llama-3.1-8b-instruct-fast\",\n \"moonshotai/Kimi-K2.5\",\n \"moonshotai/kimi-k2-instruct\",\n \"moonshotai/kimi-k2-thinking\",\n \"nvidia/llama-3_1-nemotron-ultra-253b-v1\",\n \"nvidia/nemotron-nano-v2-12b\",\n \"nvidia/nvidia-nemotron-3-nano-30b-a3b\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"qwen/qwen2.5-coder-7b-fast\",\n \"qwen/qwen2.5-vl-72b-instruct\",\n \"qwen/qwen3-235b-a22b-instruct-2507\",\n \"qwen/qwen3-235b-a22b-thinking-2507\",\n \"qwen/qwen3-30b-a3b-instruct-2507\",\n \"qwen/qwen3-30b-a3b-thinking-2507\",\n \"qwen/qwen3-32b\",\n \"qwen/qwen3-32b-fast\",\n \"qwen/qwen3-coder-30b-a3b-instruct\",\n \"qwen/qwen3-coder-480b-a35b-instruct\",\n \"qwen/qwen3-embedding-8b\",\n \"qwen/qwen3-next-80b-a3b-thinking\",\n \"zai-org/glm-4.5\",\n \"zai-org/glm-4.5-air\",\n \"zai-org/glm-4.7-fp8\"\n ],\n \"qiniu-ai\": [\n \"MiniMax-M1\",\n \"claude-3.5-haiku\",\n \"claude-3.5-sonnet\",\n \"claude-3.7-sonnet\",\n \"claude-4.0-opus\",\n \"claude-4.0-sonnet\",\n \"claude-4.1-opus\",\n \"claude-4.5-haiku\",\n \"claude-4.5-opus\",\n \"claude-4.5-sonnet\",\n \"deepseek-r1\",\n \"deepseek-r1-0528\",\n \"deepseek-v3\",\n \"deepseek-v3-0324\",\n \"deepseek-v3.1\",\n \"deepseek/deepseek-math-v2\",\n \"deepseek/deepseek-v3.1-terminus\",\n \"deepseek/deepseek-v3.1-terminus-thinking\",\n \"deepseek/deepseek-v3.2-251201\",\n \"deepseek/deepseek-v3.2-exp\",\n \"deepseek/deepseek-v3.2-exp-thinking\",\n \"doubao-1.5-pro-32k\",\n \"doubao-1.5-thinking-pro\",\n \"doubao-1.5-vision-pro\",\n \"doubao-seed-1.6\",\n \"doubao-seed-1.6-flash\",\n \"doubao-seed-1.6-thinking\",\n \"gemini-2.0-flash\",\n \"gemini-2.0-flash-lite\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-flash-image\",\n \"gemini-2.5-flash-lite\",\n \"gemini-2.5-pro\",\n \"gemini-3.0-flash-preview\",\n \"gemini-3.0-pro-image-preview\",\n \"gemini-3.0-pro-preview\",\n \"glm-4.5\",\n \"glm-4.5-air\",\n \"gpt-oss-120b\",\n \"gpt-oss-20b\",\n \"kimi-k2\",\n \"kling-v2-6\",\n \"meituan/longcat-flash-chat\",\n \"mimo-v2-flash\",\n \"minimax/minimax-m2\",\n \"minimax/minimax-m2.1\",\n \"moonshotai/kimi-k2-0905\",\n \"moonshotai/kimi-k2-thinking\",\n \"openai/gpt-5\",\n \"openai/gpt-5.2\",\n \"qwen-max-2025-01-25\",\n \"qwen-turbo\",\n \"qwen-vl-max-2025-01-25\",\n \"qwen2.5-vl-72b-instruct\",\n \"qwen2.5-vl-7b-instruct\",\n \"qwen3-235b-a22b\",\n \"qwen3-235b-a22b-instruct-2507\",\n \"qwen3-235b-a22b-thinking-2507\",\n \"qwen3-30b-a3b\",\n \"qwen3-32b\",\n \"qwen3-coder-480b-a35b-instruct\",\n \"qwen3-max\",\n \"qwen3-max-preview\",\n \"qwen3-next-80b-a3b-instruct\",\n \"qwen3-next-80b-a3b-thinking\",\n \"stepfun-ai/gelab-zero-4b-preview\",\n \"x-ai/grok-4-fast\",\n \"x-ai/grok-4-fast-non-reasoning\",\n \"x-ai/grok-4-fast-reasoning\",\n \"x-ai/grok-4.1-fast\",\n \"x-ai/grok-4.1-fast-non-reasoning\",\n \"x-ai/grok-4.1-fast-reasoning\",\n \"x-ai/grok-code-fast-1\",\n \"z-ai/autoglm-phone-9b\",\n \"z-ai/glm-4.6\",\n \"z-ai/glm-4.7\"\n ],\n \"ollama-cloud\": [\n \"cogito-2.1:671b\",\n \"deepseek-v3.1:671b\",\n \"deepseek-v3.2\",\n \"devstral-2:123b\",\n \"devstral-small-2:24b\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-preview\",\n \"gemma3:12b\",\n \"gemma3:27b\",\n \"gemma3:4b\",\n \"glm-4.6\",\n \"glm-4.7\",\n \"glm-5\",\n \"gpt-oss:120b\",\n \"gpt-oss:20b\",\n \"kimi-k2-thinking\",\n \"kimi-k2.5\",\n \"kimi-k2:1t\",\n \"minimax-m2\",\n \"minimax-m2.1\",\n \"minimax-m2.5\",\n \"ministral-3:14b\",\n \"ministral-3:3b\",\n \"ministral-3:8b\",\n \"mistral-large-3:675b\",\n \"nemotron-3-nano:30b\",\n \"qwen3-coder-next\",\n \"qwen3-coder:480b\",\n \"qwen3-next:80b\",\n \"qwen3-vl:235b\",\n \"qwen3-vl:235b-instruct\",\n \"qwen3.5:397b\",\n \"rnj-1:8b\"\n ],\n \"scaleway\": [\n \"bge-multilingual-gemma2\",\n \"deepseek-r1-distill-llama-70b\",\n \"devstral-2-123b-instruct-2512\",\n \"gemma-3-27b-it\",\n \"gpt-oss-120b\",\n \"llama-3.1-8b-instruct\",\n \"llama-3.3-70b-instruct\",\n \"mistral-nemo-instruct-2407\",\n \"mistral-small-3.2-24b-instruct-2506\",\n \"pixtral-12b-2409\",\n \"qwen3-235b-a22b-instruct-2507\",\n \"qwen3-coder-30b-a3b-instruct\",\n \"voxtral-small-24b-2507\",\n \"whisper-large-v3\"\n ],\n \"kuae-cloud-coding-plan\": [\"GLM-4.7\"],\n \"upstage\": [\"solar-mini\", \"solar-pro2\", \"solar-pro3\"],\n \"inception\": [\"mercury\", \"mercury-coder\"],\n \"submodel\": [\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8\",\n \"deepseek-ai/DeepSeek-R1-0528\",\n \"deepseek-ai/DeepSeek-V3-0324\",\n \"deepseek-ai/DeepSeek-V3.1\",\n \"openai/gpt-oss-120b\",\n \"zai-org/GLM-4.5-Air\",\n \"zai-org/GLM-4.5-FP8\"\n ],\n \"minimax-cn-coding-plan\": [\"MiniMax-M2\", \"MiniMax-M2.1\", \"MiniMax-M2.5\", \"MiniMax-M2.5-highspeed\"],\n \"novita-ai\": [\n \"baichuan/baichuan-m2-32b\",\n \"baidu/ernie-4.5-21B-a3b\",\n \"baidu/ernie-4.5-21B-a3b-thinking\",\n \"baidu/ernie-4.5-300b-a47b-paddle\",\n \"baidu/ernie-4.5-vl-28b-a3b\",\n \"baidu/ernie-4.5-vl-28b-a3b-thinking\",\n \"baidu/ernie-4.5-vl-424b-a47b\",\n \"deepseek/deepseek-ocr\",\n \"deepseek/deepseek-ocr-2\",\n \"deepseek/deepseek-prover-v2-671b\",\n \"deepseek/deepseek-r1-0528\",\n \"deepseek/deepseek-r1-0528-qwen3-8b\",\n \"deepseek/deepseek-r1-distill-llama-70b\",\n \"deepseek/deepseek-r1-turbo\",\n \"deepseek/deepseek-v3-0324\",\n \"deepseek/deepseek-v3-turbo\",\n \"deepseek/deepseek-v3.1\",\n \"deepseek/deepseek-v3.1-terminus\",\n \"deepseek/deepseek-v3.2\",\n \"deepseek/deepseek-v3.2-exp\",\n \"google/gemma-3-27b-it\",\n \"gryphe/mythomax-l2-13b\",\n \"kwaipilot/kat-coder\",\n \"kwaipilot/kat-coder-pro\",\n \"meta-llama/llama-3-70b-instruct\",\n \"meta-llama/llama-3-8b-instruct\",\n \"meta-llama/llama-3.1-8b-instruct\",\n \"meta-llama/llama-3.3-70b-instruct\",\n \"meta-llama/llama-4-maverick-17b-128e-instruct-fp8\",\n \"meta-llama/llama-4-scout-17b-16e-instruct\",\n \"microsoft/wizardlm-2-8x22b\",\n \"minimax/minimax-m2\",\n \"minimax/minimax-m2.1\",\n \"minimax/minimax-m2.5\",\n \"minimaxai/minimax-m1-80k\",\n \"mistralai/mistral-nemo\",\n \"moonshotai/kimi-k2-0905\",\n \"moonshotai/kimi-k2-instruct\",\n \"moonshotai/kimi-k2-thinking\",\n \"moonshotai/kimi-k2.5\",\n \"nousresearch/hermes-2-pro-llama-3-8b\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"paddlepaddle/paddleocr-vl\",\n \"qwen/qwen-2.5-72b-instruct\",\n \"qwen/qwen-mt-plus\",\n \"qwen/qwen2.5-7b-instruct\",\n \"qwen/qwen2.5-vl-72b-instruct\",\n \"qwen/qwen3-235b-a22b-fp8\",\n \"qwen/qwen3-235b-a22b-instruct-2507\",\n \"qwen/qwen3-235b-a22b-thinking-2507\",\n \"qwen/qwen3-30b-a3b-fp8\",\n \"qwen/qwen3-32b-fp8\",\n \"qwen/qwen3-4b-fp8\",\n \"qwen/qwen3-8b-fp8\",\n \"qwen/qwen3-coder-30b-a3b-instruct\",\n \"qwen/qwen3-coder-480b-a35b-instruct\",\n \"qwen/qwen3-coder-next\",\n \"qwen/qwen3-max\",\n \"qwen/qwen3-next-80b-a3b-instruct\",\n \"qwen/qwen3-next-80b-a3b-thinking\",\n \"qwen/qwen3-omni-30b-a3b-instruct\",\n \"qwen/qwen3-omni-30b-a3b-thinking\",\n \"qwen/qwen3-vl-235b-a22b-instruct\",\n \"qwen/qwen3-vl-235b-a22b-thinking\",\n \"qwen/qwen3-vl-30b-a3b-instruct\",\n \"qwen/qwen3-vl-30b-a3b-thinking\",\n \"qwen/qwen3-vl-8b-instruct\",\n \"qwen/qwen3.5-397b-a17b\",\n \"sao10k/L3-8B-Stheno-v3.2\",\n \"sao10k/l3-70b-euryale-v2.1\",\n \"sao10k/l3-8b-lunaris\",\n \"sao10k/l31-70b-euryale-v2.2\",\n \"skywork/r1v4-lite\",\n \"xiaomimimo/mimo-v2-flash\",\n \"zai-org/autoglm-phone-9b-multilingual\",\n \"zai-org/glm-4.5\",\n \"zai-org/glm-4.5-air\",\n \"zai-org/glm-4.5v\",\n \"zai-org/glm-4.6\",\n \"zai-org/glm-4.6v\",\n \"zai-org/glm-4.7\",\n \"zai-org/glm-4.7-flash\",\n \"zai-org/glm-5\"\n ],\n \"opencode\": [\n \"big-pickle\",\n \"claude-3-5-haiku\",\n \"claude-haiku-4-5\",\n \"claude-opus-4-1\",\n \"claude-opus-4-5\",\n \"claude-opus-4-6\",\n \"claude-sonnet-4\",\n \"claude-sonnet-4-5\",\n \"claude-sonnet-4-6\",\n \"gemini-3-flash\",\n \"gemini-3-pro\",\n \"gemini-3.1-pro\",\n \"glm-4.6\",\n \"glm-4.7\",\n \"glm-5\",\n \"gpt-5\",\n \"gpt-5-codex\",\n \"gpt-5-nano\",\n \"gpt-5.1\",\n \"gpt-5.1-codex\",\n \"gpt-5.1-codex-max\",\n \"gpt-5.1-codex-mini\",\n \"gpt-5.2\",\n \"gpt-5.2-codex\",\n \"gpt-5.3-codex\",\n \"kimi-k2.5\",\n \"minimax-m2.1\",\n \"minimax-m2.5\",\n \"minimax-m2.5-free\",\n \"trinity-large-preview-free\"\n ],\n \"poe\": [\n \"anthropic/claude-haiku-3\",\n \"anthropic/claude-haiku-3.5\",\n \"anthropic/claude-haiku-4.5\",\n \"anthropic/claude-opus-4\",\n \"anthropic/claude-opus-4.1\",\n \"anthropic/claude-opus-4.5\",\n \"anthropic/claude-opus-4.6\",\n \"anthropic/claude-sonnet-3.5\",\n \"anthropic/claude-sonnet-3.5-june\",\n \"anthropic/claude-sonnet-3.7\",\n \"anthropic/claude-sonnet-4\",\n \"anthropic/claude-sonnet-4.5\",\n \"anthropic/claude-sonnet-4.6\",\n \"cerebras/gpt-oss-120b-cs\",\n \"cerebras/llama-3.1-8b-cs\",\n \"cerebras/llama-3.3-70b-cs\",\n \"cerebras/qwen3-235b-2507-cs\",\n \"cerebras/qwen3-32b-cs\",\n \"elevenlabs/elevenlabs-music\",\n \"elevenlabs/elevenlabs-v2.5-turbo\",\n \"elevenlabs/elevenlabs-v3\",\n \"google/gemini-2.0-flash\",\n \"google/gemini-2.0-flash-lite\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-flash-lite\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-3-flash\",\n \"google/gemini-3-pro\",\n \"google/gemini-deep-research\",\n \"google/imagen-3\",\n \"google/imagen-3-fast\",\n \"google/imagen-4\",\n \"google/imagen-4-fast\",\n \"google/imagen-4-ultra\",\n \"google/lyria\",\n \"google/nano-banana\",\n \"google/nano-banana-pro\",\n \"google/veo-2\",\n \"google/veo-3\",\n \"google/veo-3-fast\",\n \"google/veo-3.1\",\n \"google/veo-3.1-fast\",\n \"ideogramai/ideogram\",\n \"ideogramai/ideogram-v2\",\n \"ideogramai/ideogram-v2a\",\n \"ideogramai/ideogram-v2a-turbo\",\n \"lumalabs/ray2\",\n \"novita/glm-4.6\",\n \"novita/glm-4.6v\",\n \"novita/glm-4.7\",\n \"novita/glm-4.7-flash\",\n \"novita/glm-4.7-n\",\n \"novita/kimi-k2-thinking\",\n \"novita/kimi-k2.5\",\n \"novita/minimax-m2.1\",\n \"openai/chatgpt-4o-latest\",\n \"openai/dall-e-3\",\n \"openai/gpt-3.5-turbo\",\n \"openai/gpt-3.5-turbo-instruct\",\n \"openai/gpt-3.5-turbo-raw\",\n \"openai/gpt-4-classic\",\n \"openai/gpt-4-classic-0314\",\n \"openai/gpt-4-turbo\",\n \"openai/gpt-4.1\",\n \"openai/gpt-4.1-mini\",\n \"openai/gpt-4.1-nano\",\n \"openai/gpt-4o\",\n \"openai/gpt-4o-aug\",\n \"openai/gpt-4o-mini\",\n \"openai/gpt-4o-mini-search\",\n \"openai/gpt-4o-search\",\n \"openai/gpt-5\",\n \"openai/gpt-5-chat\",\n \"openai/gpt-5-codex\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5-nano\",\n \"openai/gpt-5-pro\",\n \"openai/gpt-5.1\",\n \"openai/gpt-5.1-codex\",\n \"openai/gpt-5.1-codex-max\",\n \"openai/gpt-5.1-codex-mini\",\n \"openai/gpt-5.1-instant\",\n \"openai/gpt-5.2\",\n \"openai/gpt-5.2-codex\",\n \"openai/gpt-5.2-instant\",\n \"openai/gpt-5.2-pro\",\n \"openai/gpt-image-1\",\n \"openai/gpt-image-1-mini\",\n \"openai/gpt-image-1.5\",\n \"openai/o1\",\n \"openai/o1-pro\",\n \"openai/o3\",\n \"openai/o3-deep-research\",\n \"openai/o3-mini\",\n \"openai/o3-mini-high\",\n \"openai/o3-pro\",\n \"openai/o4-mini\",\n \"openai/o4-mini-deep-research\",\n \"openai/sora-2\",\n \"openai/sora-2-pro\",\n \"poetools/claude-code\",\n \"runwayml/runway\",\n \"runwayml/runway-gen-4-turbo\",\n \"stabilityai/stablediffusionxl\",\n \"topazlabs-co/topazlabs\",\n \"trytako/tako\",\n \"xai/grok-3\",\n \"xai/grok-3-mini\",\n \"xai/grok-4\",\n \"xai/grok-4-fast-non-reasoning\",\n \"xai/grok-4-fast-reasoning\",\n \"xai/grok-4.1-fast-non-reasoning\",\n \"xai/grok-4.1-fast-reasoning\",\n \"xai/grok-code-fast-1\"\n ],\n \"minimax-cn\": [\"MiniMax-M2\", \"MiniMax-M2.1\", \"MiniMax-M2.5\", \"MiniMax-M2.5-highspeed\"],\n \"bailing\": [\"Ling-1T\", \"Ring-1T\"],\n \"alibaba\": [\n \"qvq-max\",\n \"qwen-flash\",\n \"qwen-max\",\n \"qwen-mt-plus\",\n \"qwen-mt-turbo\",\n \"qwen-omni-turbo\",\n \"qwen-omni-turbo-realtime\",\n \"qwen-plus\",\n \"qwen-plus-character-ja\",\n \"qwen-turbo\",\n \"qwen-vl-max\",\n \"qwen-vl-ocr\",\n \"qwen-vl-plus\",\n \"qwen2-5-14b-instruct\",\n \"qwen2-5-32b-instruct\",\n \"qwen2-5-72b-instruct\",\n \"qwen2-5-7b-instruct\",\n \"qwen2-5-omni-7b\",\n \"qwen2-5-vl-72b-instruct\",\n \"qwen2-5-vl-7b-instruct\",\n \"qwen3-14b\",\n \"qwen3-235b-a22b\",\n \"qwen3-32b\",\n \"qwen3-8b\",\n \"qwen3-asr-flash\",\n \"qwen3-coder-30b-a3b-instruct\",\n \"qwen3-coder-480b-a35b-instruct\",\n \"qwen3-coder-flash\",\n \"qwen3-coder-plus\",\n \"qwen3-livetranslate-flash-realtime\",\n \"qwen3-max\",\n \"qwen3-next-80b-a3b-instruct\",\n \"qwen3-next-80b-a3b-thinking\",\n \"qwen3-omni-flash\",\n \"qwen3-omni-flash-realtime\",\n \"qwen3-vl-235b-a22b\",\n \"qwen3-vl-30b-a3b\",\n \"qwen3-vl-plus\",\n \"qwen3.5-397b-a17b\",\n \"qwen3.5-plus\",\n \"qwq-plus\"\n ],\n \"cloudflare-workers-ai\": [\n \"@cf/ai4bharat/indictrans2-en-indic-1B\",\n \"@cf/aisingapore/gemma-sea-lion-v4-27b-it\",\n \"@cf/baai/bge-base-en-v1.5\",\n \"@cf/baai/bge-large-en-v1.5\",\n \"@cf/baai/bge-m3\",\n \"@cf/baai/bge-reranker-base\",\n \"@cf/baai/bge-small-en-v1.5\",\n \"@cf/deepgram/aura-2-en\",\n \"@cf/deepgram/aura-2-es\",\n \"@cf/deepgram/nova-3\",\n \"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b\",\n \"@cf/facebook/bart-large-cnn\",\n \"@cf/google/gemma-3-12b-it\",\n \"@cf/huggingface/distilbert-sst-2-int8\",\n \"@cf/ibm-granite/granite-4.0-h-micro\",\n \"@cf/meta/llama-2-7b-chat-fp16\",\n \"@cf/meta/llama-3-8b-instruct\",\n \"@cf/meta/llama-3-8b-instruct-awq\",\n \"@cf/meta/llama-3.1-8b-instruct\",\n \"@cf/meta/llama-3.1-8b-instruct-awq\",\n \"@cf/meta/llama-3.1-8b-instruct-fp8\",\n \"@cf/meta/llama-3.2-11b-vision-instruct\",\n \"@cf/meta/llama-3.2-1b-instruct\",\n \"@cf/meta/llama-3.2-3b-instruct\",\n \"@cf/meta/llama-3.3-70b-instruct-fp8-fast\",\n \"@cf/meta/llama-4-scout-17b-16e-instruct\",\n \"@cf/meta/llama-guard-3-8b\",\n \"@cf/meta/m2m100-1.2b\",\n \"@cf/mistral/mistral-7b-instruct-v0.1\",\n \"@cf/mistralai/mistral-small-3.1-24b-instruct\",\n \"@cf/myshell-ai/melotts\",\n \"@cf/openai/gpt-oss-120b\",\n \"@cf/openai/gpt-oss-20b\",\n \"@cf/pfnet/plamo-embedding-1b\",\n \"@cf/pipecat-ai/smart-turn-v2\",\n \"@cf/qwen/qwen2.5-coder-32b-instruct\",\n \"@cf/qwen/qwen3-30b-a3b-fp8\",\n \"@cf/qwen/qwen3-embedding-0.6b\",\n \"@cf/qwen/qwq-32b\"\n ],\n \"groq\": [\n \"llama-3.1-8b-instant\",\n \"llama-3.3-70b-versatile\",\n \"meta-llama/llama-4-maverick-17b-128e-instruct\",\n \"meta-llama/llama-4-scout-17b-16e-instruct\",\n \"meta-llama/llama-guard-4-12b\",\n \"moonshotai/kimi-k2-instruct-0905\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"qwen/qwen3-32b\"\n ],\n \"wandb\": [\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n \"deepseek-ai/DeepSeek-R1-0528\",\n \"deepseek-ai/DeepSeek-V3-0324\",\n \"meta-llama/Llama-3.1-8B-Instruct\",\n \"meta-llama/Llama-3.3-70B-Instruct\",\n \"meta-llama/Llama-4-Scout-17B-16E-Instruct\",\n \"microsoft/Phi-4-mini-instruct\",\n \"moonshotai/Kimi-K2-Instruct\"\n ],\n \"aihubmix\": [\n \"Kimi-K2-0905\",\n \"claude-haiku-4-5\",\n \"claude-opus-4-1\",\n \"claude-opus-4-5\",\n \"claude-opus-4-6\",\n \"claude-opus-4-6-think\",\n \"claude-sonnet-4-5\",\n \"claude-sonnet-4-6\",\n \"claude-sonnet-4-6-think\",\n \"coding-glm-4.7\",\n \"coding-glm-4.7-free\",\n \"coding-minimax-m2.1-free\",\n \"deepseek-v3.2\",\n \"deepseek-v3.2-fast\",\n \"deepseek-v3.2-think\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-pro\",\n \"gemini-3-pro-preview\",\n \"gemini-3-pro-preview-search\",\n \"glm-4.6v\",\n \"glm-4.7\",\n \"gpt-4.1\",\n \"gpt-4.1-mini\",\n \"gpt-4.1-nano\",\n \"gpt-4o\",\n \"gpt-5\",\n \"gpt-5-codex\",\n \"gpt-5-mini\",\n \"gpt-5-nano\",\n \"gpt-5-pro\",\n \"gpt-5.1\",\n \"gpt-5.1-codex\",\n \"gpt-5.1-codex-max\",\n \"gpt-5.1-codex-mini\",\n \"gpt-5.2\",\n \"gpt-5.2-codex\",\n \"kimi-k2.5\",\n \"minimax-m2.1\",\n \"o4-mini\",\n \"qwen3-235b-a22b-instruct-2507\",\n \"qwen3-235b-a22b-thinking-2507\",\n \"qwen3-coder-480b-a35b-instruct\",\n \"qwen3-max-2026-01-23\"\n ],\n \"minimax-coding-plan\": [\"MiniMax-M2\", \"MiniMax-M2.1\", \"MiniMax-M2.5\", \"MiniMax-M2.5-highspeed\"],\n \"kimi-for-coding\": [\"k2p5\", \"kimi-k2-thinking\"],\n \"mistral\": [\n \"codestral-latest\",\n \"devstral-2512\",\n \"devstral-medium-2507\",\n \"devstral-medium-latest\",\n \"devstral-small-2505\",\n \"devstral-small-2507\",\n \"labs-devstral-small-2512\",\n \"magistral-medium-latest\",\n \"magistral-small\",\n \"ministral-3b-latest\",\n \"ministral-8b-latest\",\n \"mistral-embed\",\n \"mistral-large-2411\",\n \"mistral-large-2512\",\n \"mistral-large-latest\",\n \"mistral-medium-2505\",\n \"mistral-medium-2508\",\n \"mistral-medium-latest\",\n \"mistral-nemo\",\n \"mistral-small-2506\",\n \"mistral-small-latest\",\n \"open-mistral-7b\",\n \"open-mixtral-8x22b\",\n \"open-mixtral-8x7b\",\n \"pixtral-12b\",\n \"pixtral-large-latest\"\n ],\n \"abacus\": [\n \"Qwen/QwQ-32B\",\n \"Qwen/Qwen2.5-72B-Instruct\",\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"Qwen/Qwen3-32B\",\n \"Qwen/qwen3-coder-480b-a35b-instruct\",\n \"claude-3-7-sonnet-20250219\",\n \"claude-haiku-4-5-20251001\",\n \"claude-opus-4-1-20250805\",\n \"claude-opus-4-20250514\",\n \"claude-opus-4-5-20251101\",\n \"claude-sonnet-4-20250514\",\n \"claude-sonnet-4-5-20250929\",\n \"deepseek-ai/DeepSeek-R1\",\n \"deepseek-ai/DeepSeek-V3.1-Terminus\",\n \"deepseek-ai/DeepSeek-V3.2\",\n \"deepseek/deepseek-v3.1\",\n \"gemini-2.0-flash-001\",\n \"gemini-2.0-pro-exp-02-05\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-pro\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-preview\",\n \"gpt-4.1\",\n \"gpt-4.1-mini\",\n \"gpt-4.1-nano\",\n \"gpt-4o-2024-11-20\",\n \"gpt-4o-mini\",\n \"gpt-5\",\n \"gpt-5-mini\",\n \"gpt-5-nano\",\n \"gpt-5.1\",\n \"gpt-5.1-chat-latest\",\n \"gpt-5.2\",\n \"gpt-5.2-chat-latest\",\n \"grok-4-0709\",\n \"grok-4-1-fast-non-reasoning\",\n \"grok-4-fast-non-reasoning\",\n \"grok-code-fast-1\",\n \"kimi-k2-turbo-preview\",\n \"llama-3.3-70b-versatile\",\n \"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8\",\n \"meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo\",\n \"meta-llama/Meta-Llama-3.1-70B-Instruct\",\n \"meta-llama/Meta-Llama-3.1-8B-Instruct\",\n \"o3\",\n \"o3-mini\",\n \"o3-pro\",\n \"o4-mini\",\n \"openai/gpt-oss-120b\",\n \"qwen-2.5-coder-32b\",\n \"qwen3-max\",\n \"route-llm\",\n \"zai-org/glm-4.5\",\n \"zai-org/glm-4.6\",\n \"zai-org/glm-4.7\"\n ],\n \"fireworks-ai\": [\n \"accounts/fireworks/models/deepseek-v3p1\",\n \"accounts/fireworks/models/deepseek-v3p2\",\n \"accounts/fireworks/models/glm-4p5\",\n \"accounts/fireworks/models/glm-4p5-air\",\n \"accounts/fireworks/models/glm-4p7\",\n \"accounts/fireworks/models/glm-5\",\n \"accounts/fireworks/models/gpt-oss-120b\",\n \"accounts/fireworks/models/gpt-oss-20b\",\n \"accounts/fireworks/models/kimi-k2-instruct\",\n \"accounts/fireworks/models/kimi-k2-thinking\",\n \"accounts/fireworks/models/kimi-k2p5\",\n \"accounts/fireworks/models/minimax-m2p1\",\n \"accounts/fireworks/models/minimax-m2p5\"\n ],\n \"stepfun\": [\"step-1-32k\", \"step-2-16k\", \"step-3.5-flash\"],\n \"siliconflow\": [\n \"ByteDance-Seed/Seed-OSS-36B-Instruct\",\n \"MiniMaxAI/MiniMax-M2.1\",\n \"Qwen/QwQ-32B\",\n \"Qwen/Qwen2.5-14B-Instruct\",\n \"Qwen/Qwen2.5-32B-Instruct\",\n \"Qwen/Qwen2.5-72B-Instruct\",\n \"Qwen/Qwen2.5-72B-Instruct-128K\",\n \"Qwen/Qwen2.5-7B-Instruct\",\n \"Qwen/Qwen2.5-Coder-32B-Instruct\",\n \"Qwen/Qwen2.5-VL-32B-Instruct\",\n \"Qwen/Qwen2.5-VL-72B-Instruct\",\n \"Qwen/Qwen2.5-VL-7B-Instruct\",\n \"Qwen/Qwen3-14B\",\n \"Qwen/Qwen3-235B-A22B\",\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-30B-A3B-Instruct-2507\",\n \"Qwen/Qwen3-30B-A3B-Thinking-2507\",\n \"Qwen/Qwen3-32B\",\n \"Qwen/Qwen3-8B\",\n \"Qwen/Qwen3-Coder-30B-A3B-Instruct\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n \"Qwen/Qwen3-Next-80B-A3B-Thinking\",\n \"Qwen/Qwen3-Omni-30B-A3B-Captioner\",\n \"Qwen/Qwen3-Omni-30B-A3B-Instruct\",\n \"Qwen/Qwen3-Omni-30B-A3B-Thinking\",\n \"Qwen/Qwen3-VL-235B-A22B-Instruct\",\n \"Qwen/Qwen3-VL-235B-A22B-Thinking\",\n \"Qwen/Qwen3-VL-30B-A3B-Instruct\",\n \"Qwen/Qwen3-VL-30B-A3B-Thinking\",\n \"Qwen/Qwen3-VL-32B-Instruct\",\n \"Qwen/Qwen3-VL-32B-Thinking\",\n \"Qwen/Qwen3-VL-8B-Instruct\",\n \"Qwen/Qwen3-VL-8B-Thinking\",\n \"THUDM/GLM-4-32B-0414\",\n \"THUDM/GLM-4-9B-0414\",\n \"THUDM/GLM-Z1-32B-0414\",\n \"THUDM/GLM-Z1-9B-0414\",\n \"baidu/ERNIE-4.5-300B-A47B\",\n \"deepseek-ai/DeepSeek-R1\",\n \"deepseek-ai/DeepSeek-R1-Distill-Qwen-14B\",\n \"deepseek-ai/DeepSeek-R1-Distill-Qwen-32B\",\n \"deepseek-ai/DeepSeek-V3\",\n \"deepseek-ai/DeepSeek-V3.1\",\n \"deepseek-ai/DeepSeek-V3.1-Terminus\",\n \"deepseek-ai/DeepSeek-V3.2\",\n \"deepseek-ai/DeepSeek-V3.2-Exp\",\n \"deepseek-ai/deepseek-vl2\",\n \"inclusionAI/Ling-flash-2.0\",\n \"inclusionAI/Ling-mini-2.0\",\n \"inclusionAI/Ring-flash-2.0\",\n \"meta-llama/Meta-Llama-3.1-8B-Instruct\",\n \"moonshotai/Kimi-K2-Instruct\",\n \"moonshotai/Kimi-K2-Instruct-0905\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"moonshotai/Kimi-K2.5\",\n \"nex-agi/DeepSeek-V3.1-Nex-N1\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"stepfun-ai/Step-3.5-Flash\",\n \"tencent/Hunyuan-A13B-Instruct\",\n \"tencent/Hunyuan-MT-7B\",\n \"zai-org/GLM-4.5\",\n \"zai-org/GLM-4.5-Air\",\n \"zai-org/GLM-4.5V\",\n \"zai-org/GLM-4.6\",\n \"zai-org/GLM-4.6V\",\n \"zai-org/GLM-4.7\",\n \"zai-org/GLM-5\"\n ],\n \"togetherai\": [\n \"MiniMaxAI/MiniMax-M2.5\",\n \"Qwen/Qwen3-235B-A22B-Instruct-2507-tput\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8\",\n \"Qwen/Qwen3-Coder-Next-FP8\",\n \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n \"Qwen/Qwen3.5-397B-A17B\",\n \"deepseek-ai/DeepSeek-R1\",\n \"deepseek-ai/DeepSeek-V3\",\n \"deepseek-ai/DeepSeek-V3-1\",\n \"essentialai/Rnj-1-Instruct\",\n \"meta-llama/Llama-3.3-70B-Instruct-Turbo\",\n \"moonshotai/Kimi-K2-Instruct\",\n \"moonshotai/Kimi-K2-Instruct-0905\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"moonshotai/Kimi-K2.5\",\n \"openai/gpt-oss-120b\",\n \"zai-org/GLM-4.6\",\n \"zai-org/GLM-4.7\",\n \"zai-org/GLM-5\"\n ],\n \"berget\": [\n \"BAAI/bge-reranker-v2-m3\",\n \"KBLab/kb-whisper-large\",\n \"intfloat/multilingual-e5-large\",\n \"intfloat/multilingual-e5-large-instruct\",\n \"meta-llama/Llama-3.3-70B-Instruct\",\n \"mistralai/Mistral-Small-3.2-24B-Instruct-2506\",\n \"openai/gpt-oss-120b\",\n \"zai-org/GLM-4.7\"\n ],\n \"lucidquery\": [\"lucidnova-rf1-100b\", \"lucidquery-nexus-coder\"],\n \"zhipuai-coding-plan\": [\n \"glm-4.5\",\n \"glm-4.5-air\",\n \"glm-4.5-flash\",\n \"glm-4.5v\",\n \"glm-4.6\",\n \"glm-4.6v\",\n \"glm-4.6v-flash\",\n \"glm-4.7\",\n \"glm-5\"\n ],\n \"deepseek\": [\"deepseek-chat\", \"deepseek-reasoner\"],\n \"lmstudio\": [\"openai/gpt-oss-20b\", \"qwen/qwen3-30b-a3b-2507\", \"qwen/qwen3-coder-30b\"],\n \"openrouter\": [\n \"allenai/molmo-2-8b:free\",\n \"anthropic/claude-3.5-haiku\",\n \"anthropic/claude-3.7-sonnet\",\n \"anthropic/claude-haiku-4.5\",\n \"anthropic/claude-opus-4\",\n \"anthropic/claude-opus-4.1\",\n \"anthropic/claude-opus-4.5\",\n \"anthropic/claude-opus-4.6\",\n \"anthropic/claude-sonnet-4\",\n \"anthropic/claude-sonnet-4.5\",\n \"anthropic/claude-sonnet-4.6\",\n \"arcee-ai/trinity-large-preview:free\",\n \"arcee-ai/trinity-mini:free\",\n \"black-forest-labs/flux.2-flex\",\n \"black-forest-labs/flux.2-klein-4b\",\n \"black-forest-labs/flux.2-max\",\n \"black-forest-labs/flux.2-pro\",\n \"bytedance-seed/seedream-4.5\",\n \"cognitivecomputations/dolphin-mistral-24b-venice-edition:free\",\n \"cognitivecomputations/dolphin3.0-mistral-24b\",\n \"cognitivecomputations/dolphin3.0-r1-mistral-24b\",\n \"deepseek/deepseek-chat-v3-0324\",\n \"deepseek/deepseek-chat-v3.1\",\n \"deepseek/deepseek-r1-0528-qwen3-8b:free\",\n \"deepseek/deepseek-r1-0528:free\",\n \"deepseek/deepseek-r1-distill-llama-70b\",\n \"deepseek/deepseek-r1-distill-qwen-14b\",\n \"deepseek/deepseek-r1:free\",\n \"deepseek/deepseek-v3-base:free\",\n \"deepseek/deepseek-v3.1-terminus\",\n \"deepseek/deepseek-v3.1-terminus:exacto\",\n \"deepseek/deepseek-v3.2\",\n \"deepseek/deepseek-v3.2-speciale\",\n \"featherless/qwerky-72b\",\n \"google/gemini-2.0-flash-001\",\n \"google/gemini-2.0-flash-exp:free\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-flash-lite\",\n \"google/gemini-2.5-flash-lite-preview-09-2025\",\n \"google/gemini-2.5-flash-preview-09-2025\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-2.5-pro-preview-05-06\",\n \"google/gemini-2.5-pro-preview-06-05\",\n \"google/gemini-3-flash-preview\",\n \"google/gemini-3-pro-preview\",\n \"google/gemini-3.1-pro-preview\",\n \"google/gemini-3.1-pro-preview-customtools\",\n \"google/gemma-2-9b-it\",\n \"google/gemma-3-12b-it\",\n \"google/gemma-3-12b-it:free\",\n \"google/gemma-3-27b-it\",\n \"google/gemma-3-27b-it:free\",\n \"google/gemma-3-4b-it\",\n \"google/gemma-3-4b-it:free\",\n \"google/gemma-3n-e2b-it:free\",\n \"google/gemma-3n-e4b-it\",\n \"google/gemma-3n-e4b-it:free\",\n \"kwaipilot/kat-coder-pro:free\",\n \"liquid/lfm-2.5-1.2b-instruct:free\",\n \"liquid/lfm-2.5-1.2b-thinking:free\",\n \"meta-llama/llama-3.1-405b-instruct:free\",\n \"meta-llama/llama-3.2-11b-vision-instruct\",\n \"meta-llama/llama-3.2-3b-instruct:free\",\n \"meta-llama/llama-3.3-70b-instruct:free\",\n \"meta-llama/llama-4-scout:free\",\n \"microsoft/mai-ds-r1:free\",\n \"minimax/minimax-01\",\n \"minimax/minimax-m1\",\n \"minimax/minimax-m2\",\n \"minimax/minimax-m2.1\",\n \"minimax/minimax-m2.5\",\n \"mistralai/codestral-2508\",\n \"mistralai/devstral-2512\",\n \"mistralai/devstral-2512:free\",\n \"mistralai/devstral-medium-2507\",\n \"mistralai/devstral-small-2505\",\n \"mistralai/devstral-small-2505:free\",\n \"mistralai/devstral-small-2507\",\n \"mistralai/mistral-7b-instruct:free\",\n \"mistralai/mistral-medium-3\",\n \"mistralai/mistral-medium-3.1\",\n \"mistralai/mistral-nemo:free\",\n \"mistralai/mistral-small-3.1-24b-instruct\",\n \"mistralai/mistral-small-3.2-24b-instruct\",\n \"mistralai/mistral-small-3.2-24b-instruct:free\",\n \"moonshotai/kimi-dev-72b:free\",\n \"moonshotai/kimi-k2\",\n \"moonshotai/kimi-k2-0905\",\n \"moonshotai/kimi-k2-0905:exacto\",\n \"moonshotai/kimi-k2-thinking\",\n \"moonshotai/kimi-k2.5\",\n \"moonshotai/kimi-k2:free\",\n \"nousresearch/deephermes-3-llama-3-8b-preview\",\n \"nousresearch/hermes-3-llama-3.1-405b:free\",\n \"nousresearch/hermes-4-405b\",\n \"nousresearch/hermes-4-70b\",\n \"nvidia/nemotron-3-nano-30b-a3b:free\",\n \"nvidia/nemotron-nano-12b-v2-vl:free\",\n \"nvidia/nemotron-nano-9b-v2\",\n \"nvidia/nemotron-nano-9b-v2:free\",\n \"openai/gpt-4.1\",\n \"openai/gpt-4.1-mini\",\n \"openai/gpt-4o-mini\",\n \"openai/gpt-5\",\n \"openai/gpt-5-chat\",\n \"openai/gpt-5-codex\",\n \"openai/gpt-5-image\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5-nano\",\n \"openai/gpt-5-pro\",\n \"openai/gpt-5.1\",\n \"openai/gpt-5.1-chat\",\n \"openai/gpt-5.1-codex\",\n \"openai/gpt-5.1-codex-max\",\n \"openai/gpt-5.1-codex-mini\",\n \"openai/gpt-5.2\",\n \"openai/gpt-5.2-chat\",\n \"openai/gpt-5.2-codex\",\n \"openai/gpt-5.2-pro\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-120b:exacto\",\n \"openai/gpt-oss-120b:free\",\n \"openai/gpt-oss-20b\",\n \"openai/gpt-oss-20b:free\",\n \"openai/gpt-oss-safeguard-20b\",\n \"openai/o4-mini\",\n \"openrouter/aurora-alpha\",\n \"openrouter/sherlock-dash-alpha\",\n \"openrouter/sherlock-think-alpha\",\n \"prime-intellect/intellect-3\",\n \"qwen/qwen-2.5-coder-32b-instruct\",\n \"qwen/qwen-2.5-vl-7b-instruct:free\",\n \"qwen/qwen2.5-vl-32b-instruct:free\",\n \"qwen/qwen2.5-vl-72b-instruct\",\n \"qwen/qwen2.5-vl-72b-instruct:free\",\n \"qwen/qwen3-14b:free\",\n \"qwen/qwen3-235b-a22b-07-25\",\n \"qwen/qwen3-235b-a22b-07-25:free\",\n \"qwen/qwen3-235b-a22b-thinking-2507\",\n \"qwen/qwen3-235b-a22b:free\",\n \"qwen/qwen3-30b-a3b-instruct-2507\",\n \"qwen/qwen3-30b-a3b-thinking-2507\",\n \"qwen/qwen3-30b-a3b:free\",\n \"qwen/qwen3-32b:free\",\n \"qwen/qwen3-4b:free\",\n \"qwen/qwen3-8b:free\",\n \"qwen/qwen3-coder\",\n \"qwen/qwen3-coder-30b-a3b-instruct\",\n \"qwen/qwen3-coder-flash\",\n \"qwen/qwen3-coder:exacto\",\n \"qwen/qwen3-coder:free\",\n \"qwen/qwen3-max\",\n \"qwen/qwen3-next-80b-a3b-instruct\",\n \"qwen/qwen3-next-80b-a3b-instruct:free\",\n \"qwen/qwen3-next-80b-a3b-thinking\",\n \"qwen/qwen3.5-397b-a17b\",\n \"qwen/qwen3.5-plus-02-15\",\n \"qwen/qwq-32b:free\",\n \"rekaai/reka-flash-3\",\n \"sarvamai/sarvam-m:free\",\n \"sourceful/riverflow-v2-fast-preview\",\n \"sourceful/riverflow-v2-max-preview\",\n \"sourceful/riverflow-v2-standard-preview\",\n \"stepfun/step-3.5-flash\",\n \"stepfun/step-3.5-flash:free\",\n \"thudm/glm-z1-32b:free\",\n \"tngtech/deepseek-r1t2-chimera:free\",\n \"tngtech/tng-r1t-chimera:free\",\n \"x-ai/grok-3\",\n \"x-ai/grok-3-beta\",\n \"x-ai/grok-3-mini\",\n \"x-ai/grok-3-mini-beta\",\n \"x-ai/grok-4\",\n \"x-ai/grok-4-fast\",\n \"x-ai/grok-4.1-fast\",\n \"x-ai/grok-code-fast-1\",\n \"xiaomi/mimo-v2-flash\",\n \"z-ai/glm-4.5\",\n \"z-ai/glm-4.5-air\",\n \"z-ai/glm-4.5-air:free\",\n \"z-ai/glm-4.5v\",\n \"z-ai/glm-4.6\",\n \"z-ai/glm-4.6:exacto\",\n \"z-ai/glm-4.7\",\n \"z-ai/glm-4.7-flash\",\n \"z-ai/glm-5\"\n ],\n \"github-models\": [\n \"ai21-labs/ai21-jamba-1.5-large\",\n \"ai21-labs/ai21-jamba-1.5-mini\",\n \"cohere/cohere-command-a\",\n \"cohere/cohere-command-r\",\n \"cohere/cohere-command-r-08-2024\",\n \"cohere/cohere-command-r-plus\",\n \"cohere/cohere-command-r-plus-08-2024\",\n \"core42/jais-30b-chat\",\n \"deepseek/deepseek-r1\",\n \"deepseek/deepseek-r1-0528\",\n \"deepseek/deepseek-v3-0324\",\n \"meta/llama-3.2-11b-vision-instruct\",\n \"meta/llama-3.2-90b-vision-instruct\",\n \"meta/llama-3.3-70b-instruct\",\n \"meta/llama-4-maverick-17b-128e-instruct-fp8\",\n \"meta/llama-4-scout-17b-16e-instruct\",\n \"meta/meta-llama-3-70b-instruct\",\n \"meta/meta-llama-3-8b-instruct\",\n \"meta/meta-llama-3.1-405b-instruct\",\n \"meta/meta-llama-3.1-70b-instruct\",\n \"meta/meta-llama-3.1-8b-instruct\",\n \"microsoft/mai-ds-r1\",\n \"microsoft/phi-3-medium-128k-instruct\",\n \"microsoft/phi-3-medium-4k-instruct\",\n \"microsoft/phi-3-mini-128k-instruct\",\n \"microsoft/phi-3-mini-4k-instruct\",\n \"microsoft/phi-3-small-128k-instruct\",\n \"microsoft/phi-3-small-8k-instruct\",\n \"microsoft/phi-3.5-mini-instruct\",\n \"microsoft/phi-3.5-moe-instruct\",\n \"microsoft/phi-3.5-vision-instruct\",\n \"microsoft/phi-4\",\n \"microsoft/phi-4-mini-instruct\",\n \"microsoft/phi-4-mini-reasoning\",\n \"microsoft/phi-4-multimodal-instruct\",\n \"microsoft/phi-4-reasoning\",\n \"mistral-ai/codestral-2501\",\n \"mistral-ai/ministral-3b\",\n \"mistral-ai/mistral-large-2411\",\n \"mistral-ai/mistral-medium-2505\",\n \"mistral-ai/mistral-nemo\",\n \"mistral-ai/mistral-small-2503\",\n \"openai/gpt-4.1\",\n \"openai/gpt-4.1-mini\",\n \"openai/gpt-4.1-nano\",\n \"openai/gpt-4o\",\n \"openai/gpt-4o-mini\",\n \"openai/o1\",\n \"openai/o1-mini\",\n \"openai/o1-preview\",\n \"openai/o3\",\n \"openai/o3-mini\",\n \"openai/o4-mini\",\n \"xai/grok-3\",\n \"xai/grok-3-mini\"\n ],\n \"302ai\": [\n \"MiniMax-M1\",\n \"MiniMax-M2\",\n \"MiniMax-M2.1\",\n \"chatgpt-4o-latest\",\n \"claude-haiku-4-5-20251001\",\n \"claude-opus-4-1-20250805\",\n \"claude-opus-4-1-20250805-thinking\",\n \"claude-opus-4-5-20251101\",\n \"claude-opus-4-5-20251101-thinking\",\n \"claude-sonnet-4-5-20250929\",\n \"claude-sonnet-4-5-20250929-thinking\",\n \"deepseek-chat\",\n \"deepseek-reasoner\",\n \"deepseek-v3.2\",\n \"deepseek-v3.2-thinking\",\n \"doubao-seed-1-6-thinking-250715\",\n \"doubao-seed-1-6-vision-250815\",\n \"doubao-seed-1-8-251215\",\n \"doubao-seed-code-preview-251028\",\n \"gemini-2.0-flash-lite\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-flash-image\",\n \"gemini-2.5-flash-lite-preview-09-2025\",\n \"gemini-2.5-flash-nothink\",\n \"gemini-2.5-flash-preview-09-2025\",\n \"gemini-2.5-pro\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-image-preview\",\n \"gemini-3-pro-preview\",\n \"glm-4.5\",\n \"glm-4.5v\",\n \"glm-4.6\",\n \"glm-4.6v\",\n \"glm-4.7\",\n \"gpt-4.1\",\n \"gpt-4.1-mini\",\n \"gpt-4.1-nano\",\n \"gpt-4o\",\n \"gpt-5\",\n \"gpt-5-mini\",\n \"gpt-5-pro\",\n \"gpt-5-thinking\",\n \"gpt-5.1\",\n \"gpt-5.1-chat-latest\",\n \"gpt-5.2\",\n \"gpt-5.2-chat-latest\",\n \"grok-4-1-fast-non-reasoning\",\n \"grok-4-1-fast-reasoning\",\n \"grok-4-fast-non-reasoning\",\n \"grok-4-fast-reasoning\",\n \"grok-4.1\",\n \"kimi-k2-0905-preview\",\n \"kimi-k2-thinking\",\n \"kimi-k2-thinking-turbo\",\n \"ministral-14b-2512\",\n \"mistral-large-2512\",\n \"qwen-flash\",\n \"qwen-max-latest\",\n \"qwen-plus\",\n \"qwen3-235b-a22b\",\n \"qwen3-235b-a22b-instruct-2507\",\n \"qwen3-30b-a3b\",\n \"qwen3-coder-480b-a35b-instruct\",\n \"qwen3-max-2025-09-23\"\n ],\n \"moonshotai\": [\n \"kimi-k2-0711-preview\",\n \"kimi-k2-0905-preview\",\n \"kimi-k2-thinking\",\n \"kimi-k2-thinking-turbo\",\n \"kimi-k2-turbo-preview\",\n \"kimi-k2.5\"\n ],\n \"privatemode-ai\": [\"gemma-3-27b\", \"gpt-oss-120b\", \"qwen3-coder-30b-a3b\", \"qwen3-embedding-4b\", \"whisper-large-v3\"],\n \"google\": [\n \"gemini-1.5-flash\",\n \"gemini-1.5-flash-8b\",\n \"gemini-1.5-pro\",\n \"gemini-2.0-flash\",\n \"gemini-2.0-flash-lite\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-flash-image\",\n \"gemini-2.5-flash-image-preview\",\n \"gemini-2.5-flash-lite\",\n \"gemini-2.5-flash-lite-preview-06-17\",\n \"gemini-2.5-flash-lite-preview-09-2025\",\n \"gemini-2.5-flash-preview-04-17\",\n \"gemini-2.5-flash-preview-05-20\",\n \"gemini-2.5-flash-preview-09-2025\",\n \"gemini-2.5-flash-preview-tts\",\n \"gemini-2.5-pro\",\n \"gemini-2.5-pro-preview-05-06\",\n \"gemini-2.5-pro-preview-06-05\",\n \"gemini-2.5-pro-preview-tts\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-preview\",\n \"gemini-3.1-pro-preview\",\n \"gemini-3.1-pro-preview-customtools\",\n \"gemini-embedding-001\",\n \"gemini-flash-latest\",\n \"gemini-flash-lite-latest\",\n \"gemini-live-2.5-flash\",\n \"gemini-live-2.5-flash-preview-native-audio\"\n ],\n \"vivgrid\": [\n \"deepseek-v3.2\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-preview\",\n \"glm-5\",\n \"gpt-5-mini\",\n \"gpt-5.1-codex\",\n \"gpt-5.1-codex-max\",\n \"gpt-5.2-codex\"\n ],\n \"moonshotai-cn\": [\n \"kimi-k2-0711-preview\",\n \"kimi-k2-0905-preview\",\n \"kimi-k2-thinking\",\n \"kimi-k2-thinking-turbo\",\n \"kimi-k2-turbo-preview\",\n \"kimi-k2.5\"\n ],\n \"zhipuai\": [\n \"glm-4.5\",\n \"glm-4.5-air\",\n \"glm-4.5-flash\",\n \"glm-4.5v\",\n \"glm-4.6\",\n \"glm-4.6v\",\n \"glm-4.7\",\n \"glm-4.7-flash\",\n \"glm-5\"\n ],\n \"nova\": [\"nova-2-lite-v1\", \"nova-2-pro-v1\"],\n \"zai-coding-plan\": [\n \"glm-4.5\",\n \"glm-4.5-air\",\n \"glm-4.5-flash\",\n \"glm-4.5v\",\n \"glm-4.6\",\n \"glm-4.6v\",\n \"glm-4.7\",\n \"glm-4.7-flash\",\n \"glm-4.7-flashx\",\n \"glm-5\"\n ],\n \"opencode-go\": [\"glm-5\", \"kimi-k2.5\", \"minimax-m2.5\"],\n \"firmware\": [\n \"claude-haiku-4-5\",\n \"claude-opus-4-5\",\n \"claude-opus-4-6\",\n \"claude-sonnet-4-5\",\n \"claude-sonnet-4-6\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-pro\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-preview\",\n \"gpt-4o\",\n \"gpt-5\",\n \"gpt-5-mini\",\n \"gpt-5-nano\",\n \"gpt-5.2\",\n \"gpt-oss-120b\",\n \"gpt-oss-20b\"\n ],\n \"ovhcloud\": [\n \"deepseek-r1-distill-llama-70b\",\n \"gpt-oss-120b\",\n \"gpt-oss-20b\",\n \"llama-3.1-8b-instruct\",\n \"meta-llama-3_3-70b-instruct\",\n \"mistral-7b-instruct-v0.3\",\n \"mistral-nemo-instruct-2407\",\n \"mistral-small-3.2-24b-instruct-2506\",\n \"mixtral-8x7b-instruct-v0.1\",\n \"qwen2.5-coder-32b-instruct\",\n \"qwen2.5-vl-72b-instruct\",\n \"qwen3-32b\",\n \"qwen3-coder-30b-a3b-instruct\"\n ],\n \"stackit\": [\n \"Qwen/Qwen3-VL-235B-A22B-Instruct-FP8\",\n \"Qwen/Qwen3-VL-Embedding-8B\",\n \"cortecs/Llama-3.3-70B-Instruct-FP8-Dynamic\",\n \"google/gemma-3-27b-it\",\n \"intfloat/e5-mistral-7b-instruct\",\n \"neuralmagic/Meta-Llama-3.1-8B-Instruct-FP8\",\n \"neuralmagic/Mistral-Nemo-Instruct-2407-FP8\",\n \"openai/gpt-oss-120b\"\n ],\n \"cloudferro-sherlock\": [\n \"meta-llama/Llama-3.3-70B-Instruct\",\n \"openai/gpt-oss-120b\",\n \"speakleash/Bielik-11B-v2.6-Instruct\",\n \"speakleash/Bielik-11B-v3.0-Instruct\"\n ],\n \"requesty\": [\n \"anthropic/claude-3-7-sonnet\",\n \"anthropic/claude-haiku-4-5\",\n \"anthropic/claude-opus-4\",\n \"anthropic/claude-opus-4-1\",\n \"anthropic/claude-opus-4-5\",\n \"anthropic/claude-sonnet-4\",\n \"anthropic/claude-sonnet-4-5\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-3-flash-preview\",\n \"google/gemini-3-pro-preview\",\n \"openai/gpt-4.1\",\n \"openai/gpt-4.1-mini\",\n \"openai/gpt-4o-mini\",\n \"openai/gpt-5\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5-nano\",\n \"openai/o4-mini\",\n \"xai/grok-4\",\n \"xai/grok-4-fast\"\n ],\n \"qihang-ai\": [\n \"claude-haiku-4-5-20251001\",\n \"claude-opus-4-5-20251101\",\n \"claude-sonnet-4-5-20250929\",\n \"gemini-2.5-flash\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-preview\",\n \"gpt-5-mini\",\n \"gpt-5.2\",\n \"gpt-5.2-codex\"\n ],\n \"siliconflow-cn\": [\n \"ByteDance-Seed/Seed-OSS-36B-Instruct\",\n \"Kwaipilot/KAT-Dev\",\n \"PaddlePaddle/PaddleOCR-VL\",\n \"PaddlePaddle/PaddleOCR-VL-1.5\",\n \"Pro/MiniMaxAI/MiniMax-M2.1\",\n \"Pro/MiniMaxAI/MiniMax-M2.5\",\n \"Pro/deepseek-ai/DeepSeek-R1\",\n \"Pro/deepseek-ai/DeepSeek-V3\",\n \"Pro/deepseek-ai/DeepSeek-V3.1-Terminus\",\n \"Pro/deepseek-ai/DeepSeek-V3.2\",\n \"Pro/moonshotai/Kimi-K2-Instruct-0905\",\n \"Pro/moonshotai/Kimi-K2-Thinking\",\n \"Pro/moonshotai/Kimi-K2.5\",\n \"Pro/zai-org/GLM-4.7\",\n \"Pro/zai-org/GLM-5\",\n \"Qwen/QwQ-32B\",\n \"Qwen/Qwen2.5-14B-Instruct\",\n \"Qwen/Qwen2.5-32B-Instruct\",\n \"Qwen/Qwen2.5-72B-Instruct\",\n \"Qwen/Qwen2.5-72B-Instruct-128K\",\n \"Qwen/Qwen2.5-7B-Instruct\",\n \"Qwen/Qwen2.5-Coder-32B-Instruct\",\n \"Qwen/Qwen2.5-VL-32B-Instruct\",\n \"Qwen/Qwen2.5-VL-72B-Instruct\",\n \"Qwen/Qwen3-14B\",\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-30B-A3B-Instruct-2507\",\n \"Qwen/Qwen3-30B-A3B-Thinking-2507\",\n \"Qwen/Qwen3-32B\",\n \"Qwen/Qwen3-8B\",\n \"Qwen/Qwen3-Coder-30B-A3B-Instruct\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n \"Qwen/Qwen3-Next-80B-A3B-Thinking\",\n \"Qwen/Qwen3-Omni-30B-A3B-Captioner\",\n \"Qwen/Qwen3-Omni-30B-A3B-Instruct\",\n \"Qwen/Qwen3-Omni-30B-A3B-Thinking\",\n \"Qwen/Qwen3-VL-235B-A22B-Instruct\",\n \"Qwen/Qwen3-VL-235B-A22B-Thinking\",\n \"Qwen/Qwen3-VL-30B-A3B-Instruct\",\n \"Qwen/Qwen3-VL-30B-A3B-Thinking\",\n \"Qwen/Qwen3-VL-32B-Instruct\",\n \"Qwen/Qwen3-VL-32B-Thinking\",\n \"Qwen/Qwen3-VL-8B-Instruct\",\n \"Qwen/Qwen3-VL-8B-Thinking\",\n \"THUDM/GLM-4-32B-0414\",\n \"THUDM/GLM-4-9B-0414\",\n \"THUDM/GLM-Z1-32B-0414\",\n \"THUDM/GLM-Z1-9B-0414\",\n \"ascend-tribe/pangu-pro-moe\",\n \"baidu/ERNIE-4.5-300B-A47B\",\n \"deepseek-ai/DeepSeek-OCR\",\n \"deepseek-ai/DeepSeek-R1\",\n \"deepseek-ai/DeepSeek-R1-Distill-Qwen-14B\",\n \"deepseek-ai/DeepSeek-R1-Distill-Qwen-32B\",\n \"deepseek-ai/DeepSeek-V3\",\n \"deepseek-ai/DeepSeek-V3.1-Terminus\",\n \"deepseek-ai/DeepSeek-V3.2\",\n \"deepseek-ai/deepseek-vl2\",\n \"inclusionAI/Ling-flash-2.0\",\n \"inclusionAI/Ling-mini-2.0\",\n \"inclusionAI/Ring-flash-2.0\",\n \"moonshotai/Kimi-K2-Instruct-0905\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"stepfun-ai/Step-3.5-Flash\",\n \"tencent/Hunyuan-A13B-Instruct\",\n \"tencent/Hunyuan-MT-7B\",\n \"zai-org/GLM-4.5-Air\",\n \"zai-org/GLM-4.5V\",\n \"zai-org/GLM-4.6\",\n \"zai-org/GLM-4.6V\"\n ],\n \"helicone\": [\n \"chatgpt-4o-latest\",\n \"claude-3-haiku-20240307\",\n \"claude-3.5-haiku\",\n \"claude-3.5-sonnet-v2\",\n \"claude-3.7-sonnet\",\n \"claude-4.5-haiku\",\n \"claude-4.5-opus\",\n \"claude-4.5-sonnet\",\n \"claude-haiku-4-5-20251001\",\n \"claude-opus-4\",\n \"claude-opus-4-1\",\n \"claude-opus-4-1-20250805\",\n \"claude-sonnet-4\",\n \"claude-sonnet-4-5-20250929\",\n \"codex-mini-latest\",\n \"deepseek-r1-distill-llama-70b\",\n \"deepseek-reasoner\",\n \"deepseek-tng-r1t2-chimera\",\n \"deepseek-v3\",\n \"deepseek-v3.1-terminus\",\n \"deepseek-v3.2\",\n \"ernie-4.5-21b-a3b-thinking\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-flash-lite\",\n \"gemini-2.5-pro\",\n \"gemini-3-pro-preview\",\n \"gemma-3-12b-it\",\n \"gemma2-9b-it\",\n \"glm-4.6\",\n \"gpt-4.1\",\n \"gpt-4.1-mini\",\n \"gpt-4.1-mini-2025-04-14\",\n \"gpt-4.1-nano\",\n \"gpt-4o\",\n \"gpt-4o-mini\",\n \"gpt-5\",\n \"gpt-5-chat-latest\",\n \"gpt-5-codex\",\n \"gpt-5-mini\",\n \"gpt-5-nano\",\n \"gpt-5-pro\",\n \"gpt-5.1\",\n \"gpt-5.1-chat-latest\",\n \"gpt-5.1-codex\",\n \"gpt-5.1-codex-mini\",\n \"gpt-oss-120b\",\n \"gpt-oss-20b\",\n \"grok-3\",\n \"grok-3-mini\",\n \"grok-4\",\n \"grok-4-1-fast-non-reasoning\",\n \"grok-4-1-fast-reasoning\",\n \"grok-4-fast-non-reasoning\",\n \"grok-4-fast-reasoning\",\n \"grok-code-fast-1\",\n \"hermes-2-pro-llama-3-8b\",\n \"kimi-k2-0711\",\n \"kimi-k2-0905\",\n \"kimi-k2-thinking\",\n \"llama-3.1-8b-instant\",\n \"llama-3.1-8b-instruct\",\n \"llama-3.1-8b-instruct-turbo\",\n \"llama-3.3-70b-instruct\",\n \"llama-3.3-70b-versatile\",\n \"llama-4-maverick\",\n \"llama-4-scout\",\n \"llama-guard-4\",\n \"llama-prompt-guard-2-22m\",\n \"llama-prompt-guard-2-86m\",\n \"mistral-large-2411\",\n \"mistral-nemo\",\n \"mistral-small\",\n \"o1\",\n \"o1-mini\",\n \"o3\",\n \"o3-mini\",\n \"o3-pro\",\n \"o4-mini\",\n \"qwen2.5-coder-7b-fast\",\n \"qwen3-235b-a22b-thinking\",\n \"qwen3-30b-a3b\",\n \"qwen3-32b\",\n \"qwen3-coder\",\n \"qwen3-coder-30b-a3b-instruct\",\n \"qwen3-next-80b-a3b-instruct\",\n \"qwen3-vl-235b-a22b-instruct\",\n \"sonar\",\n \"sonar-deep-research\",\n \"sonar-pro\",\n \"sonar-reasoning\",\n \"sonar-reasoning-pro\"\n ],\n \"vercel\": [\n \"alibaba/qwen-3-14b\",\n \"alibaba/qwen-3-235b\",\n \"alibaba/qwen-3-30b\",\n \"alibaba/qwen-3-32b\",\n \"alibaba/qwen3-235b-a22b-thinking\",\n \"alibaba/qwen3-coder\",\n \"alibaba/qwen3-coder-30b-a3b\",\n \"alibaba/qwen3-coder-next\",\n \"alibaba/qwen3-coder-plus\",\n \"alibaba/qwen3-embedding-0.6b\",\n \"alibaba/qwen3-embedding-4b\",\n \"alibaba/qwen3-embedding-8b\",\n \"alibaba/qwen3-max\",\n \"alibaba/qwen3-max-preview\",\n \"alibaba/qwen3-max-thinking\",\n \"alibaba/qwen3-next-80b-a3b-instruct\",\n \"alibaba/qwen3-next-80b-a3b-thinking\",\n \"alibaba/qwen3-vl-instruct\",\n \"alibaba/qwen3-vl-thinking\",\n \"alibaba/qwen3.5-flash\",\n \"alibaba/qwen3.5-plus\",\n \"amazon/nova-2-lite\",\n \"amazon/nova-lite\",\n \"amazon/nova-micro\",\n \"amazon/nova-pro\",\n \"amazon/titan-embed-text-v2\",\n \"anthropic/claude-3-haiku\",\n \"anthropic/claude-3-opus\",\n \"anthropic/claude-3.5-haiku\",\n \"anthropic/claude-3.5-sonnet\",\n \"anthropic/claude-3.5-sonnet-20240620\",\n \"anthropic/claude-3.7-sonnet\",\n \"anthropic/claude-haiku-4.5\",\n \"anthropic/claude-opus-4\",\n \"anthropic/claude-opus-4.1\",\n \"anthropic/claude-opus-4.5\",\n \"anthropic/claude-opus-4.6\",\n \"anthropic/claude-sonnet-4\",\n \"anthropic/claude-sonnet-4.5\",\n \"anthropic/claude-sonnet-4.6\",\n \"arcee-ai/trinity-large-preview\",\n \"arcee-ai/trinity-mini\",\n \"bfl/flux-kontext-max\",\n \"bfl/flux-kontext-pro\",\n \"bfl/flux-pro-1.0-fill\",\n \"bfl/flux-pro-1.1\",\n \"bfl/flux-pro-1.1-ultra\",\n \"bytedance/seed-1.6\",\n \"bytedance/seed-1.8\",\n \"cohere/command-a\",\n \"cohere/embed-v4.0\",\n \"deepseek/deepseek-r1\",\n \"deepseek/deepseek-v3\",\n \"deepseek/deepseek-v3.1\",\n \"deepseek/deepseek-v3.1-terminus\",\n \"deepseek/deepseek-v3.2\",\n \"deepseek/deepseek-v3.2-exp\",\n \"deepseek/deepseek-v3.2-thinking\",\n \"google/gemini-2.0-flash\",\n \"google/gemini-2.0-flash-lite\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-flash-image\",\n \"google/gemini-2.5-flash-image-preview\",\n \"google/gemini-2.5-flash-lite\",\n \"google/gemini-2.5-flash-lite-preview-09-2025\",\n \"google/gemini-2.5-flash-preview-09-2025\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-3-flash\",\n \"google/gemini-3-pro-image\",\n \"google/gemini-3-pro-preview\",\n \"google/gemini-3.1-pro-preview\",\n \"google/gemini-embedding-001\",\n \"google/imagen-4.0-fast-generate-001\",\n \"google/imagen-4.0-generate-001\",\n \"google/imagen-4.0-ultra-generate-001\",\n \"google/text-embedding-005\",\n \"google/text-multilingual-embedding-002\",\n \"inception/mercury-coder-small\",\n \"kwaipilot/kat-coder-pro-v1\",\n \"meituan/longcat-flash-chat\",\n \"meituan/longcat-flash-thinking\",\n \"meta/llama-3.1-70b\",\n \"meta/llama-3.1-8b\",\n \"meta/llama-3.2-11b\",\n \"meta/llama-3.2-1b\",\n \"meta/llama-3.2-3b\",\n \"meta/llama-3.2-90b\",\n \"meta/llama-3.3-70b\",\n \"meta/llama-4-maverick\",\n \"meta/llama-4-scout\",\n \"minimax/minimax-m2\",\n \"minimax/minimax-m2.1\",\n \"minimax/minimax-m2.1-lightning\",\n \"minimax/minimax-m2.5\",\n \"mistral/codestral\",\n \"mistral/codestral-embed\",\n \"mistral/devstral-2\",\n \"mistral/devstral-small\",\n \"mistral/devstral-small-2\",\n \"mistral/magistral-medium\",\n \"mistral/magistral-small\",\n \"mistral/ministral-14b\",\n \"mistral/ministral-3b\",\n \"mistral/ministral-8b\",\n \"mistral/mistral-embed\",\n \"mistral/mistral-large-3\",\n \"mistral/mistral-medium\",\n \"mistral/mistral-nemo\",\n \"mistral/mistral-small\",\n \"mistral/mixtral-8x22b-instruct\",\n \"mistral/pixtral-12b\",\n \"mistral/pixtral-large\",\n \"moonshotai/kimi-k2-0905\",\n \"moonshotai/kimi-k2-thinking\",\n \"moonshotai/kimi-k2-thinking-turbo\",\n \"moonshotai/kimi-k2-turbo\",\n \"moonshotai/kimi-k2.5\",\n \"morph/morph-v3-fast\",\n \"morph/morph-v3-large\",\n \"nvidia/nemotron-3-nano-30b-a3b\",\n \"nvidia/nemotron-nano-12b-v2-vl\",\n \"nvidia/nemotron-nano-9b-v2\",\n \"openai/codex-mini\",\n \"openai/gpt-3.5-turbo\",\n \"openai/gpt-3.5-turbo-instruct\",\n \"openai/gpt-4-turbo\",\n \"openai/gpt-4.1\",\n \"openai/gpt-4.1-mini\",\n \"openai/gpt-4.1-nano\",\n \"openai/gpt-4o\",\n \"openai/gpt-4o-mini\",\n \"openai/gpt-4o-mini-search-preview\",\n \"openai/gpt-5\",\n \"openai/gpt-5-chat\",\n \"openai/gpt-5-codex\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5-nano\",\n \"openai/gpt-5-pro\",\n \"openai/gpt-5.1-codex\",\n \"openai/gpt-5.1-codex-max\",\n \"openai/gpt-5.1-codex-mini\",\n \"openai/gpt-5.1-instant\",\n \"openai/gpt-5.1-thinking\",\n \"openai/gpt-5.2\",\n \"openai/gpt-5.2-chat\",\n \"openai/gpt-5.2-codex\",\n \"openai/gpt-5.2-pro\",\n \"openai/gpt-5.3-codex\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-20b\",\n \"openai/gpt-oss-safeguard-20b\",\n \"openai/o1\",\n \"openai/o3\",\n \"openai/o3-deep-research\",\n \"openai/o3-mini\",\n \"openai/o3-pro\",\n \"openai/o4-mini\",\n \"openai/text-embedding-3-large\",\n \"openai/text-embedding-3-small\",\n \"openai/text-embedding-ada-002\",\n \"perplexity/sonar\",\n \"perplexity/sonar-pro\",\n \"perplexity/sonar-reasoning\",\n \"perplexity/sonar-reasoning-pro\",\n \"prime-intellect/intellect-3\",\n \"recraft/recraft-v2\",\n \"recraft/recraft-v3\",\n \"vercel/v0-1.0-md\",\n \"vercel/v0-1.5-md\",\n \"voyage/voyage-3-large\",\n \"voyage/voyage-3.5\",\n \"voyage/voyage-3.5-lite\",\n \"voyage/voyage-code-2\",\n \"voyage/voyage-code-3\",\n \"voyage/voyage-finance-2\",\n \"voyage/voyage-law-2\",\n \"xai/grok-2-vision\",\n \"xai/grok-3\",\n \"xai/grok-3-fast\",\n \"xai/grok-3-mini\",\n \"xai/grok-3-mini-fast\",\n \"xai/grok-4\",\n \"xai/grok-4-fast-non-reasoning\",\n \"xai/grok-4-fast-reasoning\",\n \"xai/grok-4.1-fast-non-reasoning\",\n \"xai/grok-4.1-fast-reasoning\",\n \"xai/grok-code-fast-1\",\n \"xai/grok-imagine-image\",\n \"xai/grok-imagine-image-pro\",\n \"xiaomi/mimo-v2-flash\",\n \"zai/glm-4.5\",\n \"zai/glm-4.5-air\",\n \"zai/glm-4.5v\",\n \"zai/glm-4.6\",\n \"zai/glm-4.6v\",\n \"zai/glm-4.6v-flash\",\n \"zai/glm-4.7\",\n \"zai/glm-4.7-flashx\",\n \"zai/glm-5\"\n ],\n \"openai\": [\n \"codex-mini-latest\",\n \"gpt-3.5-turbo\",\n \"gpt-4\",\n \"gpt-4-turbo\",\n \"gpt-4.1\",\n \"gpt-4.1-mini\",\n \"gpt-4.1-nano\",\n \"gpt-4o\",\n \"gpt-4o-2024-05-13\",\n \"gpt-4o-2024-08-06\",\n \"gpt-4o-2024-11-20\",\n \"gpt-4o-mini\",\n \"gpt-5\",\n \"gpt-5-chat-latest\",\n \"gpt-5-codex\",\n \"gpt-5-mini\",\n \"gpt-5-nano\",\n \"gpt-5-pro\",\n \"gpt-5.1\",\n \"gpt-5.1-chat-latest\",\n \"gpt-5.1-codex\",\n \"gpt-5.1-codex-max\",\n \"gpt-5.1-codex-mini\",\n \"gpt-5.2\",\n \"gpt-5.2-chat-latest\",\n \"gpt-5.2-codex\",\n \"gpt-5.2-pro\",\n \"gpt-5.3-codex\",\n \"gpt-5.3-codex-spark\",\n \"o1\",\n \"o1-mini\",\n \"o1-preview\",\n \"o1-pro\",\n \"o3\",\n \"o3-deep-research\",\n \"o3-mini\",\n \"o3-pro\",\n \"o4-mini\",\n \"o4-mini-deep-research\",\n \"text-embedding-3-large\",\n \"text-embedding-3-small\",\n \"text-embedding-ada-002\"\n ],\n \"moark\": [\"GLM-4.7\", \"MiniMax-M2.1\"],\n \"morph\": [\"auto\", \"morph-v3-fast\", \"morph-v3-large\"],\n \"minimax\": [\"MiniMax-M2\", \"MiniMax-M2.1\", \"MiniMax-M2.5\", \"MiniMax-M2.5-highspeed\"],\n \"vultr\": [\n \"deepseek-r1-distill-llama-70b\",\n \"deepseek-r1-distill-qwen-32b\",\n \"gpt-oss-120b\",\n \"kimi-k2-instruct\",\n \"qwen2.5-coder-32b-instruct\"\n ],\n \"baseten\": [\n \"MiniMaxAI/MiniMax-M2.5\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n \"deepseek-ai/DeepSeek-V3.2\",\n \"moonshotai/Kimi-K2-Instruct-0905\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"moonshotai/Kimi-K2.5\",\n \"zai-org/GLM-4.6\",\n \"zai-org/GLM-4.7\",\n \"zai-org/GLM-5\"\n ],\n \"jiekou\": [\n \"baidu/ernie-4.5-300b-a47b-paddle\",\n \"baidu/ernie-4.5-vl-424b-a47b\",\n \"claude-haiku-4-5-20251001\",\n \"claude-opus-4-1-20250805\",\n \"claude-opus-4-20250514\",\n \"claude-opus-4-5-20251101\",\n \"claude-opus-4-6\",\n \"claude-sonnet-4-20250514\",\n \"claude-sonnet-4-5-20250929\",\n \"deepseek/deepseek-r1-0528\",\n \"deepseek/deepseek-v3-0324\",\n \"deepseek/deepseek-v3.1\",\n \"gemini-2.5-flash\",\n \"gemini-2.5-flash-lite\",\n \"gemini-2.5-flash-lite-preview-06-17\",\n \"gemini-2.5-flash-lite-preview-09-2025\",\n \"gemini-2.5-flash-preview-05-20\",\n \"gemini-2.5-pro\",\n \"gemini-2.5-pro-preview-06-05\",\n \"gemini-3-flash-preview\",\n \"gemini-3-pro-preview\",\n \"gpt-5-chat-latest\",\n \"gpt-5-codex\",\n \"gpt-5-mini\",\n \"gpt-5-nano\",\n \"gpt-5-pro\",\n \"gpt-5.1\",\n \"gpt-5.1-codex\",\n \"gpt-5.1-codex-max\",\n \"gpt-5.1-codex-mini\",\n \"gpt-5.2\",\n \"gpt-5.2-codex\",\n \"gpt-5.2-pro\",\n \"grok-4-0709\",\n \"grok-4-1-fast-non-reasoning\",\n \"grok-4-1-fast-reasoning\",\n \"grok-4-fast-non-reasoning\",\n \"grok-4-fast-reasoning\",\n \"grok-code-fast-1\",\n \"minimax/minimax-m2.1\",\n \"minimaxai/minimax-m1-80k\",\n \"moonshotai/kimi-k2-0905\",\n \"moonshotai/kimi-k2-instruct\",\n \"moonshotai/kimi-k2.5\",\n \"o3\",\n \"o3-mini\",\n \"o4-mini\",\n \"qwen/qwen3-235b-a22b-fp8\",\n \"qwen/qwen3-235b-a22b-instruct-2507\",\n \"qwen/qwen3-235b-a22b-thinking-2507\",\n \"qwen/qwen3-30b-a3b-fp8\",\n \"qwen/qwen3-32b-fp8\",\n \"qwen/qwen3-coder-480b-a35b-instruct\",\n \"qwen/qwen3-coder-next\",\n \"qwen/qwen3-next-80b-a3b-instruct\",\n \"qwen/qwen3-next-80b-a3b-thinking\",\n \"xiaomimimo/mimo-v2-flash\",\n \"zai-org/glm-4.5\",\n \"zai-org/glm-4.5v\",\n \"zai-org/glm-4.7\",\n \"zai-org/glm-4.7-flash\"\n ],\n \"meganova\": [\n \"MiniMaxAI/MiniMax-M2.1\",\n \"MiniMaxAI/MiniMax-M2.5\",\n \"Qwen/Qwen2.5-VL-32B-Instruct\",\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"Qwen/Qwen3.5-Plus\",\n \"XiaomiMiMo/MiMo-V2-Flash\",\n \"deepseek-ai/DeepSeek-R1-0528\",\n \"deepseek-ai/DeepSeek-V3-0324\",\n \"deepseek-ai/DeepSeek-V3.1\",\n \"deepseek-ai/DeepSeek-V3.2\",\n \"deepseek-ai/DeepSeek-V3.2-Exp\",\n \"meta-llama/Llama-3.3-70B-Instruct\",\n \"mistralai/Mistral-Nemo-Instruct-2407\",\n \"mistralai/Mistral-Small-3.2-24B-Instruct-2506\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"moonshotai/Kimi-K2.5\",\n \"zai-org/GLM-4.6\",\n \"zai-org/GLM-4.7\",\n \"zai-org/GLM-5\"\n ],\n \"perplexity\": [\"sonar\", \"sonar-deep-research\", \"sonar-pro\", \"sonar-reasoning-pro\"],\n \"huggingface\": [\n \"MiniMaxAI/MiniMax-M2.1\",\n \"MiniMaxAI/MiniMax-M2.5\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n \"Qwen/Qwen3-Coder-Next\",\n \"Qwen/Qwen3-Embedding-4B\",\n \"Qwen/Qwen3-Embedding-8B\",\n \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n \"Qwen/Qwen3-Next-80B-A3B-Thinking\",\n \"Qwen/Qwen3.5-397B-A17B\",\n \"XiaomiMiMo/MiMo-V2-Flash\",\n \"deepseek-ai/DeepSeek-R1-0528\",\n \"deepseek-ai/DeepSeek-V3.2\",\n \"moonshotai/Kimi-K2-Instruct\",\n \"moonshotai/Kimi-K2-Instruct-0905\",\n \"moonshotai/Kimi-K2-Thinking\",\n \"moonshotai/Kimi-K2.5\",\n \"zai-org/GLM-4.7\",\n \"zai-org/GLM-4.7-Flash\",\n \"zai-org/GLM-5\"\n ],\n \"anthropic\": [\n \"claude-3-5-haiku-20241022\",\n \"claude-3-5-haiku-latest\",\n \"claude-3-5-sonnet-20240620\",\n \"claude-3-5-sonnet-20241022\",\n \"claude-3-7-sonnet-20250219\",\n \"claude-3-7-sonnet-latest\",\n \"claude-3-haiku-20240307\",\n \"claude-3-opus-20240229\",\n \"claude-3-sonnet-20240229\",\n \"claude-haiku-4-5\",\n \"claude-haiku-4-5-20251001\",\n \"claude-opus-4-0\",\n \"claude-opus-4-1\",\n \"claude-opus-4-1-20250805\",\n \"claude-opus-4-20250514\",\n \"claude-opus-4-5\",\n \"claude-opus-4-5-20251101\",\n \"claude-opus-4-6\",\n \"claude-sonnet-4-0\",\n \"claude-sonnet-4-20250514\",\n \"claude-sonnet-4-5\",\n \"claude-sonnet-4-5-20250929\",\n \"claude-sonnet-4-6\"\n ],\n \"friendli\": [\n \"MiniMaxAI/MiniMax-M2.1\",\n \"MiniMaxAI/MiniMax-M2.5\",\n \"Qwen/Qwen3-235B-A22B-Instruct-2507\",\n \"meta-llama/Llama-3.1-8B-Instruct\",\n \"meta-llama/Llama-3.3-70B-Instruct\",\n \"zai-org/GLM-4.7\",\n \"zai-org/GLM-5\"\n ],\n \"kilo\": [\n \"allenai/molmo-2-8b\",\n \"amazon/nova-2-lite-v1\",\n \"amazon/nova-pro-v1\",\n \"anthropic/claude-3-haiku\",\n \"anthropic/claude-3.5-haiku\",\n \"anthropic/claude-3.5-sonnet\",\n \"anthropic/claude-3.7-sonnet\",\n \"anthropic/claude-3.7-sonnet:thinking\",\n \"anthropic/claude-haiku-4.5\",\n \"anthropic/claude-opus-4\",\n \"anthropic/claude-opus-4.1\",\n \"anthropic/claude-opus-4.5\",\n \"anthropic/claude-opus-4.6\",\n \"anthropic/claude-sonnet-4\",\n \"anthropic/claude-sonnet-4.5\",\n \"arcee-ai/trinity-large-preview:free\",\n \"arcee-ai/trinity-mini\",\n \"arcee-ai/trinity-mini:free\",\n \"baidu/ernie-4.5-21b-a3b\",\n \"baidu/ernie-4.5-21b-a3b-thinking\",\n \"baidu/ernie-4.5-300b-a47b\",\n \"baidu/ernie-4.5-vl-28b-a3b\",\n \"baidu/ernie-4.5-vl-424b-a47b\",\n \"bytedance-seed/seed-1.6\",\n \"cognitivecomputations/dolphin-mistral-24b-venice-edition:free\",\n \"cohere/command-a\",\n \"cohere/command-r-08-2024\",\n \"cohere/command-r-plus-08-2024\",\n \"cohere/command-r7b-12-2024\",\n \"deepseek/deepseek-chat\",\n \"deepseek/deepseek-chat-v3-0324\",\n \"deepseek/deepseek-chat-v3.1\",\n \"deepseek/deepseek-r1\",\n \"deepseek/deepseek-r1-0528\",\n \"deepseek/deepseek-r1-0528:free\",\n \"deepseek/deepseek-r1-distill-llama-70b\",\n \"deepseek/deepseek-r1-distill-qwen-32b\",\n \"deepseek/deepseek-v3.1-terminus\",\n \"deepseek/deepseek-v3.1-terminus:exacto\",\n \"deepseek/deepseek-v3.2\",\n \"deepseek/deepseek-v3.2-exp\",\n \"deepseek/deepseek-v3.2-speciale\",\n \"essentialai/rnj-1-instruct\",\n \"google/gemini-2.0-flash-001\",\n \"google/gemini-2.0-flash-lite-001\",\n \"google/gemini-2.5-flash\",\n \"google/gemini-2.5-flash-lite\",\n \"google/gemini-2.5-flash-lite-preview-09-2025\",\n \"google/gemini-2.5-flash-preview-09-2025\",\n \"google/gemini-2.5-pro\",\n \"google/gemini-2.5-pro-preview\",\n \"google/gemini-2.5-pro-preview-05-06\",\n \"google/gemini-3-flash-preview\",\n \"google/gemini-3-pro-preview\",\n \"google/gemma-2-27b-it\",\n \"google/gemma-2-9b-it\",\n \"google/gemma-3-12b-it\",\n \"google/gemma-3-12b-it:free\",\n \"google/gemma-3-27b-it\",\n \"google/gemma-3-27b-it:free\",\n \"google/gemma-3-4b-it\",\n \"google/gemma-3-4b-it:free\",\n \"google/gemma-3n-e2b-it:free\",\n \"google/gemma-3n-e4b-it\",\n \"google/gemma-3n-e4b-it:free\",\n \"gryphe/mythomax-l2-13b\",\n \"inception/mercury\",\n \"inception/mercury-coder\",\n \"kilo/auto\",\n \"kwaipilot/kat-coder-pro\",\n \"liquid/lfm-2.5-1.2b-instruct:free\",\n \"liquid/lfm-2.5-1.2b-thinking:free\",\n \"meituan/longcat-flash-chat\",\n \"meta-llama/llama-3-70b-instruct\",\n \"meta-llama/llama-3-8b-instruct\",\n \"meta-llama/llama-3.1-405b-instruct\",\n \"meta-llama/llama-3.1-70b-instruct\",\n \"meta-llama/llama-3.1-8b-instruct\",\n \"meta-llama/llama-3.2-11b-vision-instruct\",\n \"meta-llama/llama-3.2-1b-instruct\",\n \"meta-llama/llama-3.2-3b-instruct\",\n \"meta-llama/llama-3.2-3b-instruct:free\",\n \"meta-llama/llama-3.3-70b-instruct\",\n \"meta-llama/llama-3.3-70b-instruct:free\",\n \"meta-llama/llama-4-maverick\",\n \"meta-llama/llama-4-scout\",\n \"meta-llama/llama-guard-3-8b\",\n \"meta-llama/llama-guard-4-12b\",\n \"microsoft/phi-4\",\n \"microsoft/wizardlm-2-8x22b\",\n \"minimax/minimax-01\",\n \"minimax/minimax-m1\",\n \"minimax/minimax-m2\",\n \"minimax/minimax-m2.1\",\n \"minimax/minimax-m2.5\",\n \"minimax/minimax-m2.5:free\",\n \"mistralai/codestral-2508\",\n \"mistralai/devstral-2512\",\n \"mistralai/devstral-medium\",\n \"mistralai/devstral-small\",\n \"mistralai/ministral-14b-2512\",\n \"mistralai/mistral-7b-instruct\",\n \"mistralai/mistral-7b-instruct-v0.1\",\n \"mistralai/mistral-7b-instruct-v0.3\",\n \"mistralai/mistral-large\",\n \"mistralai/mistral-large-2411\",\n \"mistralai/mistral-large-2512\",\n \"mistralai/mistral-medium-3\",\n \"mistralai/mistral-medium-3.1\",\n \"mistralai/mistral-nemo\",\n \"mistralai/mistral-small-24b-instruct-2501\",\n \"mistralai/mistral-small-3.1-24b-instruct\",\n \"mistralai/mistral-small-3.1-24b-instruct:free\",\n \"mistralai/mistral-small-3.2-24b-instruct\",\n \"mistralai/mixtral-8x22b-instruct\",\n \"mistralai/voxtral-small-24b-2507\",\n \"moonshotai/kimi-k2\",\n \"moonshotai/kimi-k2-0905\",\n \"moonshotai/kimi-k2-0905:exacto\",\n \"moonshotai/kimi-k2-thinking\",\n \"moonshotai/kimi-k2.5\",\n \"morph/morph-v3-fast\",\n \"morph/morph-v3-large\",\n \"nex-agi/deepseek-v3.1-nex-n1\",\n \"nousresearch/deephermes-3-mistral-24b-preview\",\n \"nousresearch/hermes-2-pro-llama-3-8b\",\n \"nousresearch/hermes-3-llama-3.1-405b\",\n \"nousresearch/hermes-3-llama-3.1-405b:free\",\n \"nousresearch/hermes-4-405b\",\n \"nousresearch/hermes-4-70b\",\n \"nvidia/llama-3.1-nemotron-70b-instruct\",\n \"nvidia/llama-3.1-nemotron-ultra-253b-v1\",\n \"nvidia/llama-3.3-nemotron-super-49b-v1.5\",\n \"nvidia/nemotron-3-nano-30b-a3b\",\n \"nvidia/nemotron-3-nano-30b-a3b:free\",\n \"nvidia/nemotron-nano-12b-v2-vl\",\n \"nvidia/nemotron-nano-12b-v2-vl:free\",\n \"nvidia/nemotron-nano-9b-v2\",\n \"nvidia/nemotron-nano-9b-v2:free\",\n \"openai/chatgpt-4o-latest\",\n \"openai/gpt-3.5-turbo\",\n \"openai/gpt-3.5-turbo-0613\",\n \"openai/gpt-3.5-turbo-instruct\",\n \"openai/gpt-4\",\n \"openai/gpt-4-turbo\",\n \"openai/gpt-4.1\",\n \"openai/gpt-4.1-mini\",\n \"openai/gpt-4.1-nano\",\n \"openai/gpt-4o\",\n \"openai/gpt-4o-2024-05-13\",\n \"openai/gpt-4o-2024-08-06\",\n \"openai/gpt-4o-2024-11-20\",\n \"openai/gpt-4o-mini\",\n \"openai/gpt-4o-mini-search-preview\",\n \"openai/gpt-4o:extended\",\n \"openai/gpt-5\",\n \"openai/gpt-5-chat\",\n \"openai/gpt-5-codex\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5-nano\",\n \"openai/gpt-5-pro\",\n \"openai/gpt-5.1\",\n \"openai/gpt-5.1-chat\",\n \"openai/gpt-5.1-codex\",\n \"openai/gpt-5.1-codex-max\",\n \"openai/gpt-5.1-codex-mini\",\n \"openai/gpt-5.2\",\n \"openai/gpt-5.2-chat\",\n \"openai/gpt-5.2-codex\",\n \"openai/gpt-5.2-pro\",\n \"openai/gpt-oss-120b\",\n \"openai/gpt-oss-120b:exacto\",\n \"openai/gpt-oss-120b:free\",\n \"openai/gpt-oss-20b\",\n \"openai/gpt-oss-20b:free\",\n \"openai/gpt-oss-safeguard-20b\",\n \"openai/o1\",\n \"openai/o1-pro\",\n \"openai/o3\",\n \"openai/o3-deep-research\",\n \"openai/o3-mini\",\n \"openai/o3-mini-high\",\n \"openai/o3-pro\",\n \"openai/o4-mini\",\n \"openai/o4-mini-deep-research\",\n \"openrouter/aurora-alpha\",\n \"perplexity/sonar\",\n \"perplexity/sonar-deep-research\",\n \"perplexity/sonar-pro\",\n \"perplexity/sonar-reasoning-pro\",\n \"prime-intellect/intellect-3\",\n \"qwen/qwen-2.5-72b-instruct\",\n \"qwen/qwen-2.5-7b-instruct\",\n \"qwen/qwen-2.5-coder-32b-instruct\",\n \"qwen/qwen-2.5-vl-7b-instruct\",\n \"qwen/qwen-max\",\n \"qwen/qwen-plus\",\n \"qwen/qwen-turbo\",\n \"qwen/qwen-vl-max\",\n \"qwen/qwen-vl-plus\",\n \"qwen/qwen2.5-coder-7b-instruct\",\n \"qwen/qwen2.5-vl-32b-instruct\",\n \"qwen/qwen2.5-vl-72b-instruct\",\n \"qwen/qwen3-14b\",\n \"qwen/qwen3-235b-a22b\",\n \"qwen/qwen3-235b-a22b-2507\",\n \"qwen/qwen3-235b-a22b-thinking-2507\",\n \"qwen/qwen3-30b-a3b\",\n \"qwen/qwen3-30b-a3b-instruct-2507\",\n \"qwen/qwen3-30b-a3b-thinking-2507\",\n \"qwen/qwen3-32b\",\n \"qwen/qwen3-4b\",\n \"qwen/qwen3-4b:free\",\n \"qwen/qwen3-8b\",\n \"qwen/qwen3-coder\",\n \"qwen/qwen3-coder-30b-a3b-instruct\",\n \"qwen/qwen3-coder-flash\",\n \"qwen/qwen3-coder-next\",\n \"qwen/qwen3-coder-plus\",\n \"qwen/qwen3-coder:exacto\",\n \"qwen/qwen3-coder:free\",\n \"qwen/qwen3-max\",\n \"qwen/qwen3-max-thinking\",\n \"qwen/qwen3-next-80b-a3b-instruct\",\n \"qwen/qwen3-next-80b-a3b-instruct:free\",\n \"qwen/qwen3-next-80b-a3b-thinking\",\n \"qwen/qwen3-vl-235b-a22b-instruct\",\n \"qwen/qwen3-vl-235b-a22b-thinking\",\n \"qwen/qwen3-vl-30b-a3b-instruct\",\n \"qwen/qwen3-vl-30b-a3b-thinking\",\n \"qwen/qwen3-vl-32b-instruct\",\n \"qwen/qwen3-vl-8b-instruct\",\n \"qwen/qwen3-vl-8b-thinking\",\n \"qwen/qwen3.5-397b-a17b\",\n \"qwen/qwen3.5-plus-02-15\",\n \"qwen/qwq-32b\",\n \"stepfun/step-3.5-flash\",\n \"stepfun/step-3.5-flash:free\",\n \"tencent/hunyuan-a13b-instruct\",\n \"tngtech/deepseek-r1t-chimera\",\n \"tngtech/deepseek-r1t2-chimera\",\n \"tngtech/tng-r1t-chimera\",\n \"writer/palmyra-x5\",\n \"x-ai/grok-3\",\n \"x-ai/grok-3-beta\",\n \"x-ai/grok-3-mini\",\n \"x-ai/grok-3-mini-beta\",\n \"x-ai/grok-4\",\n \"x-ai/grok-4-fast\",\n \"x-ai/grok-4.1-fast\",\n \"x-ai/grok-code-fast-1\",\n \"xiaomi/mimo-v2-flash\",\n \"z-ai/glm-4.5\",\n \"z-ai/glm-4.5-air\",\n \"z-ai/glm-4.5-air:free\",\n \"z-ai/glm-4.5v\",\n \"z-ai/glm-4.6\",\n \"z-ai/glm-4.6:exacto\",\n \"z-ai/glm-4.6v\",\n \"z-ai/glm-4.7\",\n \"z-ai/glm-4.7-flash\",\n \"z-ai/glm-5\",\n \"z-ai/glm-5:free\"\n ],\n \"nano-gpt\": [\n \"deepseek/deepseek-r1\",\n \"deepseek/deepseek-v3.2:thinking\",\n \"meta-llama/llama-3.3-70b-instruct\",\n \"meta-llama/llama-4-maverick\",\n \"minimax/minimax-m2.1\",\n \"minimax/minimax-m2.5\",\n \"minimax/minimax-m2.5-official\",\n \"mistralai/devstral-2-123b-instruct-2512\",\n \"mistralai/ministral-14b-instruct-2512\",\n \"mistralai/mistral-large-3-675b-instruct-2512\",\n \"moonshotai/kimi-k2-instruct\",\n \"moonshotai/kimi-k2-thinking\",\n \"moonshotai/kimi-k2.5\",\n \"moonshotai/kimi-k2.5-thinking\",\n \"nousresearch/hermes-4-405b:thinking\",\n \"nvidia/llama-3_3-nemotron-super-49b-v1_5\",\n \"openai/gpt-oss-120b\",\n \"qwen/qwen3-235b-a22b-thinking-2507\",\n \"qwen/qwen3-coder\",\n \"qwen/qwen3.5-397b-a17b\",\n \"qwen/qwen3.5-397b-a17b-thinking\",\n \"qwen/qwen3.5-plus\",\n \"qwen/qwen3.5-plus-thinking\",\n \"zai-org/glm-4.5-air\",\n \"zai-org/glm-4.5-air:thinking\",\n \"zai-org/glm-4.6\",\n \"zai-org/glm-4.6:thinking\",\n \"zai-org/glm-4.7\",\n \"zai-org/glm-4.7:thinking\",\n \"zai-org/glm-5\",\n \"zai-org/glm-5-original\",\n \"zai-org/glm-5-original:thinking\",\n \"zai-org/glm-5:thinking\"\n ],\n \"cerebras\": [\"gpt-oss-120b\", \"llama3.1-8b\", \"qwen-3-235b-a22b-instruct-2507\", \"zai-glm-4.7\"],\n \"cortecs\": [\n \"claude-4-5-sonnet\",\n \"claude-sonnet-4\",\n \"deepseek-v3-0324\",\n \"devstral-2512\",\n \"devstral-small-2512\",\n \"gemini-2.5-pro\",\n \"glm-4p5\",\n \"glm-4p5-air\",\n \"glm-4p7\",\n \"gpt-4.1\",\n \"gpt-oss-120b\",\n \"intellect-3\",\n \"kimi-k2-instruct\",\n \"kimi-k2-thinking\",\n \"llama-3.1-405b-instruct\",\n \"minimax-m2\",\n \"minimax-m2p1\",\n \"nova-pro-v1\",\n \"qwen3-32b\",\n \"qwen3-coder-480b-a35b-instruct\",\n \"qwen3-next-80b-a3b-thinking\"\n ],\n \"xai\": [\n \"grok-2\",\n \"grok-2-1212\",\n \"grok-2-latest\",\n \"grok-2-vision\",\n \"grok-2-vision-1212\",\n \"grok-2-vision-latest\",\n \"grok-3\",\n \"grok-3-fast\",\n \"grok-3-fast-latest\",\n \"grok-3-latest\",\n \"grok-3-mini\",\n \"grok-3-mini-fast\",\n \"grok-3-mini-fast-latest\",\n \"grok-3-mini-latest\",\n \"grok-4\",\n \"grok-4-1-fast\",\n \"grok-4-1-fast-non-reasoning\",\n \"grok-4-fast\",\n \"grok-4-fast-non-reasoning\",\n \"grok-beta\",\n \"grok-code-fast-1\",\n \"grok-vision-beta\"\n ],\n \"alibaba-cn\": [\n \"deepseek-r1\",\n \"deepseek-r1-0528\",\n \"deepseek-r1-distill-llama-70b\",\n \"deepseek-r1-distill-llama-8b\",\n \"deepseek-r1-distill-qwen-1-5b\",\n \"deepseek-r1-distill-qwen-14b\",\n \"deepseek-r1-distill-qwen-32b\",\n \"deepseek-r1-distill-qwen-7b\",\n \"deepseek-v3\",\n \"deepseek-v3-1\",\n \"deepseek-v3-2-exp\",\n \"kimi-k2-thinking\",\n \"kimi-k2.5\",\n \"moonshot-kimi-k2-instruct\",\n \"qvq-max\",\n \"qwen-deep-research\",\n \"qwen-doc-turbo\",\n \"qwen-flash\",\n \"qwen-long\",\n \"qwen-math-plus\",\n \"qwen-math-turbo\",\n \"qwen-max\",\n \"qwen-mt-plus\",\n \"qwen-mt-turbo\",\n \"qwen-omni-turbo\",\n \"qwen-omni-turbo-realtime\",\n \"qwen-plus\",\n \"qwen-plus-character\",\n \"qwen-turbo\",\n \"qwen-vl-max\",\n \"qwen-vl-ocr\",\n \"qwen-vl-plus\",\n \"qwen2-5-14b-instruct\",\n \"qwen2-5-32b-instruct\",\n \"qwen2-5-72b-instruct\",\n \"qwen2-5-7b-instruct\",\n \"qwen2-5-coder-32b-instruct\",\n \"qwen2-5-coder-7b-instruct\",\n \"qwen2-5-math-72b-instruct\",\n \"qwen2-5-math-7b-instruct\",\n \"qwen2-5-omni-7b\",\n \"qwen2-5-vl-72b-instruct\",\n \"qwen2-5-vl-7b-instruct\",\n \"qwen3-14b\",\n \"qwen3-235b-a22b\",\n \"qwen3-32b\",\n \"qwen3-8b\",\n \"qwen3-asr-flash\",\n \"qwen3-coder-30b-a3b-instruct\",\n \"qwen3-coder-480b-a35b-instruct\",\n \"qwen3-coder-flash\",\n \"qwen3-coder-plus\",\n \"qwen3-max\",\n \"qwen3-next-80b-a3b-instruct\",\n \"qwen3-next-80b-a3b-thinking\",\n \"qwen3-omni-flash\",\n \"qwen3-omni-flash-realtime\",\n \"qwen3-vl-235b-a22b\",\n \"qwen3-vl-30b-a3b\",\n \"qwen3-vl-plus\",\n \"qwen3.5-397b-a17b\",\n \"qwen3.5-plus\",\n \"qwq-32b\",\n \"qwq-plus\",\n \"tongyi-intent-detect-v3\"\n ],\n \"chutes\": [\n \"MiniMaxAI/MiniMax-M2.1-TEE\",\n \"MiniMaxAI/MiniMax-M2.5-TEE\",\n \"NousResearch/DeepHermes-3-Mistral-24B-Preview\",\n \"NousResearch/Hermes-4-14B\",\n \"NousResearch/Hermes-4-405B-FP8-TEE\",\n \"NousResearch/Hermes-4-70B\",\n \"NousResearch/Hermes-4.3-36B\",\n \"OpenGVLab/InternVL3-78B-TEE\",\n \"Qwen/Qwen2.5-72B-Instruct\",\n \"Qwen/Qwen2.5-Coder-32B-Instruct\",\n \"Qwen/Qwen2.5-VL-32B-Instruct\",\n \"Qwen/Qwen2.5-VL-72B-Instruct-TEE\",\n \"Qwen/Qwen3-14B\",\n \"Qwen/Qwen3-235B-A22B\",\n \"Qwen/Qwen3-235B-A22B-Instruct-2507-TEE\",\n \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n \"Qwen/Qwen3-30B-A3B\",\n \"Qwen/Qwen3-30B-A3B-Instruct-2507\",\n \"Qwen/Qwen3-32B\",\n \"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8-TEE\",\n \"Qwen/Qwen3-Coder-Next\",\n \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n \"Qwen/Qwen3-VL-235B-A22B-Instruct\",\n \"Qwen/Qwen3.5-397B-A17B-TEE\",\n \"Qwen/Qwen3Guard-Gen-0.6B\",\n \"XiaomiMiMo/MiMo-V2-Flash\",\n \"chutesai/Mistral-Small-3.1-24B-Instruct-2503\",\n \"chutesai/Mistral-Small-3.2-24B-Instruct-2506\",\n \"deepseek-ai/DeepSeek-R1-0528-TEE\",\n \"deepseek-ai/DeepSeek-R1-Distill-Llama-70B\",\n \"deepseek-ai/DeepSeek-R1-TEE\",\n \"deepseek-ai/DeepSeek-V3\",\n \"deepseek-ai/DeepSeek-V3-0324-TEE\",\n \"deepseek-ai/DeepSeek-V3.1-TEE\",\n \"deepseek-ai/DeepSeek-V3.1-Terminus-TEE\",\n \"deepseek-ai/DeepSeek-V3.2-Speciale-TEE\",\n \"deepseek-ai/DeepSeek-V3.2-TEE\",\n \"miromind-ai/MiroThinker-v1.5-235B\",\n \"mistralai/Devstral-2-123B-Instruct-2512-TEE\",\n \"moonshotai/Kimi-K2-Instruct-0905\",\n \"moonshotai/Kimi-K2-Thinking-TEE\",\n \"moonshotai/Kimi-K2.5-TEE\",\n \"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16\",\n \"openai/gpt-oss-120b-TEE\",\n \"openai/gpt-oss-20b\",\n \"rednote-hilab/dots.ocr\",\n \"tngtech/DeepSeek-R1T-Chimera\",\n \"tngtech/DeepSeek-TNG-R1T2-Chimera\",\n \"tngtech/TNG-R1T-Chimera-TEE\",\n \"tngtech/TNG-R1T-Chimera-Turbo\",\n \"unsloth/Llama-3.2-1B-Instruct\",\n \"unsloth/Llama-3.2-3B-Instruct\",\n \"unsloth/Mistral-Nemo-Instruct-2407\",\n \"unsloth/Mistral-Small-24B-Instruct-2501\",\n \"unsloth/gemma-3-12b-it\",\n \"unsloth/gemma-3-27b-it\",\n \"unsloth/gemma-3-4b-it\",\n \"zai-org/GLM-4.5-Air\",\n \"zai-org/GLM-4.5-FP8\",\n \"zai-org/GLM-4.5-TEE\",\n \"zai-org/GLM-4.6-FP8\",\n \"zai-org/GLM-4.6-TEE\",\n \"zai-org/GLM-4.6V\",\n \"zai-org/GLM-4.7-FP8\",\n \"zai-org/GLM-4.7-Flash\",\n \"zai-org/GLM-4.7-TEE\",\n \"zai-org/GLM-5-TEE\"\n ],\n \"netlify\": [\n \"anthropic/claude-3-haiku-20240307\",\n \"anthropic/claude-haiku-4-5\",\n \"anthropic/claude-haiku-4-5-20251001\",\n \"anthropic/claude-opus-4-1-20250805\",\n \"anthropic/claude-opus-4-20250514\",\n \"anthropic/claude-opus-4-5\",\n \"anthropic/claude-opus-4-5-20251101\",\n \"anthropic/claude-opus-4-6\",\n \"anthropic/claude-sonnet-4-0\",\n \"anthropic/claude-sonnet-4-20250514\",\n \"anthropic/claude-sonnet-4-5\",\n \"anthropic/claude-sonnet-4-5-20250929\",\n \"anthropic/claude-sonnet-4-6\",\n \"gemini/gemini-2.0-flash\",\n \"gemini/gemini-2.0-flash-lite\",\n \"gemini/gemini-2.5-flash\",\n \"gemini/gemini-2.5-flash-image\",\n \"gemini/gemini-2.5-flash-lite\",\n \"gemini/gemini-2.5-flash-lite-preview-09-2025\",\n \"gemini/gemini-2.5-pro\",\n \"gemini/gemini-3-flash-preview\",\n \"gemini/gemini-3-pro-image-preview\",\n \"gemini/gemini-3-pro-preview\",\n \"gemini/gemini-3.1-flash-image-preview\",\n \"gemini/gemini-3.1-flash-lite-preview\",\n \"gemini/gemini-3.1-pro-preview\",\n \"gemini/gemini-3.1-pro-preview-customtools\",\n \"gemini/gemini-flash-latest\",\n \"gemini/gemini-flash-lite-latest\",\n \"openai/gpt-4.1\",\n \"openai/gpt-4.1-mini\",\n \"openai/gpt-4.1-nano\",\n \"openai/gpt-4o\",\n \"openai/gpt-4o-mini\",\n \"openai/gpt-5\",\n \"openai/gpt-5-2025-08-07\",\n \"openai/gpt-5-codex\",\n \"openai/gpt-5-mini\",\n \"openai/gpt-5-mini-2025-08-07\",\n \"openai/gpt-5-nano\",\n \"openai/gpt-5-pro\",\n \"openai/gpt-5.1\",\n \"openai/gpt-5.1-2025-11-13\",\n \"openai/gpt-5.1-codex\",\n \"openai/gpt-5.1-codex-max\",\n \"openai/gpt-5.1-codex-mini\",\n \"openai/gpt-5.2\",\n \"openai/gpt-5.2-2025-12-11\",\n \"openai/gpt-5.2-codex\",\n \"openai/gpt-5.2-pro\",\n \"openai/gpt-5.2-pro-2025-12-11\",\n \"openai/gpt-5.3-chat-latest\",\n \"openai/gpt-5.3-codex\",\n \"openai/o3\",\n \"openai/o3-mini\",\n \"openai/o4-mini\"\n ]\n },\n \"version\": \"1.0.0\"\n}\n","/**\n * Runtime provider registry loader\n * Loads provider data from JSON file and exports typed interfaces\n */\n\nimport fs from 'node:fs';\nimport { createRequire } from 'node:module';\nimport os from 'node:os';\nimport path from 'node:path';\nimport type { ProviderConfig, MastraModelGateway } from './gateways/base.js';\nimport staticRegistry from './provider-registry.json';\nimport type { Provider, ModelForProvider, ModelRouterModelId, ProviderModels } from './provider-types.generated.js';\n\n// Re-export types for convenience\nexport type { Provider, ModelForProvider, ModelRouterModelId, ProviderModels };\n\ninterface RegistryData {\n providers: Record<string, ProviderConfig>;\n models: Record<string, string[]>;\n version: string;\n}\n\n// In-memory cache for dynamic loading mode\nlet registryData: RegistryData | null = null;\n\n// Cache file helpers (dev mode only)\n// Use functions so we don't call os.homedir() at top level, which\n// causes an error in sandboxed environments when you merely\n// import @mastra/core. In those sandboxes, if you just don't use these\n// functions then you don't hit these errors.\nconst CACHE_DIR = () => path.join(os.homedir(), '.cache', 'mastra');\nconst CACHE_FILE = () => path.join(CACHE_DIR(), 'gateway-refresh-time');\nconst GLOBAL_PROVIDER_REGISTRY_JSON = () => path.join(CACHE_DIR(), 'provider-registry.json');\nconst GLOBAL_PROVIDER_TYPES_DTS = () => path.join(CACHE_DIR(), 'provider-types.generated.d.ts');\n\nlet modelRouterCacheFailed = false;\n\n/**\n * Write a file atomically using the write-to-temp-then-rename pattern (synchronous version).\n * This prevents file corruption when multiple processes write to the same file concurrently.\n *\n * @param filePath - The target file path\n * @param content - The content to write\n * @param encoding - The encoding to use (default: 'utf-8')\n */\nfunction atomicWriteFileSync(filePath: string, content: string, encoding: BufferEncoding = 'utf-8'): void {\n // Use random suffix to avoid collisions between concurrent writes\n const randomSuffix = Math.random().toString(36).substring(2, 15);\n const tempPath = `${filePath}.${process.pid}.${Date.now()}.${randomSuffix}.tmp`;\n\n try {\n fs.writeFileSync(tempPath, content, encoding);\n fs.renameSync(tempPath, filePath);\n } catch (error) {\n try {\n fs.unlinkSync(tempPath);\n } catch {\n // Ignore cleanup errors\n }\n throw error;\n }\n}\n\n/**\n * Syncs provider files from global cache to local dist/ directory if needed.\n * Compares file contents to determine if copy is necessary.\n * Validates JSON before copying to prevent propagating corrupted files.\n */\nfunction syncGlobalCacheToLocal(): void {\n try {\n // Check if global cache files exist\n const globalJsonExists = fs.existsSync(GLOBAL_PROVIDER_REGISTRY_JSON());\n const globalDtsExists = fs.existsSync(GLOBAL_PROVIDER_TYPES_DTS());\n\n if (!globalJsonExists && !globalDtsExists) {\n // No global cache, nothing to sync\n return;\n }\n\n // Use getPackageRoot() to find the correct location in node_modules or local dev\n const packageRoot = getPackageRoot();\n const localJsonPath = path.join(packageRoot, 'dist', 'provider-registry.json');\n const localDtsPath = path.join(packageRoot, 'dist', 'llm', 'model', 'provider-types.generated.d.ts');\n\n // Ensure local dist directory exists\n fs.mkdirSync(path.dirname(localJsonPath), { recursive: true });\n fs.mkdirSync(path.dirname(localDtsPath), { recursive: true });\n\n // Sync JSON file if global exists and differs from local\n if (globalJsonExists) {\n const globalJsonContent = fs.readFileSync(GLOBAL_PROVIDER_REGISTRY_JSON(), 'utf-8');\n\n // Validate JSON before copying to prevent propagating corrupted files\n try {\n JSON.parse(globalJsonContent);\n } catch {\n console.warn(\n `[GatewayRegistry] Detected corrupted global cache at ${GLOBAL_PROVIDER_REGISTRY_JSON()}. ` +\n `Deleting corrupted file.`,\n );\n try {\n fs.unlinkSync(GLOBAL_PROVIDER_REGISTRY_JSON());\n } catch {\n // Ignore deletion errors\n }\n return; // Don't sync corrupted file\n }\n\n let shouldCopyJson = true;\n\n if (fs.existsSync(localJsonPath)) {\n const localJsonContent = fs.readFileSync(localJsonPath, 'utf-8');\n shouldCopyJson = globalJsonContent !== localJsonContent;\n }\n\n if (shouldCopyJson) {\n // Use atomic write to prevent corruption from concurrent writes\n atomicWriteFileSync(localJsonPath, globalJsonContent, 'utf-8');\n }\n }\n\n // Sync .d.ts file if global exists and differs from local\n if (globalDtsExists) {\n const globalDtsContent = fs.readFileSync(GLOBAL_PROVIDER_TYPES_DTS(), 'utf-8');\n\n // Validate .d.ts content: check for unquoted provider names that start with a digit\n // (e.g. \"readonly 302ai:\" instead of \"readonly '302ai':\"), which produces invalid TypeScript.\n // This can happen if the global cache was written by an older version without the quoting fix.\n if (/readonly\\s+\\d/.test(globalDtsContent)) {\n console.warn(\n `[GatewayRegistry] Detected invalid provider-types in global cache at ${GLOBAL_PROVIDER_TYPES_DTS()}. ` +\n `Deleting corrupted file.`,\n );\n try {\n fs.unlinkSync(GLOBAL_PROVIDER_TYPES_DTS());\n } catch {\n // Ignore deletion errors\n }\n // Don't sync corrupted .d.ts file; fall through to keep existing local file\n } else {\n let shouldCopyDts = true;\n\n if (fs.existsSync(localDtsPath)) {\n const localDtsContent = fs.readFileSync(localDtsPath, 'utf-8');\n shouldCopyDts = globalDtsContent !== localDtsContent;\n }\n\n if (shouldCopyDts) {\n // Use atomic write to prevent corruption from concurrent writes\n atomicWriteFileSync(localDtsPath, globalDtsContent, 'utf-8');\n }\n }\n }\n } catch (error) {\n // Silent fail - fall back to existing files\n console.warn('Failed to sync global cache to local:', error);\n }\n}\n\nfunction getLastRefreshTimeFromDisk(): Date | null {\n try {\n if (!fs.existsSync(CACHE_FILE())) {\n return null;\n }\n const timestamp = fs.readFileSync(CACHE_FILE(), 'utf-8').trim();\n return new Date(parseInt(timestamp, 10));\n } catch (err) {\n console.warn('[GatewayRegistry] Failed to read cache file:', err);\n modelRouterCacheFailed = true;\n return null;\n }\n}\n\nfunction saveLastRefreshTimeToDisk(date: Date): void {\n try {\n if (!fs.existsSync(CACHE_DIR())) {\n fs.mkdirSync(CACHE_DIR(), { recursive: true });\n }\n fs.writeFileSync(CACHE_FILE(), date.getTime().toString(), 'utf-8');\n } catch (err) {\n modelRouterCacheFailed = true;\n console.warn('[GatewayRegistry] Failed to write cache file:', err);\n }\n}\n\nfunction getPackageRoot(): string {\n try {\n // Use require.resolve to find the package root reliably\n const require = createRequire(import.meta.url || 'file://');\n const packageJsonPath = require.resolve('@mastra/core/package.json');\n return path.dirname(packageJsonPath);\n } catch {\n // Fallback to cwd if we can't resolve the package\n return process.cwd();\n }\n}\n\nfunction loadRegistry(useDynamicLoading: boolean): RegistryData {\n // Production: use static import (bundled at build time)\n if (!useDynamicLoading) {\n return staticRegistry;\n }\n\n // Dynamic loading mode: sync global cache to local before loading\n syncGlobalCacheToLocal();\n\n // Dynamic loading mode: check in-memory cache first\n if (registryData) {\n return registryData;\n }\n\n // Dynamic loading mode: load from file system for live updates\n const packageRoot = getPackageRoot();\n const possiblePaths: string[] = [\n // Built: in dist/ relative to package root (first priority - what gets distributed)\n path.join(packageRoot, 'dist', 'provider-registry.json'),\n // Development: in src/ relative to package root\n path.join(packageRoot, 'src', 'llm', 'model', 'provider-registry.json'),\n // Fallback: relative to cwd (for monorepo setups)\n path.join(process.cwd(), 'packages/core/src/llm/model/provider-registry.json'),\n path.join(process.cwd(), 'src/llm/model/provider-registry.json'),\n ];\n\n const errors: string[] = [];\n\n for (const jsonPath of possiblePaths) {\n try {\n const content = fs.readFileSync(jsonPath, 'utf-8');\n registryData = JSON.parse(content);\n return registryData!;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n errors.push(`${jsonPath}: ${errorMessage}`);\n\n // If the file exists but has corrupted JSON (not ENOENT), delete it and fall back to static registry\n // This handles cases where concurrent writes corrupted the file before the atomic write fix\n const isFileNotFound = err instanceof Error && 'code' in err && (err as NodeJS.ErrnoException).code === 'ENOENT';\n const isJsonParseError = err instanceof SyntaxError;\n\n if (!isFileNotFound && isJsonParseError) {\n console.warn(\n `[GatewayRegistry] Detected corrupted provider-registry.json at ${jsonPath}. ` +\n `Deleting corrupted file and falling back to static registry.`,\n );\n try {\n fs.unlinkSync(jsonPath);\n } catch {\n // Ignore deletion errors\n }\n // Fall back to static registry (bundled at build time)\n registryData = staticRegistry;\n return registryData;\n }\n\n continue;\n }\n }\n\n // If all paths failed, fall back to static registry instead of throwing\n // This provides a more graceful degradation\n console.warn(\n `[GatewayRegistry] Could not load provider registry from any path. Falling back to static registry.\\n` +\n `Tried paths:\\n${errors.join('\\n')}`,\n );\n registryData = staticRegistry;\n return registryData;\n}\n\n// Export registry data via Proxy for lazy loading\nexport const PROVIDER_REGISTRY = new Proxy({} as Record<string, ProviderConfig>, {\n get(_target, prop: string) {\n const registry = GatewayRegistry.getInstance();\n const providers = registry.getProviders();\n return providers[prop];\n },\n ownKeys() {\n const registry = GatewayRegistry.getInstance();\n const providers = registry.getProviders();\n return Object.keys(providers);\n },\n has(_target, prop: string) {\n const registry = GatewayRegistry.getInstance();\n const providers = registry.getProviders();\n return prop in providers;\n },\n getOwnPropertyDescriptor(_target, prop) {\n const registry = GatewayRegistry.getInstance();\n const providers = registry.getProviders();\n if (prop in providers) {\n return {\n enumerable: true,\n configurable: true,\n };\n }\n return undefined;\n },\n}) as Record<Provider, ProviderConfig>;\n\nexport const PROVIDER_MODELS = new Proxy({} as ProviderModels, {\n get(_target, prop: string) {\n const registry = GatewayRegistry.getInstance();\n const models = registry.getModels();\n return models[prop];\n },\n ownKeys() {\n const registry = GatewayRegistry.getInstance();\n const models = registry.getModels();\n return Object.keys(models);\n },\n has(_target, prop: string) {\n const registry = GatewayRegistry.getInstance();\n const models = registry.getModels();\n return prop in models;\n },\n getOwnPropertyDescriptor(_target, prop) {\n const registry = GatewayRegistry.getInstance();\n const models = registry.getModels();\n if (prop in models) {\n return {\n enumerable: true,\n configurable: true,\n };\n }\n return undefined;\n },\n});\n\n/**\n * Parse a model string to extract provider and model ID\n * Examples:\n * \"openai/gpt-4o\" -> { provider: \"openai\", modelId: \"gpt-4o\" }\n * \"fireworks/accounts/etc/model\" -> { provider: \"fireworks\", modelId: \"accounts/etc/model\" }\n * \"gpt-4o\" -> { provider: null, modelId: \"gpt-4o\" }\n */\nexport function parseModelString(modelString: string): { provider: string | null; modelId: string } {\n const firstSlashIndex = modelString.indexOf('/');\n\n if (firstSlashIndex !== -1) {\n // Has at least one slash - extract everything before first slash as provider\n const provider = modelString.substring(0, firstSlashIndex);\n const modelId = modelString.substring(firstSlashIndex + 1);\n\n if (provider && modelId) {\n return {\n provider,\n modelId,\n };\n }\n }\n\n // No slash or invalid format\n return {\n provider: null,\n modelId: modelString,\n };\n}\n\n/**\n * Get provider configuration by provider ID\n */\nexport function getProviderConfig(providerId: string): ProviderConfig | undefined {\n const registry = GatewayRegistry.getInstance();\n return registry.getProviderConfig(providerId);\n}\n\n/**\n * Check if a provider is registered\n */\nexport function isProviderRegistered(providerId: string): boolean {\n const registry = GatewayRegistry.getInstance();\n return registry.isProviderRegistered(providerId);\n}\n\n/**\n * Get all registered provider IDs\n */\nexport function getRegisteredProviders(): string[] {\n const registry = GatewayRegistry.getInstance();\n const providers = registry.getProviders();\n return Object.keys(providers);\n}\n\n/**\n * Type guard to check if a string is a valid OpenAI-compatible model ID\n */\nexport function isValidModelId(modelId: string): modelId is ModelRouterModelId {\n const { provider } = parseModelString(modelId);\n return provider !== null && isProviderRegistered(provider);\n}\n\nexport interface GatewayRegistryOptions {\n /**\n * Enable dynamic loading from file system instead of using static bundled registry.\n * Required for syncGateways() and auto-refresh to work.\n * Defaults to true when MASTRA_DEV=true, false otherwise.\n */\n useDynamicLoading?: boolean;\n}\n\n/**\n * GatewayRegistry - Manages dynamic loading and refreshing of provider data from gateways\n * Singleton class that handles runtime updates to the provider registry\n */\nexport class GatewayRegistry {\n private static instance: GatewayRegistry | null = null;\n private lastRefreshTime: Date | null = null;\n private refreshInterval: NodeJS.Timeout | null = null;\n private isRefreshing = false;\n private useDynamicLoading: boolean;\n private customGateways: MastraModelGateway[] = [];\n\n private constructor(options: GatewayRegistryOptions = {}) {\n const isDev = process.env.MASTRA_DEV === 'true' || process.env.MASTRA_DEV === '1';\n this.useDynamicLoading = options.useDynamicLoading ?? isDev;\n }\n\n /**\n * Get the singleton instance\n */\n static getInstance(options?: GatewayRegistryOptions): GatewayRegistry {\n if (!GatewayRegistry.instance) {\n GatewayRegistry.instance = new GatewayRegistry(options);\n }\n return GatewayRegistry.instance;\n }\n\n /**\n * Register custom gateways for type generation\n * @param gateways - Array of custom gateway instances\n */\n registerCustomGateways(gateways: MastraModelGateway[]): void {\n this.customGateways = gateways;\n }\n\n /**\n * Get all registered custom gateways\n */\n getCustomGateways(): MastraModelGateway[] {\n return this.customGateways;\n }\n\n /**\n * Sync providers from all gateways\n * Requires dynamic loading to be enabled (useDynamicLoading=true).\n * @param forceRefresh - Force refresh even if recently synced\n * @param writeToSrc - Write to src/ directory in addition to dist/ (useful for manual generation in repo)\n */\n async syncGateways(forceRefresh = false, writeToSrc = false): Promise<void> {\n // Only allow sync when dynamic loading is enabled or when explicitly writing to src (build script)\n if (!this.useDynamicLoading && !writeToSrc) {\n // console.debug('[GatewayRegistry] Skipping sync (dynamic loading disabled, registry is static)');\n return;\n }\n\n if (this.isRefreshing && !forceRefresh) {\n // console.debug('[GatewayRegistry] Sync already in progress, skipping...');\n return;\n }\n\n this.isRefreshing = true;\n\n try {\n // console.debug('[GatewayRegistry] Starting gateway sync...');\n\n // Import gateway classes and generation functions\n const { ModelsDevGateway } = await import('./gateways/models-dev.js');\n const { NetlifyGateway } = await import('./gateways/netlify.js');\n const { fetchProvidersFromGateways, writeRegistryFiles } = await import('./registry-generator.js');\n\n // Initialize default gateways\n const defaultGateways = [new ModelsDevGateway({}), new NetlifyGateway()];\n\n // Combine default and custom gateways\n const gateways = [...defaultGateways, ...this.customGateways];\n\n // Fetch provider data\n const { providers, models } = await fetchProvidersFromGateways(gateways);\n\n // Get package root for file paths\n const packageRoot = getPackageRoot();\n\n // Write to global cache first (so all projects can benefit)\n try {\n fs.mkdirSync(CACHE_DIR(), { recursive: true });\n await writeRegistryFiles(GLOBAL_PROVIDER_REGISTRY_JSON(), GLOBAL_PROVIDER_TYPES_DTS(), providers, models);\n // console.debug(`[GatewayRegistry] ✅ Updated global cache at ${CACHE_DIR()}`);\n } catch (error) {\n console.warn('[GatewayRegistry] Failed to write to global cache:', error);\n }\n\n // Write to dist/ (the bundled location that gets distributed)\n const distJsonPath = path.join(packageRoot, 'dist', 'provider-registry.json');\n const distTypesPath = path.join(packageRoot, 'dist', 'llm', 'model', 'provider-types.generated.d.ts');\n\n await writeRegistryFiles(distJsonPath, distTypesPath, providers, models);\n // console.debug(`[GatewayRegistry] ✅ Updated registry files in dist/`);\n\n // Copy to src/ only when explicitly requested (e.g., running the generation script)\n const shouldWriteToSrc = writeToSrc;\n if (shouldWriteToSrc) {\n const srcJsonPath = path.join(packageRoot, 'src', 'llm', 'model', 'provider-registry.json');\n const srcTypesPath = path.join(packageRoot, 'src', 'llm', 'model', 'provider-types.generated.d.ts');\n\n // Copy the already-generated files\n await fs.promises.copyFile(distJsonPath, srcJsonPath);\n await fs.promises.copyFile(distTypesPath, srcTypesPath);\n // console.debug(`[GatewayRegistry] ✅ Copied registry files to src/ (${writeToSrc ? 'manual' : 'dynamic loading'})`);\n }\n\n // Clear the in-memory cache to force reload (dynamic loading only)\n if (this.useDynamicLoading) {\n registryData = null;\n }\n\n this.lastRefreshTime = new Date();\n saveLastRefreshTimeToDisk(this.lastRefreshTime);\n // console.debug(`[GatewayRegistry] ✅ Gateway sync completed at ${this.lastRefreshTime.toISOString()}`);\n } catch (error) {\n console.error('[GatewayRegistry] ❌ Gateway sync failed:', error);\n throw error;\n } finally {\n this.isRefreshing = false;\n }\n }\n\n /**\n * Get the last refresh time (from memory or disk cache)\n */\n getLastRefreshTime(): Date | null {\n return this.lastRefreshTime || getLastRefreshTimeFromDisk();\n }\n\n /**\n * Start auto-refresh on an interval\n * Requires dynamic loading to be enabled (useDynamicLoading=true).\n * @param intervalMs - Interval in milliseconds (default: 1 hour)\n */\n startAutoRefresh(intervalMs = 60 * 60 * 1000): void {\n // Only allow auto-refresh when dynamic loading is enabled\n if (!this.useDynamicLoading) {\n // console.debug('[GatewayRegistry] Skipping auto-refresh (dynamic loading disabled, registry is static)');\n return;\n }\n\n if (this.refreshInterval) {\n // console.debug('[GatewayRegistry] Auto-refresh already running');\n return;\n }\n\n // console.debug(`[GatewayRegistry] Starting auto-refresh (interval: ${intervalMs}ms)`);\n\n // Check if we need to run an immediate sync\n const lastRefresh = getLastRefreshTimeFromDisk();\n const now = Date.now();\n const shouldRefresh = !modelRouterCacheFailed && (!lastRefresh || now - lastRefresh.getTime() > intervalMs);\n\n if (shouldRefresh) {\n // console.debug(\n // `[GatewayRegistry] Running immediate sync (last refresh: ${lastRefresh ? lastRefresh.toISOString() : 'never'})`,\n // );\n this.syncGateways().catch(err => {\n console.error('[GatewayRegistry] Initial auto-refresh failed:', err);\n });\n } else {\n // console.debug( `[GatewayRegistry] Skipping immediate sync (last refresh: ${lastRefresh.toISOString()}, next in ${Math.round((intervalMs - (now - lastRefresh.getTime())) / 1000)}s)`,\n // );\n }\n\n this.refreshInterval = setInterval(() => {\n if (modelRouterCacheFailed && this.refreshInterval) {\n clearInterval(this.refreshInterval);\n this.refreshInterval = null;\n return;\n }\n this.syncGateways().catch(err => {\n console.error('[GatewayRegistry] Auto-refresh failed:', err);\n });\n }, intervalMs);\n\n // Prevent the interval from keeping the process alive\n if (this.refreshInterval.unref) {\n this.refreshInterval.unref();\n }\n }\n\n /**\n * Stop auto-refresh\n */\n stopAutoRefresh(): void {\n if (this.refreshInterval) {\n clearInterval(this.refreshInterval);\n this.refreshInterval = null;\n // console.debug('[GatewayRegistry] Auto-refresh stopped');\n }\n }\n\n /**\n * Get provider configuration by ID\n */\n getProviderConfig(providerId: string): ProviderConfig | undefined {\n const data = loadRegistry(this.useDynamicLoading);\n return data.providers[providerId];\n }\n\n /**\n * Check if a provider is registered\n */\n isProviderRegistered(providerId: string): boolean {\n const data = loadRegistry(this.useDynamicLoading);\n return providerId in data.providers;\n }\n\n /**\n * Get all registered providers\n */\n getProviders(): Record<string, ProviderConfig> {\n const data = loadRegistry(this.useDynamicLoading);\n return data.providers;\n }\n\n /**\n * Get all models\n */\n getModels(): Record<string, string[]> {\n return loadRegistry(this.useDynamicLoading).models;\n }\n}\n\n// Auto-start refresh if enabled\n// Defaults to enabled when MASTRA_DEV=true (which enables dynamic loading by default)\nconst isDev = process.env.MASTRA_DEV === 'true' || process.env.MASTRA_DEV === '1';\nconst autoRefreshEnabled =\n process.env.MASTRA_AUTO_REFRESH_PROVIDERS === 'true' ||\n (process.env.MASTRA_AUTO_REFRESH_PROVIDERS !== 'false' && isDev);\n\nif (autoRefreshEnabled) {\n // console.debug('[GatewayRegistry] Auto-refresh enabled');\n GatewayRegistry.getInstance({ useDynamicLoading: isDev }).startAutoRefresh();\n}\n"]}