@ggui-ai/protocol 0.1.0-rc.1

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