@clinebot/llms 0.0.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 (219) hide show
  1. package/README.md +198 -0
  2. package/dist/config-browser.d.ts +3 -0
  3. package/dist/config.d.ts +3 -0
  4. package/dist/index.browser.d.ts +4 -0
  5. package/dist/index.browser.js +1 -0
  6. package/dist/index.d.ts +5 -0
  7. package/dist/index.js +7 -0
  8. package/dist/models/generated-access.d.ts +4 -0
  9. package/dist/models/generated-provider-loaders.d.ts +13 -0
  10. package/dist/models/generated.d.ts +14 -0
  11. package/dist/models/index.d.ts +43 -0
  12. package/dist/models/models-dev-catalog.d.ts +32 -0
  13. package/dist/models/providers/aihubmix.d.ts +5 -0
  14. package/dist/models/providers/anthropic.d.ts +53 -0
  15. package/dist/models/providers/asksage.d.ts +5 -0
  16. package/dist/models/providers/baseten.d.ts +5 -0
  17. package/dist/models/providers/bedrock.d.ts +7 -0
  18. package/dist/models/providers/cerebras.d.ts +7 -0
  19. package/dist/models/providers/claude-code.d.ts +4 -0
  20. package/dist/models/providers/cline.d.ts +34 -0
  21. package/dist/models/providers/deepseek.d.ts +8 -0
  22. package/dist/models/providers/dify.d.ts +5 -0
  23. package/dist/models/providers/doubao.d.ts +7 -0
  24. package/dist/models/providers/fireworks.d.ts +8 -0
  25. package/dist/models/providers/gemini.d.ts +9 -0
  26. package/dist/models/providers/groq.d.ts +8 -0
  27. package/dist/models/providers/hicap.d.ts +5 -0
  28. package/dist/models/providers/huawei-cloud-maas.d.ts +5 -0
  29. package/dist/models/providers/huggingface.d.ts +6 -0
  30. package/dist/models/providers/index.d.ts +45 -0
  31. package/dist/models/providers/litellm.d.ts +5 -0
  32. package/dist/models/providers/lmstudio.d.ts +5 -0
  33. package/dist/models/providers/minimax.d.ts +7 -0
  34. package/dist/models/providers/mistral.d.ts +5 -0
  35. package/dist/models/providers/moonshot.d.ts +7 -0
  36. package/dist/models/providers/nebius.d.ts +7 -0
  37. package/dist/models/providers/nous-research.d.ts +7 -0
  38. package/dist/models/providers/oca.d.ts +9 -0
  39. package/dist/models/providers/ollama.d.ts +5 -0
  40. package/dist/models/providers/openai-codex.d.ts +10 -0
  41. package/dist/models/providers/openai.d.ts +9 -0
  42. package/dist/models/providers/opencode.d.ts +10 -0
  43. package/dist/models/providers/openrouter.d.ts +7 -0
  44. package/dist/models/providers/qwen-code.d.ts +7 -0
  45. package/dist/models/providers/qwen.d.ts +7 -0
  46. package/dist/models/providers/requesty.d.ts +6 -0
  47. package/dist/models/providers/sambanova.d.ts +7 -0
  48. package/dist/models/providers/sapaicore.d.ts +7 -0
  49. package/dist/models/providers/together.d.ts +8 -0
  50. package/dist/models/providers/vercel-ai-gateway.d.ts +5 -0
  51. package/dist/models/providers/vertex.d.ts +7 -0
  52. package/dist/models/providers/xai.d.ts +8 -0
  53. package/dist/models/providers/zai.d.ts +7 -0
  54. package/dist/models/query.d.ts +181 -0
  55. package/dist/models/registry.d.ts +123 -0
  56. package/dist/models/schemas/index.d.ts +7 -0
  57. package/dist/models/schemas/model.d.ts +340 -0
  58. package/dist/models/schemas/query.d.ts +191 -0
  59. package/dist/providers/handlers/ai-sdk-community.d.ts +46 -0
  60. package/dist/providers/handlers/ai-sdk-provider-base.d.ts +32 -0
  61. package/dist/providers/handlers/anthropic-base.d.ts +26 -0
  62. package/dist/providers/handlers/asksage.d.ts +12 -0
  63. package/dist/providers/handlers/auth.d.ts +5 -0
  64. package/dist/providers/handlers/base.d.ts +55 -0
  65. package/dist/providers/handlers/bedrock-base.d.ts +23 -0
  66. package/dist/providers/handlers/bedrock-client.d.ts +4 -0
  67. package/dist/providers/handlers/community-sdk.d.ts +97 -0
  68. package/dist/providers/handlers/fetch-base.d.ts +18 -0
  69. package/dist/providers/handlers/gemini-base.d.ts +25 -0
  70. package/dist/providers/handlers/index.d.ts +19 -0
  71. package/dist/providers/handlers/openai-base.d.ts +54 -0
  72. package/dist/providers/handlers/openai-responses.d.ts +64 -0
  73. package/dist/providers/handlers/providers.d.ts +43 -0
  74. package/dist/providers/handlers/r1-base.d.ts +62 -0
  75. package/dist/providers/handlers/registry.d.ts +106 -0
  76. package/dist/providers/handlers/vertex.d.ts +32 -0
  77. package/dist/providers/index.d.ts +100 -0
  78. package/dist/providers/public.browser.d.ts +2 -0
  79. package/dist/providers/public.d.ts +3 -0
  80. package/dist/providers/shared/openai-compatible.d.ts +10 -0
  81. package/dist/providers/transform/ai-sdk-community-format.d.ts +9 -0
  82. package/dist/providers/transform/anthropic-format.d.ts +24 -0
  83. package/dist/providers/transform/content-format.d.ts +3 -0
  84. package/dist/providers/transform/gemini-format.d.ts +19 -0
  85. package/dist/providers/transform/index.d.ts +10 -0
  86. package/dist/providers/transform/openai-format.d.ts +36 -0
  87. package/dist/providers/transform/r1-format.d.ts +26 -0
  88. package/dist/providers/types/config.d.ts +261 -0
  89. package/dist/providers/types/handler.d.ts +71 -0
  90. package/dist/providers/types/index.d.ts +11 -0
  91. package/dist/providers/types/messages.d.ts +139 -0
  92. package/dist/providers/types/model-info.d.ts +32 -0
  93. package/dist/providers/types/provider-ids.d.ts +63 -0
  94. package/dist/providers/types/settings.d.ts +308 -0
  95. package/dist/providers/types/stream.d.ts +106 -0
  96. package/dist/providers/utils/index.d.ts +7 -0
  97. package/dist/providers/utils/retry.d.ts +38 -0
  98. package/dist/providers/utils/stream-processor.d.ts +110 -0
  99. package/dist/providers/utils/tool-processor.d.ts +34 -0
  100. package/dist/sdk.d.ts +18 -0
  101. package/dist/types.d.ts +60 -0
  102. package/package.json +66 -0
  103. package/src/catalog.ts +20 -0
  104. package/src/config-browser.ts +11 -0
  105. package/src/config.ts +49 -0
  106. package/src/index.browser.ts +9 -0
  107. package/src/index.ts +10 -0
  108. package/src/live-providers.test.ts +137 -0
  109. package/src/models/generated-access.ts +41 -0
  110. package/src/models/generated-provider-loaders.ts +166 -0
  111. package/src/models/generated.ts +11997 -0
  112. package/src/models/index.ts +271 -0
  113. package/src/models/models-dev-catalog.test.ts +161 -0
  114. package/src/models/models-dev-catalog.ts +161 -0
  115. package/src/models/providers/aihubmix.ts +19 -0
  116. package/src/models/providers/anthropic.ts +60 -0
  117. package/src/models/providers/asksage.ts +19 -0
  118. package/src/models/providers/baseten.ts +21 -0
  119. package/src/models/providers/bedrock.ts +30 -0
  120. package/src/models/providers/cerebras.ts +24 -0
  121. package/src/models/providers/claude-code.ts +51 -0
  122. package/src/models/providers/cline.ts +25 -0
  123. package/src/models/providers/deepseek.ts +33 -0
  124. package/src/models/providers/dify.ts +17 -0
  125. package/src/models/providers/doubao.ts +33 -0
  126. package/src/models/providers/fireworks.ts +34 -0
  127. package/src/models/providers/gemini.ts +43 -0
  128. package/src/models/providers/groq.ts +33 -0
  129. package/src/models/providers/hicap.ts +18 -0
  130. package/src/models/providers/huawei-cloud-maas.ts +18 -0
  131. package/src/models/providers/huggingface.ts +22 -0
  132. package/src/models/providers/index.ts +162 -0
  133. package/src/models/providers/litellm.ts +19 -0
  134. package/src/models/providers/lmstudio.ts +22 -0
  135. package/src/models/providers/minimax.ts +34 -0
  136. package/src/models/providers/mistral.ts +19 -0
  137. package/src/models/providers/moonshot.ts +34 -0
  138. package/src/models/providers/nebius.ts +24 -0
  139. package/src/models/providers/nous-research.ts +21 -0
  140. package/src/models/providers/oca.ts +30 -0
  141. package/src/models/providers/ollama.ts +18 -0
  142. package/src/models/providers/openai-codex.ts +30 -0
  143. package/src/models/providers/openai.ts +43 -0
  144. package/src/models/providers/opencode.ts +28 -0
  145. package/src/models/providers/openrouter.ts +24 -0
  146. package/src/models/providers/qwen-code.ts +33 -0
  147. package/src/models/providers/qwen.ts +34 -0
  148. package/src/models/providers/requesty.ts +23 -0
  149. package/src/models/providers/sambanova.ts +23 -0
  150. package/src/models/providers/sapaicore.ts +34 -0
  151. package/src/models/providers/together.ts +35 -0
  152. package/src/models/providers/vercel-ai-gateway.ts +23 -0
  153. package/src/models/providers/vertex.ts +36 -0
  154. package/src/models/providers/xai.ts +34 -0
  155. package/src/models/providers/zai.ts +25 -0
  156. package/src/models/query.ts +407 -0
  157. package/src/models/registry.ts +511 -0
  158. package/src/models/schemas/index.ts +62 -0
  159. package/src/models/schemas/model.ts +308 -0
  160. package/src/models/schemas/query.ts +336 -0
  161. package/src/providers/browser.ts +4 -0
  162. package/src/providers/handlers/ai-sdk-community.ts +226 -0
  163. package/src/providers/handlers/ai-sdk-provider-base.ts +193 -0
  164. package/src/providers/handlers/anthropic-base.ts +372 -0
  165. package/src/providers/handlers/asksage.test.ts +103 -0
  166. package/src/providers/handlers/asksage.ts +138 -0
  167. package/src/providers/handlers/auth.test.ts +19 -0
  168. package/src/providers/handlers/auth.ts +121 -0
  169. package/src/providers/handlers/base.test.ts +46 -0
  170. package/src/providers/handlers/base.ts +160 -0
  171. package/src/providers/handlers/bedrock-base.ts +390 -0
  172. package/src/providers/handlers/bedrock-client.ts +100 -0
  173. package/src/providers/handlers/codex.test.ts +123 -0
  174. package/src/providers/handlers/community-sdk.test.ts +288 -0
  175. package/src/providers/handlers/community-sdk.ts +392 -0
  176. package/src/providers/handlers/fetch-base.ts +68 -0
  177. package/src/providers/handlers/gemini-base.ts +302 -0
  178. package/src/providers/handlers/index.ts +67 -0
  179. package/src/providers/handlers/openai-base.ts +277 -0
  180. package/src/providers/handlers/openai-responses.ts +598 -0
  181. package/src/providers/handlers/providers.test.ts +120 -0
  182. package/src/providers/handlers/providers.ts +563 -0
  183. package/src/providers/handlers/r1-base.ts +280 -0
  184. package/src/providers/handlers/registry.ts +185 -0
  185. package/src/providers/handlers/vertex.test.ts +124 -0
  186. package/src/providers/handlers/vertex.ts +292 -0
  187. package/src/providers/index.ts +534 -0
  188. package/src/providers/public.browser.ts +20 -0
  189. package/src/providers/public.ts +51 -0
  190. package/src/providers/shared/openai-compatible.ts +63 -0
  191. package/src/providers/transform/ai-sdk-community-format.test.ts +73 -0
  192. package/src/providers/transform/ai-sdk-community-format.ts +115 -0
  193. package/src/providers/transform/anthropic-format.ts +218 -0
  194. package/src/providers/transform/content-format.ts +34 -0
  195. package/src/providers/transform/format-conversion.test.ts +310 -0
  196. package/src/providers/transform/gemini-format.ts +167 -0
  197. package/src/providers/transform/index.ts +22 -0
  198. package/src/providers/transform/openai-format.ts +247 -0
  199. package/src/providers/transform/r1-format.ts +287 -0
  200. package/src/providers/types/config.ts +388 -0
  201. package/src/providers/types/handler.ts +87 -0
  202. package/src/providers/types/index.ts +120 -0
  203. package/src/providers/types/messages.ts +158 -0
  204. package/src/providers/types/model-info.test.ts +57 -0
  205. package/src/providers/types/model-info.ts +65 -0
  206. package/src/providers/types/provider-ids.test.ts +12 -0
  207. package/src/providers/types/provider-ids.ts +89 -0
  208. package/src/providers/types/settings.test.ts +49 -0
  209. package/src/providers/types/settings.ts +533 -0
  210. package/src/providers/types/stream.ts +117 -0
  211. package/src/providers/utils/index.ts +27 -0
  212. package/src/providers/utils/retry.test.ts +140 -0
  213. package/src/providers/utils/retry.ts +188 -0
  214. package/src/providers/utils/stream-processor.test.ts +232 -0
  215. package/src/providers/utils/stream-processor.ts +472 -0
  216. package/src/providers/utils/tool-processor.test.ts +34 -0
  217. package/src/providers/utils/tool-processor.ts +111 -0
  218. package/src/sdk.ts +264 -0
  219. package/src/types.ts +79 -0
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ import{createRequire as nr}from"node:module";var tr=Object.defineProperty;var ar=(e)=>e;function ir(e,t){this[e]=ar.bind(null,t)}var d=(e,t)=>{for(var a in t)tr(e,a,{get:t[a],enumerable:!0,configurable:!0,set:ir.bind(t,a)})};var g=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ga=nr(import.meta.url);var Qa;var an=g(()=>{Qa={version:1773798019500,providers:{aihubmix:{"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"claude-sonnet-4-6-think":{id:"claude-sonnet-4-6-think",name:"Claude Sonnet 4.6 Think",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"qwen3.5-plus":{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.11,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"minimax-m2.5":{id:"minimax-m2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:1.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"coding-glm-5-free":{id:"coding-glm-5-free",name:"Coding-GLM-5-Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"glm-5":{id:"glm-5",name:"GLM-5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.88,output:2.82,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-05"},"claude-opus-4-6-think":{id:"claude-opus-4-6-think",name:"Claude Opus 4.6 Think",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-05"},"qwen3-coder-next":{id:"qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.14,output:0.55,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-04"},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27"},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"coding-minimax-m2.1-free":{id:"coding-minimax-m2.1-free",name:"Coding MiniMax M2.1 Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"minimax-m2.1":{id:"minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:1.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"coding-glm-4.7":{id:"coding-glm-4.7",name:"Coding-GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1.1,cacheRead:0.548,cacheWrite:0},releaseDate:"2025-12-22"},"coding-glm-4.7-free":{id:"coding-glm-4.7-free",name:"Coding GLM 4.7 Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1.1,cacheRead:0.548,cacheWrite:0},releaseDate:"2025-12-22"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.14,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-08"},"deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek-V3.2",contextWindow:131000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"deepseek-v3.2-think":{id:"deepseek-v3.2-think",name:"DeepSeek-V3.2-Think",contextWindow:131000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-25"},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:65000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-11-19"},"gemini-3-pro-preview-search":{id:"gemini-3-pro-preview-search",name:"Gemini 3 Pro Preview Search",contextWindow:1e6,maxTokens:65000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-11-19"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-15"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-11-15"},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-11-15"},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.1,output:5.5,cacheRead:0.11,cacheWrite:1.25},releaseDate:"2025-09-29"},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3.3,output:16.5,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"qwen3-max-2026-01-23":{id:"qwen3-max-2026-01-23",name:"Qwen3 Max",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.34,output:1.37,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1e6,maxTokens:65000,capabilities:["images","tools","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-09-15"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:2000000,maxTokens:65000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.25,output:5,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5":{id:"gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:20,cacheRead:2.5,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5-Mini",contextWindow:200000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.5,output:6,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5-Nano",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.5,output:2,cacheRead:0.25,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5-Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:7,output:28,cacheRead:3.5,cacheWrite:0},releaseDate:"2025-09-15"},"Kimi-K2-0905":{id:"Kimi-K2-0905",name:"Kimi K2 0905",contextWindow:262144,maxTokens:262144,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:16.5,output:82.5,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"qwen3-coder-480b-a35b-instruct":{id:"qwen3-coder-480b-a35b-instruct",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:131000,capabilities:["tools","temperature"],pricing:{input:0.82,output:3.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"qwen3-235b-a22b-instruct-2507":{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:262144,capabilities:["tools","temperature"],pricing:{input:0.28,output:1.12,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30"},"qwen3-235b-a22b-thinking-2507":{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"}},anthropic:{"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-01"},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"claude-opus-4-1-20250805":{id:"claude-opus-4-1-20250805",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"claude-opus-4-0":{id:"claude-opus-4-0",name:"Claude Opus 4 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"claude-opus-4-20250514":{id:"claude-opus-4-20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"claude-sonnet-4-0":{id:"claude-sonnet-4-0",name:"Claude Sonnet 4 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"claude-sonnet-4-20250514":{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"claude-3-7-sonnet-20250219":{id:"claude-3-7-sonnet-20250219",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"claude-3-7-sonnet-latest":{id:"claude-3-7-sonnet-latest",name:"Claude Sonnet 3.7 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"claude-3-5-haiku-20241022":{id:"claude-3-5-haiku-20241022",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"claude-3-5-haiku-latest":{id:"claude-3-5-haiku-latest",name:"Claude Haiku 3.5 (latest)",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"claude-3-5-sonnet-20241022":{id:"claude-3-5-sonnet-20241022",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"claude-3-5-sonnet-20240620":{id:"claude-3-5-sonnet-20240620",name:"Claude Sonnet 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20"},"claude-3-haiku-20240307":{id:"claude-3-haiku-20240307",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13"},"claude-3-sonnet-20240229":{id:"claude-3-sonnet-20240229",name:"Claude Sonnet 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:0.3},releaseDate:"2024-03-04"},"claude-3-opus-20240229":{id:"claude-3-opus-20240229",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29"}},baseten:{"nvidia/Nemotron-3-Super":{id:"nvidia/Nemotron-3-Super",name:"Nemotron 3 Super",contextWindow:262144,maxTokens:32678,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204000,maxTokens:204000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.95,output:3.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-30"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:200000,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-16"},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:164000,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:128000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3 0324",contextWindow:164000,maxTokens:131000,capabilities:["tools","temperature"],pricing:{input:0.77,output:0.77,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-24"}},bedrock:{"anthropic.claude-sonnet-4-6":{id:"anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"eu.anthropic.claude-sonnet-4-6":{id:"eu.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"global.anthropic.claude-sonnet-4-6":{id:"global.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"mistral.devstral-2-123b":{id:"mistral.devstral-2-123b",name:"Devstral 2 123B",contextWindow:256000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-17"},"us.anthropic.claude-sonnet-4-6":{id:"us.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"deepseek.v3.2":{id:"deepseek.v3.2",name:"DeepSeek-V3.2",contextWindow:163840,maxTokens:81920,capabilities:["tools","reasoning","temperature"],pricing:{input:0.62,output:1.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06"},"moonshotai.kimi-k2.5":{id:"moonshotai.kimi-k2.5",name:"Kimi K2.5",contextWindow:256000,maxTokens:256000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06"},"anthropic.claude-opus-4-6-v1":{id:"anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"eu.anthropic.claude-opus-4-6-v1":{id:"eu.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (EU)",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"global.anthropic.claude-opus-4-6-v1":{id:"global.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (Global)",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"us.anthropic.claude-opus-4-6-v1":{id:"us.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (US)",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"zai.glm-4.7-flash":{id:"zai.glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19"},"minimax.minimax-m2.1":{id:"minimax.minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"nvidia.nemotron-nano-3-30b":{id:"nvidia.nemotron-nano-3-30b",name:"NVIDIA Nemotron Nano 3 30B",contextWindow:128000,maxTokens:4096,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"zai.glm-4.7":{id:"zai.glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"mistral.magistral-small-2509":{id:"mistral.magistral-small-2509",name:"Magistral Small 1.2",contextWindow:128000,maxTokens:40000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"mistral.ministral-3-3b-instruct":{id:"mistral.ministral-3-3b-instruct",name:"Ministral 3 3B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"mistral.mistral-large-3-675b-instruct":{id:"mistral.mistral-large-3-675b-instruct",name:"Mistral Large 3",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"moonshot.kimi-k2-thinking":{id:"moonshot.kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:256000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"anthropic.claude-opus-4-5-20251101-v1:0":{id:"anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"eu.anthropic.claude-opus-4-5-20251101-v1:0":{id:"eu.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"global.anthropic.claude-opus-4-5-20251101-v1:0":{id:"global.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"us.anthropic.claude-opus-4-5-20251101-v1:0":{id:"us.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"minimax.minimax-m2":{id:"minimax.minimax-m2",name:"MiniMax M2",contextWindow:204608,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-27"},"anthropic.claude-haiku-4-5-20251001-v1:0":{id:"anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"eu.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"eu.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"global.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"global.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"us.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"us.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"qwen.qwen3-vl-235b-a22b":{id:"qwen.qwen3-vl-235b-a22b",name:"Qwen/Qwen3-VL-235B-A22B-Instruct",contextWindow:262000,maxTokens:262000,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-04"},"anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"eu.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"eu.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"global.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"global.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"us.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"deepseek.v3-v1:0":{id:"deepseek.v3-v1:0",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:81920,capabilities:["tools","reasoning","temperature"],pricing:{input:0.58,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-235b-a22b-2507-v1:0":{id:"qwen.qwen3-235b-a22b-2507-v1:0",name:"Qwen3 235B A22B 2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-32b-v1:0":{id:"qwen.qwen3-32b-v1:0",name:"Qwen3 32B (dense)",contextWindow:16384,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-coder-30b-a3b-v1:0":{id:"qwen.qwen3-coder-30b-a3b-v1:0",name:"Qwen3 Coder 30B A3B Instruct",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-coder-480b-a35b-v1:0":{id:"qwen.qwen3-coder-480b-a35b-v1:0",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:131072,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"qwen.qwen3-next-80b-a3b":{id:"qwen.qwen3-next-80b-a3b",name:"Qwen/Qwen3-Next-80B-A3B-Instruct",contextWindow:262000,maxTokens:262000,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"anthropic.claude-opus-4-1-20250805-v1:0":{id:"anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"us.anthropic.claude-opus-4-1-20250805-v1:0":{id:"us.anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1 (US)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"google.gemma-3-27b-it":{id:"google.gemma-3-27b-it",name:"Google Gemma 3 27B Instruct",contextWindow:202752,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.12,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-27"},"mistral.voxtral-small-24b-2507":{id:"mistral.voxtral-small-24b-2507",name:"Voxtral Small 24B 2507",contextWindow:32000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.35,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-01"},"anthropic.claude-opus-4-20250514-v1:0":{id:"anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic.claude-sonnet-4-20250514-v1:0":{id:"anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"eu.anthropic.claude-sonnet-4-20250514-v1:0":{id:"eu.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"global.anthropic.claude-sonnet-4-20250514-v1:0":{id:"global.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"us.anthropic.claude-opus-4-20250514-v1:0":{id:"us.anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4 (US)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"us.anthropic.claude-sonnet-4-20250514-v1:0":{id:"us.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"writer.palmyra-x4-v1:0":{id:"writer.palmyra-x4-v1:0",name:"Palmyra X4",contextWindow:122880,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"writer.palmyra-x5-v1:0":{id:"writer.palmyra-x5-v1:0",name:"Palmyra X5",contextWindow:1040000,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"mistral.pixtral-large-2502-v1:0":{id:"mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02)",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-08"},"meta.llama4-maverick-17b-instruct-v1:0":{id:"meta.llama4-maverick-17b-instruct-v1:0",name:"Llama 4 Maverick 17B Instruct",contextWindow:1e6,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.24,output:0.97,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta.llama4-scout-17b-instruct-v1:0":{id:"meta.llama4-scout-17b-instruct-v1:0",name:"Llama 4 Scout 17B Instruct",contextWindow:3500000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"anthropic.claude-3-7-sonnet-20250219-v1:0":{id:"anthropic.claude-3-7-sonnet-20250219-v1:0",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"deepseek.r1-v1:0":{id:"deepseek.r1-v1:0",name:"DeepSeek-R1",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"meta.llama3-3-70b-instruct-v1:0":{id:"meta.llama3-3-70b-instruct-v1:0",name:"Llama 3.3 70B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"amazon.nova-lite-v1:0":{id:"amazon.nova-lite-v1:0",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-micro-v1:0":{id:"amazon.nova-micro-v1:0",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-premier-v1:0":{id:"amazon.nova-premier-v1:0",name:"Nova Premier",contextWindow:1e6,maxTokens:16384,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2.5,output:12.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-pro-v1:0":{id:"amazon.nova-pro-v1:0",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03"},"amazon.nova-2-lite-v1:0":{id:"amazon.nova-2-lite-v1:0",name:"Nova 2 Lite",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.33,output:2.75,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"google.gemma-3-4b-it":{id:"google.gemma-3-4b-it",name:"Gemma 3 4B IT",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.04,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"mistral.ministral-3-14b-instruct":{id:"mistral.ministral-3-14b-instruct",name:"Ministral 14B 3.0",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"mistral.ministral-3-8b-instruct":{id:"mistral.ministral-3-8b-instruct",name:"Ministral 3 8B",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"mistral.voxtral-mini-3b-2507":{id:"mistral.voxtral-mini-3b-2507",name:"Voxtral Mini 3B 2507",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"nvidia.nemotron-nano-12b-v2":{id:"nvidia.nemotron-nano-12b-v2",name:"NVIDIA Nemotron Nano 12B v2 VL BF16",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"nvidia.nemotron-nano-9b-v2":{id:"nvidia.nemotron-nano-9b-v2",name:"NVIDIA Nemotron Nano 9B v2",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.06,output:0.23,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-120b-1:0":{id:"openai.gpt-oss-120b-1:0",name:"gpt-oss-120b",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-20b-1:0":{id:"openai.gpt-oss-20b-1:0",name:"gpt-oss-20b",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-safeguard-120b":{id:"openai.gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"openai.gpt-oss-safeguard-20b":{id:"openai.gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"anthropic.claude-3-5-haiku-20241022-v1:0":{id:"anthropic.claude-3-5-haiku-20241022-v1:0",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"anthropic.claude-3-5-sonnet-20241022-v2:0":{id:"anthropic.claude-3-5-sonnet-20241022-v2:0",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"meta.llama3-2-11b-instruct-v1:0":{id:"meta.llama3-2-11b-instruct-v1:0",name:"Llama 3.2 11B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.16,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-2-1b-instruct-v1:0":{id:"meta.llama3-2-1b-instruct-v1:0",name:"Llama 3.2 1B Instruct",contextWindow:131000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-2-3b-instruct-v1:0":{id:"meta.llama3-2-3b-instruct-v1:0",name:"Llama 3.2 3B Instruct",contextWindow:131000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-2-90b-instruct-v1:0":{id:"meta.llama3-2-90b-instruct-v1:0",name:"Llama 3.2 90B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta.llama3-1-405b-instruct-v1:0":{id:"meta.llama3-1-405b-instruct-v1:0",name:"Llama 3.1 405B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:2.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"meta.llama3-1-70b-instruct-v1:0":{id:"meta.llama3-1-70b-instruct-v1:0",name:"Llama 3.1 70B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"meta.llama3-1-8b-instruct-v1:0":{id:"meta.llama3-1-8b-instruct-v1:0",name:"Llama 3.1 8B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"anthropic.claude-3-5-sonnet-20240620-v1:0":{id:"anthropic.claude-3-5-sonnet-20240620-v1:0",name:"Claude Sonnet 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20"},"anthropic.claude-3-haiku-20240307-v1:0":{id:"anthropic.claude-3-haiku-20240307-v1:0",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2024-03-13"}},cerebras:{"zai-glm-4.7":{id:"zai-glm-4.7",name:"Z.AI GLM-4.7",contextWindow:131072,maxTokens:40000,capabilities:["tools","temperature"],pricing:{input:2.25,output:2.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-10"},"gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.69,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"qwen-3-235b-a22b-instruct-2507":{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen 3 235B Instruct",contextWindow:131000,maxTokens:32000,capabilities:["tools","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22"},"llama3.1-8b":{id:"llama3.1-8b",name:"Llama 3.1 8B",contextWindow:32000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"}},deepseek:{"deepseek-chat":{id:"deepseek-chat",name:"DeepSeek Chat",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.28,output:0.42,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01"},"deepseek-reasoner":{id:"deepseek-reasoner",name:"DeepSeek Reasoner",contextWindow:128000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.42,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01"}},fireworks:{"accounts/fireworks/models/minimax-m2p5":{id:"accounts/fireworks/models/minimax-m2p5",name:"MiniMax-M2.5",contextWindow:196608,maxTokens:196608,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12"},"accounts/fireworks/models/glm-5":{id:"accounts/fireworks/models/glm-5",name:"GLM 5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-02-11"},"accounts/fireworks/models/kimi-k2p5":{id:"accounts/fireworks/models/kimi-k2p5",name:"Kimi K2.5",contextWindow:256000,maxTokens:256000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27"},"accounts/fireworks/models/minimax-m2p1":{id:"accounts/fireworks/models/minimax-m2p1",name:"MiniMax-M2.1",contextWindow:200000,maxTokens:200000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-23"},"accounts/fireworks/models/glm-4p7":{id:"accounts/fireworks/models/glm-4p7",name:"GLM 4.7",contextWindow:198000,maxTokens:198000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-12-22"},"accounts/fireworks/models/deepseek-v3p2":{id:"accounts/fireworks/models/deepseek-v3p2",name:"DeepSeek V3.2",contextWindow:160000,maxTokens:160000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.56,output:1.68,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-12-01"},"accounts/fireworks/models/kimi-k2-thinking":{id:"accounts/fireworks/models/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:256000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-11-06"},"accounts/fireworks/models/deepseek-v3p1":{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning","temperature"],pricing:{input:0.56,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"accounts/fireworks/models/gpt-oss-120b":{id:"accounts/fireworks/models/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"accounts/fireworks/models/gpt-oss-20b":{id:"accounts/fireworks/models/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"accounts/fireworks/models/glm-4p5-air":{id:"accounts/fireworks/models/glm-4p5-air",name:"GLM 4.5 Air",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"accounts/fireworks/models/glm-4p5":{id:"accounts/fireworks/models/glm-4p5",name:"GLM 4.5",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.55,output:2.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"accounts/fireworks/models/kimi-k2-instruct":{id:"accounts/fireworks/models/kimi-k2-instruct",name:"Kimi K2 Instruct",contextWindow:128000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"}},gemini:{"gemini-3.1-flash-lite-preview":{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03"},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19"},"gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17"},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18"},"gemini-2.5-flash-lite-preview-09-2025":{id:"gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-2.5-flash-preview-09-2025":{id:"gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-flash-latest":{id:"gemini-flash-latest",name:"Gemini Flash Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-flash-lite-latest":{id:"gemini-flash-lite-latest",name:"Gemini Flash-Lite Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25"},"gemini-live-2.5-flash":{id:"gemini-live-2.5-flash",name:"Gemini Live 2.5 Flash",contextWindow:128000,maxTokens:8000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-01"},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"gemini-2.5-flash-lite-preview-06-17":{id:"gemini-2.5-flash-lite-preview-06-17",name:"Gemini 2.5 Flash Lite Preview 06-17",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"gemini-live-2.5-flash-preview-native-audio":{id:"gemini-live-2.5-flash-preview-native-audio",name:"Gemini Live 2.5 Flash Preview Native Audio",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17"},"gemini-2.5-pro-preview-06-05":{id:"gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05"},"gemini-2.5-flash-preview-05-20":{id:"gemini-2.5-flash-preview-05-20",name:"Gemini 2.5 Flash Preview 05-20",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-05-20"},"gemini-2.5-pro-preview-05-06":{id:"gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06"},"gemini-2.5-flash-preview-04-17":{id:"gemini-2.5-flash-preview-04-17",name:"Gemini 2.5 Flash Preview 04-17",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-04-17"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-03-20"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20"},"gemini-2.0-flash":{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11"},"gemini-2.0-flash-lite":{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"gemini-1.5-flash-8b":{id:"gemini-1.5-flash-8b",name:"Gemini 1.5 Flash-8B",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.0375,output:0.15,cacheRead:0.01,cacheWrite:0},releaseDate:"2024-10-03"},"gemini-1.5-flash":{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0.01875,cacheWrite:0},releaseDate:"2024-05-14"},"gemini-1.5-pro":{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:1.25,output:5,cacheRead:0.3125,cacheWrite:0},releaseDate:"2024-02-15"}},groq:{"moonshotai/kimi-k2-instruct-0905":{id:"moonshotai/kimi-k2-instruct-0905",name:"Kimi K2 Instruct 0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"meta-llama/llama-4-maverick-17b-128e-instruct":{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick 17B",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta-llama/llama-4-scout-17b-16e-instruct":{id:"meta-llama/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.11,output:0.34,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen3 32B",contextWindow:131072,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:0.59,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-23"},"llama-3.3-70b-versatile":{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B Versatile",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.59,output:0.79,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"llama-3.1-8b-instant":{id:"llama-3.1-8b-instant",name:"Llama 3.1 8B Instant",contextWindow:131072,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"}},huggingface:{"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11"},"Qwen/Qwen3-Coder-Next":{id:"Qwen/Qwen3-Coder-Next",name:"Qwen3-Coder-Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03"},"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5-397B-A17B",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-01"},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22"},"XiaomiMiMo/MiMo-V2-Flash":{id:"XiaomiMiMo/MiMo-V2-Flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:4096,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-16"},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.3,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi-K2-Instruct-0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04"},"zai-org/GLM-4.7-Flash":{id:"zai-org/GLM-4.7-Flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-08"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-14"},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-28"}},lmstudio:{"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"qwen/qwen3-30b-a3b-2507":{id:"qwen/qwen3-30b-a3b-2507",name:"Qwen3 30B A3B 2507",contextWindow:262144,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30"},"qwen/qwen3-coder-30b":{id:"qwen/qwen3-coder-30b",name:"Qwen3 Coder 30B",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"}},minimax:{"MiniMax-M2.5-highspeed":{id:"MiniMax-M2.5-highspeed",name:"MiniMax-M2.5-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-02-13"},"MiniMax-M2.5":{id:"MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12"},"MiniMax-M2.1":{id:"MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"MiniMax-M2":{id:"MiniMax-M2",name:"MiniMax-M2",contextWindow:196608,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-27"}},moonshot:{"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"kimi-k2-thinking-turbo":{id:"kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","temperature"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"kimi-k2-0905-preview":{id:"kimi-k2-0905-preview",name:"Kimi K2 0905",contextWindow:262144,maxTokens:262144,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-09-05"},"kimi-k2-turbo-preview":{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo",contextWindow:262144,maxTokens:262144,capabilities:["tools","temperature"],pricing:{input:2.4,output:10,cacheRead:0.6,cacheWrite:0},releaseDate:"2025-09-05"},"kimi-k2-0711-preview":{id:"kimi-k2-0711-preview",name:"Kimi K2 0711",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-07-14"}},nebius:{"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron-3-Super-120B-A12B",contextWindow:256000,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:200000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0.1,cacheWrite:1},releaseDate:"2026-03-01"},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-01"},"NousResearch/Hermes-4-405B":{id:"NousResearch/Hermes-4-405B",name:"Hermes-4-405B",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2026-01-30"},"NousResearch/Hermes-4-70B":{id:"NousResearch/Hermes-4-70B",name:"Hermes-4-70B",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0.013,cacheWrite:0.16},releaseDate:"2026-01-30"},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3-30B-A3B-Instruct-2507",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-30B-A3B-Thinking-2507":{id:"Qwen/Qwen3-30B-A3B-Thinking-2507",name:"Qwen3-30B-A3B-Thinking-2507",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-32B":{id:"Qwen/Qwen3-32B",name:"Qwen3-32B",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-32B-fast":{id:"Qwen/Qwen3-32B-fast",name:"Qwen3-32B (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-28"},"Qwen/Qwen3-Coder-30B-A3B-Instruct":{id:"Qwen/Qwen3-Coder-30B-A3B-Instruct",name:"Qwen3-Coder-30B-A3B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:1.2,cacheRead:0.015,cacheWrite:0.18},releaseDate:"2026-01-28"},"PrimeIntellect/INTELLECT-3":{id:"PrimeIntellect/INTELLECT-3",name:"INTELLECT-3",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-25"},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",contextWindow:163000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.45,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-01-20"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma-3-27b-it",contextWindow:110000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-20"},"google/gemma-3-27b-it-fast":{id:"google/gemma-3-27b-it-fast",name:"Gemma-3-27b-it (Fast)",contextWindow:110000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-20"},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.8,output:2.4,cacheRead:0.08,cacheWrite:1},releaseDate:"2026-01-15"},"zai-org/GLM-4.7-FP8":{id:"zai-org/GLM-4.7-FP8",name:"GLM-4.7 (FP8)",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2026-01-15"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"gpt-oss-120b",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0.18},releaseDate:"2026-01-10"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"gpt-oss-20b",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0.005,cacheWrite:0.06},releaseDate:"2026-01-10"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",contextWindow:200000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.5,output:2.4,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2026-01-05"},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2026-01-05"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15"},"moonshotai/Kimi-K2.5-fast":{id:"moonshotai/Kimi-K2.5-fast",name:"Kimi-K2.5-fast",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15"},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0.013,cacheWrite:0.16},releaseDate:"2025-12-05"},"meta-llama/Llama-3.3-70B-Instruct-fast":{id:"meta-llama/Llama-3.3-70B-Instruct-fast",name:"Llama-3.3-70B-Instruct (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0.31},releaseDate:"2025-12-05"},"zai-org/GLM-4.5":{id:"zai-org/GLM-4.5",name:"GLM-4.5",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-11-15"},"zai-org/GLM-4.5-Air":{id:"zai-org/GLM-4.5-Air",name:"GLM-4.5-Air",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2025-11-15"},"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B":{id:"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",name:"Nemotron-3-Nano-30B-A3B",contextWindow:32000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0.006,cacheWrite:0.075},releaseDate:"2025-08-10"},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.4,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek-V3-0324",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0.05,cacheWrite:0.1875},releaseDate:"2025-03-24"},"deepseek-ai/DeepSeek-V3-0324-fast":{id:"deepseek-ai/DeepSeek-V3-0324-fast",name:"DeepSeek-V3-0324 (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.75,output:2.25,cacheRead:0.075,cacheWrite:0.28125},releaseDate:"2025-03-24"},"nvidia/Nemotron-Nano-V2-12b":{id:"nvidia/Nemotron-Nano-V2-12b",name:"Nemotron-Nano-V2-12b",contextWindow:32000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.2,cacheRead:0.007,cacheWrite:0.08},releaseDate:"2025-03-15"},"Qwen/Qwen2.5-VL-72B-Instruct":{id:"Qwen/Qwen2.5-VL-72B-Instruct",name:"Qwen2.5-VL-72B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0.31},releaseDate:"2025-01-20"},"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1":{id:"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1",name:"Llama-3.1-Nemotron-Ultra-253B-v1",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-01-15"},"deepseek-ai/DeepSeek-R1-0528-fast":{id:"deepseek-ai/DeepSeek-R1-0528-fast",name:"DeepSeek R1 0528 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"},"Qwen/Qwen2.5-Coder-7B-fast":{id:"Qwen/Qwen2.5-Coder-7B-fast",name:"Qwen2.5-Coder-7B (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.03,output:0.09,cacheRead:0.003,cacheWrite:0.03},releaseDate:"2024-09-19"},"meta-llama/Meta-Llama-3.1-8B-Instruct":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Meta-Llama-3.1-8B-Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.02,output:0.06,cacheRead:0.002,cacheWrite:0.025},releaseDate:"2024-07-23"},"meta-llama/Meta-Llama-3.1-8B-Instruct-fast":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct-fast",name:"Meta-Llama-3.1-8B-Instruct (Fast)",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.03,output:0.09,cacheRead:0.003,cacheWrite:0.03},releaseDate:"2024-07-23"}},ollama:{"nemotron-3-super":{id:"nemotron-3-super",name:"nemotron-3-super",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"qwen3.5:397b":{id:"qwen3.5:397b",name:"qwen3.5:397b",contextWindow:262144,maxTokens:81920,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15"},"minimax-m2.5":{id:"minimax-m2.5",name:"minimax-m2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"glm-5":{id:"glm-5",name:"glm-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"qwen3-coder-next":{id:"qwen3-coder-next",name:"qwen3-coder-next",contextWindow:262144,maxTokens:65536,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-02"},"kimi-k2.5":{id:"kimi-k2.5",name:"kimi-k2.5",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"minimax-m2.1":{id:"minimax-m2.1",name:"minimax-m2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"glm-4.7":{id:"glm-4.7",name:"glm-4.7",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"gemini-3-flash-preview",contextWindow:1048576,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17"},"nemotron-3-nano:30b":{id:"nemotron-3-nano:30b",name:"nemotron-3-nano:30b",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-15"},"devstral-2:123b":{id:"devstral-2:123b",name:"devstral-2:123b",contextWindow:262144,maxTokens:262144,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"devstral-small-2:24b":{id:"devstral-small-2:24b",name:"devstral-small-2:24b",contextWindow:262144,maxTokens:262144,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"rnj-1:8b":{id:"rnj-1:8b",name:"rnj-1:8b",contextWindow:32768,maxTokens:4096,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-06"},"mistral-large-3:675b":{id:"mistral-large-3:675b",name:"mistral-large-3:675b",contextWindow:262144,maxTokens:262144,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"cogito-2.1:671b":{id:"cogito-2.1:671b",name:"cogito-2.1:671b",contextWindow:163840,maxTokens:32000,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-19"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"kimi-k2-thinking",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-06"},"minimax-m2":{id:"minimax-m2",name:"minimax-m2",contextWindow:204800,maxTokens:128000,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-23"},"glm-4.6":{id:"glm-4.6",name:"glm-4.6",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29"},"qwen3-vl:235b":{id:"qwen3-vl:235b",name:"qwen3-vl:235b",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"qwen3-vl:235b-instruct":{id:"qwen3-vl:235b-instruct",name:"qwen3-vl:235b-instruct",contextWindow:262144,maxTokens:131072,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"qwen3-next:80b":{id:"qwen3-next:80b",name:"qwen3-next:80b",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-15"},"deepseek-v3.1:671b":{id:"deepseek-v3.1:671b",name:"deepseek-v3.1:671b",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"gpt-oss:120b":{id:"gpt-oss:120b",name:"gpt-oss:120b",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"gpt-oss:20b":{id:"gpt-oss:20b",name:"gpt-oss:20b",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"qwen3-coder:480b":{id:"qwen3-coder:480b",name:"qwen3-coder:480b",contextWindow:262144,maxTokens:65536,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22"},"kimi-k2:1t":{id:"kimi-k2:1t",name:"kimi-k2:1t",contextWindow:262144,maxTokens:262144,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"deepseek-v3.2":{id:"deepseek-v3.2",name:"deepseek-v3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-15"},"ministral-3:14b":{id:"ministral-3:14b",name:"ministral-3:14b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"ministral-3:8b":{id:"ministral-3:8b",name:"ministral-3:8b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"ministral-3:3b":{id:"ministral-3:3b",name:"ministral-3:3b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-22"}},openai:{"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17"},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17"},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-05"},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05"},"gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindow:128000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.2-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.2-pro":{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-chat-latest":{id:"gpt-5.1-chat-latest",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"gpt-5":{id:"gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"o3-pro":{id:"o3-pro",name:"o3-pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-10"},"codex-mini-latest":{id:"codex-mini-latest",name:"Codex Mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning"],pricing:{input:1.5,output:6,cacheRead:0.375,cacheWrite:0},releaseDate:"2025-05-16"},o3:{id:"o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16"},"o4-mini":{id:"o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14"},"o1-pro":{id:"o1-pro",name:"o1-pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:150,output:600,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-19"},"o3-mini":{id:"o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20"},o1:{id:"o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05"},"gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-11-20"},"gpt-4o-2024-08-06":{id:"gpt-4o-2024-08-06",name:"GPT-4o (2024-08-06)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-08-06"},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"},"o3-deep-research":{id:"o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26"},"o4-mini-deep-research":{id:"o4-mini-deep-research",name:"o4-mini-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2024-06-26"},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"},"gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",name:"GPT-4o (2024-05-13)",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","structured_output","temperature"],pricing:{input:5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-13"},"gpt-4":{id:"gpt-4",name:"GPT-4",contextWindow:8192,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"},"gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"}},openrouter:{"x-ai/grok-4.20-beta":{id:"x-ai/grok-4.20-beta",name:"Grok 4.20 Beta",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-12"},"openrouter/healer-alpha":{id:"openrouter/healer-alpha",name:"Healer Alpha",contextWindow:262144,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"openrouter/hunter-alpha":{id:"openrouter/hunter-alpha",name:"Hunter Alpha",contextWindow:1048576,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2026-03-04"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:0.083},releaseDate:"2026-03-03"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19"},"google/gemini-3.1-pro-preview-customtools":{id:"google/gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen3.5 Plus 2026-02-15",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12"},"z-ai/glm-5":{id:"z-ai/glm-5",name:"GLM-5",contextWindow:202752,maxTokens:131000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12"},"openrouter/aurora-alpha":{id:"openrouter/aurora-alpha",name:"Aurora Alpha",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-09"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"Step 3.5 Flash",contextWindow:256000,maxTokens:256000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-01-29"},"stepfun/step-3.5-flash:free":{id:"stepfun/step-3.5-flash:free",name:"Step 3.5 Flash (free)",contextWindow:256000,maxTokens:256000,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-29"},"arcee-ai/trinity-large-preview:free":{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview",contextWindow:131072,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28"},"arcee-ai/trinity-mini:free":{id:"arcee-ai/trinity-mini:free",name:"Trinity Mini",contextWindow:131072,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27"},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:65535,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17"},"nvidia/nemotron-3-nano-30b-a3b:free":{id:"nvidia/nemotron-3-nano-30b-a3b:free",name:"Nemotron 3 Nano 30B A3B (free)",contextWindow:256000,maxTokens:256000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-14"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-12-14"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"deepseek/deepseek-v3.2-speciale":{id:"deepseek/deepseek-v3.2-speciale",name:"DeepSeek V3.2 Speciale",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01"},"tngtech/tng-r1t-chimera:free":{id:"tngtech/tng-r1t-chimera:free",name:"R1T Chimera (free)",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-11-19"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1050000,maxTokens:66000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-18"},"openrouter/sherlock-dash-alpha":{id:"openrouter/sherlock-dash-alpha",name:"Sherlock Dash Alpha",contextWindow:1840000,maxTokens:0,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-15"},"openrouter/sherlock-think-alpha":{id:"openrouter/sherlock-think-alpha",name:"Sherlock Think Alpha",contextWindow:1840000,maxTokens:0,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-15"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"kwaipilot/kat-coder-pro:free":{id:"kwaipilot/kat-coder-pro:free",name:"Kat Coder Pro (free)",contextWindow:256000,maxTokens:65536,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-10"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-29"},"nvidia/nemotron-nano-12b-v2-vl:free":{id:"nvidia/nemotron-nano-12b-v2-vl:free",name:"Nemotron Nano 12B 2 VL (free)",contextWindow:128000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-28"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:196600,maxTokens:118000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.28,output:1.15,cacheRead:0.28,cacheWrite:1.15},releaseDate:"2025-10-23"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30"},"z-ai/glm-4.6:exacto":{id:"z-ai/glm-4.6:exacto",name:"GLM 4.6 (exacto)",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:1.9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25"},"google/gemini-2.5-flash-preview-09-2025":{id:"google/gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.031,cacheWrite:0},releaseDate:"2025-09-25"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"deepseek/deepseek-v3.1-terminus:exacto":{id:"deepseek/deepseek-v3.1-terminus:exacto",name:"DeepSeek V3.1 Terminus (exacto)",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Devstral 2 2512",contextWindow:262144,maxTokens:262144,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12"},"mistralai/devstral-2512:free":{id:"mistralai/devstral-2512:free",name:"Devstral 2 2512 (free)",contextWindow:262144,maxTokens:262144,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12"},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:262144,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen3-next-80b-a3b-instruct:free":{id:"qwen/qwen3-next-80b-a3b-instruct:free",name:"Qwen3 Next 80B A3B Instruct (free)",contextWindow:262144,maxTokens:262144,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"Kimi K2 Instruct 0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"moonshotai/kimi-k2-0905:exacto":{id:"moonshotai/kimi-k2-0905:exacto",name:"Kimi K2 Instruct 0905 (exacto)",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"nvidia/nemotron-nano-9b-v2:free":{id:"nvidia/nemotron-nano-9b-v2:free",name:"Nemotron Nano 9B V2 (free)",contextWindow:128000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-26"},"nousresearch/hermes-4-405b":{id:"nousresearch/hermes-4-405b",name:"Hermes 4 405B",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25"},"nousresearch/hermes-4-70b":{id:"nousresearch/hermes-4-70b",name:"Hermes 4 70B",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25"},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-08-19"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"nvidia-nemotron-nano-9b-v2",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18"},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral Medium 3.1",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-12"},"z-ai/glm-4.5v":{id:"z-ai/glm-4.5v",name:"GLM 4.5V",contextWindow:64000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.072,output:0.28,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-120b:exacto":{id:"openai/gpt-oss-120b:exacto",name:"GPT OSS 120B (exacto)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-120b:free":{id:"openai/gpt-oss-120b:free",name:"gpt-oss-120b (free)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b:free":{id:"openai/gpt-oss-20b:free",name:"gpt-oss-20b (free)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Codestral 2508",contextWindow:256000,maxTokens:256000,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:65536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-31"},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen3 30B A3B Instruct 2507",contextWindow:262000,maxTokens:262000,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen3 30B A3B Thinking 2507",contextWindow:262000,maxTokens:262000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"GLM 4.5",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"GLM 4.5 Air",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:81920,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.078,output:0.312,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen3 Coder",contextWindow:262144,maxTokens:66536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen3 Coder Flash",contextWindow:128000,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder:exacto":{id:"qwen/qwen3-coder:exacto",name:"Qwen3 Coder (exacto)",contextWindow:131072,maxTokens:32768,capabilities:["tools","structured_output","temperature"],pricing:{input:0.38,output:1.53,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder:free":{id:"qwen/qwen3-coder:free",name:"Qwen3 Coder 480B A35B Instruct (free)",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-07-17"},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"Kimi K2",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"moonshotai/kimi-k2:free":{id:"moonshotai/kimi-k2:free",name:"Kimi K2 (free)",contextWindow:32800,maxTokens:32800,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"mistralai/devstral-medium-2507":{id:"mistralai/devstral-medium-2507",name:"Devstral Medium",contextWindow:131072,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10"},"mistralai/devstral-small-2507":{id:"mistralai/devstral-small-2507",name:"Devstral Small 1.1",contextWindow:131072,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10"},"x-ai/grok-4":{id:"x-ai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-07-09"},"inception/mercury":{id:"inception/mercury",name:"Mercury",contextWindow:128000,maxTokens:32000,capabilities:["tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-26"},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral Small 3.2 24B Instruct",contextWindow:96000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-20"},"mistralai/mistral-small-3.2-24b-instruct:free":{id:"mistralai/mistral-small-3.2-24b-instruct:free",name:"Mistral Small 3.2 24B (free)",contextWindow:96000,maxTokens:96000,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-20"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax M1",contextWindow:1e6,maxTokens:40000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.4,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17"},"moonshotai/kimi-dev-72b:free":{id:"moonshotai/kimi-dev-72b:free",name:"Kimi Dev 72b (free)",contextWindow:131072,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-16"},"google/gemini-2.5-pro-preview-06-05":{id:"google/gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05"},"deepseek/deepseek-r1-0528-qwen3-8b:free":{id:"deepseek/deepseek-r1-0528-qwen3-8b:free",name:"Deepseek R1 0528 Qwen3 8B (free)",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-29"},"sarvamai/sarvam-m:free":{id:"sarvamai/sarvam-m:free",name:"Sarvam-M (free)",contextWindow:32768,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-25"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"mistralai/devstral-small-2505:free":{id:"mistralai/devstral-small-2505:free",name:"Devstral Small 2505 (free)",contextWindow:32768,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-21"},"mistralai/devstral-small-2505":{id:"mistralai/devstral-small-2505",name:"Devstral Small",contextWindow:128000,maxTokens:128000,capabilities:["tools","temperature"],pricing:{input:0.06,output:0.12,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral Medium 3",contextWindow:131072,maxTokens:131072,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"google/gemini-2.5-pro-preview-05-06":{id:"google/gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06"},"inception/mercury-coder":{id:"inception/mercury-coder",name:"Mercury Coder",contextWindow:128000,maxTokens:32000,capabilities:["tools","structured_output","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04-30"},"qwen/qwen3-4b:free":{id:"qwen/qwen3-4b:free",name:"Qwen3 4B (free)",contextWindow:40960,maxTokens:40960,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-30"},"qwen/qwen3-14b:free":{id:"qwen/qwen3-14b:free",name:"Qwen3 14B (free)",contextWindow:40960,maxTokens:40960,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"qwen/qwen3-235b-a22b-07-25":{id:"qwen/qwen3-235b-a22b-07-25",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"qwen/qwen3-235b-a22b-07-25:free":{id:"qwen/qwen3-235b-a22b-07-25:free",name:"Qwen3 235B A22B Instruct 2507 (free)",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"qwen/qwen3-235b-a22b:free":{id:"qwen/qwen3-235b-a22b:free",name:"Qwen3 235B A22B (free)",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"qwen/qwen3-30b-a3b:free":{id:"qwen/qwen3-30b-a3b:free",name:"Qwen3 30B A3B (free)",contextWindow:40960,maxTokens:40960,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"qwen/qwen3-32b:free":{id:"qwen/qwen3-32b:free",name:"Qwen3 32B (free)",contextWindow:40960,maxTokens:40960,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"qwen/qwen3-8b:free":{id:"qwen/qwen3-8b:free",name:"Qwen3 8B (free)",contextWindow:40960,maxTokens:40960,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28"},"microsoft/mai-ds-r1:free":{id:"microsoft/mai-ds-r1:free",name:"MAI DS R1 (free)",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-21"},"thudm/glm-z1-32b:free":{id:"thudm/glm-z1-32b:free",name:"GLM Z1 32B (free)",contextWindow:32768,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-17"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"meta-llama/llama-4-scout:free":{id:"meta-llama/llama-4-scout:free",name:"Llama 4 Scout (free)",contextWindow:64000,maxTokens:64000,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"qwen/qwen2.5-vl-32b-instruct:free":{id:"qwen/qwen2.5-vl-32b-instruct:free",name:"Qwen2.5 VL 32B Instruct (free)",contextWindow:8192,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-24"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20"},"mistralai/mistral-small-3.1-24b-instruct":{id:"mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma 3 27B",contextWindow:96000,maxTokens:96000,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.04,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12"},"google/gemma-3-27b-it:free":{id:"google/gemma-3-27b-it:free",name:"Gemma 3 27B (free)",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12"},"rekaai/reka-flash-3":{id:"rekaai/reka-flash-3",name:"Reka Flash 3",contextWindow:32768,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12"},"qwen/qwq-32b:free":{id:"qwen/qwq-32b:free",name:"QwQ 32B (free)",contextWindow:32768,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-05"},"nousresearch/deephermes-3-llama-3-8b-preview":{id:"nousresearch/deephermes-3-llama-3-8b-preview",name:"DeepHermes 3 Llama 3 8B Preview",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-28"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-02-19"},"x-ai/grok-3":{id:"x-ai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17"},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"Grok 3 Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17"},"x-ai/grok-3-mini":{id:"x-ai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17"},"x-ai/grok-3-mini-beta":{id:"x-ai/grok-3-mini-beta",name:"Grok 3 Mini Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17"},"cognitivecomputations/dolphin3.0-mistral-24b":{id:"cognitivecomputations/dolphin3.0-mistral-24b",name:"Dolphin3.0 Mistral 24B",contextWindow:32768,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-13"},"cognitivecomputations/dolphin3.0-r1-mistral-24b":{id:"cognitivecomputations/dolphin3.0-r1-mistral-24b",name:"Dolphin3.0 R1 Mistral 24B",contextWindow:32768,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-13"},"qwen/qwen2.5-vl-72b-instruct:free":{id:"qwen/qwen2.5-vl-72b-instruct:free",name:"Qwen2.5 VL 72B Instruct (free)",contextWindow:32768,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-01"},"deepseek/deepseek-r1:free":{id:"deepseek/deepseek-r1:free",name:"R1 (free)",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"minimax/minimax-01":{id:"minimax/minimax-01",name:"MiniMax-01",contextWindow:1e6,maxTokens:1e6,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"Intellect 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15"},"google/gemini-2.0-flash-001":{id:"google/gemini-2.0-flash-001",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11"},"google/gemini-2.0-flash-exp:free":{id:"google/gemini-2.0-flash-exp:free",name:"Gemini 2.0 Flash Experimental (free)",contextWindow:1048576,maxTokens:1048576,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"meta-llama/llama-3.3-70b-instruct:free":{id:"meta-llama/llama-3.3-70b-instruct:free",name:"Llama 3.3 70B Instruct (free)",contextWindow:131072,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"qwen/qwen-2.5-vl-7b-instruct:free":{id:"qwen/qwen-2.5-vl-7b-instruct:free",name:"Qwen2.5-VL 7B Instruct (free)",contextWindow:32768,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-28"},"mistralai/mistral-nemo:free":{id:"mistralai/mistral-nemo:free",name:"Mistral Nemo (free)",contextWindow:131072,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-19"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o-mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"},"mistralai/mistral-7b-instruct:free":{id:"mistralai/mistral-7b-instruct:free",name:"Mistral 7B Instruct (free)",contextWindow:32768,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-27"}},requesty:{"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24"},"anthropic/claude-sonnet-4-6":{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"anthropic/claude-opus-4-6":{id:"anthropic/claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:1},releaseDate:"2025-12-17"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"anthropic/claude-opus-4-5":{id:"anthropic/claude-opus-4-5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:4.5},releaseDate:"2025-11-18"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"anthropic/claude-haiku-4-5":{id:"anthropic/claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:62000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"anthropic/claude-sonnet-4-5":{id:"anthropic/claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"xai/grok-4-fast":{id:"xai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.2},releaseDate:"2025-09-19"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:3},releaseDate:"2025-09-09"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:16000,maxTokens:4000,capabilities:["tools","reasoning"],pricing:{input:0.05,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-08-07"},"anthropic/claude-opus-4-1":{id:"anthropic/claude-opus-4-1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0.55},releaseDate:"2025-06-17"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:2.375},releaseDate:"2025-06-17"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","temperature"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"anthropic/claude-3-7-sonnet":{id:"anthropic/claude-3-7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o Mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"}},sapaicore:{"anthropic--claude-4.6-sonnet":{id:"anthropic--claude-4.6-sonnet",name:"anthropic--claude-4.6-sonnet",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"anthropic--claude-4.6-opus":{id:"anthropic--claude-4.6-opus",name:"anthropic--claude-4.6-opus",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"anthropic--claude-4.5-opus":{id:"anthropic--claude-4.5-opus",name:"anthropic--claude-4.5-opus",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"anthropic--claude-4.5-haiku":{id:"anthropic--claude-4.5-haiku",name:"anthropic--claude-4.5-haiku",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"anthropic--claude-4.5-sonnet":{id:"anthropic--claude-4.5-sonnet",name:"anthropic--claude-4.5-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"gpt-5":{id:"gpt-5",name:"gpt-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-mini":{id:"gpt-5-mini",name:"gpt-5-mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"gpt-5-nano":{id:"gpt-5-nano",name:"gpt-5-nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"gemini-2.5-flash-lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17"},"anthropic--claude-4-opus":{id:"anthropic--claude-4-opus",name:"anthropic--claude-4-opus",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic--claude-4-sonnet":{id:"anthropic--claude-4-sonnet",name:"anthropic--claude-4-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"gpt-4.1":{id:"gpt-4.1",name:"gpt-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"gpt-4.1-mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"gemini-2.5-flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-25"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"gemini-2.5-pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-25"},"anthropic--claude-3.7-sonnet":{id:"anthropic--claude-3.7-sonnet",name:"anthropic--claude-3.7-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-24"},"anthropic--claude-3.5-sonnet":{id:"anthropic--claude-3.5-sonnet",name:"anthropic--claude-3.5-sonnet",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"anthropic--claude-3-haiku":{id:"anthropic--claude-3-haiku",name:"anthropic--claude-3-haiku",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13"},"anthropic--claude-3-sonnet":{id:"anthropic--claude-3-sonnet",name:"anthropic--claude-3-sonnet",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-03-04"},"anthropic--claude-3-opus":{id:"anthropic--claude-3-opus",name:"anthropic--claude-3-opus",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29"}},together:{"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5 397B A17B",contextWindow:262144,maxTokens:130000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-02-12"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11"},"Qwen/Qwen3-Coder-Next-FP8":{id:"Qwen/Qwen3-Coder-Next-FP8",name:"Qwen3 Coder Next FP8",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"essentialai/Rnj-1-Instruct":{id:"essentialai/Rnj-1-Instruct",name:"Rnj-1 Instruct",contextWindow:32768,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-05"},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:200000,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"deepseek-ai/DeepSeek-V3-1":{id:"deepseek-ai/DeepSeek-V3-1",name:"DeepSeek V3.1",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:1.7,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"Qwen/Qwen3-235B-A22B-Instruct-2507-tput":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507-tput",name:"Qwen3 235B A22B Instruct 2507 FP8",contextWindow:262144,maxTokens:262144,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",contextWindow:262144,maxTokens:262144,capabilities:["tools","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:200000,maxTokens:200000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.45,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:262144,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi K2 Instruct",contextWindow:131072,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-14"},"deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"meta-llama/Llama-3.3-70B-Instruct-Turbo":{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B",contextWindow:131072,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.88,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"}},"vercel-ai-gateway":{"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT 5.4 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17"},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT 5.4 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.19999999999999998,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17"},"zai/glm-5-turbo":{id:"zai/glm-5-turbo",name:"GLM 5 Turbo",contextWindow:202800,maxTokens:131100,capabilities:["tools","reasoning","temperature"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-15"},"zai/glm-4.7-flash":{id:"zai/glm-4.7-flash",name:"GLM 4.7 Flash",contextWindow:200000,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-13"},"xai/grok-4.20-multi-agent-beta":{id:"xai/grok-4.20-multi-agent-beta",name:"Grok 4.20 Multi Agent Beta",contextWindow:2000000,maxTokens:2000000,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11"},"xai/grok-4.20-non-reasoning-beta":{id:"xai/grok-4.20-non-reasoning-beta",name:"Grok 4.20 Beta Non-Reasoning",contextWindow:2000000,maxTokens:2000000,capabilities:["images","files","tools","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11"},"xai/grok-4.20-reasoning-beta":{id:"xai/grok-4.20-reasoning-beta",name:"Grok 4.20 Beta Reasoning",contextWindow:2000000,maxTokens:2000000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT 5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT 5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-05"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1e6,maxTokens:65000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03"},"openai/gpt-5.3-chat":{id:"openai/gpt-5.3-chat",name:"GPT-5.3 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-03-03"},"alibaba/qwen3.5-flash":{id:"alibaba/qwen3.5-flash",name:"Qwen 3.5 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.001,cacheWrite:0.125},releaseDate:"2026-02-24"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.75,cacheRead:0.024999999999999998,cacheWrite:0},releaseDate:"2026-02-24"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT 5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"alibaba/qwen3.5-plus":{id:"alibaba/qwen3.5-plus",name:"Qwen 3.5 Plus",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.4,output:2.4,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2026-02-16"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12"},"minimax/minimax-m2.5-highspeed":{id:"minimax/minimax-m2.5-highspeed",name:"MiniMax M2.5 High Speed",contextWindow:0,maxTokens:0,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.4,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12"},"zai/glm-5":{id:"zai/glm-5",name:"GLM-5",contextWindow:202800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:262144,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-26"},"zai/glm-4.7":{id:"zai/glm-4.7",name:"GLM 4.7",contextWindow:202752,maxTokens:120000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.43,output:1.75,cacheRead:0.08,cacheWrite:0},releaseDate:"2025-12-22"},"google/gemini-3-flash":{id:"google/gemini-3-flash",name:"Gemini 3 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo V2 Flash",contextWindow:262144,maxTokens:32000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17"},"mistral/devstral-2":{id:"mistral/devstral-2",name:"Devstral 2",contextWindow:256000,maxTokens:256000,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"deepseek/deepseek-v3.2-thinking":{id:"deepseek/deepseek-v3.2-thinking",name:"DeepSeek V3.2 Thinking",contextWindow:128000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.42,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-01"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"INTELLECT 3",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:18.75},releaseDate:"2025-11-24"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:216144,maxTokens:216144,capabilities:["tools","reasoning","temperature"],pricing:{input:0.47,output:2,cacheRead:0.14,cacheWrite:0},releaseDate:"2025-11-06"},"moonshotai/kimi-k2-thinking-turbo":{id:"moonshotai/kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262114,maxTokens:262114,capabilities:["tools","reasoning","temperature"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:262114,maxTokens:262114,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1.15,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27"},"minimax/minimax-m2.1-lightning":{id:"minimax/minimax-m2.1-lightning",name:"MiniMax M2.1 Lightning",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:2.4,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"bytedance/seed-1.8":{id:"bytedance/seed-1.8",name:"Seed 1.8",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-10"},"zai/glm-4.6":{id:"zai/glm-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:96000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.45,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"zai/glm-4.6v":{id:"zai/glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-30"},"zai/glm-4.6v-flash":{id:"zai/glm-4.6v-flash",name:"GLM-4.6V-Flash",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek V3.2 Exp",contextWindow:163840,maxTokens:163840,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-09-25"},"google/gemini-2.5-flash-preview-09-2025":{id:"google/gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.383},releaseDate:"2025-09-25"},"alibaba/qwen3-vl-instruct":{id:"alibaba/qwen3-vl-instruct",name:"Qwen3 VL Instruct",contextWindow:131072,maxTokens:129024,capabilities:["images","tools","temperature"],pricing:{input:0.7,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24"},"alibaba/qwen3-vl-thinking":{id:"alibaba/qwen3-vl-thinking",name:"Qwen3 VL Thinking",contextWindow:131072,maxTokens:129024,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.7,output:8.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24"},"alibaba/qwen3-max":{id:"alibaba/qwen3-max",name:"Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:1.2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23"},"alibaba/qwen3-max-preview":{id:"alibaba/qwen3-max-preview",name:"Qwen3 Max Preview",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-09-23"},"meituan/longcat-flash-thinking":{id:"meituan/longcat-flash-thinking",name:"LongCat Flash Thinking",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22"},"xai/grok-4-fast-non-reasoning":{id:"xai/grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"alibaba/qwen3-next-80b-a3b-instruct":{id:"alibaba/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.09,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12"},"alibaba/qwen3-next-80b-a3b-thinking":{id:"alibaba/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12"},"moonshotai/kimi-k2-turbo":{id:"moonshotai/kimi-k2-turbo",name:"Kimi K2 Turbo",contextWindow:256000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:2.4,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05"},"bytedance/seed-1.6":{id:"bytedance/seed-1.6",name:"Seed 1.6",contextWindow:256000,maxTokens:32000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09"},"meituan/longcat-flash-chat":{id:"meituan/longcat-flash-chat",name:"LongCat Flash Chat",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-30"},"xai/grok-code-fast-1":{id:"xai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28"},"deepseek/deepseek-v3.1":{id:"deepseek/deepseek-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"Nvidia Nemotron Nano 9B V2",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18"},"zai/glm-4.5v":{id:"zai/glm-4.5v",name:"GLM 4.5V",contextWindow:66000,maxTokens:66000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-chat":{id:"openai/gpt-5-chat",name:"GPT-5 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 pro",contextWindow:400000,maxTokens:272000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-instant":{id:"openai/gpt-5.1-instant",name:"GPT-5.1 Instant",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.1-thinking":{id:"openai/gpt-5.1-thinking",name:"GPT 5.1 Thinking",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT 5.2 ",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"zai/glm-4.5":{id:"zai/glm-4.5",name:"GLM 4.5",contextWindow:131072,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"zai/glm-4.5-air":{id:"zai/glm-4.5-air",name:"GLM 4.5 Air",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"},"alibaba/qwen3-coder-plus":{id:"alibaba/qwen3-coder-plus",name:"Qwen3 Coder Plus",contextWindow:1e6,maxTokens:1e6,capabilities:["tools","temperature"],pricing:{input:1,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23"},"alibaba/qwen3-coder-next":{id:"alibaba/qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:256000,maxTokens:256000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09"},"xai/grok-4-fast-reasoning":{id:"xai/grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning",contextWindow:2000000,maxTokens:256000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09"},"xai/grok-4.1-fast-non-reasoning":{id:"xai/grok-4.1-fast-non-reasoning",name:"Grok 4.1 Fast Non-Reasoning",contextWindow:2000000,maxTokens:30000,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09"},"xai/grok-4.1-fast-reasoning":{id:"xai/grok-4.1-fast-reasoning",name:"Grok 4.1 Fast Reasoning",contextWindow:2000000,maxTokens:30000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-06-17"},"vercel/v0-1.5-md":{id:"vercel/v0-1.5-md",name:"v0-1.5-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-09"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"vercel/v0-1.0-md":{id:"vercel/v0-1.0-md",name:"v0-1.0-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-22"},"openai/codex-mini":{id:"openai/codex-mini",name:"Codex Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1.5,output:6,cacheRead:0.38,cacheWrite:0},releaseDate:"2025-05-16"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-05-16"},"mistral/devstral-small":{id:"mistral/devstral-small",name:"Devstral Small 1.1",contextWindow:128000,maxTokens:64000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistral/devstral-small-2":{id:"mistral/devstral-small-2",name:"Devstral Small 2",contextWindow:256000,maxTokens:256000,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistral/mistral-medium":{id:"mistral/mistral-medium",name:"Mistral Medium 3.1",contextWindow:128000,maxTokens:64000,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"openai/o3":{id:"openai/o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o3-pro":{id:"openai/o3-pro",name:"o3 Pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14"},"meta/llama-4-maverick":{id:"meta/llama-4-maverick",name:"Llama-4-Maverick-17B-128E-Instruct-FP8",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta/llama-4-scout":{id:"meta/llama-4-scout",name:"Llama-4-Scout-17B-16E-Instruct-FP8",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"alibaba/qwen-3-14b":{id:"alibaba/qwen-3-14b",name:"Qwen3-14B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen-3-235b":{id:"alibaba/qwen-3-235b",name:"Qwen3 235B A22B Instruct 2507",contextWindow:40960,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.13,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen-3-30b":{id:"alibaba/qwen-3-30b",name:"Qwen3-30B-A3B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.08,output:0.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen-3-32b":{id:"alibaba/qwen-3-32b",name:"Qwen 3.32B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen3-235b-a22b-thinking":{id:"alibaba/qwen3-235b-a22b-thinking",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262114,maxTokens:262114,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen3-coder":{id:"alibaba/qwen3-coder",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.38,output:1.53,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"alibaba/qwen3-coder-30b-a3b":{id:"alibaba/qwen3-coder-30b-a3b",name:"Qwen 3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-03-20"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-03-20"},"mistral/magistral-medium":{id:"mistral/magistral-medium",name:"Magistral Medium (latest)",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17"},"mistral/magistral-small":{id:"mistral/magistral-small",name:"Magistral Small",contextWindow:128000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17"},"cohere/command-a":{id:"cohere/command-a",name:"Command A",contextWindow:256000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-13"},"inception/mercury-coder-small":{id:"inception/mercury-coder-small",name:"Mercury Coder Small Beta",contextWindow:32000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-26"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"perplexity/sonar":{id:"perplexity/sonar",name:"Sonar",contextWindow:127000,maxTokens:8000,capabilities:["images","tools","temperature"],pricing:{input:1,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-19"},"perplexity/sonar-pro":{id:"perplexity/sonar-pro",name:"Sonar Pro",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-19"},"xai/grok-3":{id:"xai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"xai/grok-3-fast":{id:"xai/grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17"},"xai/grok-3-mini":{id:"xai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"xai/grok-3-mini-fast":{id:"xai/grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek-R1",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"alibaba/qwen3-max-thinking":{id:"alibaba/qwen3-max-thinking",name:"Qwen 3 Max Thinking",contextWindow:256000,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-01"},"arcee-ai/trinity-large-preview":{id:"arcee-ai/trinity-large-preview",name:"Trinity Large Preview",contextWindow:131000,maxTokens:131000,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01"},"zai/glm-4.7-flashx":{id:"zai/glm-4.7-flashx",name:"GLM 4.7 FlashX",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-01"},"deepseek/deepseek-v3":{id:"deepseek/deepseek-v3",name:"DeepSeek V3 0324",contextWindow:163840,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.77,output:0.77,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-26"},"openai/o3-mini":{id:"openai/o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20"},"google/gemini-2.0-flash":{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11"},"google/gemini-2.0-flash-lite":{id:"google/gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"meta/llama-3.3-70b":{id:"meta/llama-3.3-70b",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"openai/o1":{id:"openai/o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05"},"amazon/nova-lite":{id:"amazon/nova-lite",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03"},"amazon/nova-micro":{id:"amazon/nova-micro",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03"},"amazon/nova-pro":{id:"amazon/nova-pro",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03"},"nvidia/nemotron-nano-12b-v2-vl":{id:"nvidia/nemotron-nano-12b-v2-vl",name:"Nvidia Nemotron Nano 12B V2 VL",contextWindow:131072,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"gpt-oss-safeguard-20b",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.08,output:0.3,cacheRead:0.04,cacheWrite:0},releaseDate:"2024-12-01"},"mistral/pixtral-large":{id:"mistral/pixtral-large",name:"Pixtral Large (latest)",contextWindow:128000,maxTokens:128000,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-01"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"anthropic/claude-3.5-sonnet":{id:"anthropic/claude-3.5-sonnet",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"},"mistral/ministral-3b":{id:"mistral/ministral-3b",name:"Ministral 3B (latest)",contextWindow:128000,maxTokens:128000,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01"},"mistral/ministral-8b":{id:"mistral/ministral-8b",name:"Ministral 8B (latest)",contextWindow:128000,maxTokens:128000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01"},"meta/llama-3.2-11b":{id:"meta/llama-3.2-11b",name:"Llama 3.2 11B Vision Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.16,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"meta/llama-3.2-90b":{id:"meta/llama-3.2-90b",name:"Llama 3.2 90B Vision Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25"},"mistral/mistral-small":{id:"mistral/mistral-small",name:"Mistral Small (latest)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-01"},"mistral/pixtral-12b":{id:"mistral/pixtral-12b",name:"Pixtral 12B",contextWindow:128000,maxTokens:128000,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-01"},"xai/grok-2-vision":{id:"xai/grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"meta/llama-3.1-70b":{id:"meta/llama-3.1-70b",name:"Llama 3.1 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"meta/llama-3.1-8b":{id:"meta/llama-3.1-8b",name:"Llama 3.1 8B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.03,output:0.05,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18"},"mistral/mistral-nemo":{id:"mistral/mistral-nemo",name:"Mistral Nemo",contextWindow:60288,maxTokens:16000,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.17,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-01"},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26"},"anthropic/claude-3.5-sonnet-20240620":{id:"anthropic/claude-3.5-sonnet-20240620",name:"Claude 3.5 Sonnet (2024-06-20)",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-06-20"},"mistral/codestral":{id:"mistral/codestral",name:"Codestral (latest)",contextWindow:256000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-29"},"openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"},"mistral/mixtral-8x22b-instruct":{id:"mistral/mixtral-8x22b-instruct",name:"Mixtral 8x22B",contextWindow:64000,maxTokens:64000,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-17"},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13"},"anthropic/claude-3-opus":{id:"anthropic/claude-3-opus",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29"},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"}},vertex:{"claude-sonnet-4-6@default":{id:"claude-sonnet-4-6@default",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17"},"claude-opus-4-6@default":{id:"claude-opus-4-6@default",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"claude-opus-4-5@20251101":{id:"claude-opus-4-5@20251101",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"claude-haiku-4-5@20251001":{id:"claude-haiku-4-5@20251001",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"claude-sonnet-4-5@20250929":{id:"claude-sonnet-4-5@20250929",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"claude-opus-4-1@20250805":{id:"claude-opus-4-1@20250805",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"claude-opus-4@20250514":{id:"claude-opus-4@20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"claude-sonnet-4@20250514":{id:"claude-sonnet-4@20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"claude-3-7-sonnet@20250219":{id:"claude-3-7-sonnet@20250219",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"claude-3-5-haiku@20241022":{id:"claude-3-5-haiku@20241022",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"claude-3-5-sonnet@20241022":{id:"claude-3-5-sonnet@20241022",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22"}},xai:{"grok-4.20-beta-latest-non-reasoning":{id:"grok-4.20-beta-latest-non-reasoning",name:"Grok 4.20 Beta (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09"},"grok-4.20-beta-latest-reasoning":{id:"grok-4.20-beta-latest-reasoning",name:"Grok 4.20 Beta (Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09"},"grok-4.20-multi-agent-beta-latest":{id:"grok-4.20-multi-agent-beta-latest",name:"Grok 4.20 Multi-Agent Beta",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09"},"grok-4-1-fast":{id:"grok-4-1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19"},"grok-4-1-fast-non-reasoning":{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19"},"grok-4-fast":{id:"grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19"},"grok-4-fast-non-reasoning":{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19"},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28"},"grok-4":{id:"grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09"},"grok-3":{id:"grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-fast":{id:"grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-fast-latest":{id:"grok-3-fast-latest",name:"Grok 3 Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-latest":{id:"grok-3-latest",name:"Grok 3 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini":{id:"grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini-fast":{id:"grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini-fast-latest":{id:"grok-3-mini-fast-latest",name:"Grok 3 Mini Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17"},"grok-3-mini-latest":{id:"grok-3-mini-latest",name:"Grok 3 Mini Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"grok-2-1212":{id:"grok-2-1212",name:"Grok 2 (1212)",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-12-12"},"grok-beta":{id:"grok-beta",name:"Grok Beta",contextWindow:131072,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01"},"grok-vision-beta":{id:"grok-vision-beta",name:"Grok Vision Beta",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01"},"grok-2":{id:"grok-2",name:"Grok 2",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-latest":{id:"grok-2-latest",name:"Grok 2 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-vision":{id:"grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-vision-1212":{id:"grok-2-vision-1212",name:"Grok 2 Vision (1212)",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"},"grok-2-vision-latest":{id:"grok-2-vision-latest",name:"Grok 2 Vision Latest",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20"}},zai:{"glm-5-turbo":{id:"glm-5-turbo",name:"GLM-5-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-16"},"glm-5":{id:"glm-5",name:"GLM-5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11"},"glm-4.7-flash":{id:"glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22"},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-08"},"glm-4.6":{id:"glm-4.6",name:"GLM-4.6",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30"},"glm-4.5v":{id:"glm-4.5v",name:"GLM-4.5V",contextWindow:64000,maxTokens:16384,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11"},"glm-4.5":{id:"glm-4.5",name:"GLM-4.5",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-07-28"},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM-4.5-Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-07-28"},"glm-4.5-flash":{id:"glm-4.5-flash",name:"GLM-4.5-Flash",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28"}}}}});function nn(e){if(!e)return Number.NEGATIVE_INFINITY;let t=Date.parse(e);return Number.isNaN(t)?Number.NEGATIVE_INFINITY:t}function Se(e){return Object.fromEntries(Object.entries(e).sort(([t,a],[i,n])=>{let o=nn(a.releaseDate),c=nn(n.releaseDate);if(o!==c)return c-o;return t.localeCompare(i)}))}function cr(e){let t=[];if(e.modalities?.input?.includes("image"))t.push("images");if(e.modalities?.input?.includes("pdf"))t.push("files");if(e.tool_call===!0)t.push("tools");if(e.reasoning===!0)t.push("reasoning");if(e.structured_output===!0)t.push("structured_output");if(e.temperature===!0)t.push("temperature");return t}function sr(e){if(e==="active"||e==="preview"||e==="deprecated"||e==="legacy")return e;return}function pr(e,t){return{id:e,name:t.name||e,contextWindow:t.limit?.context??4096,maxTokens:t.limit?.output??4096,capabilities:cr(t),pricing:{input:t.cost?.input??0,output:t.cost?.output??0,cacheRead:t.cost?.cache_read??0,cacheWrite:t.cost?.cache_write??0},status:sr(t.status),releaseDate:t.release_date}}function ur(e){return e.status==="deprecated"}function mr(e,t){let a={};for(let[i,n]of Object.entries(t)){let o=e[i];if(!o?.models)continue;let c={};for(let[r,s]of Object.entries(o.models)){if(s.tool_call!==!0||ur(s))continue;c[r]=pr(r,s)}if(Object.keys(c).length>0)a[n]=Se(c)}return a}async function on(e,t,a=fetch){let i=await a(e);if(!i.ok)throw Error(`Failed to load model catalog from ${e}: HTTP ${i.status}`);let n=await i.json();return mr(n,t)}var sn={};d(sn,{getGeneratedProviderModels:()=>Mi,getGeneratedModelsVersion:()=>fi,getGeneratedModelsForProvider:()=>p});function Mi(){return rn??=Object.fromEntries(Object.entries(Qa.providers).map(([e,t])=>[e,Se(t)])),rn}function fi(){return Qa.version}function p(e){let t=cn.get(e);if(t)return t;let a=Se(Qa.providers[e]??{});return cn.set(e,a),a}var rn,cn;var b=g(()=>{an();cn=new Map});var pn={};d(pn,{AIHUBMIX_PROVIDER:()=>gt});var gt;var Ei=g(()=>{b();gt={provider:{id:"aihubmix",name:"AI Hub Mix",description:"AI model aggregator",protocol:"openai-chat",baseUrl:"https://api.aihubmix.com/v1",defaultModelId:"gpt-4o",env:["AIHUBMIX_API_KEY"]},models:p("aihubmix")}});var un={};d(un,{getAnthropicReasoningModels:()=>Wt,getActiveAnthropicModels:()=>ht,ANTHROPIC_PROVIDER:()=>xt,ANTHROPIC_MODELS:()=>U,ANTHROPIC_DEFAULT_MODEL:()=>Ce});function ht(){return Object.fromEntries(Object.entries(U).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function Wt(){return Object.fromEntries(Object.entries(U).filter(([,e])=>e.thinkingConfig!==void 0))}var U,Ce,xt;var _i=g(()=>{b();U=p("anthropic"),Ce=Object.keys(U)[0]??"claude-sonnet-4-6",xt={provider:{id:"anthropic",name:"Anthropic",description:"Creator of Claude, the AI assistant",protocol:"anthropic",baseUrl:"https://api.anthropic.com",defaultModelId:Ce,capabilities:["reasoning","prompt-cache"],env:["ANTHROPIC_API_KEY"]},models:U}});var mn={};d(mn,{ASKSAGE_PROVIDER:()=>wt});var wt;var vi=g(()=>{wt={provider:{id:"asksage",name:"AskSage",description:"AskSage platform",protocol:"openai-chat",baseUrl:"https://api.asksage.ai/server",defaultModelId:"gpt-4o",capabilities:["tools"],env:["ASKSAGE_API_KEY"]},models:{}}});var dn={};d(dn,{BASETEN_PROVIDER:()=>bt});var ln,bt;var Pi=g(()=>{b();ln=p("baseten"),bt={provider:{id:"baseten",name:"Baseten",description:"ML inference platform",protocol:"openai-chat",baseUrl:"https://model-api.baseten.co/v1",defaultModelId:Object.keys(ln)[0],env:["BASETEN_API_KEY"]},models:ln}});var gn={};d(gn,{BEDROCK_PROVIDER:()=>Dt,BEDROCK_MODELS:()=>de,BEDROCK_DEFAULT_MODEL:()=>Le});var de,Le,Dt;var Ai=g(()=>{b();de=p("bedrock"),Le=Object.keys(de)[0]??"anthropic.claude-sonnet-4-5-20250929-v1:0",Dt={provider:{id:"bedrock",name:"AWS Bedrock",description:"Amazon Bedrock managed foundation models",protocol:"anthropic",defaultModelId:Le,capabilities:["reasoning","prompt-cache"],env:["AWS_REGION","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN"]},models:de}});var xn={};d(xn,{CEREBRAS_PROVIDER:()=>kt,CEREBRAS_MODELS:()=>ge,CEREBRAS_DEFAULT_MODEL:()=>Qe});var ge,Qe,kt;var Gi=g(()=>{b();ge=p("cerebras"),Qe=Object.keys(ge)[0]??"llama3.1-70b",kt={provider:{id:"cerebras",name:"Cerebras",description:"Fast inference on Cerebras wafer-scale chips",protocol:"openai-chat",baseUrl:"https://api.cerebras.ai/v1",defaultModelId:Qe,env:["CEREBRAS_API_KEY"]},models:ge}});var hn={};d(hn,{CLAUDE_CODE_PROVIDER:()=>Rt,CLAUDE_CODE_MODELS:()=>qe,CLAUDE_CODE_DEFAULT_MODEL:()=>Fe});function Oi(e){let t=Object.entries(lr).find(([a])=>e(a));if(t)return t[1];return{id:"sonnet",name:"Claude Sonnet",capabilities:["streaming","reasoning"]}}function Si(e){return{...e==="opus"?Oi((a)=>a.includes("opus")):e==="haiku"?Oi((a)=>a.includes("haiku")):Oi((a)=>a.includes("sonnet")),id:e,name:`Claude ${e.charAt(0).toUpperCase()}${e.slice(1)}`}}var lr,qe,Fe="sonnet",Rt;var Ci=g(()=>{b();lr=p("anthropic");qe={opus:Si("opus"),sonnet:Si("sonnet"),haiku:Si("haiku")},Rt={provider:{id:"claude-code",name:"Claude Code",description:"Use Claude Code SDK with Claude Pro/Max subscription",protocol:"openai-chat",baseUrl:"",defaultModelId:Fe,capabilities:["reasoning"]},models:qe}});var Wn={};d(Wn,{CLINE_PROVIDER:()=>We,CLINE_MODELS:()=>he,CLINE_DEFAULT_MODELINFO:()=>dr,CLINE_DEFAULT_MODEL:()=>xe});var xe="anthropic/claude-sonnet-4.6",he,dr,We;var Li=g(()=>{b();he=p("vercel-ai-gateway"),dr=he[xe],We={provider:{id:"cline",name:"Cline",description:"Cline API endpoint",protocol:"openai-chat",baseUrl:"https://api.cline.bot/api/v1",defaultModelId:xe,capabilities:["reasoning","prompt-cache","tools","oauth"],env:["CLINE_API_KEY"]},models:he}});var wn={};d(wn,{getDeepSeekReasoningModels:()=>Mt,DEEPSEEK_PROVIDER:()=>Tt,DEEPSEEK_MODELS:()=>z,DEEPSEEK_DEFAULT_MODEL:()=>Be});function Mt(){return Object.fromEntries(Object.entries(z).filter(([,e])=>e.capabilities?.includes("reasoning")))}var z,Be,Tt;var Qi=g(()=>{b();z=p("deepseek"),Be=Object.keys(z)[0],Tt={provider:{id:"deepseek",name:"DeepSeek",description:"Advanced AI models with reasoning capabilities",protocol:"openai-chat",baseUrl:"https://api.deepseek.com/v1",defaultModelId:Be,capabilities:["reasoning","prompt-cache"],env:["DEEPSEEK_API_KEY"]},models:z}});var bn={};d(bn,{DIFY_PROVIDER:()=>ft});var ft;var qi=g(()=>{ft={provider:{id:"dify",name:"Dify",description:"Dify workflow/application provider via AI SDK",protocol:"openai-chat",defaultModelId:"default",env:["DIFY_API_KEY"]},models:{}}});var Dn={};d(Dn,{DOUBAO_PROVIDER:()=>Bi,DOUBAO_MODELS:()=>Et,DOUBAO_DEFAULT_MODEL:()=>qa});var Fi="doubao-1-5-pro-256k-250115",Et,qa,Bi;var Ki=g(()=>{b();Et={[Fi]:{id:Fi,name:"Doubao 1.5 Pro 256k",capabilities:["streaming","tools"]},...p("doubao")},qa=Object.keys(Et)[0]??Fi,Bi={provider:{id:"doubao",name:"Doubao",description:"Volcengine Ark platform models",protocol:"openai-chat",baseUrl:"https://ark.cn-beijing.volces.com/api/v3",defaultModelId:qa,env:["DOUBAO_API_KEY"]},models:Et}});var kn={};d(kn,{getFireworksFunctionModels:()=>vt,FIREWORKS_PROVIDER:()=>_t,FIREWORKS_MODELS:()=>ee,FIREWORKS_DEFAULT_MODEL:()=>Ke});function vt(){return Object.fromEntries(Object.entries(ee).filter(([,e])=>e.capabilities?.includes("tools")))}var ee,Ke,_t;var yi=g(()=>{b();ee=p("fireworks"),Ke=Object.keys(ee)[0]??"accounts/fireworks/models/llama-v3p1-8b-instruct",_t={provider:{id:"fireworks",name:"Fireworks AI",description:"High-performance inference platform",protocol:"openai-chat",baseUrl:"https://api.fireworks.ai/inference/v1",defaultModelId:Ke,env:["FIREWORKS_API_KEY"]},models:ee}});var Rn={};d(Rn,{getGeminiThinkingModels:()=>Gt,getActiveGeminiModels:()=>At,GEMINI_PROVIDER:()=>Pt,GEMINI_MODELS:()=>j,GEMINI_DEFAULT_MODEL:()=>ye});function At(){return Object.fromEntries(Object.entries(j).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function Gt(){return Object.fromEntries(Object.entries(j).filter(([,e])=>e.capabilities?.includes("reasoning")))}var j,ye,Pt;var Ni=g(()=>{b();j=p("gemini"),ye=Object.keys(j)[0]??"gemini-3-pro",Pt={provider:{id:"gemini",name:"Google Gemini",description:"Google's multimodal AI models",protocol:"gemini",baseUrl:"https://generativelanguage.googleapis.com",defaultModelId:ye,capabilities:["reasoning","prompt-cache"],env:["GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"]},models:j}});var Tn={};d(Tn,{getGroqVisionModels:()=>St,GROQ_PROVIDER:()=>Ot,GROQ_MODELS:()=>te,GROQ_DEFAULT_MODEL:()=>Ne});function St(){return Object.fromEntries(Object.entries(te).filter(([,e])=>e.capabilities?.includes("images")))}var te,Ne,Ot;var Vi=g(()=>{b();te=p("groq"),Ne=Object.keys(te)[0]??"llama-3.3-70b-versatile",Ot={provider:{id:"groq",name:"Groq",description:"Ultra-fast LPU inference",protocol:"openai-chat",baseUrl:"https://api.groq.com/openai/v1",defaultModelId:Ne,env:["GROQ_API_KEY"]},models:te}});var Mn={};d(Mn,{HICAP_PROVIDER:()=>Ct});var Ct;var Ui=g(()=>{Ct={provider:{id:"hicap",name:"HiCap",description:"HiCap AI platform",protocol:"openai-chat",baseUrl:"https://api.hicap.ai/v1",defaultModelId:"hicap-pro",env:["HICAP_API_KEY"]},models:{}}});var fn={};d(fn,{HUAWEI_CLOUD_MAAS_PROVIDER:()=>Lt});var Lt;var ji=g(()=>{Lt={provider:{id:"huawei-cloud-maas",name:"Huawei Cloud MaaS",description:"Huawei's model-as-a-service platform",protocol:"openai-chat",baseUrl:"https://infer-modelarts.cn-southwest-2.myhuaweicloud.com/v1",defaultModelId:"DeepSeek-R1",env:["HUAWEI_CLOUD_MAAS_API_KEY"]},models:{}}});var En={};d(En,{HUGGINGFACE_PROVIDER:()=>qt,HUGGINGFACE_MODELS:()=>Qt});var Qt,qt;var Yi=g(()=>{b();Qt=p("huggingface"),qt={provider:{id:"huggingface",name:"Hugging Face",description:"Hugging Face inference API",protocol:"openai-chat",baseUrl:"https://api-inference.huggingface.co/v1",defaultModelId:Object.keys(Qt)[0],env:["HF_TOKEN"]},models:Qt}});var _n={};d(_n,{LITELLM_PROVIDER:()=>Ft});var Ft;var Xi=g(()=>{Ft={provider:{id:"litellm",name:"LiteLLM",description:"Self-hosted LLM proxy",protocol:"openai-chat",baseUrl:"http://localhost:4000/v1",defaultModelId:"gpt-4o",capabilities:["prompt-cache"],env:["LITELLM_API_KEY"]},models:{}}});var Pn={};d(Pn,{LMSTUDIO_PROVIDER:()=>Bt});var vn,Bt;var $i=g(()=>{b();vn=p("lmstudio"),Bt={provider:{id:"lmstudio",name:"LM Studio",description:"Local model inference with LM Studio",protocol:"openai-chat",baseUrl:"http://localhost:1234/v1",defaultModelId:Object.keys(vn)[0],env:["LMSTUDIO_API_KEY"]},models:vn||{}}});var An={};d(An,{MINIMAX_PROVIDER:()=>Kt,MINIMAX_MODELS:()=>we,MINIMAX_DEFAULT_MODEL:()=>Ve});var Hi="MiniMax-M2.5",we,Ve,Kt;var Ji=g(()=>{b();we={[Hi]:{id:Hi,name:"MiniMax M2.5",capabilities:["streaming","tools","reasoning","prompt-cache"]},...p("minimax")},Ve=Object.keys(we)[0]??Hi,Kt={provider:{id:"minimax",name:"MiniMax",description:"MiniMax models via Anthropic-compatible API",protocol:"anthropic",baseUrl:"https://api.minimax.io/anthropic",defaultModelId:Ve,capabilities:["reasoning","prompt-cache"],env:["MINIMAX_API_KEY"]},models:we}});var Gn={};d(Gn,{MISTRAL_PROVIDER:()=>yt});var yt;var Zi=g(()=>{yt={provider:{id:"mistral",name:"Mistral",description:"Mistral AI models via AI SDK provider",protocol:"openai-chat",baseUrl:"https://api.mistral.ai/v1",defaultModelId:"mistral-medium-latest",capabilities:["reasoning"],env:["MISTRAL_API_KEY"]},models:{}}});var On={};d(On,{MOONSHOT_PROVIDER:()=>Nt,MOONSHOT_MODELS:()=>be,MOONSHOT_DEFAULT_MODEL:()=>Ue});var Ii="kimi-k2-0905-preview",be,Ue,Nt;var zi=g(()=>{b();be={[Ii]:{id:Ii,name:"Kimi K2 Preview",capabilities:["streaming","tools","reasoning"]},...p("moonshot")},Ue=Object.keys(be)[0]??Ii,Nt={provider:{id:"moonshot",name:"Moonshot",description:"Moonshot AI Studio models",protocol:"openai-chat",baseUrl:"https://api.moonshot.ai/v1",defaultModelId:Ue,capabilities:["reasoning","prompt-cache"],env:["MOONSHOT_API_KEY"]},models:be}});var Sn={};d(Sn,{NEBIUS_PROVIDER:()=>Vt,NEBIUS_MODELS:()=>De,NEBIUS_DEFAULT_MODEL:()=>je});var De,je,Vt;var e0=g(()=>{b();De=p("nebius"),je=Object.keys(De)[0]||"meta-llama/Meta-Llama-3.1-70B-Instruct",Vt={provider:{id:"nebius",name:"Nebius",description:"European cloud AI infrastructure",protocol:"openai-chat",baseUrl:"https://api.studio.nebius.ai/v1",defaultModelId:je,env:["NEBIUS_API_KEY"]},models:De}});var Cn={};d(Cn,{NOUS_RESEARCH_PROVIDER:()=>jt,NOUS_RESEARCH_MODELS:()=>Ye,NOUS_RESEARCH_DEFAULT_MODEL:()=>Ut});var Ye,Ut="DeepHermes-3-Llama-3-3-70B-Preview",jt;var t0=g(()=>{Ye={},jt={provider:{id:"nousResearch",name:"Nous Research",description:"Open-source AI research lab",protocol:"openai-chat",baseUrl:"https://inference-api.nousresearch.com/v1",defaultModelId:"DeepHermes-3-Llama-3-3-70B-Preview",env:["NOUS_RESEARCH_API_KEY","NOUSRESEARCH_API_KEY"]},models:Ye}});var Ln={};d(Ln,{OCA_PROVIDER:()=>Yt,OCA_MODELS:()=>ke,OCA_DEFAULT_MODEL:()=>Xe,DEFAULT_INTERNAL_OCA_BASE_URL:()=>Y,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>y});var Y="https://code-internal.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm",y="https://code.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm",Xe="anthropic/claude-3-7-sonnet-20250219",ke,Yt;var Xt=g(()=>{b();ke=p("oca"),Yt={provider:{id:"oca",name:"Oracle Code Assist",description:"Oracle Code Assist (OCA) LiteLLM gateway",protocol:"openai-chat",baseUrl:y,defaultModelId:Object.keys(ke)[0]??Xe,capabilities:["reasoning","prompt-cache","tools"],env:["OCA_API_KEY"]},models:ke}});var Qn={};d(Qn,{OLLAMA_PROVIDER:()=>$t});var $t;var a0=g(()=>{$t={provider:{id:"ollama",name:"Ollama",description:"Ollama Cloud and local LLM hosting",protocol:"openai-chat",baseUrl:"http://localhost:11434/v1",defaultModelId:"llama3.2",env:["OLLAMA_API_KEY"]},models:{}}});var i0={};d(i0,{getOpenAIReasoningModels:()=>Zt,getActiveOpenAIModels:()=>Jt,OPENAI_PROVIDER:()=>Ht,OPENAI_MODELS:()=>F,OPENAI_DEFAULT_MODEL:()=>$e});function Jt(){return Object.fromEntries(Object.entries(F).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}function Zt(){return Object.fromEntries(Object.entries(F).filter(([,e])=>e.capabilities?.includes("reasoning")))}var F,$e,Ht;var It=g(()=>{b();F=p("openai"),$e=Object.keys(F)[0]??"gpt-5.3-codex",Ht={provider:{id:"openai-native",name:"OpenAI",description:"Creator of GPT and ChatGPT",protocol:"openai-responses",baseUrl:"https://api.openai.com/v1",defaultModelId:$e,capabilities:["reasoning"],env:["OPENAI_API_KEY"]},models:F}});var Fn={};d(Fn,{OPENAI_CODEX_PROVIDER:()=>zt,OPENAI_CODEX_MODELS:()=>qn,OPENAI_CODEX_DEFAULT_MODEL:()=>He});var qn,He,zt;var n0=g(()=>{b();It();qn=p("openai"),He=Object.keys(qn)[0]??"gpt-5.3-codex",zt={provider:{id:"openai-codex",name:"OpenAI Codex",description:"OpenAI Codex via the local Codex CLI provider",protocol:"openai-chat",baseUrl:"https://chatgpt.com/backend-api/codex",defaultModelId:He,capabilities:["reasoning","oauth"]},models:F}});var Bn={};d(Bn,{OPENCODE_PROVIDER:()=>o0,OPENCODE_MODELS:()=>ea,OPENCODE_DEFAULT_MODEL:()=>Fa});var ea,Fa,o0;var r0=g(()=>{b();ea=p("opencode"),Fa=Object.keys(ea)[0]??"openai/gpt-5.3-codex",o0={provider:{id:"opencode",name:"OpenCode",description:"OpenCode SDK multi-provider runtime",protocol:"openai-chat",baseUrl:"",defaultModelId:Fa,capabilities:["reasoning","oauth"]},models:ea}});var Kn={};d(Kn,{OPENROUTER_PROVIDER:()=>ta,OPENROUTER_MODELS:()=>Je,OPENROUTER_DEFAULT_MODEL:()=>Ze});var Je,Ze="anthropic/claude-sonnet-4.6",ta;var c0=g(()=>{b();Je=p("openrouter"),ta={provider:{id:"openrouter",name:"OpenRouter",description:"OpenRouter AI platform",protocol:"openai-chat",baseUrl:"https://openrouter.ai/api/v1",defaultModelId:Ze,capabilities:["reasoning","prompt-cache"],env:["OPENROUTER_API_KEY"]},models:Je}});var yn={};d(yn,{QWEN_PROVIDER:()=>p0,QWEN_MODELS:()=>aa,QWEN_DEFAULT_MODEL:()=>Ba});var s0="qwen-plus-latest",aa,Ba,p0;var u0=g(()=>{b();aa={[s0]:{id:s0,name:"Qwen Plus Latest",capabilities:["streaming","tools","reasoning"]},...p("qwen")},Ba=Object.keys(aa)[0]??s0,p0={provider:{id:"qwen",name:"Qwen",description:"Alibaba Qwen platform models",protocol:"openai-chat",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",defaultModelId:Ba,capabilities:["reasoning"],env:["QWEN_API_KEY"]},models:aa}});var Nn={};d(Nn,{QWEN_CODE_PROVIDER:()=>l0,QWEN_CODE_MODELS:()=>ia,QWEN_CODE_DEFAULT_MODEL:()=>Ka});var m0="qwen3-coder-plus",ia,Ka,l0;var d0=g(()=>{b();ia={[m0]:{id:m0,name:"Qwen3 Coder Plus",capabilities:["streaming","tools","reasoning"]},...p("qwen-code")},Ka=Object.keys(ia)[0]??m0,l0={provider:{id:"qwen-code",name:"Qwen Code",description:"Qwen OAuth coding models",protocol:"openai-chat",baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1",defaultModelId:Ka,capabilities:["reasoning","oauth"]},models:ia}});var Vn={};d(Vn,{REQUESTY_PROVIDER:()=>na,REQUESTY_MODELS:()=>g0});var g0,na;var x0=g(()=>{b();g0=p("requesty"),na={provider:{id:"requesty",name:"Requesty",description:"AI router with multiple provider support",protocol:"openai-chat",baseUrl:"https://router.requesty.ai/v1",defaultModelId:Object.keys(g0)[0],capabilities:["reasoning"],env:["REQUESTY_API_KEY"]},models:g0}});var Un={};d(Un,{SAMBANOVA_PROVIDER:()=>oa,SAMBANOVA_MODELS:()=>Re,SAMBANOVA_DEFAULT_MODEL:()=>Ie});var Re,Ie,oa;var h0=g(()=>{b();Re=p("sambanova"),Ie=Object.keys(Re)[0],oa={provider:{id:"sambanova",name:"SambaNova",description:"High-performance AI inference",protocol:"openai-chat",baseUrl:"https://api.sambanova.ai/v1",defaultModelId:Ie,env:["SAMBANOVA_API_KEY"]},models:Re}});var jn={};d(jn,{SAP_AI_CORE_PROVIDER:()=>w0,SAP_AI_CORE_MODELS:()=>ra,SAP_AI_CORE_DEFAULT_MODEL:()=>ya});var W0="anthropic--claude-3.5-sonnet",ra,ya,w0;var b0=g(()=>{b();ra={[W0]:{id:W0,name:"Claude 3.5 Sonnet (SAP AI Core)",capabilities:["streaming","tools","reasoning","prompt-cache"]},...p("sapaicore")},ya=Object.keys(ra)[0]??W0,w0={provider:{id:"sapaicore",name:"SAP AI Core",description:"SAP AI Core inference and orchestration platform",protocol:"openai-chat",baseUrl:"",defaultModelId:ya,capabilities:["reasoning","prompt-cache"],env:["AICORE_SERVICE_KEY","VCAP_SERVICES"]},models:ra}});var Yn={};d(Yn,{getTogetherLlamaModels:()=>sa,TOGETHER_PROVIDER:()=>ca,TOGETHER_MODELS:()=>ae,TOGETHER_DEFAULT_MODEL:()=>ze});function sa(){return Object.fromEntries(Object.entries(ae).filter(([e])=>e.toLowerCase().includes("llama")))}var ae,ze,ca;var D0=g(()=>{b();ae=p("together"),ze=Object.keys(ae)[0]??"meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo",ca={provider:{id:"together",name:"Together AI",description:"Fast inference for open-source models",protocol:"openai-chat",baseUrl:"https://api.together.xyz/v1",defaultModelId:ze,capabilities:["reasoning"],env:["TOGETHER_API_KEY"]},models:ae}});var Xn={};d(Xn,{VERCEL_AI_GATEWAY_PROVIDER:()=>pa});var gr,pa;var k0=g(()=>{b();gr=p("vercel-ai-gateway"),pa={provider:{id:"vercel-ai-gateway",name:"Vercel AI Gateway",description:"Vercel's AI gateway service",protocol:"openai-chat",baseUrl:"https://ai-gateway.vercel.app/v1",defaultModelId:Object.keys(gr)[0],capabilities:["reasoning"],env:["AI_GATEWAY_API_KEY"]},models:p("vercel-ai-gateway")}});var Hn={};d(Hn,{VERTEX_PROVIDER:()=>ua,VERTEX_MODELS:()=>Te,VERTEX_DEFAULT_MODEL:()=>et});var Te,$n,xr,et,ua;var R0=g(()=>{b();Te=p("vertex"),$n=Object.keys(Te),xr=$n.find((e)=>!e.includes("claude")),et=xr??$n[0]??"gemini-3-pro",ua={provider:{id:"vertex",name:"Google Vertex AI",description:"Google Cloud Vertex AI (Gemini and partner models)",protocol:"gemini",defaultModelId:et,capabilities:["reasoning","prompt-cache"],env:["GCP_PROJECT_ID","GOOGLE_CLOUD_PROJECT","GOOGLE_APPLICATION_CREDENTIALS","GEMINI_API_KEY","GOOGLE_API_KEY"]},models:Te}});var Jn={};d(Jn,{getActiveXAIModels:()=>la,XAI_PROVIDER:()=>ma,XAI_MODELS:()=>ie,XAI_DEFAULT_MODEL:()=>tt});function la(){return Object.fromEntries(Object.entries(ie).filter(([,e])=>!e.status||e.status==="active"||e.status==="preview"))}var ie,tt,ma;var T0=g(()=>{b();ie=p("xai"),tt=Object.keys(ie)[0],ma={provider:{id:"xai",name:"xAI",description:"Creator of Grok AI assistant",protocol:"openai-chat",baseUrl:"https://api.x.ai/v1",defaultModelId:tt,capabilities:["reasoning"],env:["XAI_API_KEY"]},models:ie}});var Zn={};d(Zn,{ZAI_PROVIDER:()=>M0,ZAI_MODELS:()=>da,ZAI_DEFAULT_MODEL:()=>Na});var da,Na,M0;var f0=g(()=>{b();da=p("zai"),Na=Object.keys(da)[0],M0={provider:{id:"zai",name:"Z.AI",description:"Z.AI's family of LLMs",protocol:"openai-chat",baseUrl:"https://api.z.ai/api/paas/v4",defaultModelId:Na,capabilities:["reasoning"],env:["ZHIPU_API_KEY"]},models:da}});function or(e){return e}var Mo={};d(Mo,{validateQueryConfig:()=>Ri,validateModelInfo:()=>bi,updateModel:()=>E0,unregisterProvider:()=>oo,unregisterModel:()=>no,sortModels:()=>dt,searchModels:()=>ko,safeValidateQueryConfig:()=>Ti,safeValidateModelInfo:()=>Di,resetRegistry:()=>co,registerProvider:()=>Xa,registerModels:()=>so,registerModel:()=>it,queryModels:()=>C,matchesQuery:()=>lt,isDeprecated:()=>mt,isActive:()=>Wi,hasProvider:()=>Va,hasCapability:()=>le,getVisionModels:()=>uo,getToolModels:()=>go,getTogetherLlamaModels:()=>sa,getReasoningModels:()=>mo,getProviderIds:()=>oe,getProviderCollection:()=>eo,getProvider:()=>zn,getPricing:()=>wi,getOpenAIReasoningModels:()=>Zt,getModelsWithContextWindow:()=>bo,getModelsInPriceRange:()=>wo,getModelsForProvider:()=>Ua,getModelsByProvider:()=>Do,getModelStatistics:()=>To,getModelCount:()=>io,getModel:()=>ja,getGroqVisionModels:()=>St,getGeneratedProviderModels:()=>Mi,getGeneratedModelsVersion:()=>fi,getGeneratedModelsForProvider:()=>p,getGeminiThinkingModels:()=>Gt,getFireworksFunctionModels:()=>vt,getDeprecatedModels:()=>Wo,getDefaultModel:()=>ao,getDeepSeekReasoningModels:()=>Mt,getComputerUseModels:()=>xo,getCachingModels:()=>lo,getAnthropicReasoningModels:()=>Wt,getAllProviders:()=>to,getAllModels:()=>Ya,getActiveXAIModels:()=>la,getActiveOpenAIModels:()=>Jt,getActiveModels:()=>ho,getActiveGeminiModels:()=>At,getActiveAnthropicModels:()=>ht,deprecateModel:()=>po,createQuery:()=>Ro,clearCustomModels:()=>ro,XAI_PROVIDER:()=>ma,XAI_MODELS:()=>ie,XAI_DEFAULT_MODEL:()=>tt,VERTEX_PROVIDER:()=>ua,VERTEX_MODELS:()=>Te,VERTEX_DEFAULT_MODEL:()=>et,VERCEL_AI_GATEWAY_PROVIDER:()=>pa,ThinkingConfigSchema:()=>Sa,TOGETHER_PROVIDER:()=>ca,TOGETHER_MODELS:()=>ae,TOGETHER_DEFAULT_MODEL:()=>ze,SAMBANOVA_PROVIDER:()=>oa,SAMBANOVA_MODELS:()=>Re,SAMBANOVA_DEFAULT_MODEL:()=>Ie,REQUESTY_PROVIDER:()=>na,ProviderInfoSchema:()=>La,ProviderCapabilitySchema:()=>Ca,OPENROUTER_PROVIDER:()=>ta,OPENROUTER_MODELS:()=>Je,OPENROUTER_DEFAULT_MODEL:()=>Ze,OPENAI_PROVIDER:()=>Ht,OPENAI_MODELS:()=>F,OPENAI_DEFAULT_MODEL:()=>$e,OPENAI_CODEX_PROVIDER:()=>zt,OPENAI_CODEX_DEFAULT_MODEL:()=>He,OLLAMA_PROVIDER:()=>$t,OCA_PROVIDER:()=>Yt,OCA_MODELS:()=>ke,OCA_DEFAULT_MODEL:()=>Xe,NOUS_RESEARCH_PROVIDER:()=>jt,NOUS_RESEARCH_MODELS:()=>Ye,NOUS_RESEARCH_DEFAULT_MODEL:()=>Ut,NEBIUS_PROVIDER:()=>Vt,NEBIUS_MODELS:()=>De,NEBIUS_DEFAULT_MODEL:()=>je,ModelStatusSchema:()=>Oe,ModelQueryResultSchema:()=>ki,ModelQueryConfigSchema:()=>I,ModelQueryBuilder:()=>$a,ModelPricingSchema:()=>Oa,ModelInfoSchema:()=>me,ModelEntrySchema:()=>xi,ModelCollectionSchema:()=>hi,ModelCapabilitySchema:()=>Z,MOONSHOT_PROVIDER:()=>Nt,MOONSHOT_MODELS:()=>be,MOONSHOT_DEFAULT_MODEL:()=>Ue,MISTRAL_PROVIDER:()=>yt,MINIMAX_PROVIDER:()=>Kt,MINIMAX_MODELS:()=>we,MINIMAX_DEFAULT_MODEL:()=>Ve,LMSTUDIO_PROVIDER:()=>Bt,LITELLM_PROVIDER:()=>Ft,HUGGINGFACE_PROVIDER:()=>qt,HUAWEI_CLOUD_MAAS_PROVIDER:()=>Lt,HICAP_PROVIDER:()=>Ct,GROQ_PROVIDER:()=>Ot,GROQ_MODELS:()=>te,GROQ_DEFAULT_MODEL:()=>Ne,GEMINI_PROVIDER:()=>Pt,GEMINI_MODELS:()=>j,GEMINI_DEFAULT_MODEL:()=>ye,FIREWORKS_PROVIDER:()=>_t,FIREWORKS_MODELS:()=>ee,FIREWORKS_DEFAULT_MODEL:()=>Ke,DIFY_PROVIDER:()=>ft,DEFAULT_INTERNAL_OCA_BASE_URL:()=>Y,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>y,DEEPSEEK_PROVIDER:()=>Tt,DEEPSEEK_MODELS:()=>z,DEEPSEEK_DEFAULT_MODEL:()=>Be,CLINE_PROVIDER:()=>We,CLINE_MODELS:()=>he,CLINE_DEFAULT_MODEL:()=>xe,CLAUDE_CODE_PROVIDER:()=>Rt,CLAUDE_CODE_MODELS:()=>qe,CLAUDE_CODE_DEFAULT_MODEL:()=>Fe,CEREBRAS_PROVIDER:()=>kt,CEREBRAS_MODELS:()=>ge,CEREBRAS_DEFAULT_MODEL:()=>Qe,BEDROCK_PROVIDER:()=>Dt,BEDROCK_MODELS:()=>de,BEDROCK_DEFAULT_MODEL:()=>Le,BASETEN_PROVIDER:()=>bt,ApiFormatSchema:()=>Ge,ApiFormat:()=>V,ASKSAGE_PROVIDER:()=>wt,ANTHROPIC_PROVIDER:()=>xt,ANTHROPIC_MODELS:()=>U,ANTHROPIC_DEFAULT_MODEL:()=>Ce,AIHUBMIX_PROVIDER:()=>gt});import{z as h}from"zod";var Ge=h.enum(["default","openai-responses","r1"]),V={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},Z=h.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),Oe=h.enum(["active","preview","deprecated","legacy"]),Oa=h.object({input:h.number().optional(),output:h.number().optional(),cacheWrite:h.number().optional(),cacheRead:h.number().optional()}),Sa=h.object({maxBudget:h.number().optional(),outputPrice:h.number().optional(),thinkingLevel:h.enum(["low","high"]).optional()}),me=h.object({id:h.string(),name:h.string().optional(),description:h.string().optional(),maxTokens:h.number().optional(),contextWindow:h.number().optional(),capabilities:h.array(Z).optional(),apiFormat:Ge.optional(),systemRole:h.enum(["system","developer"]).optional(),temperature:h.number().optional(),pricing:Oa.optional(),thinkingConfig:Sa.optional(),status:Oe.optional(),deprecationNotice:h.string().optional(),replacedBy:h.string().optional(),releaseDate:h.string().optional(),deprecationDate:h.string().optional()}),xi=h.object({id:h.string(),info:me}),Ca=h.enum(["reasoning","prompt-cache","tools","oauth"]),tn=h.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1"]),La=h.object({id:h.string(),name:h.string(),description:h.string().optional(),protocol:tn.optional(),baseUrl:h.string().optional(),defaultModelId:h.string(),capabilities:h.array(Ca).optional(),env:h.array(h.string()).optional()}),hi=h.object({provider:La,models:h.record(h.string(),me)});function le(e,t){return e.capabilities?.includes(t)??!1}function mt(e){return e.status==="deprecated"}function Wi(e){return!e.status||e.status==="active"||e.status==="preview"}function wi(e){return e.pricing??{}}function bi(e){return me.parse(e)}function Di(e){let t=me.safeParse(e);return t.success?t.data:void 0}import{z as f}from"zod";var I=f.object({providers:f.array(f.string()).optional(),capabilities:f.array(Z).optional(),anyCapabilities:f.array(Z).optional(),excludeCapabilities:f.array(Z).optional(),status:f.array(Oe).optional(),includeDeprecated:f.boolean().optional(),apiFormat:Ge.optional(),minContextWindow:f.number().optional(),maxContextWindow:f.number().optional(),minMaxTokens:f.number().optional(),maxInputPrice:f.number().optional(),maxOutputPrice:f.number().optional(),search:f.string().optional(),hasThinking:f.boolean().optional(),sortBy:f.enum(["name","contextWindow","maxTokens","inputPrice","outputPrice"]).optional(),sortDirection:f.enum(["asc","desc"]).optional(),limit:f.number().optional()}),ki=f.object({models:f.array(f.object({providerId:f.string(),modelId:f.string(),info:f.any()})),total:f.number(),config:I});function lt(e,t,a){if(!a.includeDeprecated&&mt(t))return!1;if(a.status&&a.status.length>0){let i=t.status??"active";if(!a.status.includes(i))return!1}if(a.capabilities&&a.capabilities.length>0){if(!a.capabilities.every((n)=>le(t,n)))return!1}if(a.anyCapabilities&&a.anyCapabilities.length>0){if(!a.anyCapabilities.some((n)=>le(t,n)))return!1}if(a.excludeCapabilities&&a.excludeCapabilities.length>0){if(a.excludeCapabilities.some((n)=>le(t,n)))return!1}if(a.apiFormat&&t.apiFormat!==a.apiFormat)return!1;if(a.minContextWindow&&(t.contextWindow??0)<a.minContextWindow)return!1;if(a.maxContextWindow&&(t.contextWindow??Number.POSITIVE_INFINITY)>a.maxContextWindow)return!1;if(a.minMaxTokens&&(t.maxTokens??0)<a.minMaxTokens)return!1;if(a.maxInputPrice&&(t.pricing?.input??Number.POSITIVE_INFINITY)>a.maxInputPrice)return!1;if(a.maxOutputPrice&&(t.pricing?.output??Number.POSITIVE_INFINITY)>a.maxOutputPrice)return!1;if(a.search){let i=a.search.toLowerCase(),n=t.name?.toLowerCase().includes(i)??!1,o=e.toLowerCase().includes(i),c=t.description?.toLowerCase().includes(i)??!1;if(!n&&!o&&!c)return!1}if(a.hasThinking===!0&&!t.thinkingConfig)return!1;if(a.hasThinking===!1&&t.thinkingConfig)return!1;return!0}function dt(e,t,a="asc"){if(!t)return e;let i=[...e].sort((n,o)=>{let c,r;switch(t){case"name":c=n.info.name??n.modelId,r=o.info.name??o.modelId;break;case"contextWindow":c=n.info.contextWindow??0,r=o.info.contextWindow??0;break;case"maxTokens":c=n.info.maxTokens??0,r=o.info.maxTokens??0;break;case"inputPrice":c=n.info.pricing?.input??Number.POSITIVE_INFINITY,r=o.info.pricing?.input??Number.POSITIVE_INFINITY;break;case"outputPrice":c=n.info.pricing?.output??Number.POSITIVE_INFINITY,r=o.info.pricing?.output??Number.POSITIVE_INFINITY;break;default:return 0}if(typeof c==="string"&&typeof r==="string")return c.localeCompare(r);return c-r});return a==="desc"?i.reverse():i}function Ri(e){return I.parse(e)}function Ti(e){let t=I.safeParse(e);return t.success?t.data:void 0}var In=[["aihubmix",async()=>(await Promise.resolve().then(() => (Ei(),pn))).AIHUBMIX_PROVIDER],["anthropic",async()=>(await Promise.resolve().then(() => (_i(),un))).ANTHROPIC_PROVIDER],["asksage",async()=>(await Promise.resolve().then(() => (vi(),mn))).ASKSAGE_PROVIDER],["baseten",async()=>(await Promise.resolve().then(() => (Pi(),dn))).BASETEN_PROVIDER],["bedrock",async()=>(await Promise.resolve().then(() => (Ai(),gn))).BEDROCK_PROVIDER],["cerebras",async()=>(await Promise.resolve().then(() => (Gi(),xn))).CEREBRAS_PROVIDER],["claude-code",async()=>(await Promise.resolve().then(() => (Ci(),hn))).CLAUDE_CODE_PROVIDER],["cline",async()=>(await Promise.resolve().then(() => (Li(),Wn))).CLINE_PROVIDER],["deepseek",async()=>(await Promise.resolve().then(() => (Qi(),wn))).DEEPSEEK_PROVIDER],["dify",async()=>(await Promise.resolve().then(() => (qi(),bn))).DIFY_PROVIDER],["doubao",async()=>(await Promise.resolve().then(() => (Ki(),Dn))).DOUBAO_PROVIDER],["fireworks",async()=>(await Promise.resolve().then(() => (yi(),kn))).FIREWORKS_PROVIDER],["gemini",async()=>(await Promise.resolve().then(() => (Ni(),Rn))).GEMINI_PROVIDER],["groq",async()=>(await Promise.resolve().then(() => (Vi(),Tn))).GROQ_PROVIDER],["hicap",async()=>(await Promise.resolve().then(() => (Ui(),Mn))).HICAP_PROVIDER],["huawei-cloud-maas",async()=>(await Promise.resolve().then(() => (ji(),fn))).HUAWEI_CLOUD_MAAS_PROVIDER],["huggingface",async()=>(await Promise.resolve().then(() => (Yi(),En))).HUGGINGFACE_PROVIDER],["litellm",async()=>(await Promise.resolve().then(() => (Xi(),_n))).LITELLM_PROVIDER],["lmstudio",async()=>(await Promise.resolve().then(() => ($i(),Pn))).LMSTUDIO_PROVIDER],["minimax",async()=>(await Promise.resolve().then(() => (Ji(),An))).MINIMAX_PROVIDER],["mistral",async()=>(await Promise.resolve().then(() => (Zi(),Gn))).MISTRAL_PROVIDER],["moonshot",async()=>(await Promise.resolve().then(() => (zi(),On))).MOONSHOT_PROVIDER],["nebius",async()=>(await Promise.resolve().then(() => (e0(),Sn))).NEBIUS_PROVIDER],["nousResearch",async()=>(await Promise.resolve().then(() => (t0(),Cn))).NOUS_RESEARCH_PROVIDER],["oca",async()=>(await Promise.resolve().then(() => (Xt(),Ln))).OCA_PROVIDER],["ollama",async()=>(await Promise.resolve().then(() => (a0(),Qn))).OLLAMA_PROVIDER],["openai",async()=>(await Promise.resolve().then(() => (It(),i0))).OPENAI_PROVIDER],["openai-codex",async()=>(await Promise.resolve().then(() => (n0(),Fn))).OPENAI_CODEX_PROVIDER],["openai-native",async()=>(await Promise.resolve().then(() => (It(),i0))).OPENAI_PROVIDER],["opencode",async()=>(await Promise.resolve().then(() => (r0(),Bn))).OPENCODE_PROVIDER],["openrouter",async()=>(await Promise.resolve().then(() => (c0(),Kn))).OPENROUTER_PROVIDER],["qwen",async()=>(await Promise.resolve().then(() => (u0(),yn))).QWEN_PROVIDER],["qwen-code",async()=>(await Promise.resolve().then(() => (d0(),Nn))).QWEN_CODE_PROVIDER],["requesty",async()=>(await Promise.resolve().then(() => (x0(),Vn))).REQUESTY_PROVIDER],["sambanova",async()=>(await Promise.resolve().then(() => (h0(),Un))).SAMBANOVA_PROVIDER],["sapaicore",async()=>(await Promise.resolve().then(() => (b0(),jn))).SAP_AI_CORE_PROVIDER],["together",async()=>(await Promise.resolve().then(() => (D0(),Yn))).TOGETHER_PROVIDER],["vercel-ai-gateway",async()=>(await Promise.resolve().then(() => (k0(),Xn))).VERCEL_AI_GATEWAY_PROVIDER],["vertex",async()=>(await Promise.resolve().then(() => (R0(),Hn))).VERTEX_PROVIDER],["xai",async()=>(await Promise.resolve().then(() => (T0(),Jn))).XAI_PROVIDER],["zai",async()=>(await Promise.resolve().then(() => (f0(),Zn))).ZAI_PROVIDER]];var ga=new Map,at=new Map,B=new Map,Me=new Map,hr=In;function Wr(){for(let[e,t]of hr)at.set(e,{load:t})}Wr();async function wr(e){return e.load()}async function ne(e){if(Me.has(e))return Me.get(e);if(ga.has(e))return ga.get(e);let t=at.get(e);if(!t)return;let a=await wr(t);return ga.set(e,a),a}function oe(){let e=Array.from(at.keys()),t=Array.from(Me.keys()).filter((a)=>!at.has(a));return[...e,...t]}function Va(e){return at.has(e)||Me.has(e)}async function zn(e){return(await ne(e))?.provider}async function eo(e){return ne(e)}async function to(){let e=oe();return(await Promise.all(e.map((a)=>ne(a)))).filter((a)=>a!==void 0).map((a)=>a.provider)}async function Ua(e){let a=(await ne(e))?.models??{},i=B.get(e);if(i)return{...a,...Object.fromEntries(i)};return a}async function ja(e,t){let a=B.get(e);if(a?.has(t))return a.get(t);return(await ne(e))?.models[t]}async function ao(e){let t=await ne(e);if(!t)return;let a=t.provider.defaultModelId,i=await ja(e,a);if(!i)return;return{id:a,info:i}}async function Ya(){let e=[],t=oe();return await Promise.all(t.map(async(a)=>{let i=await ne(a);if(!i)return;for(let[o,c]of Object.entries(i.models))e.push({providerId:a,modelId:o,info:c});let n=B.get(a);if(n){for(let[o,c]of n)if(!i.models[o])e.push({providerId:a,modelId:o,info:c})}})),e}async function io(){let e=0,t=oe();return await Promise.all(t.map(async(a)=>{let i=await ne(a);if(!i)return;e+=Object.keys(i.models).length;let n=B.get(a);if(n){for(let o of n.keys())if(!i.models[o])e++}})),e}function Xa(e){Me.set(e.provider.id,e)}function it(e,t,a){if(!B.has(e))B.set(e,new Map);B.get(e)?.set(t,{...a,id:t})}function no(e,t){let a=B.get(e);if(a)return a.delete(t);return!1}function oo(e){return B.delete(e),ga.delete(e),Me.delete(e)||at.delete(e)}function ro(){B.clear()}function co(){ga.clear(),B.clear(),Me.clear()}function so(e,t){for(let[a,i]of Object.entries(t))it(e,a,i)}async function E0(e,t,a){let i=await ja(e,t);if(!i)return;let n={...i,...a};return it(e,t,n),n}async function po(e,t,a){return E0(e,t,{status:"deprecated",deprecationNotice:a?.notice,replacedBy:a?.replacedBy,deprecationDate:a?.deprecationDate})}function C(e){let t=I.parse(e),a=t.providers?.length?t.providers.filter((o)=>oe().includes(o)):oe(),i=[];for(let o of a){let c=Ua(o);for(let[r,s]of Object.entries(c))if(lt(r,s,t))i.push({providerId:o,modelId:r,info:s})}let n=dt(i,t.sortBy,t.sortDirection??"asc");if(t.limit&&t.limit>0)return n.slice(0,t.limit);return n}function uo(){return C({capabilities:["images"]})}function mo(){return C({capabilities:["reasoning"]})}function lo(){return C({capabilities:["prompt-cache"]})}function go(){return C({capabilities:["tools"]})}function xo(){return C({capabilities:["computer-use"]})}function ho(){return C({includeDeprecated:!1,status:["active","preview"]})}function Wo(){return C({includeDeprecated:!0,status:["deprecated"]})}function wo(e,t){return C({maxInputPrice:e,maxOutputPrice:t,sortBy:"inputPrice"})}function bo(e){return C({minContextWindow:e,sortBy:"contextWindow",sortDirection:"desc"})}function Do(e){return C({providers:[e]})}function ko(e){return C({search:e})}class $a{config={};fromProviders(e){return this.config.providers=e,this}withCapabilities(e){return this.config.capabilities=e,this}withAnyCapabilities(e){return this.config.anyCapabilities=e,this}excludeCapabilities(e){return this.config.excludeCapabilities=e,this}withStatus(e){return this.config.status=e,this}includeDeprecated(e=!0){return this.config.includeDeprecated=e,this}withApiFormat(e){return this.config.apiFormat=e,this}contextWindow(e){if(e.min!==void 0)this.config.minContextWindow=e.min;if(e.max!==void 0)this.config.maxContextWindow=e.max;return this}minMaxTokens(e){return this.config.minMaxTokens=e,this}maxPrice(e){if(e.input!==void 0)this.config.maxInputPrice=e.input;if(e.output!==void 0)this.config.maxOutputPrice=e.output;return this}search(e){return this.config.search=e,this}hasThinking(e=!0){return this.config.hasThinking=e,this}sortBy(e,t="asc"){return this.config.sortBy=e,this.config.sortDirection=t,this}limit(e){return this.config.limit=e,this}getConfig(){return{...this.config}}execute(){return C(this.config)}}function Ro(){return new $a}async function To(){let e=await Ya(),t={},a={},i={},n=[];for(let{providerId:r,info:s}of e){t[r]=(t[r]??0)+1;for(let l of s.capabilities??[])a[l]=(a[l]??0)+1;let u=s.status??"active";if(i[u]=(i[u]??0)+1,s.pricing?.input!==void 0)n.push(s.pricing.input)}let o=n.sort((r,s)=>r-s),c={min:o[0]??0,max:o[o.length-1]??0,avg:n.length>0?n.reduce((r,s)=>r+s,0)/n.length:0};return{totalModels:e.length,modelsByProvider:t,modelsByCapability:a,modelsByStatus:i,priceRange:c}}b();Ei();_i();vi();Pi();Ai();Gi();Ci();Li();Qi();qi();Ki();yi();Ni();Vi();Ui();ji();Yi();Xi();$i();Ji();Zi();zi();e0();t0();Xt();a0();It();n0();r0();c0();u0();d0();x0();h0();b0();D0();k0();R0();T0();f0();var xa={};d(xa,{getTogetherLlamaModels:()=>sa,getOpenAIReasoningModels:()=>Zt,getGroqVisionModels:()=>St,getGeminiThinkingModels:()=>Gt,getFireworksFunctionModels:()=>vt,getDeepSeekReasoningModels:()=>Mt,getAnthropicReasoningModels:()=>Wt,getActiveXAIModels:()=>la,getActiveOpenAIModels:()=>Jt,getActiveGeminiModels:()=>At,getActiveAnthropicModels:()=>ht,ZAI_PROVIDER:()=>M0,ZAI_MODELS:()=>da,ZAI_DEFAULT_MODEL:()=>Na,XAI_PROVIDER:()=>ma,XAI_MODELS:()=>ie,XAI_DEFAULT_MODEL:()=>tt,VERTEX_PROVIDER:()=>ua,VERTEX_MODELS:()=>Te,VERTEX_DEFAULT_MODEL:()=>et,VERCEL_AI_GATEWAY_PROVIDER:()=>pa,TOGETHER_PROVIDER:()=>ca,TOGETHER_MODELS:()=>ae,TOGETHER_DEFAULT_MODEL:()=>ze,SAP_AI_CORE_PROVIDER:()=>w0,SAP_AI_CORE_MODELS:()=>ra,SAP_AI_CORE_DEFAULT_MODEL:()=>ya,SAMBANOVA_PROVIDER:()=>oa,SAMBANOVA_MODELS:()=>Re,SAMBANOVA_DEFAULT_MODEL:()=>Ie,REQUESTY_PROVIDER:()=>na,QWEN_PROVIDER:()=>p0,QWEN_MODELS:()=>aa,QWEN_DEFAULT_MODEL:()=>Ba,QWEN_CODE_PROVIDER:()=>l0,QWEN_CODE_MODELS:()=>ia,QWEN_CODE_DEFAULT_MODEL:()=>Ka,OPENROUTER_PROVIDER:()=>ta,OPENROUTER_MODELS:()=>Je,OPENROUTER_DEFAULT_MODEL:()=>Ze,OPENCODE_PROVIDER:()=>o0,OPENCODE_MODELS:()=>ea,OPENCODE_DEFAULT_MODEL:()=>Fa,OPENAI_PROVIDER:()=>Ht,OPENAI_MODELS:()=>F,OPENAI_DEFAULT_MODEL:()=>$e,OPENAI_CODEX_PROVIDER:()=>zt,OPENAI_CODEX_DEFAULT_MODEL:()=>He,OLLAMA_PROVIDER:()=>$t,OCA_PROVIDER:()=>Yt,OCA_MODELS:()=>ke,OCA_DEFAULT_MODEL:()=>Xe,NOUS_RESEARCH_PROVIDER:()=>jt,NOUS_RESEARCH_MODELS:()=>Ye,NOUS_RESEARCH_DEFAULT_MODEL:()=>Ut,NEBIUS_PROVIDER:()=>Vt,NEBIUS_MODELS:()=>De,NEBIUS_DEFAULT_MODEL:()=>je,MOONSHOT_PROVIDER:()=>Nt,MOONSHOT_MODELS:()=>be,MOONSHOT_DEFAULT_MODEL:()=>Ue,MISTRAL_PROVIDER:()=>yt,MINIMAX_PROVIDER:()=>Kt,MINIMAX_MODELS:()=>we,MINIMAX_DEFAULT_MODEL:()=>Ve,LMSTUDIO_PROVIDER:()=>Bt,LITELLM_PROVIDER:()=>Ft,HUGGINGFACE_PROVIDER:()=>qt,HUGGINGFACE_MODELS:()=>Qt,HUAWEI_CLOUD_MAAS_PROVIDER:()=>Lt,HICAP_PROVIDER:()=>Ct,GROQ_PROVIDER:()=>Ot,GROQ_MODELS:()=>te,GROQ_DEFAULT_MODEL:()=>Ne,GEMINI_PROVIDER:()=>Pt,GEMINI_MODELS:()=>j,GEMINI_DEFAULT_MODEL:()=>ye,FIREWORKS_PROVIDER:()=>_t,FIREWORKS_MODELS:()=>ee,FIREWORKS_DEFAULT_MODEL:()=>Ke,DOUBAO_PROVIDER:()=>Bi,DOUBAO_MODELS:()=>Et,DOUBAO_DEFAULT_MODEL:()=>qa,DIFY_PROVIDER:()=>ft,DEFAULT_INTERNAL_OCA_BASE_URL:()=>Y,DEFAULT_EXTERNAL_OCA_BASE_URL:()=>y,DEEPSEEK_PROVIDER:()=>Tt,DEEPSEEK_MODELS:()=>z,DEEPSEEK_DEFAULT_MODEL:()=>Be,CLINE_PROVIDER:()=>We,CLINE_MODELS:()=>he,CLINE_DEFAULT_MODEL:()=>xe,CLAUDE_CODE_PROVIDER:()=>Rt,CLAUDE_CODE_MODELS:()=>qe,CLAUDE_CODE_DEFAULT_MODEL:()=>Fe,CEREBRAS_PROVIDER:()=>kt,CEREBRAS_MODELS:()=>ge,CEREBRAS_DEFAULT_MODEL:()=>Qe,BEDROCK_PROVIDER:()=>Dt,BEDROCK_MODELS:()=>de,BEDROCK_DEFAULT_MODEL:()=>Le,BASETEN_PROVIDER:()=>bt,ASKSAGE_PROVIDER:()=>wt,ANTHROPIC_PROVIDER:()=>xt,ANTHROPIC_MODELS:()=>U,ANTHROPIC_DEFAULT_MODEL:()=>Ce,AIHUBMIX_PROVIDER:()=>gt});var Jo={};d(Jo,{toProviderConfig:()=>Za,supportsModelThinking:()=>X,resolveProviderConfig:()=>nt,parseSettings:()=>Ja,normalizeProviderId:()=>S,isProviderSupported:()=>Ho,hasModelCapability:()=>Q,getModelPricing:()=>Ha,createHandlerAsync:()=>gi,createHandler:()=>Aa,ProviderSettingsSchema:()=>wa,OPENAI_COMPATIBLE_PROVIDERS:()=>K,BUILT_IN_PROVIDERS:()=>z0});import{z as re}from"zod";var fo=re.enum(["connector.started","connector.stopping","message.received","message.completed","message.failed","session.started","session.reused","thread.reset","schedule.delivery.started","schedule.delivery.sent","schedule.delivery.failed"]),br=re.object({adapter:re.string(),botUserName:re.string().optional(),event:fo,payload:re.record(re.string(),re.unknown()),ts:re.string()});var _0=[{modelsDevKey:"openai",generatedProviderId:"openai",runtimeProviderId:"openai-native"},{modelsDevKey:"openai",generatedProviderId:"openai",runtimeProviderId:"openai-codex"},{modelsDevKey:"anthropic",generatedProviderId:"anthropic"},{modelsDevKey:"anthropic",generatedProviderId:"anthropic",runtimeProviderId:"claude-code"},{modelsDevKey:"google",generatedProviderId:"gemini"},{modelsDevKey:"deepseek",generatedProviderId:"deepseek"},{modelsDevKey:"xai",generatedProviderId:"xai"},{modelsDevKey:"togetherai",runtimeProviderId:"together",generatedProviderId:"together"},{modelsDevKey:"sap-ai-core",runtimeProviderId:"sapaicore",generatedProviderId:"sapaicore"},{modelsDevKey:"fireworks-ai",runtimeProviderId:"fireworks",generatedProviderId:"fireworks"},{modelsDevKey:"groq",runtimeProviderId:"groq",generatedProviderId:"groq"},{modelsDevKey:"cerebras",runtimeProviderId:"cerebras",generatedProviderId:"cerebras"},{modelsDevKey:"sambanova",runtimeProviderId:"sambanova",generatedProviderId:"sambanova"},{modelsDevKey:"nebius",runtimeProviderId:"nebius",generatedProviderId:"nebius"},{modelsDevKey:"huggingface",runtimeProviderId:"huggingface",generatedProviderId:"huggingface"},{modelsDevKey:"openrouter",runtimeProviderId:"cline",generatedProviderId:"openrouter"},{modelsDevKey:"ollama",runtimeProviderId:"ollama-cloud"},{modelsDevKey:"ollama-cloud",generatedProviderId:"ollama"},{modelsDevKey:"vercel",runtimeProviderId:"dify",generatedProviderId:"vercel-ai-gateway"},{modelsDevKey:"vercel",generatedProviderId:"vercel-ai-gateway"},{modelsDevKey:"aihubmix",runtimeProviderId:"aihubmix",generatedProviderId:"aihubmix"},{modelsDevKey:"hicap",runtimeProviderId:"hicap"},{modelsDevKey:"nous-research",runtimeProviderId:"nousResearch"},{modelsDevKey:"huawei-cloud-maas",runtimeProviderId:"huawei-cloud-maas"},{modelsDevKey:"baseten",runtimeProviderId:"baseten",generatedProviderId:"baseten"},{modelsDevKey:"google-vertex-anthropic",generatedProviderId:"vertex"},{modelsDevKey:"lmstudio",generatedProviderId:"lmstudio"},{modelsDevKey:"zai",generatedProviderId:"zai"},{modelsDevKey:"requesty",generatedProviderId:"requesty"},{modelsDevKey:"amazon-bedrock",generatedProviderId:"bedrock"},{modelsDevKey:"moonshotai",generatedProviderId:"moonshot"},{modelsDevKey:"minimax",generatedProviderId:"minimax"}];function Dr(e){return Object.fromEntries(_0.flatMap((t)=>{let a=e==="modelsDevKey"?t.modelsDevKey:t.generatedProviderId;return a?[[t.modelsDevKey,a]]:[]}))}var v0=Dr("generatedProviderId");function Eo(e){return[...new Set(e)]}function ha(e){let t=_0.flatMap((a)=>{if(!a.generatedProviderId)return[];if(a.generatedProviderId===e||a.runtimeProviderId===e)return[a.generatedProviderId];return[]});if(e==="nousResearch")return Eo([...t,"nousresearch",e]);return Eo([...t,e])}import{z as O}from"zod";var kr=O.object({agentId:O.string(),conversationId:O.string(),iteration:O.number(),abortSignal:O.custom().optional(),metadata:O.record(O.string(),O.unknown()).optional()}),Rr=O.object({id:O.string(),name:O.string(),input:O.unknown(),output:O.unknown(),error:O.string().optional(),durationMs:O.number(),startedAt:O.date(),endedAt:O.date()});import{z as h2}from"zod";function L(e,t){return`<file_content path="${e}">
2
+ ${t}
3
+ </file_content>`}function Mr(e){if(!e||typeof e!=="object")return!1;let t=e;return typeof t.provider==="object"&&typeof t.models==="object"}function fr(e){return e==="openai-chat"||e==="openai-responses"||e==="openai-r1"}function _o(e){let t={},a=e?.includeKnownModels??!1;for(let i of Object.values(xa)){if(!Mr(i))continue;let n=i.provider;if(!fr(n.protocol)||!n.baseUrl)continue;t[n.id]={baseUrl:n.baseUrl,modelId:n.defaultModelId,knownModels:a?i.models:void 0,capabilities:n.capabilities}}return t}var O0="https://models.dev/api.json",Er=600000,_r=300000,vo=new Map,P0=new Map,Po=new Map,A0=new Map,Ao;async function vr(){return Ao??=Promise.resolve().then(() => (b(),sn)).then(({getGeneratedProviderModels:e})=>e()),Ao}async function Pr(e,t={},a={},i={},n={}){let o=await vr(),c=ha(e),r=Object.assign({},...c.map((s)=>o[s]??{}));return Se({...r,...t,...a,...i,...n})}function Go(e){let t=e?.trim();return t&&t.length>0?t:""}function S0(e){let t=e.apiKey?.trim()||e.accessToken?.trim();return t&&t.length>0?t:void 0}function Ar(e){let t=2166136261;for(let a=0;a<e.length;a+=1)t^=e.charCodeAt(a),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return(t>>>0).toString(16)}function Gr(e,t){return`${e}:${Go(t.baseUrl)}:${Ar(S0(t)??"")}`}function G0(e,t,a){if(a&&!e.includes(t))e.push(t)}function C0(e,t){let a=["streaming","tools"];return G0(a,"images",Boolean(t.supportsImages)),G0(a,"prompt-cache",Boolean(t.supportsPromptCache)),G0(a,"reasoning",Boolean(t.supportsReasoning)),{id:e,name:t.name??e,contextWindow:t.contextWindow,maxTokens:t.maxTokens,capabilities:a,releaseDate:t.releaseDate,status:"active"}}async function Or(e,t){let a=await fetch("https://inference.baseten.co/v1/models",{method:"GET",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}});if(!a.ok)throw Error(`Baseten model refresh failed: HTTP ${a.status}`);let n=(await a.json())?.data??[],o={};for(let c of n){let r=c.id?.trim();if(!r)continue;if(r.includes("whisper")||r.includes("tts")||r.includes("embedding"))continue;let s=c.supported_features??[];o[r]=C0(r,{name:r,contextWindow:c.context_length,maxTokens:c.max_completion_tokens,supportsReasoning:s.includes("reasoning")||s.includes("reasoning_effort"),supportsImages:!1})}return o}async function Sr(e,t){let a=await fetch("https://api.hicap.ai/v2/openai/models",{method:"GET",headers:{"api-key":t}});if(!a.ok)throw Error(`Hicap model refresh failed: HTTP ${a.status}`);let n=(await a.json())?.data??[],o={};for(let c of n){let r=c.id?.trim();if(!r)continue;o[r]=C0(r,{name:r,contextWindow:128000,supportsImages:!0,supportsPromptCache:!0})}return o}function Cr(e){let t=Go(e);if(!t)return"http://localhost:4000";return t.endsWith("/v1")?t.slice(0,-3):t}async function Lr(e,t){let i=`${Cr(e.baseUrl)}/v1/model/info`,n=async(u)=>fetch(i,{method:"GET",headers:{accept:"application/json",...u}}),o=await n({"x-litellm-api-key":t});if(!o.ok)o=await n({Authorization:`Bearer ${t}`});if(!o.ok)throw Error(`LiteLLM model refresh failed: HTTP ${o.status}`);let r=(await o.json())?.data??[],s={};for(let u of r){let l=u.model_name?.trim(),D=u.litellm_params?.model?.trim()||l;if(!D)continue;let T=u.model_info,w=C0(D,{name:l??D,maxTokens:T?.max_output_tokens??T?.max_tokens,contextWindow:T?.max_input_tokens??T?.max_tokens,supportsImages:T?.supports_vision,supportsPromptCache:T?.supports_prompt_caching,supportsReasoning:T?.supports_reasoning});if(s[D]=w,l)s[l]={...w,id:l,name:l}}return s}async function Qr(e,t){let a=S0(t);if(!a)return{};let i=Oo[e];if(!i)return{};return i(t,a)}var Oo={baseten:Or,hicap:Sr,litellm:Lr};function qr(e,t,a){if(!a)return!1;if(!Oo[e])return!1;if(t?.loadPrivateOnAuth===!1)return!1;return Boolean(S0(a))}async function Fr(e,t,a){let i=t?.cacheTtlMs??_r,n=Gr(e,a),o=Date.now(),c=Po.get(n);if(c&&c.expiresAt>o)return c.data;let r=A0.get(n);if(r)return r;let s=Qr(e,a).then((u)=>{return Po.set(n,{data:u,expiresAt:o+i}),u}).finally(()=>{A0.delete(n)});return A0.set(n,s),s}async function Br(e){return on(e,v0)}async function L0(e={}){let t=e.url??O0,a=e.cacheTtlMs??Er,i=Date.now(),n=vo.get(t);if(n&&n.expiresAt>i)return n.data;let o=P0.get(t);if(o)return o;let c=Br(t).then((r)=>{return vo.set(t,{data:r,expiresAt:i+a}),r}).finally(()=>{P0.delete(t)});return P0.set(t,c),c}function Kr(e){return Object.fromEntries(Object.entries(e).map(([t,a])=>[t,{baseUrl:a.baseUrl,modelId:a.modelId,knownModels:a.knownModels,capabilities:a.capabilities}]))}var K=Kr(_o());function Q0(e){return K[e]}async function nt(e,t,a){let i=Q0(e);if(!i)return;try{let o=(t?.loadLatestOnInit?await L0(t):void 0)?.[e]??{},c=a&&qr(e,t,a)?await Fr(e,t,a):{},r=await Pr(e,i.knownModels,o,c,a?.knownModels);return{...i,knownModels:r}}catch(n){if(t?.failOnError)throw n;return i}}function Wa(e){return e in K}var ot;((x)=>{x.ANTHROPIC="anthropic";x.CLAUDE_CODE="claude-code";x.CLINE="cline";x.OPENAI="openai";x.OPENAI_NATIVE="openai-native";x.OPENAI_CODEX="openai-codex";x.OPENCODE="opencode";x.BEDROCK="bedrock";x.VERTEX="vertex";x.GEMINI="gemini";x.OLLAMA="ollama";x.LMSTUDIO="lmstudio";x.DEEPSEEK="deepseek";x.XAI="xai";x.TOGETHER="together";x.FIREWORKS="fireworks";x.GROQ="groq";x.CEREBRAS="cerebras";x.SAMBANOVA="sambanova";x.NEBIUS="nebius";x.BASETEN="baseten";x.REQUESTY="requesty";x.LITELLM="litellm";x.HUGGINGFACE="huggingface";x.VERCEL_AI_GATEWAY="vercel-ai-gateway";x.AIHUBMIX="aihubmix";x.HICAP="hicap";x.NOUS_RESEARCH="nousResearch";x.HUAWEI_CLOUD_MAAS="huawei-cloud-maas";x.QWEN="qwen";x.QWEN_CODE="qwen-code";x.DOUBAO="doubao";x.MISTRAL="mistral";x.MOONSHOT="moonshot";x.ASKSAGE="asksage";x.ZAI="zai";x.MINIMAX="minimax";x.DIFY="dify";x.OCA="oca";x.SAPAICORE="sapaicore";x.OPENROUTER="openrouter"})(ot||={});var yr={openai:"openai-native",togetherai:"together","sap-ai-core":"sapaicore"},So=Object.values(ot);function S(e){let t=e.trim();return yr[t]??t}function Q(e,t){return e.capabilities?.includes(t)??!1}function X(e){return Boolean(e.thinkingConfig)||Q(e,"reasoning")}function Ha(e){return e.pricing??{}}b();Xt();import{z as m}from"zod";var q0=m.string().min(1).regex(/^[a-z0-9][a-z0-9-]*$/i),F0=m.object({apiKey:m.string().optional(),accessToken:m.string().optional(),refreshToken:m.string().optional(),expiresAt:m.number().int().positive().optional(),accountId:m.string().optional()}),Vr=m.enum(["none","low","medium","high"]),B0=m.object({enabled:m.boolean().optional(),effort:Vr.optional(),budgetTokens:m.number().int().positive().optional()}),K0=m.object({accessKey:m.string().optional(),secretKey:m.string().optional(),sessionToken:m.string().optional(),region:m.string().optional(),profile:m.string().optional(),authentication:m.enum(["iam","api-key","profile"]).optional(),usePromptCache:m.boolean().optional(),useCrossRegionInference:m.boolean().optional(),useGlobalInference:m.boolean().optional(),endpoint:m.string().url().optional(),customModelBaseId:m.string().optional()}),y0=m.object({projectId:m.string().optional(),region:m.string().optional()}),N0=m.object({apiVersion:m.string().optional(),useIdentity:m.boolean().optional()}),V0=m.object({clientId:m.string().optional(),clientSecret:m.string().optional(),tokenUrl:m.string().url().optional(),resourceGroup:m.string().optional(),deploymentId:m.string().optional(),useOrchestrationMode:m.boolean().optional(),api:m.enum(["orchestration","foundation-models"]).optional(),defaultSettings:m.record(m.string(),m.unknown()).optional()}),U0=m.object({mode:m.enum(["internal","external"]).optional(),usePromptCache:m.boolean().optional()}),j0=m.object({loadLatestOnInit:m.boolean().optional(),loadPrivateOnAuth:m.boolean().optional(),url:m.string().url().optional(),cacheTtlMs:m.number().int().positive().optional(),failOnError:m.boolean().optional()}),wa=m.object({provider:q0,apiKey:m.string().optional(),auth:F0.optional(),model:m.string().optional(),maxTokens:m.number().int().positive().optional(),contextWindow:m.number().int().positive().optional(),baseUrl:m.string().url().optional(),headers:m.record(m.string(),m.string()).optional(),timeout:m.number().int().positive().optional(),reasoning:B0.optional(),aws:K0.optional(),gcp:y0.optional(),azure:N0.optional(),sap:V0.optional(),oca:U0.optional(),region:m.string().optional(),apiLine:m.enum(["china","international"]).optional(),capabilities:m.array(m.enum(["reasoning","prompt-cache","streaming","tools","vision","computer-use","oauth"])).optional(),modelCatalog:j0.optional()});function Ja(e){return wa.parse(e)}function Za(e){let t=e.provider,a=S(t),i=e.reasoning?.effort,n=i&&i!=="none"?i:void 0,o=K[a],c=Object.assign({},...ha(a).map((l)=>p(l))),r=e.auth?.accessToken??e.apiKey??e.auth?.apiKey,s=e.baseUrl??(a==="oca"?e.oca?.mode==="internal"?Y:y:o?.baseUrl),u={providerId:t,modelId:e.model??o?.modelId??"default",knownModels:o?.knownModels??(Object.keys(c).length>0?c:void 0),apiKey:r,accessToken:e.auth?.accessToken,refreshToken:e.auth?.refreshToken,accountId:e.auth?.accountId,baseUrl:s,headers:e.headers,timeoutMs:e.timeout,maxOutputTokens:e.maxTokens,maxContextTokens:e.contextWindow,thinking:e.reasoning?.enabled,reasoningEffort:n,thinkingBudgetTokens:e.reasoning?.budgetTokens,region:e.region??e.aws?.region??e.gcp?.region,apiLine:e.apiLine,useCrossRegionInference:e.aws?.useCrossRegionInference,useGlobalInference:e.aws?.useGlobalInference,aws:e.aws?{accessKey:e.aws.accessKey,secretKey:e.aws.secretKey,sessionToken:e.aws.sessionToken,authentication:e.aws.authentication,profile:e.aws.profile,usePromptCache:e.aws.usePromptCache,endpoint:e.aws.endpoint,customModelBaseId:e.aws.customModelBaseId}:void 0,gcp:e.gcp?{projectId:e.gcp.projectId,region:e.gcp.region}:void 0,azure:e.azure,sap:e.sap,oca:e.oca,capabilities:e.capabilities??o?.capabilities,modelCatalog:e.modelCatalog?{loadLatestOnInit:e.modelCatalog.loadLatestOnInit,loadPrivateOnAuth:e.modelCatalog.loadPrivateOnAuth,url:e.modelCatalog.url,cacheTtlMs:e.modelCatalog.cacheTtlMs,failOnError:e.modelCatalog.failOnError}:void 0};return Object.fromEntries(Object.entries(u).filter(([l,R])=>R!==void 0))}import{Anthropic as rc}from"@anthropic-ai/sdk";function $(e){if(Array.isArray(e))return{commands:e};return e}function fe(e){if(typeof e==="string")return e;let t=[];for(let a of e){if(a.type==="text"){t.push(a.text);continue}if(a.type==="file"){t.push(L(a.path,a.content));continue}t.push(JSON.stringify(a))}return t.join(`
4
+ `)}function rt(e,t=!1){let a=[];for(let i of e){let n=Zr(i,t&&e.indexOf(i)===e.length-1);if(n)a.push(n)}return a}function Zr(e,t){let{role:a,content:i}=e;if(typeof i==="string"){let o={type:"text",text:i};if(t)o.cache_control={type:"ephemeral"};return{role:a,content:[o]}}let n=Ir(i,t);if(n.length===0)return null;return{role:a,content:n}}function Ir(e,t){let a=[];for(let i=0;i<e.length;i++){let n=e[i],o=i===e.length-1,c=zr(n,t&&o);if(c)a.push(c)}return a}function zr(e,t){switch(e.type){case"text":{let i={type:"text",text:e.text};if(t)i.cache_control={type:"ephemeral"};return i}case"file":{let a=e;return{type:"text",text:L(a.path,a.content)}}case"image":{let a=e;return{type:"image",source:{type:"base64",media_type:a.mediaType,data:a.data}}}case"tool_use":{let a=e;return{type:"tool_use",id:a.id,name:a.name,input:$(a.input)}}case"tool_result":{let a=e,i;if(typeof a.content==="string")i=a.content;else i=a.content.map((n)=>{if(n.type==="text")return{type:"text",text:n.text};else if(n.type==="file"){let o=n;return{type:"text",text:L(o.path,o.content)}}else return{type:"image",source:{type:"base64",media_type:n.mediaType,data:n.data}}});return{type:"tool_result",tool_use_id:a.tool_use_id,content:i,is_error:a.is_error}}case"thinking":{let a=e;return{type:"thinking",thinking:a.thinking,signature:a.signature}}case"redacted_thinking":return{type:"redacted_thinking",data:e.data};default:return null}}function ce(e){return e.map((t)=>({name:t.name,description:t.description,input_schema:t.inputSchema}))}var Y0={maxRetries:4,baseDelay:2000,maxDelay:15000};class Ee extends Error{retryAfterSeconds;constructor(e,t,a){super(e,a);this.retryAfterSeconds=t;this.name="RetriableError"}}function X0(e){if(e instanceof Ee)return!0;if(e instanceof Error){let t=e.message.toLowerCase();if(t.includes("429")||t.includes("rate limit")||t.includes("too many requests"))return!0;if(t.includes("500")||t.includes("502")||t.includes("503")||t.includes("504"))return!0;if(t.includes("network")||t.includes("timeout")||t.includes("econnreset")||t.includes("econnrefused"))return!0}return!1}function $0(e,t={}){let{baseDelay:a=Y0.baseDelay,maxDelay:i=Y0.maxDelay}=t,n=2**e*a,o=Math.random()*0.25*n;return Math.min(n+o,i)}function H0(e){return new Promise((t)=>setTimeout(t,e))}async function*A(e,t={}){let{maxRetries:a=Y0.maxRetries,onRetryAttempt:i}=t;for(let n=0;n<=a;n++)try{yield*e();return}catch(o){if(!(n!==a&&X0(o)))throw o;let s;if(o instanceof Ee&&o.retryAfterSeconds)s=o.retryAfterSeconds*1000;else s=$0(n,t);if(i)i(n+1,a,s,o);await H0(s)}throw Error("Retry logic exhausted without returning or throwing")}var ec=["cline","anthropic","openai-native","gemini","openrouter"];function tc(e){if(!e||typeof e!=="object")return!1;let t=e;return typeof t.provider==="object"&&typeof t.models==="object"}function Lo(e){return[...new Set(e)]}function ac(){let e={};for(let t of Object.values(xa)){if(!tc(t))continue;let a=t.provider.id;e[a]=Lo(t.provider.env??[])}return e}var Qo=ac(),qo=Lo(ec.flatMap((e)=>Qo[e]??[]));function ic(e,t){let a=e[t];if(typeof a!=="string")return;let i=a.trim();return i.length>0?i:void 0}function Co(e,t){for(let a of e){let i=ic(t,a);if(i)return i}return}function J0(e){return Qo[S(e)]??[]}function q(e,t,a=process.env){let i=S(e),n=t?.trim();if(n)return n;let o=Co(J0(i),a);if(o)return o;if(i==="lmstudio")return"noop";return Co(qo,a)}function H(e){let t=[...new Set([...J0(e),...qo])],a=t.length>0?t.join(", "):"provider-specific API key env var";return`Missing API key for provider "${S(e)}". Set apiKey explicitly or one of: ${a}.`}import{nanoid as nc}from"nanoid";var oc={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","X-IS-MULTIROOT":"false","X-CLIENT-TYPE":"cline-sdk"};class P{config;abortController;constructor(e){this.config=e}getModel(){let e=this.config.modelId;return{id:e,info:{...this.config.modelInfo??{},id:e}}}async getApiStreamUsage(){return}getAbortSignal(){if(!this.abortController||this.abortController.signal.aborted)this.abortController=new AbortController;if(this.config.abortSignal){let e=this.config.abortSignal;if(e.aborted)this.abortController.abort(e.reason);else e.addEventListener("abort",()=>{this.abortController?.abort(e.reason)})}return this.abortController.signal}abort(){this.abortController?.abort()}calculateCost(e,t,a=0){let n=(this.config.modelInfo??(this.config.modelId?this.config.knownModels?.[this.config.modelId]:void 0))?.pricing;if(!n?.input||!n?.output)return;let c=(e-a)/1e6*n.input,r=t/1e6*n.output,s=a>0?a/1e6*(n.cacheRead??0):0;return c+r+s}createResponseId(){return nc()}withResponseId(e,t){return{...e,id:t}}*withResponseIdForAll(e,t){for(let a of e)yield this.withResponseId(a,t)}getRequestHeaders(){return{...oc,...this.config.headers??{}}}}var cc=1024,sc="CLINE_DEBUG_THINKING";function pc(){let e=process.env[sc];if(!e)return!1;let t=e.trim().toLowerCase();return t==="1"||t==="true"||t==="yes"}class ba extends P{client;ensureClient(){if(!this.client){let e=q(this.config.providerId,this.config.apiKey);if(!e)throw Error(H(this.config.providerId));this.client=new rc({apiKey:e,baseURL:this.config.baseUrl||void 0,defaultHeaders:this.getRequestHeaders()})}return this.client}getModel(){let e=this.config.modelId,a=(this.config.knownModels??{})[e]??{},i=this.config.modelInfo??a;return{id:e,info:{...i,id:e}}}getMessages(e,t){let a=Q(this.getModel().info,"prompt-cache");return rt(t,a)}async*createMessage(e,t,a){yield*A(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let i=this.ensureClient(),n=this.getModel(),o=this.getAbortSignal(),c=this.createResponseId(),r=X(n.info),s=this.config.thinkingBudgetTokens??(this.config.thinking?cc:0),u=r&&s>0?s:0,l=a&&a.length>0,R=Q(n.info,"prompt-cache"),D=r&&u>0,T=pc(),w={},E=(M)=>{w[M]=(w[M]??0)+1};if(T)console.error(`[thinking-debug][anthropic][request] model=${n.id} thinkingFlag=${this.config.thinking===!0} supportsModelThinking=${r} requestedBudget=${s} effectiveBudget=${u} reasoningOn=${D} promptCache=${R}`);let k=this.getMessages(e,t),_=l?ce(a):void 0,W={signal:o},v=await i.messages.create({model:n.id,thinking:D?{type:"enabled",budget_tokens:u}:void 0,max_tokens:n.info.maxTokens||8192,temperature:D?void 0:0,system:R?[{text:e,type:"text",cache_control:{type:"ephemeral"}}]:[{text:e,type:"text"}],messages:k,stream:!0,tools:_,tool_choice:l&&!D?{type:"auto"}:void 0},W),G={id:"",name:"",arguments:""},J={inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0};for await(let M of v){if(T){if(E(`event:${M.type}`),M.type==="content_block_start")E(`content_block_start:${M.content_block?.type??"unknown"}`);else if(M.type==="content_block_delta")E(`content_block_delta:${M.delta?.type??"unknown"}`)}yield*this.withResponseIdForAll(this.processChunk(M,G,J,c),c)}if(T){let M=Object.entries(w).map(([ut,en])=>`${ut}=${en}`).sort().join(" ");console.error(`[thinking-debug][anthropic][stream] ${M}`)}yield{type:"done",success:!0,id:c}}*processChunk(e,t,a,i){switch(e.type){case"message_start":{let n=e.message.usage;a.inputTokens=n.input_tokens||0,a.outputTokens=n.output_tokens||0,a.cacheWriteTokens=n.cache_creation_input_tokens||0,a.cacheReadTokens=n.cache_read_input_tokens||0,yield{type:"usage",inputTokens:a.inputTokens,outputTokens:a.outputTokens,cacheWriteTokens:a.cacheWriteTokens,cacheReadTokens:a.cacheReadTokens,totalCost:this.calculateCost(a.inputTokens,a.outputTokens,a.cacheReadTokens),id:i};break}case"message_delta":{a.outputTokens=e.usage.output_tokens||a.outputTokens,yield{type:"usage",inputTokens:a.inputTokens,outputTokens:a.outputTokens,cacheWriteTokens:a.cacheWriteTokens,cacheReadTokens:a.cacheReadTokens,totalCost:this.calculateCost(a.inputTokens,a.outputTokens,a.cacheReadTokens),id:i};break}case"content_block_start":{let n=e.content_block;switch(n.type){case"thinking":yield{type:"reasoning",reasoning:typeof n.thinking==="string"?n.thinking??"":"",signature:typeof n.signature==="string"?n.signature??void 0:void 0,id:i};break;case"redacted_thinking":yield{type:"reasoning",reasoning:"",redacted_data:typeof n.data==="string"?n.data??void 0:void 0,id:i};break;case"text":yield{type:"text",text:"",id:i};break;case"tool_use":t.id=n.id,t.name=n.name,t.arguments="";break}break}case"content_block_delta":{let n=e.delta;switch(n.type){case"thinking_delta":yield{type:"reasoning",reasoning:n.thinking,id:i};break;case"signature_delta":yield{type:"reasoning",reasoning:"",signature:typeof n.signature==="string"?n.signature??void 0:void 0,id:i};break;case"text_delta":yield{type:"text",text:n.text,id:i};break;case"input_json_delta":t.arguments+=n.partial_json;break}break}case"content_block_stop":{if(t.id){let n;try{n=JSON.parse(t.arguments||"{}")}catch{n={}}yield{type:"tool_calls",id:i,tool_call:{call_id:t.id,function:{name:t.name,arguments:n}}},t.id="",t.name="",t.arguments=""}break}}}}class Ia extends P{getMessages(e,t){return{systemPrompt:e,messages:t}}getBaseUrl(){return this.config.baseUrl?.trim()||this.getDefaultBaseUrl()}getJsonHeaders(e){return{"Content-Type":"application/json",...this.getRequestHeaders(),...e??{}}}async fetchJson(e,t){let a=await fetch(`${this.getBaseUrl()}${e}`,{method:t.method??"POST",headers:this.getJsonHeaders(t.headers),body:t.body?JSON.stringify(t.body):void 0,signal:this.getAbortSignal()});if(!a.ok){let i=await a.text();throw Error(`HTTP ${a.status}: ${i}`)}return await a.json()}async*createMessage(e,t,a){yield*A(()=>this.createMessageWithFetch(e,t))}}var uc="https://api.asksage.ai/server",mc="gpt-4o";class Da extends Ia{getDefaultBaseUrl(){return uc}getModel(){let e=this.config.modelId?.trim()||mc,t=this.config.modelInfo??this.config.knownModels?.[e]??{id:e,capabilities:["tools"]};return{id:e,info:{...t,id:e}}}getJsonHeaders(e){let t=q(this.config.providerId,this.config.apiKey);if(!t)throw Error("AskSage API key is required");return super.getJsonHeaders({"x-access-tokens":t,...e??{}})}async*createMessageWithFetch(e,t){let a=this.createResponseId(),{id:i}=this.getModel(),n={system_prompt:e,message:t.map((r)=>({user:r.role==="assistant"?"gpt":"me",message:this.serializeMessageContent(r.content)})),model:i,dataset:"none",usage:!0},o;try{o=await this.fetchJson("/query",{method:"POST",body:n})}catch(r){let s=r instanceof Error?r.message:String(r);throw Error(`AskSage request failed: ${s}`)}for(let r of o.tool_responses??[])yield{type:"text",text:`[Tool Response: ${JSON.stringify(r)}]
5
+ `,id:a};let c=o.message?.trim();if(!c)throw Error("AskSage request failed: no content in response");if(yield{type:"text",text:c,id:a},o.usage)yield{type:"usage",inputTokens:o.usage.model_tokens.prompt_tokens,outputTokens:o.usage.model_tokens.completion_tokens,cacheReadTokens:0,cacheWriteTokens:0,totalCost:o.usage.asksage_tokens,id:a};yield{type:"done",success:!0,id:a}}serializeMessageContent(e){if(typeof e==="string")return e;return e.map((t)=>("text"in t)?t.text:"").join("").trim()}}var za,ei;async function lc(){if(za)return za;let e="@ai-sdk/amazon-bedrock",t=await import(e);if(!t.createAmazonBedrock)throw Error(`Failed to load createAmazonBedrock from ${e}`);return za=t.createAmazonBedrock,za}async function dc(){if(ei)return ei;let e="@aws-sdk/credential-providers",t=await import(e);if(!t.fromNodeProviderChain)throw Error(`Failed to load fromNodeProviderChain from ${e}`);return ei=t.fromNodeProviderChain,ei}async function Fo(e,t){let a=await lc(),i=e.region??"us-east-1",n=e.aws?.authentication,o=Boolean(e.aws?.accessKey&&e.aws?.secretKey),c=n==="profile"||n==="iam"||!n&&!o&&!e.apiKey,r;if(c)r=(await dc())({profile:e.aws?.profile});return a({region:i,accessKeyId:e.aws?.accessKey??void 0,secretAccessKey:e.aws?.secretKey??void 0,sessionToken:e.aws?.sessionToken??void 0,apiKey:e.apiKey??void 0,baseURL:e.aws?.endpoint??e.baseUrl??void 0,headers:t,credentialProvider:r})}var Bo=":1m",ti,gc=1024,xc="medium";async function hc(){if(ti)return ti;return ti=await import("ai"),ti}class ai extends P{clientFactory;async ensureClientFactory(){if(!this.clientFactory)this.clientFactory=await Fo(this.config,this.getRequestHeaders());return this.clientFactory}getModel(){let e=this.config.modelId;if(!e)throw Error("Model ID is required. Set modelId in config.");let t=this.config.modelInfo??this.config.knownModels?.[e]??{};return{id:e,info:{...t,id:e}}}getMessages(e,t){return wc(e,t)}async*createMessage(e,t,a){yield*A(()=>this.createMessageInternal(e,t,a),{maxRetries:4})}async*createMessageInternal(e,t,a){let i=await hc(),n=await this.ensureClientFactory(),o=this.createResponseId(),c=this.getAbortSignal(),r=this.getModel(),s=r.id,u={},l={};if(s.endsWith(Bo))s=s.slice(0,-Bo.length),l.anthropicBeta=["context-1m-2025-08-07"];let R=X(r.info),D=this.config.thinkingBudgetTokens??(this.config.thinking?gc:0),T=!1;if(R&&D>0&&s.includes("anthropic"))l.reasoningConfig={type:"enabled",budgetTokens:D},T=!0;else if(R&&s.includes("amazon.nova")){let k=this.config.reasoningEffort??(this.config.thinking?xc:void 0);if(k)l.reasoningConfig={type:"enabled",maxReasoningEffort:k},T=!0}if(Object.keys(l).length>0)u.bedrock=l;let w=i.streamText({model:n(s),messages:this.getMessages(e,t),tools:Wc(a),maxTokens:r.info.maxTokens??void 0,temperature:T?void 0:r.info.temperature??0,providerOptions:Object.keys(u).length>0?u:void 0,abortSignal:c}),E=!1;if(w.fullStream)for await(let k of w.fullStream){let _=k.type;if(_==="text-delta"){let W=k.textDelta??k.delta;if(W)yield{type:"text",text:W,id:o};continue}if(_==="reasoning-delta"||_==="reasoning"){let W=k.textDelta??k.reasoning;if(W)yield{type:"reasoning",reasoning:W,id:o};continue}if(_==="tool-call"){let W=k.toolCallId??k.id,v=k.toolName??k.name,G=k.args??{};yield{type:"tool_calls",id:o,tool_call:{call_id:W,function:{name:v,arguments:G}}};continue}if(_==="error"){let W=k.error?.message??"Bedrock stream failed";throw Error(W)}if(_==="finish"){let W=k.usage??{},v=se(W.inputTokens),G=se(W.outputTokens),J=se(W.reasoningTokens),M=se(W.cachedInputTokens);yield{type:"usage",inputTokens:v-M,outputTokens:G,thoughtsTokenCount:J,cacheReadTokens:M,totalCost:this.calculateCost(v,G,M),id:o},E=!0}}else if(w.textStream)for await(let k of w.textStream)yield{type:"text",text:k,id:o};if(!E&&w.usage){let k=await w.usage,_=se(k.inputTokens),W=se(k.outputTokens),v=se(k.reasoningTokens),G=se(k.cachedInputTokens);yield{type:"usage",inputTokens:_-G,outputTokens:W,thoughtsTokenCount:v,cacheReadTokens:G,totalCost:this.calculateCost(_,W,G),id:o}}yield{type:"done",success:!0,id:o}}}function se(e){return typeof e==="number"&&Number.isFinite(e)?e:0}function Wc(e){if(!e||e.length===0)return;let t=ce(e);return Object.fromEntries(t.map((a)=>[a.name,{description:a.description,inputSchema:a.input_schema}]))}function wc(e,t){let a=[{role:"system",content:e}],i=new Map;for(let n of t){if(typeof n.content==="string"){a.push({role:n.role,content:n.content});continue}if(n.role==="assistant"){let c=[];for(let r of n.content){if(r.type==="text"){c.push({type:"text",text:r.text});continue}if(r.type==="tool_use")i.set(r.id,r.name),c.push({type:"tool-call",toolCallId:r.id,toolName:r.name,args:r.input})}if(c.length>0)a.push({role:"assistant",content:c});continue}let o=[];for(let c of n.content){if(c.type==="text"){o.push({type:"text",text:c.text});continue}if(c.type==="image"){o.push({type:"image",image:Buffer.from(c.data,"base64"),mediaType:c.mediaType});continue}if(c.type==="tool_result"){if(o.length>0)a.push({role:"user",content:o.splice(0,o.length)});a.push({role:"tool",content:[{type:"tool-result",toolCallId:c.tool_use_id,toolName:i.get(c.tool_use_id)??"tool",output:bc(c.content),isError:c.is_error??!1}]})}}if(o.length>0)a.push({role:"user",content:o})}return a}function bc(e){if(typeof e==="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}function ct(e,t,a){let i=a?.assistantToolCallArgKey??"args",n=[{role:"system",content:e}],o=new Map;for(let c of t){if(typeof c.content==="string"){n.push({role:c.role,content:c.content});continue}if(c.role==="assistant"){let s=[];for(let u of c.content){if(u.type==="text"){s.push({type:"text",text:u.text});continue}if(u.type==="file"){s.push({type:"text",text:L(u.path,u.content)});continue}if(u.type==="tool_use")o.set(u.id,u.name),s.push({type:"tool-call",toolCallId:u.id,toolName:u.name,[i]:$(u.input)})}if(s.length>0)n.push({role:"assistant",content:s});continue}let r=[];for(let s of c.content){if(s.type==="text"){r.push({type:"text",text:s.text});continue}if(s.type==="file"){r.push({type:"text",text:L(s.path,s.content)});continue}if(s.type==="image"){r.push({type:"image",image:Buffer.from(s.data,"base64"),mediaType:s.mediaType});continue}if(s.type==="tool_result"){if(r.length>0)n.push({role:"user",content:r.splice(0,r.length)});n.push({role:"tool",content:[{type:"tool-result",toolCallId:s.tool_use_id,toolName:o.get(s.tool_use_id)??"tool",output:fe(s.content),isError:s.is_error??!1}]})}}if(r.length>0)n.push({role:"user",content:r})}return n}var ii=null;async function ni(e){if(ii)return ii;return e?.beforeImport?.(),ii=await import("ai"),ii}function N(e){return typeof e==="number"&&Number.isFinite(e)?e:0}function Dc(e){return{inputTokens:N(e.inputTokens),outputTokens:N(e.outputTokens),thoughtsTokenCount:N(e.reasoningTokens??e.thoughtsTokenCount),cacheReadTokens:N(e.cachedInputTokens)}}async function*oi(e,t){let a=t.resolveUsageMetrics??Dc,i=new Set(t.reasoningTypes??["reasoning-delta"]),n=t.toolCallArgsOrder??["args","input"],o=t.responseId,c=!1,r=!1;if(e.fullStream)for await(let s of e.fullStream){let u=s.type;if(u==="text-delta"){let l=s.textDelta??s.text??s.delta;if(l)yield{type:"text",text:l,id:o},r=!0;continue}if(u&&i.has(u)){let l=s.textDelta??s.reasoning??s.text;if(l)yield{type:"reasoning",reasoning:l,id:o};continue}if(u==="tool-call"&&t.enableToolCalls){let l=s.toolCallId??s.id,R=s.toolName??s.name,D=n.map((T)=>s[T]).find((T)=>T!==void 0)??{};yield{type:"tool_calls",id:o,tool_call:{call_id:l,function:{id:t.toolCallFunctionIncludeId?l:void 0,name:R,arguments:D}}};continue}if(u==="error"){let l=s.error?.message??t.errorMessage;throw Error(l)}if(u==="finish"){let l=s.totalUsage??s.usage??{},R=a(l,s);yield{type:"usage",inputTokens:Math.max(0,R.inputTokens-R.cacheReadTokens),outputTokens:R.outputTokens,thoughtsTokenCount:R.thoughtsTokenCount,cacheReadTokens:R.cacheReadTokens,cacheWriteTokens:R.cacheWriteTokens,totalCost:t.calculateCost(R.inputTokens,R.outputTokens,R.cacheReadTokens),id:o},c=!0}}else if(e.textStream)for await(let s of e.textStream)yield{type:"text",text:s,id:o},r=!0;if(!r&&t.enableTextFallback&&e.text){let s=await e.text;if(typeof s==="string"&&s.length>0)yield{type:"text",text:s,id:o}}if(!c&&e.usage){let s=await e.usage,u=a(s);yield{type:"usage",inputTokens:Math.max(0,u.inputTokens-u.cacheReadTokens),outputTokens:u.outputTokens,thoughtsTokenCount:u.thoughtsTokenCount,cacheReadTokens:u.cacheReadTokens,cacheWriteTokens:u.cacheWriteTokens,totalCost:t.calculateCost(u.inputTokens,u.outputTokens,u.cacheReadTokens),id:o}}yield{type:"done",success:!0,id:o}}var Ko=new Map;function Z0(e,t){let a=e.modelId?.trim(),i=a&&a.length>0?a:t??"",o=(e.knownModels??{})[i]??{},c=e.modelInfo??o;return{id:i,info:{...c,id:i}}}async function kc(e){let t=Ko.get(e);if(t)return t;let a=await import(e);return Ko.set(e,a),a}class pe extends P{provider;providerPromise;getProviderCreateOptions(){return}async beforeLoadProviderModule(){}getProviderModelSettings(){return}getLoadAiSdkOptions(){return}getStreamErrorMessage(){return"AI SDK stream failed"}getEmitStreamOptions(){return{}}getAssistantToolCallArgKey(){return"args"}normalizeModelId(e){return e}async ensureProvider(){if(this.provider)return this.provider;if(!this.providerPromise)this.providerPromise=(async()=>{let e=this.getProviderDefinition();await this.beforeLoadProviderModule();let t=await kc(e.moduleName),a=t[e.createExportName],i=t[e.providerExportName];if(a){let n=a(this.getProviderCreateOptions());return this.provider=n,n}if(i)return this.provider=i,i;throw Error(`${e.moduleName} did not export \`${e.providerExportName}\` or \`${e.createExportName}\`.`)})();try{return await this.providerPromise}catch(e){this.providerPromise=void 0;let t=this.getProviderDefinition().moduleName;if(e instanceof Error&&e.message.includes(t))throw Error(this.getProviderDefinition().missingDependencyError,{cause:e});throw e}}getModel(){return Z0(this.config,this.getDefaultModelId())}getMessages(e,t){return ct(e,t,{assistantToolCallArgKey:this.getAssistantToolCallArgKey()})}async*createMessage(e,t,a){yield*A(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let i=await ni(this.getLoadAiSdkOptions()),n=await this.ensureProvider(),{id:o,info:c}=this.getModel(),r=this.createResponseId(),s=i.streamText({model:n(this.normalizeModelId(o),this.getProviderModelSettings()),messages:this.getMessages(e,t),maxTokens:c.maxTokens??void 0,temperature:c.temperature??void 0,abortSignal:this.getAbortSignal()});yield*oi(s,{responseId:r,errorMessage:this.getStreamErrorMessage(),calculateCost:(u,l,R)=>this.calculateCost(u,l,R),...this.getEmitStreamOptions()})}}var yo=!1;async function Rc(){if(yo)return;yo=!0;try{let e=await import("zod"),a=(e.z??e).object;if(typeof a!=="function")return;let i=a({}).refine?.(()=>!0);if(!i||typeof i.passthrough==="function")return;let n=Object.getPrototypeOf(i);if(!n||typeof n.passthrough==="function")return;Object.defineProperty(n,"passthrough",{value(){return this},configurable:!0,enumerable:!1,writable:!0})}catch{}}function Tc(e){return e.startsWith("sk-")}function Mc(){let e=process.env.AI_SDK_LOG_WARNINGS?.trim().toLowerCase();return e==="0"||e==="false"||e==="off"}function fc(e){if(e.includes("/"))return e;return`openai/${e}`}class ka extends pe{getProviderDefinition(){return{moduleName:"ai-sdk-provider-codex-cli",createExportName:"createCodexCli",providerExportName:"codexCli",missingDependencyError:"Codex provider requires `ai-sdk-provider-codex-cli` and the Codex CLI at runtime. Install dependencies and run `codex` to authenticate."}}getDefaultModelId(){return"gpt-5.3-codex"}async beforeLoadProviderModule(){await Rc()}getProviderCreateOptions(){let t={...(this.config.codex??{}).defaultSettings??{}};if(this.config.reasoningEffort&&t.reasoningEffort===void 0)t.reasoningEffort=this.config.reasoningEffort;else if(this.config.thinking&&t.reasoningEffort===void 0)t.reasoningEffort="medium";let a=this.config.apiKey?.trim(),i=typeof this.config.accessToken==="string"&&this.config.accessToken.trim().length>0;if(a&&!i&&Tc(a))t.env={...t.env??{},OPENAI_API_KEY:a};return{defaultSettings:Object.keys(t).length>0?t:void 0}}getProviderModelSettings(){return this.config.codex?.modelSettings}getStreamErrorMessage(){return"Codex stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta","reasoning"],enableToolCalls:!0,toolCallArgsOrder:["args","input"]}}}class Ra extends pe{getProviderDefinition(){return{moduleName:"ai-sdk-provider-claude-code",createExportName:"createClaudeCode",providerExportName:"claudeCode",missingDependencyError:"Claude Code provider requires `ai-sdk-provider-claude-code` at runtime. Install dependencies and run `claude login`."}}getDefaultModelId(){return"sonnet"}getProviderCreateOptions(){return this.config.claudeCode??{}}getLoadAiSdkOptions(){return{beforeImport:()=>{if(Mc())globalThis.AI_SDK_LOG_WARNINGS=!1}}}getStreamErrorMessage(){return"Claude Code stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta"]}}}class Ta extends pe{getProviderDefinition(){return{moduleName:"ai-sdk-provider-opencode-sdk",createExportName:"createOpencode",providerExportName:"opencode",missingDependencyError:"OpenCode provider requires `ai-sdk-provider-opencode-sdk` and OpenCode at runtime."}}getDefaultModelId(){return"openai/gpt-5.3-codex"}getProviderCreateOptions(){let e=this.config.opencode??{},t={...e.defaultSettings??{}};if(t.agent===void 0)t.agent="general";return{hostname:e.hostname,port:e.port,autoStartServer:e.autoStartServer,serverTimeout:e.serverTimeout,defaultSettings:Object.keys(t).length>0?t:void 0}}getProviderModelSettings(){return this.config.opencode?.modelSettings}normalizeModelId(e){return fc(e)}getStreamErrorMessage(){return"OpenCode stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta","reasoning"],enableTextFallback:!0}}}class Ma extends pe{getProviderDefinition(){return{moduleName:"@jerome-benoit/sap-ai-provider",createExportName:"createSAPAIProvider",providerExportName:"sapai",missingDependencyError:"SAP AI Core provider requires `@jerome-benoit/sap-ai-provider` at runtime."}}getDefaultModelId(){return"anthropic--claude-3.5-sonnet"}getProviderCreateOptions(){let e=this.config.sap??{},t=e.api??(e.useOrchestrationMode===void 0?void 0:e.useOrchestrationMode?"orchestration":"foundation-models"),a={resourceGroup:e.resourceGroup,deploymentId:e.deploymentId,api:t,defaultSettings:e.defaultSettings},i=Object.fromEntries(Object.entries(a).filter(([,n])=>n!==void 0));return Object.keys(i).length>0?i:void 0}getStreamErrorMessage(){return"SAP AI Core stream failed"}getEmitStreamOptions(){return{reasoningTypes:["reasoning-delta","reasoning"],enableToolCalls:!0,toolCallArgsOrder:["args","input"]}}}class fa extends pe{getProviderDefinition(){return{moduleName:"@ai-sdk/mistral",createExportName:"createMistral",providerExportName:"mistral",missingDependencyError:"Mistral provider requires `@ai-sdk/mistral` at runtime."}}getDefaultModelId(){return"mistral-medium-latest"}getStreamErrorMessage(){return"Mistral stream failed"}}class Ea extends pe{getProviderDefinition(){return{moduleName:"dify-ai-provider",createExportName:"createDifyProvider",providerExportName:"difyProvider",missingDependencyError:"Dify provider requires `dify-ai-provider` at runtime."}}getDefaultModelId(){return"default"}getProviderCreateOptions(){if(!this.config.baseUrl)return;return{baseURL:this.config.baseUrl}}getProviderModelSettings(){let e={responseMode:"blocking"};if(this.config.apiKey)e.apiKey=this.config.apiKey;return e}getStreamErrorMessage(){return"Dify stream failed"}}import{FunctionCallingConfigMode as Pc,GoogleGenAI as No,ThinkingLevel as Vo}from"@google/genai";function ri(e){return e.map(Ec).filter((t)=>t!==null)}function Ec(e){let{role:t,content:a}=e,i=t==="assistant"?"model":"user";if(typeof a==="string")return{role:i,parts:[{text:a}]};let n=_c(a);if(n.length===0)return null;return{role:i,parts:n}}function _c(e){let t=[];for(let a of e){let i=vc(a);if(i)t.push(i)}return t}function vc(e){switch(e.type){case"text":{let t=e,a={text:t.text};if(t.signature)a.thoughtSignature=t.signature;return a}case"file":{let t=e;return{text:L(t.path,t.content)}}case"image":{let t=e;return{inlineData:{mimeType:t.mediaType,data:t.data}}}case"tool_use":{let t=e,a={functionCall:{name:t.name,args:$(t.input)}};if(t.signature)a.thoughtSignature=t.signature;return a}case"tool_result":{let t=e,a;if(typeof t.content==="string")a={result:t.content};else a={result:fe(t.content)};if(t.is_error)a.error=!0;return{functionResponse:{name:t.tool_use_id,response:a}}}case"thinking":{let t=e,a={text:t.thinking,thought:!0};if(t.signature)a.thoughtSignature=t.signature;return a}default:return null}}function ci(e){return e.map((t)=>({name:t.name,description:t.description,parameters:t.inputSchema}))}var Ac=1024;class _e extends P{client;ensureClient(){if(!this.client)if(this.config.gcp?.projectId)this.client=new No({vertexai:!0,project:this.config.gcp.projectId,location:this.config.region??"us-central1",httpOptions:{headers:this.getRequestHeaders()}});else{if(!this.config.apiKey)throw Error("Gemini API key is required when not using Vertex AI");this.client=new No({apiKey:this.config.apiKey,httpOptions:{headers:this.getRequestHeaders()}})}return this.client}getModel(){let e=this.config.modelId,a=(this.config.knownModels??{})[e]??{},i=this.config.modelInfo??a;return{id:e,info:{...i,id:e}}}getMessages(e,t){return ri(t)}async*createMessage(e,t,a){yield*A(()=>this.createMessageInternal(e,t,a),{maxRetries:4,baseDelay:2000,maxDelay:15000})}async*createMessageInternal(e,t,a){let i=this.ensureClient(),{id:n,info:o}=this.getModel(),c=this.getAbortSignal(),r=this.createResponseId(),s=this.getMessages(e,t),u=X(o),l=this.config.thinking===!0||typeof this.config.thinkingBudgetTokens==="number"||typeof this.config.reasoningEffort==="string",R=0,D;if(u&&l){let w=this.config.thinkingBudgetTokens??(this.config.thinking?Ac:0);if(R=Math.min(Math.max(0,w),o.thinkingConfig?.maxBudget??24576),o.thinkingConfig?.thinkingLevel){let E=this.config.reasoningEffort;if(E==="high")D=Vo.HIGH;else if(E==="low"||E==="medium")D=Vo.LOW}}let T={httpOptions:this.config.baseUrl?{baseUrl:this.config.baseUrl,headers:this.getRequestHeaders()}:void 0,abortSignal:c,systemInstruction:e,temperature:o.temperature??1};if(o.thinkingConfig&&u&&l&&(R>0||!!D))T.thinkingConfig={thinkingBudget:D?void 0:R,thinkingLevel:D,includeThoughts:!0};if(a&&a.length>0){let w=ci(a);T.tools=[{functionDeclarations:w}],T.toolConfig={functionCallingConfig:{mode:Pc.AUTO}}}try{let w=await i.models.generateContentStream({model:n,contents:s,config:T}),E=0,k=0,_=0,W=0;for await(let G of w){let J=G?.candidates?.[0]?.content?.parts??[];for(let M of J){if(M.thought&&M.text)yield{type:"reasoning",reasoning:M.text||"",signature:M.thoughtSignature,id:r};else if(M.text)yield{type:"text",text:M.text,id:r,signature:M.thoughtSignature};if(M.functionCall){let ut=M.functionCall;if(Object.entries(ut.args??{}).filter(([,er])=>!!er).length>0)yield{type:"tool_calls",tool_call:{function:{id:r,name:ut.name,arguments:ut.args}},id:r,signature:M.thoughtSignature}}}if(G.usageMetadata)E=G.usageMetadata.promptTokenCount??E,k=G.usageMetadata.candidatesTokenCount??k,W=G.usageMetadata.thoughtsTokenCount??W,_=G.usageMetadata.cachedContentTokenCount??_}let v=this.calculateGeminiCost(o,E,k,W,_);yield{type:"usage",inputTokens:E-_,outputTokens:k,thoughtsTokenCount:W,cacheReadTokens:_,cacheWriteTokens:0,totalCost:v,id:r},yield{type:"done",success:!0,id:r}}catch(w){if(w instanceof Error&&w.message.includes("429"))throw new Ee(w.message,void 0,{cause:w});throw w}}calculateGeminiCost(e,t,a,i,n){let o=e.pricing;if(!o?.input||!o?.output)return;let c=t-n,r=o.input*(c/1e6),s=o.output*((a+i)/1e6),u=n>0?(o.cacheRead??0)*(n/1e6):0;return r+s+u}}import Cc from"openai";function si(e){return e.flatMap(Gc)}function Gc(e){let{role:t,content:a}=e;if(typeof a==="string")return[{role:t,content:a}];if(t==="assistant")return[Oc(a)];else return Sc(a)}function Oc(e){let t=[],a=[];for(let n of e)switch(n.type){case"text":t.push(n.text);break;case"tool_use":{let o=n;a.push({id:o.id,type:"function",function:{name:o.name,arguments:JSON.stringify($(o.input))}});break}case"thinking":break}let i={role:"assistant",content:t.length>0?t.join(`
6
+ `):null};if(a.length>0)i.tool_calls=a;return i}function Sc(e){let t=[],a=e.filter((o)=>o.type==="tool_result");for(let o of a)t.push({role:"tool",tool_call_id:o.tool_use_id,content:fe(o.content)});let i=e.filter((o)=>o.type!=="tool_result");if(i.length===0)return t;let n=[];for(let o of i)switch(o.type){case"text":n.push({type:"text",text:o.text});break;case"file":{let c=o;n.push({type:"text",text:L(c.path,c.content)});break}case"image":{let c=o;n.push({type:"image_url",image_url:{url:`data:${c.mediaType};base64,${c.data}`}});break}}if(n.length===0)return t;return t.push({role:"user",content:n.length===1&&n[0].type==="text"?n[0].text:n}),t}function _a(e){if(!e||typeof e!=="object"||Array.isArray(e))return e;let t={...e};if(delete t.$schema,t.type==="object"){t.additionalProperties=!1;let a=t.properties,i=t.required??[];if(a){let n=Object.keys(a),o=new Set(i),c={};for(let r of n){let s=_a(a[r]);if(!o.has(r))s={anyOf:[s,{type:"null"}]};c[r]=s}t.properties=c,t.required=n}}if(t.items)t.items=Array.isArray(t.items)?t.items.map((a)=>_a(a)):_a(t.items);for(let a of["anyOf","oneOf","allOf"])if(Array.isArray(t[a]))t[a]=t[a].map((i)=>_a(i));return t}function I0(e,t){let a=t?.strict??!0;return e.map((i)=>({type:"function",function:{name:i.name,description:i.description,parameters:_a(i.inputSchema),strict:a}}))}function va(e,t){if(!e||e.length===0)return{};return{tools:I0(e,t),tool_choice:"auto"}}class st{toolCalls=new Map;processToolCallDeltas(e,t){let a=[];for(let i of e){let{index:n,id:o}=i,c=i.function,r=this.toolCalls.get(n);if(!r)r={id:"",name:"",arguments:""},this.toolCalls.set(n,r);if(o)r.id=o;if(c?.name)r.name=c.name;let s=c?.arguments??"";if(s)r.arguments+=s;if(r.id&&r.name)a.push({type:"tool_calls",id:t,tool_call:{call_id:r.id,function:{id:r.id,name:r.name,arguments:s}}})}return a}getToolCalls(){return Array.from(this.toolCalls.values()).map((e)=>({call_id:e.id,function:{id:e.id,name:e.name,arguments:e.arguments}}))}reset(){this.toolCalls.clear()}}var Lc="medium";class ve extends P{client;ensureClient(){if(!this.client){let e=this.config.baseUrl;if(!e)throw Error("Base URL is required. Set baseUrl in config.");let t=q(this.config.providerId,this.config.apiKey);if(!t)throw Error(H(this.config.providerId));let a=this.getRequestHeaders();this.client=new Cc({apiKey:t,baseURL:e,defaultHeaders:a})}return this.client}getModel(){let e=this.config.modelId;if(!e)throw Error("Model ID is required. Set modelId in config.");let t=this.config.modelInfo??this.config.knownModels?.[e]??this.getDefaultModelInfo();return{id:e,info:{...t,id:e}}}getDefaultModelInfo(){let e=this.config.capabilities?.includes("prompt-cache")?["prompt-cache"]:[];return{id:this.config.modelId,capabilities:e}}getMessages(e,t){return[{role:"system",content:e},...si(t)]}async*createMessage(e,t,a){yield*A(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let i=this.ensureClient(),{id:n,info:o}=this.getModel(),c=this.createResponseId(),r=this.getMessages(e,t),s={model:n,messages:r,stream:!0,stream_options:{include_usage:!0},...va(a,{strict:this.config.providerId!=="openrouter"})};if(o.maxTokens)s.max_completion_tokens=o.maxTokens;if(!(o.capabilities?.includes("reasoning")??!1))s.temperature=o.temperature??0;let l=o.capabilities?.includes("reasoning-effort")||o.capabilities?.includes("reasoning")||!1,R=this.config.reasoningEffort??(this.config.thinking?Lc:void 0);if(l&&R)s.reasoning_effort=R;let D=this.getRequestHeaders(),T=Object.keys(D).some((W)=>W.toLowerCase()==="authorization"),w=q(this.config.providerId,this.config.apiKey);if(!T&&w)D.Authorization=`Bearer ${w}`;let E=this.getAbortSignal(),k=await i.chat.completions.create(s,{signal:E,headers:D}),_=new st;for await(let W of k)yield*this.withResponseIdForAll(this.processChunk(W,_,o,c),c);yield{type:"done",success:!0,id:c}}*processChunk(e,t,a,i){let n=e.choices?.[0]?.delta&&{...e.choices[0].delta,reasoning_content:e.choices[0].delta.reasoning_content};if(n?.content)yield{type:"text",text:n.content,id:i};if(n?.reasoning_content)yield{type:"reasoning",reasoning:n.reasoning_content,id:i};if(n?.tool_calls)yield*t.processToolCallDeltas(n.tool_calls.map((o)=>({index:o.index,id:o.id,function:o.function})),i);if(e.usage){let o=e.usage.prompt_tokens??0,c=e.usage.completion_tokens??0,r=e.usage.prompt_tokens_details?.cached_tokens??0,s=e.usage.prompt_cache_miss_tokens??0;yield{type:"usage",inputTokens:o,outputTokens:c,cacheReadTokens:r,cacheWriteTokens:s,totalCost:this.calculateCost(o,c,r),id:i}}}}import Qc from"openai";var qc="medium";function ue(e,t){if(!e||typeof e!=="object"||Array.isArray(e))return e;let a={...e};if(t?.stripFormat&&"format"in a)delete a.format;if(a.type==="object"){if(!Object.hasOwn(a,"additionalProperties"))a.additionalProperties=!1;let n=a.properties;if(n&&typeof n==="object"&&!Array.isArray(n)){let o={};for(let[c,r]of Object.entries(n))o[c]=ue(r,t);a.properties=o}}if(Array.isArray(a.anyOf))a.anyOf=a.anyOf.map((n)=>ue(n,t));if(Array.isArray(a.oneOf))a.oneOf=a.oneOf.map((n)=>ue(n,t));if(Array.isArray(a.allOf))a.allOf=a.allOf.map((n)=>ue(n,t));if(a.not&&typeof a.not==="object")a.not=ue(a.not,t);if(a.items)if(Array.isArray(a.items))a.items=a.items.map((n)=>ue(n,t));else a.items=ue(a.items,t);return a}function Fc(e,t){if(!e?.length)return;return e.map((a)=>({type:"function",name:a.name,description:a.description,parameters:ue(a.inputSchema,t),strict:!0}))}function Bc(e){let t=[];for(let a of e)if(a.role==="user"||a.role==="assistant"){let n=(Array.isArray(a.content)?a.content:[{type:"text",text:a.content}]).filter((o)=>o.type==="text").map((o)=>o.text).join(`
7
+ `);if(n)t.push({type:"message",role:a.role,content:a.role==="user"?[{type:"input_text",text:n}]:[{type:"output_text",text:n}]})}return t}class Pe extends P{client;ensureClient(){if(!this.client){let e=this.config.baseUrl;if(!e)throw Error("Base URL is required. Set baseUrl in config.");let t=q(this.config.providerId,this.config.apiKey);if(!t)throw Error(H(this.config.providerId));let a=this.getRequestHeaders(),i=Object.keys(a).some((n)=>n.toLowerCase()==="authorization");this.client=new Qc({apiKey:t,baseURL:e,defaultHeaders:i?a:{...a,Authorization:`Bearer ${t}`}})}return this.client}getModel(){let e=this.config.modelId;if(!e)throw Error("Model ID is required. Set modelId in config.");let t=this.config.modelInfo??this.config.knownModels?.[e]??this.getDefaultModelInfo();return{id:e,info:{...t,id:e}}}getDefaultModelInfo(){let e=[].filter((t)=>t!=="prompt-cache");return{id:this.config.modelId,capabilities:e}}getMessages(e,t){return Bc(t)}async*createMessage(e,t,a){yield*A(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let i=this.ensureClient(),{id:n,info:o}=this.getModel(),c=this.getAbortSignal(),r=this.createResponseId(),s,u=this.getMessages(e,t),l=Fc(a,{stripFormat:this.config.providerId==="openai-codex"});if(!l?.length)throw Error("OpenAI Responses API requires tools to be provided. Enable native tool calling in settings.");let R=o.capabilities?.includes("reasoning")??!1,D=this.config.reasoningEffort??(this.config.thinking?qc:void 0),T=R&&D?{effort:D,summary:"auto"}:void 0,w=this.getRequestHeaders(),E=Object.keys(w).some((W)=>W.toLowerCase()==="authorization"),k=q(this.config.providerId,this.config.apiKey);if(!E&&k)w.Authorization=`Bearer ${k}`;if(this.config.providerId==="openai-codex"&&typeof this.config.accountId==="string"&&this.config.accountId.trim().length>0){let W=this.config.accountId.trim();w["chatgpt-account-id"]=W,w["openai-account-id"]=W}let _;try{_=await i.responses.create({model:n,instructions:e,input:u,store:this.config.providerId==="openai-codex"?!1:void 0,stream:!0,tools:l,reasoning:T},{signal:c,headers:w})}catch(W){if(this.config.providerId==="openai-codex"){let v=W;if((v?.status??v?.response?.status??(typeof v?.message==="string"&&v.message.includes("400")?400:void 0))===400){let J=v?.error?.detail??v?.error?.message??(typeof v?.message==="string"?v.message:"");throw Error(`OpenAI Codex request was rejected (HTTP 400). ${J?`Detail: ${J}`:"Re-run 'clite auth openai-codex', verify model access, and ensure accountId is present in provider settings."}`,{cause:W})}}throw W}for await(let W of _){let v=this.getApiResponseId(W);if(v)s=v;yield*this.processResponseChunk(W,o,s??r)}}*processResponseChunk(e,t,a){switch(e.type){case"response.output_item.added":{let i=e.item;if(i.type==="function_call"&&i.id)yield{type:"tool_calls",id:i.id||a,tool_call:{call_id:i.call_id,function:{id:i.id,name:i.name,arguments:i.arguments}}};if(i.type==="reasoning"&&i.encrypted_content&&i.id)yield{type:"reasoning",id:i.id||a,reasoning:"",redacted_data:i.encrypted_content};break}case"response.output_item.done":{let i=e.item;if(i.type==="function_call")yield{type:"tool_calls",id:i.id||a,tool_call:{call_id:i.call_id,function:{id:i.id,name:i.name,arguments:i.arguments}}};if(i.type==="reasoning")yield{type:"reasoning",id:i.id||a,details:i.summary,reasoning:""};break}case"response.reasoning_summary_part.added":yield{type:"reasoning",id:e.item_id||a,reasoning:e.part?.text||""};break;case"response.reasoning_summary_text.delta":yield{type:"reasoning",id:e.item_id||a,reasoning:e.delta||""};break;case"response.reasoning_summary_part.done":yield{type:"reasoning",id:e.item_id||a,details:e.part,reasoning:""};break;case"response.output_text.delta":if(e.delta)yield{id:e.item_id||a,type:"text",text:e.delta};break;case"response.reasoning_text.delta":if(e.delta)yield{id:e.item_id||a,type:"reasoning",reasoning:e.delta};break;case"response.function_call_arguments.delta":yield{type:"tool_calls",id:e.item_id||a,tool_call:{function:{id:e.item_id,name:e.item_id,arguments:e.delta}}};break;case"response.function_call_arguments.done":if(e.item_id&&e.name&&e.arguments)yield{type:"tool_calls",id:e.item_id||a,tool_call:{function:{id:e.item_id,name:e.name,arguments:e.arguments}}};break;case"response.incomplete":{yield{type:"done",success:!1,incompleteReason:e.response?.incomplete_details?.reason,id:e.response?.id||a};break}case"response.failed":{yield{type:"done",success:!1,error:e.response?.error?.message||"Unknown error",id:e.response?.id||a};break}case"response.completed":{if(e.response?.usage){let i=e.response.usage,n=i.input_tokens||0,o=i.output_tokens||0,c=i.output_tokens_details?.reasoning_tokens||0,r=i.input_tokens_details?.cached_tokens||0,s=this.calculateCost(n,o,c);yield{type:"usage",inputTokens:Math.max(0,n-c-r),outputTokens:o,cacheWriteTokens:r,cacheReadTokens:c,totalCost:s,id:e.response.id||a}}yield{type:"done",success:!0,id:e.response?.id||a};break}}}getApiResponseId(e){if(typeof e?.response?.id==="string"&&e.response.id.length>0)return e.response.id;if(typeof e?.response_id==="string"&&e.response_id.length>0)return e.response_id;return}}import vm from"openai";var pt=new Map;function pi(e,t){pt.set(e,{factory:t,isAsync:!1})}function ui(e,t){pt.set(e,{factory:t,isAsync:!0})}function Ae(e){return pt.has(e)}function mi(e,t){let a=pt.get(e);if(!a)return;if(a.isAsync)throw Error(`Handler for "${e}" is registered as async. Use getRegisteredHandlerAsync() or createHandlerAsync() instead.`);return a.factory(t)}async function li(e,t){let a=pt.get(e);if(!a)return;if(a.isAsync)return a.factory(t);return a.factory(t)}function di(e){return pt.get(e)?.isAsync??!1}var Kc="us-central1";function jo(e){return e.toLowerCase().includes("claude")}function yc(e){if(!e||e.length===0)return;let t=ce(e);return Object.fromEntries(t.map((a)=>[a.name,{description:a.description,inputSchema:a.input_schema}]))}function Nc(e,t,a){let i=a?.promptCacheOn?[{type:"text",text:e,providerOptions:{anthropic:{cacheControl:{type:"ephemeral"}}}}]:e;return ct(i,t,{assistantToolCallArgKey:"input"})}class Pa extends P{geminiHandler;vertexAnthropicModelFactory;vertexAnthropicModelFactoryPromise;getProjectId(){let e=this.config.gcp?.projectId?.trim();if(!e)throw Error("Vertex provider requires `gcp.projectId` in provider configuration.");return e}getConfiguredRegion(){return this.config.gcp?.region?.trim()||this.config.region?.trim()}getRequiredClaudeRegion(){let e=this.getConfiguredRegion();if(!e)throw Error("Vertex Claude models require `gcp.region` (or `region`) in provider configuration.");return e}getGeminiRegion(){return this.getConfiguredRegion()??Kc}ensureGeminiHandler(){if(!this.geminiHandler){let e=this.getProjectId(),t=this.getGeminiRegion();this.geminiHandler=new _e({...this.config,region:t,gcp:{...this.config.gcp,projectId:e,region:t}})}return this.geminiHandler}async ensureVertexAnthropicModelFactory(){if(this.vertexAnthropicModelFactory)return this.vertexAnthropicModelFactory;if(!this.vertexAnthropicModelFactoryPromise)this.vertexAnthropicModelFactoryPromise=import("@ai-sdk/google-vertex/anthropic").then((e)=>{let t=e.createVertexAnthropic({project:this.getProjectId(),location:this.getRequiredClaudeRegion(),headers:this.getRequestHeaders(),baseURL:this.config.baseUrl}),a=(i)=>t(i);return this.vertexAnthropicModelFactory=a,a});try{return await this.vertexAnthropicModelFactoryPromise}catch(e){if(this.vertexAnthropicModelFactoryPromise=void 0,e instanceof Error&&e.message.includes("@ai-sdk/google-vertex"))throw Error('Vertex Claude models require @ai-sdk/google-vertex at runtime. Install workspace dependencies before using provider "vertex".',{cause:e});throw e}}getModel(){return Z0(this.config)}getMessages(e,t){let a=this.getModel();if(!jo(a.id))return this.ensureGeminiHandler().getMessages(e,t);let i=Q(a.info,"prompt-cache");return rt(t,i)}async*createMessage(e,t,a){yield*A(()=>this.createMessageInternal(e,t,a))}async*createMessageInternal(e,t,a){let i=this.getModel();if(!jo(i.id)){yield*this.ensureGeminiHandler().createMessage(e,t,a);return}let n=await ni(),o=await this.ensureVertexAnthropicModelFactory(),c=this.createResponseId(),r=this.config.thinkingBudgetTokens??0,s=Q(i.info,"reasoning")&&r>0,u=Q(i.info,"prompt-cache"),l={};if(s)l.anthropic={thinking:{type:"enabled",budgetTokens:r}};let R=n.streamText({model:o(i.id),messages:Nc(e,t,{promptCacheOn:u}),tools:yc(a),maxTokens:i.info.maxTokens??8192,temperature:s?void 0:0,providerOptions:Object.keys(l).length>0?l:void 0,abortSignal:this.getAbortSignal()});yield*oi(R,{responseId:c,errorMessage:"Vertex Anthropic stream failed",calculateCost:(D,T,w)=>this.calculateCost(D,T,w),reasoningTypes:["reasoning-delta"],enableToolCalls:!0,toolCallArgsOrder:["input","args"],toolCallFunctionIncludeId:!0,resolveUsageMetrics:(D,T)=>{let E=(T?.providerMetadata??{}).anthropic??{};return{inputTokens:N(D.inputTokens),outputTokens:N(D.outputTokens),thoughtsTokenCount:N(D.reasoningTokens??D.thoughtsTokenCount),cacheReadTokens:N(D.cachedInputTokens??E.cacheReadInputTokens),cacheWriteTokens:N(E.cacheCreationInputTokens)}}})}}import{JSONParser as hl}from"@streamparser/json";Xt();function Yo(e){let t=S(e.providerId);if(t===e.providerId)return e;return{...e,providerId:t}}function us(e,t){if(e.baseUrl)return e.baseUrl;if(e.oca?.mode==="internal")return Y;return t?.baseUrl??y}function ms(e){let t=e.modelId;return e.modelInfo?.apiFormat??(t?e.knownModels?.[t]?.apiFormat:void 0)}function ls(e){if(ms(e)===V.OPENAI_RESPONSES)return new Pe(e);return new ve(e)}function Xo(e,t){return{...e,baseUrl:e.providerId==="oca"?us(e,t):e.baseUrl??t.baseUrl,modelId:e.modelId??t.modelId,knownModels:e.knownModels??t.knownModels,capabilities:e.capabilities??t.capabilities}}var ds={asksage:(e)=>new Da(e),anthropic:(e)=>new ba(e),bedrock:(e)=>new ai(e),"claude-code":(e)=>new Ra(e),gemini:(e)=>new _e(e),vertex:(e)=>new Pa(e),opencode:(e)=>new Ta(e),"openai-native":(e)=>new Pe(e),mistral:(e)=>new fa(e),dify:(e)=>new Ea(e)};function $o(e){if(e.providerId==="openai-codex")return new ka(e);if(e.providerId==="sapaicore")return new Ma(e);if(e.providerId==="oca")return ls(e);return new ve(e)}function gs(e){let t=ds[e.providerId];return t?t(e):void 0}function Aa(e){let t=Yo(e),{providerId:a}=t;if(Ae(a)){if(di(a))throw Error(`Handler for "${a}" is registered as async. Use createHandlerAsync() instead.`);let n=mi(a,t);if(n)return n}let i=gs(t);if(i)return i;if(Wa(a)){if(t.modelCatalog?.loadLatestOnInit||t.modelCatalog?.loadPrivateOnAuth)throw Error(`Provider "${a}" has runtime model refresh enabled. Use createHandlerAsync() to allow async model refresh.`);let n=K[a];return $o(Xo(t,n))}return t.baseUrl?new ve(t):new Pe({...t,baseUrl:"https://api.openai.com/v1"})}async function gi(e){let t=Yo(e),{providerId:a}=t;if(Ae(a)){let i=await li(a,t);if(i)return i}if(Wa(a)){let i=await nt(a,t.modelCatalog,t);if(i)return $o(Xo(t,i))}return Aa(t)}var z0=[...new Set([We.provider.id,"anthropic","asksage","bedrock","claude-code","opencode","mistral","dify","openai-native","gemini","vertex",...Object.keys(K)])],xs=new Set(z0);function Ho(e){let t=S(e);return xs.has(t)||Ae(t)||Ae(e)}function Zo(e){return e?{...e}:{}}function hs(e,t){if(e)return e;if(!t)return;let a=globalThis.process;if(!a?.env)return;return a.env[t]}function Io(e,t){if(!t.length)throw Error(`Provider "${e}" must include at least one model.`)}class zo{providerConfigs=new Map;constructor(e){this.applyConfig(e)}createHandler(e){return Aa(this.toProviderHandlerConfig(e))}async createHandlerAsync(e){return gi(this.toProviderHandlerConfig(e))}toProviderHandlerConfig(e){let t=this.requireConfiguredProvider(e.providerId),a=e.modelId??t.defaultModel;if(!t.models.has(a))throw Error(`Model "${a}" is not configured for provider "${e.providerId}".`);return{providerId:e.providerId,modelId:a,...t.defaults,...e.overrides}}registerProvider(e){if(Xa(e.collection),e.handlerFactory&&e.asyncHandlerFactory)throw Error(`Provider "${e.collection.provider.id}" cannot register both sync and async handlers.`);if(e.handlerFactory)pi(e.collection.provider.id,e.handlerFactory);if(e.asyncHandlerFactory)ui(e.collection.provider.id,e.asyncHandlerFactory);let t=e.exposeModels??Object.keys(e.collection.models);Io(e.collection.provider.id,t);let a=this.providerConfigs.get(e.collection.provider.id),i=e.defaultModel??e.collection.provider.defaultModelId??t[0];if(!i)throw Error(`Provider "${e.collection.provider.id}" must define a default model.`);if(!t.includes(i))throw Error(`Default model "${i}" is not included in configured models for "${e.collection.provider.id}".`);let n=new Set([...a?.models??[],...t]),o={...a?.defaults??{},...Zo(e.defaults)};this.providerConfigs.set(e.collection.provider.id,{id:e.collection.provider.id,models:n,defaultModel:i,defaults:o})}registerModel(e){it(e.providerId,e.modelId,e.info);let t=this.providerConfigs.get(e.providerId);if(!t){this.providerConfigs.set(e.providerId,{id:e.providerId,models:new Set([e.modelId]),defaultModel:e.modelId,defaults:{}});return}t.models.add(e.modelId)}getProviders(){return Array.from(this.providerConfigs.values()).map((e)=>({id:e.id,models:Array.from(e.models),defaultModel:e.defaultModel}))}getModels(e){return Array.from(this.requireConfiguredProvider(e).models)}isProviderConfigured(e){return this.providerConfigs.has(e)}isModelConfigured(e,t){return this.providerConfigs.get(e)?.models.has(t)??!1}applyConfig(e){for(let t of e.providers){if(Io(t.id,t.models),t.defaultModel&&!t.models.includes(t.defaultModel))throw Error(`Default model "${t.defaultModel}" is not included in configured models for "${t.id}".`);let a=t.defaultModel??t.models[0];if(!a)throw Error(`Provider "${t.id}" must define a default model.`);let i=hs(t.apiKey,t.apiKeyEnv);this.providerConfigs.set(t.id,{id:t.id,models:new Set(t.models),defaultModel:a,defaults:{apiKey:i,baseUrl:t.baseUrl,headers:t.headers,timeoutMs:t.timeoutMs,capabilities:t.capabilities,...Zo(t.settings)}})}for(let t of e.models??[])this.registerModel(t);for(let t of e.customProviders??[])this.registerProvider(t);for(let t of this.providerConfigs.values())if(!Va(t.id))throw Error(`Provider "${t.id}" is not known. Register it through customProviders/registerProvider or use a built-in provider ID.`)}requireConfiguredProvider(e){let t=this.providerConfigs.get(e);if(!t)throw Error(`Provider "${e}" is not configured in this SDK instance.`);return t}}function Ws(e){return new zo(e)}export{Jo as providers,Mo as models,or as defineLlmsConfig,Ws as createLlmsSdk};