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