@agentproto/model-catalog 0.8.4 → 0.9.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 (40) hide show
  1. package/dist/access/index.d.ts +3 -3
  2. package/dist/access/index.mjs +5 -2
  3. package/dist/catalog-Cg0AJJZ7.d.ts +1608 -0
  4. package/dist/{chunk-WTHHXXIK.mjs → chunk-BZ7O32GA.mjs} +6 -4
  5. package/dist/chunk-BZ7O32GA.mjs.map +1 -0
  6. package/dist/{chunk-K5Z4VDIW.mjs → chunk-LE7NKYLT.mjs} +4 -4
  7. package/dist/{chunk-K5Z4VDIW.mjs.map → chunk-LE7NKYLT.mjs.map} +1 -1
  8. package/dist/{chunk-TF7JGPTO.mjs → chunk-MR5ZPIUN.mjs} +1127 -945
  9. package/dist/chunk-MR5ZPIUN.mjs.map +1 -0
  10. package/dist/{chunk-C7NB3TTG.mjs → chunk-O7ZJEMH6.mjs} +4 -4
  11. package/dist/{chunk-C7NB3TTG.mjs.map → chunk-O7ZJEMH6.mjs.map} +1 -1
  12. package/dist/{chunk-HRRG2RZO.mjs → chunk-PUIEZ3G4.mjs} +3 -3
  13. package/dist/{chunk-HRRG2RZO.mjs.map → chunk-PUIEZ3G4.mjs.map} +1 -1
  14. package/dist/{chunk-6DLCFYAL.mjs → chunk-RK6MHEIS.mjs} +2026 -474
  15. package/dist/chunk-RK6MHEIS.mjs.map +1 -0
  16. package/dist/{chunk-HP6XQD3U.mjs → chunk-RKG52ASE.mjs} +21 -10
  17. package/dist/chunk-RKG52ASE.mjs.map +1 -0
  18. package/dist/{chunk-O7TXHU5W.mjs → chunk-ZTTWZ7PL.mjs} +19 -3
  19. package/dist/chunk-ZTTWZ7PL.mjs.map +1 -0
  20. package/dist/cost/index.mjs +6 -6
  21. package/dist/curation/index.d.ts +2 -2
  22. package/dist/curation/index.mjs +6 -6
  23. package/dist/{evaluate-CvrdzuYW.d.ts → evaluate-D3gXrAg-.d.ts} +1 -1
  24. package/dist/{index-CpxCXwo_.d.ts → index-BZfxAdXA.d.ts} +10 -2
  25. package/dist/{index-Bk5U4gcS.d.ts → index-DC8jecem.d.ts} +2 -2
  26. package/dist/index.d.ts +5 -5
  27. package/dist/index.mjs +10 -10
  28. package/dist/llm/index.d.ts +12 -2
  29. package/dist/llm/index.mjs +2 -2
  30. package/dist/overlay/index.d.ts +1 -1
  31. package/dist/picker/index.d.ts +4 -4
  32. package/dist/route-identity/index.d.ts +1 -1
  33. package/dist/route-identity/index.mjs +2 -2
  34. package/package.json +2 -2
  35. package/dist/catalog-IWd755ti.d.ts +0 -969
  36. package/dist/chunk-6DLCFYAL.mjs.map +0 -1
  37. package/dist/chunk-HP6XQD3U.mjs.map +0 -1
  38. package/dist/chunk-O7TXHU5W.mjs.map +0 -1
  39. package/dist/chunk-TF7JGPTO.mjs.map +0 -1
  40. package/dist/chunk-WTHHXXIK.mjs.map +0 -1
@@ -8,16 +8,11 @@ import { pricingRegistry, CC_USD_RATE } from './chunk-QHELXPSL.mjs';
8
8
 
9
9
  // src/llm/openrouter-routes.generated.ts
10
10
  var OPENROUTER_ROUTES = {
11
- "ai21/jamba-large-1.7": {
12
- inputPer1M: 2,
13
- outputPer1M: 8,
14
- vendor: "ai21",
15
- provider: "openrouter"
16
- },
17
11
  "aion-labs/aion-2.0": {
18
12
  inputPer1M: 0.8,
19
13
  outputPer1M: 1.6,
20
14
  cacheReadMultiplier: 0.25,
15
+ addedAt: "2026-02-23",
21
16
  vendor: "aion-labs",
22
17
  provider: "openrouter"
23
18
  },
@@ -25,6 +20,7 @@ var OPENROUTER_ROUTES = {
25
20
  inputPer1M: 3,
26
21
  outputPer1M: 6,
27
22
  cacheReadMultiplier: 0.25,
23
+ addedAt: "2026-07-07",
28
24
  vendor: "aion-labs",
29
25
  provider: "openrouter"
30
26
  },
@@ -32,36 +28,35 @@ var OPENROUTER_ROUTES = {
32
28
  inputPer1M: 0.7,
33
29
  outputPer1M: 1.4,
34
30
  cacheReadMultiplier: 0.257143,
31
+ addedAt: "2026-07-07",
35
32
  vendor: "aion-labs",
36
33
  provider: "openrouter"
37
34
  },
38
35
  "aion-labs/aion-rp-llama-3.1-8b": {
39
36
  inputPer1M: 0.8,
40
37
  outputPer1M: 1.6,
38
+ addedAt: "2025-02-04",
41
39
  vendor: "aion-labs",
42
40
  provider: "openrouter"
43
41
  },
44
- "allenai/olmo-3-32b-think": {
45
- inputPer1M: 0.15,
46
- outputPer1M: 0.5,
47
- vendor: "allenai",
48
- provider: "openrouter"
49
- },
50
42
  "amazon/nova-2-lite-v1": {
51
43
  inputPer1M: 0.3,
52
44
  outputPer1M: 2.5,
45
+ addedAt: "2025-12-02",
53
46
  vendor: "amazon",
54
47
  provider: "openrouter"
55
48
  },
56
49
  "amazon/nova-lite-v1": {
57
50
  inputPer1M: 0.06,
58
51
  outputPer1M: 0.24,
52
+ addedAt: "2024-12-05",
59
53
  vendor: "amazon",
60
54
  provider: "openrouter"
61
55
  },
62
56
  "amazon/nova-micro-v1": {
63
57
  inputPer1M: 0.035,
64
58
  outputPer1M: 0.14,
59
+ addedAt: "2024-12-05",
65
60
  vendor: "amazon",
66
61
  provider: "openrouter"
67
62
  },
@@ -69,18 +64,21 @@ var OPENROUTER_ROUTES = {
69
64
  inputPer1M: 2.5,
70
65
  outputPer1M: 12.5,
71
66
  cacheReadMultiplier: 0.25,
67
+ addedAt: "2025-10-31",
72
68
  vendor: "amazon",
73
69
  provider: "openrouter"
74
70
  },
75
71
  "amazon/nova-pro-v1": {
76
72
  inputPer1M: 0.8,
77
73
  outputPer1M: 3.2,
74
+ addedAt: "2024-12-05",
78
75
  vendor: "amazon",
79
76
  provider: "openrouter"
80
77
  },
81
78
  "anthracite-org/magnum-v4-72b": {
82
- inputPer1M: 3,
79
+ inputPer1M: 2.5,
83
80
  outputPer1M: 5,
81
+ addedAt: "2024-10-22",
84
82
  vendor: "anthracite-org",
85
83
  provider: "openrouter"
86
84
  },
@@ -89,6 +87,7 @@ var OPENROUTER_ROUTES = {
89
87
  outputPer1M: 1.25,
90
88
  cacheReadMultiplier: 0.12,
91
89
  cacheWriteMultiplier: 1.2,
90
+ addedAt: "2024-03-13",
92
91
  vendor: "anthropic",
93
92
  provider: "openrouter"
94
93
  },
@@ -97,6 +96,16 @@ var OPENROUTER_ROUTES = {
97
96
  outputPer1M: 50,
98
97
  cacheReadMultiplier: 0.1,
99
98
  cacheWriteMultiplier: 1.25,
99
+ addedAt: "2026-06-09",
100
+ vendor: "anthropic",
101
+ provider: "openrouter"
102
+ },
103
+ "anthropic/claude-fable-5.1": {
104
+ inputPer1M: 10,
105
+ outputPer1M: 50,
106
+ cacheReadMultiplier: 0.025,
107
+ cacheWriteMultiplier: 1.25,
108
+ addedAt: "2026-09-01",
100
109
  vendor: "anthropic",
101
110
  provider: "openrouter"
102
111
  },
@@ -105,6 +114,7 @@ var OPENROUTER_ROUTES = {
105
114
  outputPer1M: 25,
106
115
  cacheReadMultiplier: 0.1,
107
116
  cacheWriteMultiplier: 1.25,
117
+ addedAt: "2026-06-09",
108
118
  vendor: "anthropic",
109
119
  provider: "openrouter"
110
120
  },
@@ -113,6 +123,7 @@ var OPENROUTER_ROUTES = {
113
123
  outputPer1M: 5,
114
124
  cacheReadMultiplier: 0.1,
115
125
  cacheWriteMultiplier: 1.25,
126
+ addedAt: "2025-10-15",
116
127
  vendor: "anthropic",
117
128
  provider: "openrouter"
118
129
  },
@@ -121,6 +132,7 @@ var OPENROUTER_ROUTES = {
121
132
  outputPer1M: 2.5,
122
133
  cacheReadMultiplier: 0.1,
123
134
  cacheWriteMultiplier: 1.25,
135
+ addedAt: "2025-10-15",
124
136
  vendor: "anthropic",
125
137
  provider: "openrouter"
126
138
  },
@@ -129,6 +141,7 @@ var OPENROUTER_ROUTES = {
129
141
  outputPer1M: 75,
130
142
  cacheReadMultiplier: 0.1,
131
143
  cacheWriteMultiplier: 1.25,
144
+ addedAt: "2025-05-22",
132
145
  vendor: "anthropic",
133
146
  provider: "openrouter"
134
147
  },
@@ -137,6 +150,7 @@ var OPENROUTER_ROUTES = {
137
150
  outputPer1M: 75,
138
151
  cacheReadMultiplier: 0.1,
139
152
  cacheWriteMultiplier: 1.25,
153
+ addedAt: "2025-08-05",
140
154
  vendor: "anthropic",
141
155
  provider: "openrouter"
142
156
  },
@@ -145,6 +159,7 @@ var OPENROUTER_ROUTES = {
145
159
  outputPer1M: 37.5,
146
160
  cacheReadMultiplier: 0.1,
147
161
  cacheWriteMultiplier: 1.25,
162
+ addedAt: "2025-08-05",
148
163
  vendor: "anthropic",
149
164
  provider: "openrouter"
150
165
  },
@@ -153,6 +168,7 @@ var OPENROUTER_ROUTES = {
153
168
  outputPer1M: 25,
154
169
  cacheReadMultiplier: 0.1,
155
170
  cacheWriteMultiplier: 1.25,
171
+ addedAt: "2025-11-24",
156
172
  vendor: "anthropic",
157
173
  provider: "openrouter"
158
174
  },
@@ -161,6 +177,7 @@ var OPENROUTER_ROUTES = {
161
177
  outputPer1M: 12.5,
162
178
  cacheReadMultiplier: 0.1,
163
179
  cacheWriteMultiplier: 1.25,
180
+ addedAt: "2025-11-24",
164
181
  vendor: "anthropic",
165
182
  provider: "openrouter"
166
183
  },
@@ -169,6 +186,7 @@ var OPENROUTER_ROUTES = {
169
186
  outputPer1M: 25,
170
187
  cacheReadMultiplier: 0.1,
171
188
  cacheWriteMultiplier: 1.25,
189
+ addedAt: "2026-02-04",
172
190
  vendor: "anthropic",
173
191
  provider: "openrouter"
174
192
  },
@@ -177,6 +195,7 @@ var OPENROUTER_ROUTES = {
177
195
  outputPer1M: 12.5,
178
196
  cacheReadMultiplier: 0.1,
179
197
  cacheWriteMultiplier: 1.25,
198
+ addedAt: "2026-02-04",
180
199
  vendor: "anthropic",
181
200
  provider: "openrouter"
182
201
  },
@@ -185,14 +204,7 @@ var OPENROUTER_ROUTES = {
185
204
  outputPer1M: 25,
186
205
  cacheReadMultiplier: 0.1,
187
206
  cacheWriteMultiplier: 1.25,
188
- vendor: "anthropic",
189
- provider: "openrouter"
190
- },
191
- "anthropic/claude-opus-4.7-fast": {
192
- inputPer1M: 30,
193
- outputPer1M: 150,
194
- cacheReadMultiplier: 0.1,
195
- cacheWriteMultiplier: 1.25,
207
+ addedAt: "2026-04-16",
196
208
  vendor: "anthropic",
197
209
  provider: "openrouter"
198
210
  },
@@ -201,6 +213,7 @@ var OPENROUTER_ROUTES = {
201
213
  outputPer1M: 12.5,
202
214
  cacheReadMultiplier: 0.1,
203
215
  cacheWriteMultiplier: 1.25,
216
+ addedAt: "2026-04-16",
204
217
  vendor: "anthropic",
205
218
  provider: "openrouter"
206
219
  },
@@ -209,14 +222,7 @@ var OPENROUTER_ROUTES = {
209
222
  outputPer1M: 25,
210
223
  cacheReadMultiplier: 0.1,
211
224
  cacheWriteMultiplier: 1.25,
212
- vendor: "anthropic",
213
- provider: "openrouter"
214
- },
215
- "anthropic/claude-opus-4.8-fast": {
216
- inputPer1M: 10,
217
- outputPer1M: 50,
218
- cacheReadMultiplier: 0.1,
219
- cacheWriteMultiplier: 1.25,
225
+ addedAt: "2026-05-27",
220
226
  vendor: "anthropic",
221
227
  provider: "openrouter"
222
228
  },
@@ -225,6 +231,7 @@ var OPENROUTER_ROUTES = {
225
231
  outputPer1M: 12.5,
226
232
  cacheReadMultiplier: 0.1,
227
233
  cacheWriteMultiplier: 1.25,
234
+ addedAt: "2026-05-27",
228
235
  vendor: "anthropic",
229
236
  provider: "openrouter"
230
237
  },
@@ -233,14 +240,7 @@ var OPENROUTER_ROUTES = {
233
240
  outputPer1M: 25,
234
241
  cacheReadMultiplier: 0.1,
235
242
  cacheWriteMultiplier: 1.25,
236
- vendor: "anthropic",
237
- provider: "openrouter"
238
- },
239
- "anthropic/claude-opus-5-fast": {
240
- inputPer1M: 10,
241
- outputPer1M: 50,
242
- cacheReadMultiplier: 0.1,
243
- cacheWriteMultiplier: 1.25,
243
+ addedAt: "2026-07-24",
244
244
  vendor: "anthropic",
245
245
  provider: "openrouter"
246
246
  },
@@ -249,6 +249,7 @@ var OPENROUTER_ROUTES = {
249
249
  outputPer1M: 12.5,
250
250
  cacheReadMultiplier: 0.1,
251
251
  cacheWriteMultiplier: 1.25,
252
+ addedAt: "2026-07-24",
252
253
  vendor: "anthropic",
253
254
  provider: "openrouter"
254
255
  },
@@ -257,6 +258,7 @@ var OPENROUTER_ROUTES = {
257
258
  outputPer1M: 15,
258
259
  cacheReadMultiplier: 0.1,
259
260
  cacheWriteMultiplier: 1.25,
261
+ addedAt: "2025-05-22",
260
262
  vendor: "anthropic",
261
263
  provider: "openrouter"
262
264
  },
@@ -265,6 +267,7 @@ var OPENROUTER_ROUTES = {
265
267
  outputPer1M: 15,
266
268
  cacheReadMultiplier: 0.1,
267
269
  cacheWriteMultiplier: 1.25,
270
+ addedAt: "2025-09-29",
268
271
  vendor: "anthropic",
269
272
  provider: "openrouter"
270
273
  },
@@ -273,6 +276,7 @@ var OPENROUTER_ROUTES = {
273
276
  outputPer1M: 7.5,
274
277
  cacheReadMultiplier: 0.1,
275
278
  cacheWriteMultiplier: 1.25,
279
+ addedAt: "2025-09-29",
276
280
  vendor: "anthropic",
277
281
  provider: "openrouter"
278
282
  },
@@ -281,6 +285,7 @@ var OPENROUTER_ROUTES = {
281
285
  outputPer1M: 15,
282
286
  cacheReadMultiplier: 0.1,
283
287
  cacheWriteMultiplier: 1.25,
288
+ addedAt: "2026-02-17",
284
289
  vendor: "anthropic",
285
290
  provider: "openrouter"
286
291
  },
@@ -289,6 +294,7 @@ var OPENROUTER_ROUTES = {
289
294
  outputPer1M: 7.5,
290
295
  cacheReadMultiplier: 0.1,
291
296
  cacheWriteMultiplier: 1.25,
297
+ addedAt: "2026-02-17",
292
298
  vendor: "anthropic",
293
299
  provider: "openrouter"
294
300
  },
@@ -297,6 +303,7 @@ var OPENROUTER_ROUTES = {
297
303
  outputPer1M: 10,
298
304
  cacheReadMultiplier: 0.1,
299
305
  cacheWriteMultiplier: 1.25,
306
+ addedAt: "2026-06-30",
300
307
  vendor: "anthropic",
301
308
  provider: "openrouter"
302
309
  },
@@ -305,49 +312,64 @@ var OPENROUTER_ROUTES = {
305
312
  outputPer1M: 5,
306
313
  cacheReadMultiplier: 0.1,
307
314
  cacheWriteMultiplier: 1.25,
315
+ addedAt: "2026-06-30",
308
316
  vendor: "anthropic",
309
317
  provider: "openrouter"
310
318
  },
311
319
  "arcee-ai/trinity-large-thinking": {
312
- inputPer1M: 0.22,
313
- outputPer1M: 0.85,
314
- cacheReadMultiplier: 0.272727,
315
- vendor: "arcee-ai",
316
- provider: "openrouter"
317
- },
318
- "arcee-ai/virtuoso-large": {
319
- inputPer1M: 0.75,
320
- outputPer1M: 1.2,
320
+ inputPer1M: 0.25,
321
+ outputPer1M: 0.8,
322
+ cacheReadMultiplier: 0.24,
323
+ addedAt: "2026-04-01",
321
324
  vendor: "arcee-ai",
322
325
  provider: "openrouter"
323
326
  },
324
327
  "baidu/ernie-4.5-vl-424b-a47b": {
325
328
  inputPer1M: 0.42,
326
329
  outputPer1M: 1.25,
330
+ addedAt: "2025-06-30",
327
331
  vendor: "baidu",
328
332
  provider: "openrouter"
329
333
  },
330
334
  "bytedance-seed/seed-1.6": {
331
335
  inputPer1M: 0.25,
332
336
  outputPer1M: 2,
337
+ addedAt: "2025-12-23",
333
338
  vendor: "bytedance-seed",
334
339
  provider: "openrouter"
335
340
  },
336
341
  "bytedance-seed/seed-1.6-flash": {
337
342
  inputPer1M: 0.075,
338
343
  outputPer1M: 0.3,
344
+ addedAt: "2025-12-23",
345
+ vendor: "bytedance-seed",
346
+ provider: "openrouter"
347
+ },
348
+ "bytedance-seed/seed-2-1-turbo": {
349
+ inputPer1M: 0.5,
350
+ outputPer1M: 2.5,
351
+ addedAt: "2026-08-12",
352
+ vendor: "bytedance-seed",
353
+ provider: "openrouter"
354
+ },
355
+ "bytedance-seed/seed-2.0-code": {
356
+ inputPer1M: 0.5,
357
+ outputPer1M: 3,
358
+ addedAt: "2026-08-12",
339
359
  vendor: "bytedance-seed",
340
360
  provider: "openrouter"
341
361
  },
342
362
  "bytedance-seed/seed-2.0-lite": {
343
363
  inputPer1M: 0.25,
344
364
  outputPer1M: 2,
365
+ addedAt: "2026-03-10",
345
366
  vendor: "bytedance-seed",
346
367
  provider: "openrouter"
347
368
  },
348
369
  "bytedance-seed/seed-2.0-mini": {
349
370
  inputPer1M: 0.1,
350
371
  outputPer1M: 0.4,
372
+ addedAt: "2026-02-26",
351
373
  vendor: "bytedance-seed",
352
374
  provider: "openrouter"
353
375
  },
@@ -355,68 +377,71 @@ var OPENROUTER_ROUTES = {
355
377
  inputPer1M: 0.1,
356
378
  outputPer1M: 0.2,
357
379
  cacheReadMultiplier: 1,
380
+ addedAt: "2025-07-22",
358
381
  vendor: "bytedance",
359
382
  provider: "openrouter"
360
383
  },
361
384
  "cognitivecomputations/dolphin-mistral-24b-venice-edition": {
362
385
  inputPer1M: 0.2,
363
386
  outputPer1M: 0.9,
387
+ addedAt: "2025-07-09",
364
388
  vendor: "cognitivecomputations",
365
389
  provider: "openrouter"
366
390
  },
367
391
  "cohere/command-a": {
368
392
  inputPer1M: 2.5,
369
393
  outputPer1M: 10,
394
+ addedAt: "2025-03-13",
370
395
  vendor: "cohere",
371
396
  provider: "openrouter"
372
397
  },
373
398
  "cohere/command-r-08-2024": {
374
399
  inputPer1M: 0.15,
375
400
  outputPer1M: 0.6,
401
+ addedAt: "2024-08-30",
376
402
  vendor: "cohere",
377
403
  provider: "openrouter"
378
404
  },
379
405
  "cohere/command-r-plus-08-2024": {
380
406
  inputPer1M: 2.5,
381
407
  outputPer1M: 10,
408
+ addedAt: "2024-08-30",
382
409
  vendor: "cohere",
383
410
  provider: "openrouter"
384
411
  },
385
412
  "cohere/command-r7b-12-2024": {
386
413
  inputPer1M: 0.0375,
387
414
  outputPer1M: 0.15,
415
+ addedAt: "2024-12-14",
388
416
  vendor: "cohere",
389
417
  provider: "openrouter"
390
418
  },
391
- "deepcogito/cogito-v2.1-671b": {
392
- inputPer1M: 1.25,
393
- outputPer1M: 1.25,
394
- vendor: "deepcogito",
395
- provider: "openrouter"
396
- },
397
419
  "deepseek/deepseek-chat": {
398
420
  inputPer1M: 0.2574,
399
421
  outputPer1M: 1.0287,
422
+ addedAt: "2024-12-26",
400
423
  vendor: "deepseek",
401
424
  provider: "openrouter"
402
425
  },
403
426
  "deepseek/deepseek-chat-v3-0324": {
404
- inputPer1M: 0.27,
405
- outputPer1M: 1.12,
406
- cacheReadMultiplier: 0.5,
427
+ inputPer1M: 0.25,
428
+ outputPer1M: 1,
429
+ addedAt: "2025-03-24",
407
430
  vendor: "deepseek",
408
431
  provider: "openrouter"
409
432
  },
410
433
  "deepseek/deepseek-chat-v3.1": {
411
- inputPer1M: 0.25,
412
- outputPer1M: 0.95,
413
- cacheReadMultiplier: 0.52,
434
+ inputPer1M: 0.55,
435
+ outputPer1M: 1.65,
436
+ cacheReadMultiplier: 1,
437
+ addedAt: "2025-08-21",
414
438
  vendor: "deepseek",
415
439
  provider: "openrouter"
416
440
  },
417
441
  "deepseek/deepseek-r1": {
418
442
  inputPer1M: 0.7,
419
443
  outputPer1M: 2.5,
444
+ addedAt: "2025-01-20",
420
445
  vendor: "deepseek",
421
446
  provider: "openrouter"
422
447
  },
@@ -424,12 +449,14 @@ var OPENROUTER_ROUTES = {
424
449
  inputPer1M: 0.5,
425
450
  outputPer1M: 2.15,
426
451
  cacheReadMultiplier: 0.7,
452
+ addedAt: "2025-05-28",
427
453
  vendor: "deepseek",
428
454
  provider: "openrouter"
429
455
  },
430
456
  "deepseek/deepseek-r1-distill-llama-70b": {
431
457
  inputPer1M: 0.8,
432
458
  outputPer1M: 0.8,
459
+ addedAt: "2025-01-23",
433
460
  vendor: "deepseek",
434
461
  provider: "openrouter"
435
462
  },
@@ -437,6 +464,7 @@ var OPENROUTER_ROUTES = {
437
464
  inputPer1M: 0.27,
438
465
  outputPer1M: 1,
439
466
  cacheReadMultiplier: 0.5,
467
+ addedAt: "2025-09-22",
440
468
  vendor: "deepseek",
441
469
  provider: "openrouter"
442
470
  },
@@ -444,33 +472,70 @@ var OPENROUTER_ROUTES = {
444
472
  inputPer1M: 0.269,
445
473
  outputPer1M: 0.4,
446
474
  cacheReadMultiplier: 0.5,
475
+ addedAt: "2025-12-01",
447
476
  vendor: "deepseek",
448
477
  provider: "openrouter"
449
478
  },
450
479
  "deepseek/deepseek-v3.2-exp": {
451
480
  inputPer1M: 0.27,
452
481
  outputPer1M: 0.41,
482
+ addedAt: "2025-09-29",
453
483
  vendor: "deepseek",
454
484
  provider: "openrouter"
455
485
  },
456
486
  "deepseek/deepseek-v4-flash": {
457
- inputPer1M: 0.14,
458
- outputPer1M: 0.28,
487
+ inputPer1M: 0.07168,
488
+ outputPer1M: 0.14336,
459
489
  cacheReadMultiplier: 0.2,
490
+ addedAt: "2026-04-24",
460
491
  vendor: "deepseek",
461
492
  provider: "openrouter"
462
493
  },
463
494
  "deepseek/deepseek-v4-flash-0731": {
464
- inputPer1M: 0.08,
495
+ inputPer1M: 0.065,
465
496
  outputPer1M: 0.18,
466
- cacheReadMultiplier: 0.2,
497
+ cacheReadMultiplier: 0.246154,
498
+ addedAt: "2026-07-31",
499
+ vendor: "deepseek",
500
+ provider: "openrouter"
501
+ },
502
+ "deepseek/deepseek-v4-flash-0731:batch": {
503
+ inputPer1M: 0.14,
504
+ outputPer1M: 0.28,
505
+ cacheReadMultiplier: 0.214286,
506
+ addedAt: "2026-07-31",
507
+ vendor: "deepseek",
508
+ provider: "openrouter"
509
+ },
510
+ "deepseek/deepseek-v4-flash-vision-exp": {
511
+ inputPer1M: 0.22,
512
+ outputPer1M: 0.66,
513
+ cacheReadMultiplier: 0.031818,
514
+ addedAt: "2026-08-21",
467
515
  vendor: "deepseek",
468
516
  provider: "openrouter"
469
517
  },
470
518
  "deepseek/deepseek-v4-pro": {
471
- inputPer1M: 0.63168,
472
- outputPer1M: 1.26336,
473
- cacheReadMultiplier: 0.084375,
519
+ inputPer1M: 1.02747,
520
+ outputPer1M: 2.05494,
521
+ cacheReadMultiplier: 0.083334,
522
+ addedAt: "2026-04-24",
523
+ vendor: "deepseek",
524
+ provider: "openrouter"
525
+ },
526
+ "deepseek/deepseek-v4-pro-0813": {
527
+ inputPer1M: 0.66,
528
+ outputPer1M: 1.98,
529
+ cacheReadMultiplier: 0.033333,
530
+ addedAt: "2026-08-12",
531
+ vendor: "deepseek",
532
+ provider: "openrouter"
533
+ },
534
+ "deepseek/deepseek-v4-pro-0813:batch": {
535
+ inputPer1M: 1.32,
536
+ outputPer1M: 3.96,
537
+ cacheReadMultiplier: 0.098485,
538
+ addedAt: "2026-08-12",
474
539
  vendor: "deepseek",
475
540
  provider: "openrouter"
476
541
  },
@@ -479,6 +544,7 @@ var OPENROUTER_ROUTES = {
479
544
  outputPer1M: 2.5,
480
545
  cacheReadMultiplier: 0.1,
481
546
  cacheWriteMultiplier: 0.277777,
547
+ addedAt: "2025-06-17",
482
548
  vendor: "google",
483
549
  provider: "openrouter"
484
550
  },
@@ -487,6 +553,7 @@ var OPENROUTER_ROUTES = {
487
553
  outputPer1M: 2.5,
488
554
  cacheReadMultiplier: 0.1,
489
555
  cacheWriteMultiplier: 0.277777,
556
+ addedAt: "2025-10-07",
490
557
  vendor: "google",
491
558
  provider: "openrouter"
492
559
  },
@@ -495,6 +562,7 @@ var OPENROUTER_ROUTES = {
495
562
  outputPer1M: 0.4,
496
563
  cacheReadMultiplier: 0.1,
497
564
  cacheWriteMultiplier: 0.83333,
565
+ addedAt: "2025-07-22",
498
566
  vendor: "google",
499
567
  provider: "openrouter"
500
568
  },
@@ -502,6 +570,7 @@ var OPENROUTER_ROUTES = {
502
570
  inputPer1M: 0.05,
503
571
  outputPer1M: 0.2,
504
572
  cacheReadMultiplier: 0.2,
573
+ addedAt: "2025-07-22",
505
574
  vendor: "google",
506
575
  provider: "openrouter"
507
576
  },
@@ -509,6 +578,7 @@ var OPENROUTER_ROUTES = {
509
578
  inputPer1M: 0.15,
510
579
  outputPer1M: 1.25,
511
580
  cacheReadMultiplier: 0.2,
581
+ addedAt: "2025-06-17",
512
582
  vendor: "google",
513
583
  provider: "openrouter"
514
584
  },
@@ -517,6 +587,7 @@ var OPENROUTER_ROUTES = {
517
587
  outputPer1M: 10,
518
588
  cacheReadMultiplier: 0.1,
519
589
  cacheWriteMultiplier: 0.3,
590
+ addedAt: "2025-06-17",
520
591
  vendor: "google",
521
592
  provider: "openrouter"
522
593
  },
@@ -525,6 +596,7 @@ var OPENROUTER_ROUTES = {
525
596
  outputPer1M: 10,
526
597
  cacheReadMultiplier: 0.1,
527
598
  cacheWriteMultiplier: 0.3,
599
+ addedAt: "2025-06-05",
528
600
  vendor: "google",
529
601
  provider: "openrouter"
530
602
  },
@@ -533,6 +605,7 @@ var OPENROUTER_ROUTES = {
533
605
  outputPer1M: 10,
534
606
  cacheReadMultiplier: 0.1,
535
607
  cacheWriteMultiplier: 0.3,
608
+ addedAt: "2025-05-07",
536
609
  vendor: "google",
537
610
  provider: "openrouter"
538
611
  },
@@ -540,6 +613,7 @@ var OPENROUTER_ROUTES = {
540
613
  inputPer1M: 0.625,
541
614
  outputPer1M: 5,
542
615
  cacheReadMultiplier: 0.2,
616
+ addedAt: "2025-06-17",
543
617
  vendor: "google",
544
618
  provider: "openrouter"
545
619
  },
@@ -548,12 +622,14 @@ var OPENROUTER_ROUTES = {
548
622
  outputPer1M: 3,
549
623
  cacheReadMultiplier: 0.1,
550
624
  cacheWriteMultiplier: 0.166666,
625
+ addedAt: "2025-12-17",
551
626
  vendor: "google",
552
627
  provider: "openrouter"
553
628
  },
554
629
  "google/gemini-3-flash-preview:batch": {
555
630
  inputPer1M: 0.25,
556
631
  outputPer1M: 1.5,
632
+ addedAt: "2025-12-17",
557
633
  vendor: "google",
558
634
  provider: "openrouter"
559
635
  },
@@ -562,6 +638,7 @@ var OPENROUTER_ROUTES = {
562
638
  outputPer1M: 12,
563
639
  cacheReadMultiplier: 0.1,
564
640
  cacheWriteMultiplier: 0.1875,
641
+ addedAt: "2026-06-18",
565
642
  vendor: "google",
566
643
  provider: "openrouter"
567
644
  },
@@ -570,18 +647,21 @@ var OPENROUTER_ROUTES = {
570
647
  outputPer1M: 12,
571
648
  cacheReadMultiplier: 0.1,
572
649
  cacheWriteMultiplier: 0.1875,
650
+ addedAt: "2025-11-20",
573
651
  vendor: "google",
574
652
  provider: "openrouter"
575
653
  },
576
654
  "google/gemini-3.1-flash-image": {
577
655
  inputPer1M: 0.5,
578
656
  outputPer1M: 3,
657
+ addedAt: "2026-06-18",
579
658
  vendor: "google",
580
659
  provider: "openrouter"
581
660
  },
582
661
  "google/gemini-3.1-flash-image-preview": {
583
662
  inputPer1M: 0.5,
584
663
  outputPer1M: 3,
664
+ addedAt: "2026-02-26",
585
665
  vendor: "google",
586
666
  provider: "openrouter"
587
667
  },
@@ -590,12 +670,14 @@ var OPENROUTER_ROUTES = {
590
670
  outputPer1M: 1.5,
591
671
  cacheReadMultiplier: 0.1,
592
672
  cacheWriteMultiplier: 0.333332,
673
+ addedAt: "2026-05-07",
593
674
  vendor: "google",
594
675
  provider: "openrouter"
595
676
  },
596
677
  "google/gemini-3.1-flash-lite-image": {
597
678
  inputPer1M: 0.25,
598
679
  outputPer1M: 1.5,
680
+ addedAt: "2026-06-30",
599
681
  vendor: "google",
600
682
  provider: "openrouter"
601
683
  },
@@ -604,6 +686,7 @@ var OPENROUTER_ROUTES = {
604
686
  outputPer1M: 1.5,
605
687
  cacheReadMultiplier: 0.1,
606
688
  cacheWriteMultiplier: 0.333332,
689
+ addedAt: "2026-03-03",
607
690
  vendor: "google",
608
691
  provider: "openrouter"
609
692
  },
@@ -611,6 +694,7 @@ var OPENROUTER_ROUTES = {
611
694
  inputPer1M: 0.125,
612
695
  outputPer1M: 0.75,
613
696
  cacheReadMultiplier: 0.1,
697
+ addedAt: "2026-05-07",
614
698
  vendor: "google",
615
699
  provider: "openrouter"
616
700
  },
@@ -619,6 +703,7 @@ var OPENROUTER_ROUTES = {
619
703
  outputPer1M: 12,
620
704
  cacheReadMultiplier: 0.1,
621
705
  cacheWriteMultiplier: 0.1875,
706
+ addedAt: "2026-02-19",
622
707
  vendor: "google",
623
708
  provider: "openrouter"
624
709
  },
@@ -627,12 +712,14 @@ var OPENROUTER_ROUTES = {
627
712
  outputPer1M: 12,
628
713
  cacheReadMultiplier: 0.1,
629
714
  cacheWriteMultiplier: 0.1875,
715
+ addedAt: "2026-02-25",
630
716
  vendor: "google",
631
717
  provider: "openrouter"
632
718
  },
633
719
  "google/gemini-3.1-pro-preview:batch": {
634
720
  inputPer1M: 1,
635
721
  outputPer1M: 6,
722
+ addedAt: "2026-02-19",
636
723
  vendor: "google",
637
724
  provider: "openrouter"
638
725
  },
@@ -641,6 +728,7 @@ var OPENROUTER_ROUTES = {
641
728
  outputPer1M: 9,
642
729
  cacheReadMultiplier: 0.1,
643
730
  cacheWriteMultiplier: 0.055555,
731
+ addedAt: "2026-05-19",
644
732
  vendor: "google",
645
733
  provider: "openrouter"
646
734
  },
@@ -649,6 +737,7 @@ var OPENROUTER_ROUTES = {
649
737
  outputPer1M: 2.5,
650
738
  cacheReadMultiplier: 0.1,
651
739
  cacheWriteMultiplier: 0.277777,
740
+ addedAt: "2026-07-21",
652
741
  vendor: "google",
653
742
  provider: "openrouter"
654
743
  },
@@ -656,6 +745,7 @@ var OPENROUTER_ROUTES = {
656
745
  inputPer1M: 0.15,
657
746
  outputPer1M: 1.25,
658
747
  cacheReadMultiplier: 0.1,
748
+ addedAt: "2026-07-21",
659
749
  vendor: "google",
660
750
  provider: "openrouter"
661
751
  },
@@ -663,34 +753,57 @@ var OPENROUTER_ROUTES = {
663
753
  inputPer1M: 0.75,
664
754
  outputPer1M: 4.5,
665
755
  cacheReadMultiplier: 0.1,
756
+ addedAt: "2026-05-19",
666
757
  vendor: "google",
667
758
  provider: "openrouter"
668
759
  },
669
760
  "google/gemini-3.6-flash": {
670
- inputPer1M: 1.5,
671
- outputPer1M: 7.5,
761
+ inputPer1M: 0.75,
762
+ outputPer1M: 3.75,
672
763
  cacheReadMultiplier: 0.1,
673
- cacheWriteMultiplier: 0.055555,
764
+ cacheWriteMultiplier: 0.055556,
765
+ addedAt: "2026-07-21",
674
766
  vendor: "google",
675
767
  provider: "openrouter"
676
768
  },
677
769
  "google/gemini-3.6-flash:batch": {
770
+ inputPer1M: 0.375,
771
+ outputPer1M: 1.875,
772
+ cacheReadMultiplier: 0.1,
773
+ cacheWriteMultiplier: 0.111112,
774
+ addedAt: "2026-07-21",
775
+ vendor: "google",
776
+ provider: "openrouter"
777
+ },
778
+ "google/gemini-3.7-flash": {
678
779
  inputPer1M: 0.75,
679
780
  outputPer1M: 3.75,
680
781
  cacheReadMultiplier: 0.1,
681
- cacheWriteMultiplier: 0.111111,
782
+ cacheWriteMultiplier: 0.055556,
783
+ addedAt: "2026-08-13",
784
+ vendor: "google",
785
+ provider: "openrouter"
786
+ },
787
+ "google/gemini-3.7-flash:batch": {
788
+ inputPer1M: 0.1875,
789
+ outputPer1M: 0.9375,
790
+ cacheReadMultiplier: 0.1,
791
+ cacheWriteMultiplier: 0.111109,
792
+ addedAt: "2026-08-13",
682
793
  vendor: "google",
683
794
  provider: "openrouter"
684
795
  },
685
796
  "google/gemma-2-27b-it": {
686
797
  inputPer1M: 0.65,
687
798
  outputPer1M: 0.65,
799
+ addedAt: "2024-07-13",
688
800
  vendor: "google",
689
801
  provider: "openrouter"
690
802
  },
691
803
  "google/gemma-3-12b-it": {
692
804
  inputPer1M: 0.05,
693
805
  outputPer1M: 0.15,
806
+ addedAt: "2025-03-13",
694
807
  vendor: "google",
695
808
  provider: "openrouter"
696
809
  },
@@ -698,44 +811,50 @@ var OPENROUTER_ROUTES = {
698
811
  inputPer1M: 0.08,
699
812
  outputPer1M: 0.45,
700
813
  cacheReadMultiplier: 0.5,
814
+ addedAt: "2025-03-12",
701
815
  vendor: "google",
702
816
  provider: "openrouter"
703
817
  },
704
818
  "google/gemma-3-4b-it": {
705
819
  inputPer1M: 0.05,
706
820
  outputPer1M: 0.1,
707
- vendor: "google",
708
- provider: "openrouter"
709
- },
710
- "google/gemma-3n-e4b-it": {
711
- inputPer1M: 0.06,
712
- outputPer1M: 0.12,
821
+ addedAt: "2025-03-13",
713
822
  vendor: "google",
714
823
  provider: "openrouter"
715
824
  },
716
825
  "google/gemma-4-26b-a4b-it": {
717
- inputPer1M: 0.12,
718
- outputPer1M: 0.4,
719
- cacheReadMultiplier: 0.416667,
826
+ inputPer1M: 0.07,
827
+ outputPer1M: 0.34,
828
+ addedAt: "2026-04-03",
720
829
  vendor: "google",
721
830
  provider: "openrouter"
722
831
  },
723
832
  "google/gemma-4-31b-it": {
724
- inputPer1M: 0.1,
833
+ inputPer1M: 0.09,
725
834
  outputPer1M: 0.34,
726
- cacheReadMultiplier: 1,
835
+ cacheReadMultiplier: 0.555556,
836
+ addedAt: "2026-04-02",
837
+ vendor: "google",
838
+ provider: "openrouter"
839
+ },
840
+ "google/gemma-4-31b-it:batch": {
841
+ inputPer1M: 0.39,
842
+ outputPer1M: 0.97,
843
+ addedAt: "2026-04-02",
727
844
  vendor: "google",
728
845
  provider: "openrouter"
729
846
  },
730
847
  "gryphe/mythomax-l2-13b": {
731
848
  inputPer1M: 0.06,
732
849
  outputPer1M: 0.06,
850
+ addedAt: "2023-07-02",
733
851
  vendor: "gryphe",
734
852
  provider: "openrouter"
735
853
  },
736
854
  "ibm-granite/granite-4.0-h-micro": {
737
855
  inputPer1M: 0.017,
738
856
  outputPer1M: 0.112,
857
+ addedAt: "2025-10-20",
739
858
  vendor: "ibm-granite",
740
859
  provider: "openrouter"
741
860
  },
@@ -743,6 +862,15 @@ var OPENROUTER_ROUTES = {
743
862
  inputPer1M: 0.05,
744
863
  outputPer1M: 0.1,
745
864
  cacheReadMultiplier: 1,
865
+ addedAt: "2026-04-30",
866
+ vendor: "ibm-granite",
867
+ provider: "openrouter"
868
+ },
869
+ "ibm-granite/granite-4.2-8b": {
870
+ inputPer1M: 0.1,
871
+ outputPer1M: 0.15,
872
+ cacheReadMultiplier: 0.5,
873
+ addedAt: "2026-08-31",
746
874
  vendor: "ibm-granite",
747
875
  provider: "openrouter"
748
876
  },
@@ -750,48 +878,31 @@ var OPENROUTER_ROUTES = {
750
878
  inputPer1M: 0.25,
751
879
  outputPer1M: 0.75,
752
880
  cacheReadMultiplier: 0.1,
881
+ addedAt: "2026-03-04",
753
882
  vendor: "inception",
754
883
  provider: "openrouter"
755
884
  },
756
- "inclusionai/ling-2.6-1t": {
757
- inputPer1M: 0.075,
758
- outputPer1M: 0.625,
759
- cacheReadMultiplier: 0.2,
760
- vendor: "inclusionai",
761
- provider: "openrouter"
762
- },
763
- "inclusionai/ling-2.6-flash": {
764
- inputPer1M: 0.01,
765
- outputPer1M: 0.03,
766
- cacheReadMultiplier: 0.2,
767
- vendor: "inclusionai",
885
+ "inception/mercury-2.5-preview": {
886
+ inputPer1M: 0.04,
887
+ outputPer1M: 0.15,
888
+ cacheReadMultiplier: 0.1,
889
+ addedAt: "2026-08-31",
890
+ vendor: "inception",
768
891
  provider: "openrouter"
769
892
  },
770
893
  "inclusionai/ling-3.0-flash": {
771
894
  inputPer1M: 0.021,
772
895
  outputPer1M: 0.063,
773
896
  cacheReadMultiplier: 0.2,
897
+ addedAt: "2026-07-23",
774
898
  vendor: "inclusionai",
775
899
  provider: "openrouter"
776
900
  },
777
- "inclusionai/ring-2.6-1t": {
778
- inputPer1M: 0.075,
779
- outputPer1M: 0.625,
780
- cacheReadMultiplier: 0.2,
781
- vendor: "inclusionai",
782
- provider: "openrouter"
783
- },
784
- "kwaipilot/kat-coder-air-v2.5": {
785
- inputPer1M: 0.15,
786
- outputPer1M: 0.6,
787
- cacheReadMultiplier: 0.2,
788
- vendor: "kwaipilot",
789
- provider: "openrouter"
790
- },
791
901
  "kwaipilot/kat-coder-pro-v2": {
792
902
  inputPer1M: 0.3,
793
903
  outputPer1M: 1.2,
794
904
  cacheReadMultiplier: 0.2,
905
+ addedAt: "2026-03-27",
795
906
  vendor: "kwaipilot",
796
907
  provider: "openrouter"
797
908
  },
@@ -799,12 +910,14 @@ var OPENROUTER_ROUTES = {
799
910
  inputPer1M: 0.74,
800
911
  outputPer1M: 2.96,
801
912
  cacheReadMultiplier: 0.202703,
913
+ addedAt: "2026-07-10",
802
914
  vendor: "kwaipilot",
803
915
  provider: "openrouter"
804
916
  },
805
917
  "mancer/weaver": {
806
- inputPer1M: 0.5,
918
+ inputPer1M: 0.4,
807
919
  outputPer1M: 0.75,
920
+ addedAt: "2023-08-02",
808
921
  vendor: "mancer",
809
922
  provider: "openrouter"
810
923
  },
@@ -812,12 +925,14 @@ var OPENROUTER_ROUTES = {
812
925
  inputPer1M: 0.3,
813
926
  outputPer1M: 1.2,
814
927
  cacheReadMultiplier: 0.02,
928
+ addedAt: "2026-07-20",
815
929
  vendor: "meituan",
816
930
  provider: "openrouter"
817
931
  },
818
932
  "meta-llama/llama-3.1-70b-instruct": {
819
933
  inputPer1M: 0.4,
820
934
  outputPer1M: 0.4,
935
+ addedAt: "2024-07-23",
821
936
  vendor: "meta-llama",
822
937
  provider: "openrouter"
823
938
  },
@@ -825,49 +940,66 @@ var OPENROUTER_ROUTES = {
825
940
  inputPer1M: 0.05,
826
941
  outputPer1M: 0.08,
827
942
  cacheReadMultiplier: 0.5,
943
+ addedAt: "2024-07-23",
828
944
  vendor: "meta-llama",
829
945
  provider: "openrouter"
830
946
  },
831
947
  "meta-llama/llama-3.2-1b-instruct": {
832
948
  inputPer1M: 0.027,
833
949
  outputPer1M: 0.201,
950
+ addedAt: "2024-09-25",
834
951
  vendor: "meta-llama",
835
952
  provider: "openrouter"
836
953
  },
837
954
  "meta-llama/llama-3.2-3b-instruct": {
838
955
  inputPer1M: 0.05,
839
956
  outputPer1M: 0.33,
957
+ addedAt: "2024-09-25",
840
958
  vendor: "meta-llama",
841
959
  provider: "openrouter"
842
960
  },
843
961
  "meta-llama/llama-3.3-70b-instruct": {
844
- inputPer1M: 0.1,
845
- outputPer1M: 0.32,
962
+ inputPer1M: 0.71,
963
+ outputPer1M: 0.71,
964
+ cacheReadMultiplier: 1,
965
+ addedAt: "2024-12-06",
846
966
  vendor: "meta-llama",
847
967
  provider: "openrouter"
848
968
  },
849
969
  "meta-llama/llama-4-maverick": {
850
970
  inputPer1M: 0.2,
851
971
  outputPer1M: 0.696,
972
+ addedAt: "2025-04-05",
852
973
  vendor: "meta-llama",
853
974
  provider: "openrouter"
854
975
  },
855
976
  "meta-llama/llama-4-scout": {
856
977
  inputPer1M: 0.1,
857
978
  outputPer1M: 0.3,
979
+ addedAt: "2025-04-05",
858
980
  vendor: "meta-llama",
859
981
  provider: "openrouter"
860
982
  },
861
983
  "meta-llama/llama-guard-4-12b": {
862
984
  inputPer1M: 0.18,
863
985
  outputPer1M: 0.18,
986
+ addedAt: "2025-04-30",
864
987
  vendor: "meta-llama",
865
988
  provider: "openrouter"
866
989
  },
867
990
  "meta/muse-glimmer-30b": {
991
+ inputPer1M: 0.3,
992
+ outputPer1M: 1.2,
993
+ cacheReadMultiplier: 0.133333,
994
+ addedAt: "2026-08-09",
995
+ vendor: "meta",
996
+ provider: "openrouter"
997
+ },
998
+ "meta/muse-glimmer-30b:batch": {
868
999
  inputPer1M: 0.35,
869
1000
  outputPer1M: 1.5,
870
1001
  cacheReadMultiplier: 0.114286,
1002
+ addedAt: "2026-08-09",
871
1003
  vendor: "meta",
872
1004
  provider: "openrouter"
873
1005
  },
@@ -875,6 +1007,7 @@ var OPENROUTER_ROUTES = {
875
1007
  inputPer1M: 1.25,
876
1008
  outputPer1M: 4.25,
877
1009
  cacheReadMultiplier: 0.12,
1010
+ addedAt: "2026-07-16",
878
1011
  vendor: "meta",
879
1012
  provider: "openrouter"
880
1013
  },
@@ -882,36 +1015,50 @@ var OPENROUTER_ROUTES = {
882
1015
  inputPer1M: 1.25,
883
1016
  outputPer1M: 4.25,
884
1017
  cacheReadMultiplier: 0.12,
1018
+ addedAt: "2026-08-05",
1019
+ vendor: "meta",
1020
+ provider: "openrouter"
1021
+ },
1022
+ "meta/muse-spark-1.2-contributor": {
1023
+ inputPer1M: 0.1,
1024
+ outputPer1M: 0.2,
1025
+ cacheReadMultiplier: 0.02,
1026
+ addedAt: "2026-08-21",
885
1027
  vendor: "meta",
886
1028
  provider: "openrouter"
887
1029
  },
888
1030
  "microsoft/phi-4": {
889
1031
  inputPer1M: 0.07,
890
1032
  outputPer1M: 0.14,
1033
+ addedAt: "2025-01-10",
891
1034
  vendor: "microsoft",
892
1035
  provider: "openrouter"
893
1036
  },
894
1037
  "microsoft/wizardlm-2-8x22b": {
895
1038
  inputPer1M: 0.62,
896
1039
  outputPer1M: 0.62,
1040
+ addedAt: "2024-04-16",
897
1041
  vendor: "microsoft",
898
1042
  provider: "openrouter"
899
1043
  },
900
1044
  "minimax/minimax-01": {
901
1045
  inputPer1M: 0.2,
902
1046
  outputPer1M: 1.1,
1047
+ addedAt: "2025-01-15",
903
1048
  vendor: "minimax",
904
1049
  provider: "openrouter"
905
1050
  },
906
1051
  "minimax/minimax-m1": {
907
1052
  inputPer1M: 0.55,
908
1053
  outputPer1M: 2.2,
1054
+ addedAt: "2025-06-17",
909
1055
  vendor: "minimax",
910
1056
  provider: "openrouter"
911
1057
  },
912
1058
  "minimax/minimax-m2": {
913
1059
  inputPer1M: 0.255,
914
1060
  outputPer1M: 1.02,
1061
+ addedAt: "2025-10-23",
915
1062
  vendor: "minimax",
916
1063
  provider: "openrouter"
917
1064
  },
@@ -919,6 +1066,7 @@ var OPENROUTER_ROUTES = {
919
1066
  inputPer1M: 0.3,
920
1067
  outputPer1M: 1.2,
921
1068
  cacheReadMultiplier: 0.1,
1069
+ addedAt: "2026-01-23",
922
1070
  vendor: "minimax",
923
1071
  provider: "openrouter"
924
1072
  },
@@ -926,13 +1074,15 @@ var OPENROUTER_ROUTES = {
926
1074
  inputPer1M: 0.3,
927
1075
  outputPer1M: 1.2,
928
1076
  cacheReadMultiplier: 0.1,
1077
+ addedAt: "2025-12-23",
929
1078
  vendor: "minimax",
930
1079
  provider: "openrouter"
931
1080
  },
932
1081
  "minimax/minimax-m2.5": {
933
- inputPer1M: 0.22,
934
- outputPer1M: 0.9,
935
- cacheReadMultiplier: 0.227273,
1082
+ inputPer1M: 0.27,
1083
+ outputPer1M: 1.08,
1084
+ cacheReadMultiplier: 0.1,
1085
+ addedAt: "2026-02-12",
936
1086
  vendor: "minimax",
937
1087
  provider: "openrouter"
938
1088
  },
@@ -940,6 +1090,7 @@ var OPENROUTER_ROUTES = {
940
1090
  inputPer1M: 0.3,
941
1091
  outputPer1M: 1.2,
942
1092
  cacheReadMultiplier: 0.2,
1093
+ addedAt: "2026-03-18",
943
1094
  vendor: "minimax",
944
1095
  provider: "openrouter"
945
1096
  },
@@ -947,13 +1098,15 @@ var OPENROUTER_ROUTES = {
947
1098
  inputPer1M: 0.3,
948
1099
  outputPer1M: 1.2,
949
1100
  cacheReadMultiplier: 0.2,
1101
+ addedAt: "2026-05-31",
950
1102
  vendor: "minimax",
951
1103
  provider: "openrouter"
952
1104
  },
953
1105
  "minimax/minimax-m3:batch": {
954
- inputPer1M: 0.15,
955
- outputPer1M: 0.6,
1106
+ inputPer1M: 0.3,
1107
+ outputPer1M: 1.2,
956
1108
  cacheReadMultiplier: 0.2,
1109
+ addedAt: "2026-05-31",
957
1110
  vendor: "minimax",
958
1111
  provider: "openrouter"
959
1112
  },
@@ -961,6 +1114,15 @@ var OPENROUTER_ROUTES = {
961
1114
  inputPer1M: 0.3,
962
1115
  outputPer1M: 0.9,
963
1116
  cacheReadMultiplier: 0.1,
1117
+ addedAt: "2025-08-01",
1118
+ vendor: "mistralai",
1119
+ provider: "openrouter"
1120
+ },
1121
+ "mistralai/devstral-2512": {
1122
+ inputPer1M: 0.4,
1123
+ outputPer1M: 2,
1124
+ cacheReadMultiplier: 0.1,
1125
+ addedAt: "2025-12-09",
964
1126
  vendor: "mistralai",
965
1127
  provider: "openrouter"
966
1128
  },
@@ -968,6 +1130,7 @@ var OPENROUTER_ROUTES = {
968
1130
  inputPer1M: 0.2,
969
1131
  outputPer1M: 0.2,
970
1132
  cacheReadMultiplier: 0.1,
1133
+ addedAt: "2025-12-02",
971
1134
  vendor: "mistralai",
972
1135
  provider: "openrouter"
973
1136
  },
@@ -975,6 +1138,7 @@ var OPENROUTER_ROUTES = {
975
1138
  inputPer1M: 0.1,
976
1139
  outputPer1M: 0.1,
977
1140
  cacheReadMultiplier: 0.1,
1141
+ addedAt: "2025-12-02",
978
1142
  vendor: "mistralai",
979
1143
  provider: "openrouter"
980
1144
  },
@@ -982,6 +1146,7 @@ var OPENROUTER_ROUTES = {
982
1146
  inputPer1M: 0.15,
983
1147
  outputPer1M: 0.15,
984
1148
  cacheReadMultiplier: 0.1,
1149
+ addedAt: "2025-12-02",
985
1150
  vendor: "mistralai",
986
1151
  provider: "openrouter"
987
1152
  },
@@ -989,6 +1154,7 @@ var OPENROUTER_ROUTES = {
989
1154
  inputPer1M: 2,
990
1155
  outputPer1M: 6,
991
1156
  cacheReadMultiplier: 0.1,
1157
+ addedAt: "2024-02-26",
992
1158
  vendor: "mistralai",
993
1159
  provider: "openrouter"
994
1160
  },
@@ -996,6 +1162,7 @@ var OPENROUTER_ROUTES = {
996
1162
  inputPer1M: 2,
997
1163
  outputPer1M: 6,
998
1164
  cacheReadMultiplier: 0.1,
1165
+ addedAt: "2024-11-19",
999
1166
  vendor: "mistralai",
1000
1167
  provider: "openrouter"
1001
1168
  },
@@ -1003,6 +1170,7 @@ var OPENROUTER_ROUTES = {
1003
1170
  inputPer1M: 0.5,
1004
1171
  outputPer1M: 1.5,
1005
1172
  cacheReadMultiplier: 0.1,
1173
+ addedAt: "2025-12-01",
1006
1174
  vendor: "mistralai",
1007
1175
  provider: "openrouter"
1008
1176
  },
@@ -1010,12 +1178,21 @@ var OPENROUTER_ROUTES = {
1010
1178
  inputPer1M: 0.4,
1011
1179
  outputPer1M: 2,
1012
1180
  cacheReadMultiplier: 0.1,
1181
+ addedAt: "2025-05-07",
1013
1182
  vendor: "mistralai",
1014
1183
  provider: "openrouter"
1015
1184
  },
1016
1185
  "mistralai/mistral-medium-3-5": {
1017
1186
  inputPer1M: 1.5,
1018
1187
  outputPer1M: 7.5,
1188
+ addedAt: "2026-04-30",
1189
+ vendor: "mistralai",
1190
+ provider: "openrouter"
1191
+ },
1192
+ "mistralai/mistral-medium-3-5:batch": {
1193
+ inputPer1M: 0.75,
1194
+ outputPer1M: 3.75,
1195
+ addedAt: "2026-04-30",
1019
1196
  vendor: "mistralai",
1020
1197
  provider: "openrouter"
1021
1198
  },
@@ -1023,12 +1200,14 @@ var OPENROUTER_ROUTES = {
1023
1200
  inputPer1M: 0.4,
1024
1201
  outputPer1M: 2,
1025
1202
  cacheReadMultiplier: 0.1,
1203
+ addedAt: "2025-08-13",
1026
1204
  vendor: "mistralai",
1027
1205
  provider: "openrouter"
1028
1206
  },
1029
1207
  "mistralai/mistral-nemo": {
1030
1208
  inputPer1M: 0.019,
1031
1209
  outputPer1M: 0.03,
1210
+ addedAt: "2024-07-19",
1032
1211
  vendor: "mistralai",
1033
1212
  provider: "openrouter"
1034
1213
  },
@@ -1036,12 +1215,14 @@ var OPENROUTER_ROUTES = {
1036
1215
  inputPer1M: 0.2,
1037
1216
  outputPer1M: 0.6,
1038
1217
  cacheReadMultiplier: 0.1,
1218
+ addedAt: "2025-02-17",
1039
1219
  vendor: "mistralai",
1040
1220
  provider: "openrouter"
1041
1221
  },
1042
1222
  "mistralai/mistral-small-24b-instruct-2501": {
1043
1223
  inputPer1M: 0.05,
1044
1224
  outputPer1M: 0.08,
1225
+ addedAt: "2025-01-30",
1045
1226
  vendor: "mistralai",
1046
1227
  provider: "openrouter"
1047
1228
  },
@@ -1049,18 +1230,21 @@ var OPENROUTER_ROUTES = {
1049
1230
  inputPer1M: 0.15,
1050
1231
  outputPer1M: 0.6,
1051
1232
  cacheReadMultiplier: 0.1,
1233
+ addedAt: "2026-03-16",
1052
1234
  vendor: "mistralai",
1053
1235
  provider: "openrouter"
1054
1236
  },
1055
1237
  "mistralai/mistral-small-3.1-24b-instruct": {
1056
1238
  inputPer1M: 0.351,
1057
1239
  outputPer1M: 0.555,
1240
+ addedAt: "2025-03-17",
1058
1241
  vendor: "mistralai",
1059
1242
  provider: "openrouter"
1060
1243
  },
1061
1244
  "mistralai/mistral-small-3.2-24b-instruct": {
1062
- inputPer1M: 0.09375,
1063
- outputPer1M: 0.25,
1245
+ inputPer1M: 0.075,
1246
+ outputPer1M: 0.2,
1247
+ addedAt: "2025-06-20",
1064
1248
  vendor: "mistralai",
1065
1249
  provider: "openrouter"
1066
1250
  },
@@ -1068,6 +1252,7 @@ var OPENROUTER_ROUTES = {
1068
1252
  inputPer1M: 2,
1069
1253
  outputPer1M: 6,
1070
1254
  cacheReadMultiplier: 0.1,
1255
+ addedAt: "2024-04-17",
1071
1256
  vendor: "mistralai",
1072
1257
  provider: "openrouter"
1073
1258
  },
@@ -1075,18 +1260,21 @@ var OPENROUTER_ROUTES = {
1075
1260
  inputPer1M: 0.1,
1076
1261
  outputPer1M: 0.3,
1077
1262
  cacheReadMultiplier: 0.1,
1263
+ addedAt: "2025-10-30",
1078
1264
  vendor: "mistralai",
1079
1265
  provider: "openrouter"
1080
1266
  },
1081
1267
  "moonshotai/kimi-k2": {
1082
1268
  inputPer1M: 0.57,
1083
1269
  outputPer1M: 2.3,
1270
+ addedAt: "2025-07-11",
1084
1271
  vendor: "moonshotai",
1085
1272
  provider: "openrouter"
1086
1273
  },
1087
1274
  "moonshotai/kimi-k2-0905": {
1088
1275
  inputPer1M: 0.6,
1089
1276
  outputPer1M: 2.5,
1277
+ addedAt: "2025-09-04",
1090
1278
  vendor: "moonshotai",
1091
1279
  provider: "openrouter"
1092
1280
  },
@@ -1094,53 +1282,61 @@ var OPENROUTER_ROUTES = {
1094
1282
  inputPer1M: 0.6,
1095
1283
  outputPer1M: 2.5,
1096
1284
  cacheReadMultiplier: 0.25,
1285
+ addedAt: "2025-11-06",
1097
1286
  vendor: "moonshotai",
1098
1287
  provider: "openrouter"
1099
1288
  },
1100
1289
  "moonshotai/kimi-k2.5": {
1101
- inputPer1M: 0.57,
1102
- outputPer1M: 2.85,
1103
- cacheReadMultiplier: 0.166667,
1290
+ inputPer1M: 0.45,
1291
+ outputPer1M: 2.25,
1292
+ cacheReadMultiplier: 0.155556,
1293
+ addedAt: "2026-01-27",
1104
1294
  vendor: "moonshotai",
1105
1295
  provider: "openrouter"
1106
1296
  },
1107
1297
  "moonshotai/kimi-k2.6": {
1108
- inputPer1M: 0.5795,
1109
- outputPer1M: 2.44,
1298
+ inputPer1M: 0.95,
1299
+ outputPer1M: 4,
1110
1300
  cacheReadMultiplier: 0.168421,
1301
+ addedAt: "2026-04-20",
1111
1302
  vendor: "moonshotai",
1112
1303
  provider: "openrouter"
1113
1304
  },
1114
1305
  "moonshotai/kimi-k2.7-code": {
1115
- inputPer1M: 0.7,
1116
- outputPer1M: 3.5,
1117
- cacheReadMultiplier: 0.214286,
1306
+ inputPer1M: 0.66,
1307
+ outputPer1M: 3.4,
1308
+ cacheReadMultiplier: 0.272727,
1309
+ addedAt: "2026-06-12",
1118
1310
  vendor: "moonshotai",
1119
1311
  provider: "openrouter"
1120
1312
  },
1121
- "moonshotai/kimi-k2.7-code:batch": {
1122
- inputPer1M: 0.475,
1123
- outputPer1M: 2,
1124
- cacheReadMultiplier: 0.2,
1313
+ "moonshotai/kimi-k3": {
1314
+ inputPer1M: 3,
1315
+ outputPer1M: 15,
1316
+ cacheReadMultiplier: 0.1,
1317
+ addedAt: "2026-07-16",
1125
1318
  vendor: "moonshotai",
1126
1319
  provider: "openrouter"
1127
1320
  },
1128
- "moonshotai/kimi-k3": {
1321
+ "moonshotai/kimi-k3:batch": {
1129
1322
  inputPer1M: 3,
1130
1323
  outputPer1M: 15,
1131
1324
  cacheReadMultiplier: 0.1,
1325
+ addedAt: "2026-07-16",
1132
1326
  vendor: "moonshotai",
1133
1327
  provider: "openrouter"
1134
1328
  },
1135
1329
  "morph/morph-v3-fast": {
1136
1330
  inputPer1M: 0.8,
1137
1331
  outputPer1M: 1.2,
1332
+ addedAt: "2025-07-07",
1138
1333
  vendor: "morph",
1139
1334
  provider: "openrouter"
1140
1335
  },
1141
1336
  "morph/morph-v3-large": {
1142
1337
  inputPer1M: 0.9,
1143
1338
  outputPer1M: 1.9,
1339
+ addedAt: "2025-07-07",
1144
1340
  vendor: "morph",
1145
1341
  provider: "openrouter"
1146
1342
  },
@@ -1148,6 +1344,7 @@ var OPENROUTER_ROUTES = {
1148
1344
  inputPer1M: 0.025,
1149
1345
  outputPer1M: 0.1,
1150
1346
  cacheReadMultiplier: 0.1,
1347
+ addedAt: "2026-06-24",
1151
1348
  vendor: "nex-agi",
1152
1349
  provider: "openrouter"
1153
1350
  },
@@ -1155,30 +1352,35 @@ var OPENROUTER_ROUTES = {
1155
1352
  inputPer1M: 0.25,
1156
1353
  outputPer1M: 1,
1157
1354
  cacheReadMultiplier: 0.1,
1355
+ addedAt: "2026-06-08",
1158
1356
  vendor: "nex-agi",
1159
1357
  provider: "openrouter"
1160
1358
  },
1161
1359
  "nousresearch/hermes-3-llama-3.1-405b": {
1162
1360
  inputPer1M: 1,
1163
1361
  outputPer1M: 1,
1362
+ addedAt: "2024-08-16",
1164
1363
  vendor: "nousresearch",
1165
1364
  provider: "openrouter"
1166
1365
  },
1167
1366
  "nousresearch/hermes-3-llama-3.1-70b": {
1168
1367
  inputPer1M: 0.7,
1169
1368
  outputPer1M: 0.7,
1369
+ addedAt: "2024-08-18",
1170
1370
  vendor: "nousresearch",
1171
1371
  provider: "openrouter"
1172
1372
  },
1173
1373
  "nousresearch/hermes-4-405b": {
1174
1374
  inputPer1M: 1,
1175
1375
  outputPer1M: 3,
1376
+ addedAt: "2025-08-26",
1176
1377
  vendor: "nousresearch",
1177
1378
  provider: "openrouter"
1178
1379
  },
1179
1380
  "nousresearch/hermes-4-70b": {
1180
1381
  inputPer1M: 0.13,
1181
1382
  outputPer1M: 0.4,
1383
+ addedAt: "2025-08-26",
1182
1384
  vendor: "nousresearch",
1183
1385
  provider: "openrouter"
1184
1386
  },
@@ -1186,80 +1388,101 @@ var OPENROUTER_ROUTES = {
1186
1388
  inputPer1M: 0.05,
1187
1389
  outputPer1M: 0.2,
1188
1390
  cacheReadMultiplier: 0.5,
1391
+ addedAt: "2025-12-14",
1189
1392
  vendor: "nvidia",
1190
1393
  provider: "openrouter"
1191
1394
  },
1192
1395
  "nvidia/nemotron-3-super-120b-a12b": {
1193
1396
  inputPer1M: 0.085,
1194
1397
  outputPer1M: 0.4,
1398
+ addedAt: "2026-03-11",
1195
1399
  vendor: "nvidia",
1196
1400
  provider: "openrouter"
1197
1401
  },
1198
1402
  "nvidia/nemotron-3-ultra-550b-a55b": {
1403
+ inputPer1M: 0.5,
1404
+ outputPer1M: 2.2,
1405
+ cacheReadMultiplier: 0.2,
1406
+ addedAt: "2026-06-04",
1407
+ vendor: "nvidia",
1408
+ provider: "openrouter"
1409
+ },
1410
+ "nvidia/nemotron-3-ultra-550b-a55b:batch": {
1199
1411
  inputPer1M: 0.6,
1200
1412
  outputPer1M: 3.6,
1201
1413
  cacheReadMultiplier: 0.333333,
1414
+ addedAt: "2026-06-04",
1202
1415
  vendor: "nvidia",
1203
1416
  provider: "openrouter"
1204
1417
  },
1205
- "nvidia/nemotron-3-ultra-550b-a55b:batch": {
1206
- inputPer1M: 0.3,
1207
- outputPer1M: 1.8,
1208
- cacheReadMultiplier: 0.333333,
1418
+ "nvidia/nemotron-3.5-lightning": {
1419
+ inputPer1M: 0.08,
1420
+ outputPer1M: 0.2,
1421
+ cacheReadMultiplier: 0.5,
1422
+ addedAt: "2026-08-11",
1209
1423
  vendor: "nvidia",
1210
1424
  provider: "openrouter"
1211
1425
  },
1212
1426
  "openai/gpt-3.5-turbo": {
1213
1427
  inputPer1M: 0.5,
1214
1428
  outputPer1M: 1.5,
1429
+ addedAt: "2023-05-28",
1215
1430
  vendor: "openai",
1216
1431
  provider: "openrouter"
1217
1432
  },
1218
1433
  "openai/gpt-3.5-turbo-0613": {
1219
1434
  inputPer1M: 1,
1220
1435
  outputPer1M: 2,
1436
+ addedAt: "2024-01-25",
1221
1437
  vendor: "openai",
1222
1438
  provider: "openrouter"
1223
1439
  },
1224
1440
  "openai/gpt-3.5-turbo-16k": {
1225
1441
  inputPer1M: 3,
1226
1442
  outputPer1M: 4,
1443
+ addedAt: "2023-08-28",
1227
1444
  vendor: "openai",
1228
1445
  provider: "openrouter"
1229
1446
  },
1230
1447
  "openai/gpt-3.5-turbo-instruct": {
1231
1448
  inputPer1M: 1.5,
1232
1449
  outputPer1M: 2,
1450
+ addedAt: "2023-09-28",
1233
1451
  vendor: "openai",
1234
1452
  provider: "openrouter"
1235
1453
  },
1236
1454
  "openai/gpt-3.5-turbo:batch": {
1237
1455
  inputPer1M: 0.25,
1238
1456
  outputPer1M: 0.75,
1457
+ addedAt: "2023-05-28",
1239
1458
  vendor: "openai",
1240
1459
  provider: "openrouter"
1241
1460
  },
1242
1461
  "openai/gpt-4": {
1243
1462
  inputPer1M: 30,
1244
1463
  outputPer1M: 60,
1464
+ addedAt: "2023-05-28",
1245
1465
  vendor: "openai",
1246
1466
  provider: "openrouter"
1247
1467
  },
1248
1468
  "openai/gpt-4-turbo": {
1249
1469
  inputPer1M: 10,
1250
1470
  outputPer1M: 30,
1471
+ addedAt: "2024-04-09",
1251
1472
  vendor: "openai",
1252
1473
  provider: "openrouter"
1253
1474
  },
1254
1475
  "openai/gpt-4-turbo-preview": {
1255
1476
  inputPer1M: 10,
1256
1477
  outputPer1M: 30,
1478
+ addedAt: "2024-01-25",
1257
1479
  vendor: "openai",
1258
1480
  provider: "openrouter"
1259
1481
  },
1260
1482
  "openai/gpt-4-turbo:batch": {
1261
1483
  inputPer1M: 5,
1262
1484
  outputPer1M: 15,
1485
+ addedAt: "2024-04-09",
1263
1486
  vendor: "openai",
1264
1487
  provider: "openrouter"
1265
1488
  },
@@ -1267,6 +1490,7 @@ var OPENROUTER_ROUTES = {
1267
1490
  inputPer1M: 2,
1268
1491
  outputPer1M: 8,
1269
1492
  cacheReadMultiplier: 0.25,
1493
+ addedAt: "2025-04-14",
1270
1494
  vendor: "openai",
1271
1495
  provider: "openrouter"
1272
1496
  },
@@ -1274,6 +1498,7 @@ var OPENROUTER_ROUTES = {
1274
1498
  inputPer1M: 0.4,
1275
1499
  outputPer1M: 1.6,
1276
1500
  cacheReadMultiplier: 0.25,
1501
+ addedAt: "2025-04-14",
1277
1502
  vendor: "openai",
1278
1503
  provider: "openrouter"
1279
1504
  },
@@ -1281,6 +1506,7 @@ var OPENROUTER_ROUTES = {
1281
1506
  inputPer1M: 0.2,
1282
1507
  outputPer1M: 0.8,
1283
1508
  cacheReadMultiplier: 0.25,
1509
+ addedAt: "2025-04-14",
1284
1510
  vendor: "openai",
1285
1511
  provider: "openrouter"
1286
1512
  },
@@ -1288,6 +1514,7 @@ var OPENROUTER_ROUTES = {
1288
1514
  inputPer1M: 0.1,
1289
1515
  outputPer1M: 0.4,
1290
1516
  cacheReadMultiplier: 0.25,
1517
+ addedAt: "2025-04-14",
1291
1518
  vendor: "openai",
1292
1519
  provider: "openrouter"
1293
1520
  },
@@ -1295,6 +1522,7 @@ var OPENROUTER_ROUTES = {
1295
1522
  inputPer1M: 0.05,
1296
1523
  outputPer1M: 0.2,
1297
1524
  cacheReadMultiplier: 0.25,
1525
+ addedAt: "2025-04-14",
1298
1526
  vendor: "openai",
1299
1527
  provider: "openrouter"
1300
1528
  },
@@ -1302,6 +1530,7 @@ var OPENROUTER_ROUTES = {
1302
1530
  inputPer1M: 1,
1303
1531
  outputPer1M: 4,
1304
1532
  cacheReadMultiplier: 0.25,
1533
+ addedAt: "2025-04-14",
1305
1534
  vendor: "openai",
1306
1535
  provider: "openrouter"
1307
1536
  },
@@ -1309,12 +1538,14 @@ var OPENROUTER_ROUTES = {
1309
1538
  inputPer1M: 2.5,
1310
1539
  outputPer1M: 10,
1311
1540
  cacheReadMultiplier: 0.5,
1541
+ addedAt: "2024-05-13",
1312
1542
  vendor: "openai",
1313
1543
  provider: "openrouter"
1314
1544
  },
1315
1545
  "openai/gpt-4o-2024-05-13": {
1316
1546
  inputPer1M: 5,
1317
1547
  outputPer1M: 15,
1548
+ addedAt: "2024-05-13",
1318
1549
  vendor: "openai",
1319
1550
  provider: "openrouter"
1320
1551
  },
@@ -1322,6 +1553,7 @@ var OPENROUTER_ROUTES = {
1322
1553
  inputPer1M: 2.5,
1323
1554
  outputPer1M: 10,
1324
1555
  cacheReadMultiplier: 0.5,
1556
+ addedAt: "2024-08-06",
1325
1557
  vendor: "openai",
1326
1558
  provider: "openrouter"
1327
1559
  },
@@ -1329,6 +1561,7 @@ var OPENROUTER_ROUTES = {
1329
1561
  inputPer1M: 2.5,
1330
1562
  outputPer1M: 10,
1331
1563
  cacheReadMultiplier: 0.5,
1564
+ addedAt: "2024-11-20",
1332
1565
  vendor: "openai",
1333
1566
  provider: "openrouter"
1334
1567
  },
@@ -1336,6 +1569,7 @@ var OPENROUTER_ROUTES = {
1336
1569
  inputPer1M: 0.15,
1337
1570
  outputPer1M: 0.6,
1338
1571
  cacheReadMultiplier: 0.5,
1572
+ addedAt: "2024-07-18",
1339
1573
  vendor: "openai",
1340
1574
  provider: "openrouter"
1341
1575
  },
@@ -1343,6 +1577,7 @@ var OPENROUTER_ROUTES = {
1343
1577
  inputPer1M: 0.15,
1344
1578
  outputPer1M: 0.6,
1345
1579
  cacheReadMultiplier: 0.5,
1580
+ addedAt: "2024-07-18",
1346
1581
  vendor: "openai",
1347
1582
  provider: "openrouter"
1348
1583
  },
@@ -1350,6 +1585,7 @@ var OPENROUTER_ROUTES = {
1350
1585
  inputPer1M: 0.075,
1351
1586
  outputPer1M: 0.3,
1352
1587
  cacheReadMultiplier: 0.5,
1588
+ addedAt: "2024-07-18",
1353
1589
  vendor: "openai",
1354
1590
  provider: "openrouter"
1355
1591
  },
@@ -1357,6 +1593,7 @@ var OPENROUTER_ROUTES = {
1357
1593
  inputPer1M: 1.25,
1358
1594
  outputPer1M: 5,
1359
1595
  cacheReadMultiplier: 0.5,
1596
+ addedAt: "2024-05-13",
1360
1597
  vendor: "openai",
1361
1598
  provider: "openrouter"
1362
1599
  },
@@ -1364,13 +1601,7 @@ var OPENROUTER_ROUTES = {
1364
1601
  inputPer1M: 1.25,
1365
1602
  outputPer1M: 10,
1366
1603
  cacheReadMultiplier: 0.1,
1367
- vendor: "openai",
1368
- provider: "openrouter"
1369
- },
1370
- "openai/gpt-5-codex:batch": {
1371
- inputPer1M: 0.625,
1372
- outputPer1M: 5,
1373
- cacheReadMultiplier: 0.1,
1604
+ addedAt: "2025-08-07",
1374
1605
  vendor: "openai",
1375
1606
  provider: "openrouter"
1376
1607
  },
@@ -1378,6 +1609,7 @@ var OPENROUTER_ROUTES = {
1378
1609
  inputPer1M: 10,
1379
1610
  outputPer1M: 10,
1380
1611
  cacheReadMultiplier: 0.125,
1612
+ addedAt: "2025-10-14",
1381
1613
  vendor: "openai",
1382
1614
  provider: "openrouter"
1383
1615
  },
@@ -1385,6 +1617,7 @@ var OPENROUTER_ROUTES = {
1385
1617
  inputPer1M: 2.5,
1386
1618
  outputPer1M: 2,
1387
1619
  cacheReadMultiplier: 0.1,
1620
+ addedAt: "2025-10-16",
1388
1621
  vendor: "openai",
1389
1622
  provider: "openrouter"
1390
1623
  },
@@ -1392,6 +1625,7 @@ var OPENROUTER_ROUTES = {
1392
1625
  inputPer1M: 0.25,
1393
1626
  outputPer1M: 2,
1394
1627
  cacheReadMultiplier: 0.1,
1628
+ addedAt: "2025-08-07",
1395
1629
  vendor: "openai",
1396
1630
  provider: "openrouter"
1397
1631
  },
@@ -1399,6 +1633,7 @@ var OPENROUTER_ROUTES = {
1399
1633
  inputPer1M: 0.125,
1400
1634
  outputPer1M: 1,
1401
1635
  cacheReadMultiplier: 0.1,
1636
+ addedAt: "2025-08-07",
1402
1637
  vendor: "openai",
1403
1638
  provider: "openrouter"
1404
1639
  },
@@ -1406,6 +1641,7 @@ var OPENROUTER_ROUTES = {
1406
1641
  inputPer1M: 0.05,
1407
1642
  outputPer1M: 0.4,
1408
1643
  cacheReadMultiplier: 0.1,
1644
+ addedAt: "2025-08-07",
1409
1645
  vendor: "openai",
1410
1646
  provider: "openrouter"
1411
1647
  },
@@ -1413,18 +1649,21 @@ var OPENROUTER_ROUTES = {
1413
1649
  inputPer1M: 0.025,
1414
1650
  outputPer1M: 0.2,
1415
1651
  cacheReadMultiplier: 0.1,
1652
+ addedAt: "2025-08-07",
1416
1653
  vendor: "openai",
1417
1654
  provider: "openrouter"
1418
1655
  },
1419
1656
  "openai/gpt-5-pro": {
1420
1657
  inputPer1M: 15,
1421
1658
  outputPer1M: 120,
1659
+ addedAt: "2025-10-06",
1422
1660
  vendor: "openai",
1423
1661
  provider: "openrouter"
1424
1662
  },
1425
1663
  "openai/gpt-5-pro:batch": {
1426
1664
  inputPer1M: 7.5,
1427
1665
  outputPer1M: 60,
1666
+ addedAt: "2025-10-06",
1428
1667
  vendor: "openai",
1429
1668
  provider: "openrouter"
1430
1669
  },
@@ -1432,6 +1671,7 @@ var OPENROUTER_ROUTES = {
1432
1671
  inputPer1M: 1.25,
1433
1672
  outputPer1M: 10,
1434
1673
  cacheReadMultiplier: 0.1,
1674
+ addedAt: "2025-11-13",
1435
1675
  vendor: "openai",
1436
1676
  provider: "openrouter"
1437
1677
  },
@@ -1439,6 +1679,7 @@ var OPENROUTER_ROUTES = {
1439
1679
  inputPer1M: 1.25,
1440
1680
  outputPer1M: 10,
1441
1681
  cacheReadMultiplier: 0.104,
1682
+ addedAt: "2025-11-13",
1442
1683
  vendor: "openai",
1443
1684
  provider: "openrouter"
1444
1685
  },
@@ -1446,6 +1687,7 @@ var OPENROUTER_ROUTES = {
1446
1687
  inputPer1M: 1.25,
1447
1688
  outputPer1M: 10,
1448
1689
  cacheReadMultiplier: 0.1,
1690
+ addedAt: "2025-12-04",
1449
1691
  vendor: "openai",
1450
1692
  provider: "openrouter"
1451
1693
  },
@@ -1453,6 +1695,7 @@ var OPENROUTER_ROUTES = {
1453
1695
  inputPer1M: 0.25,
1454
1696
  outputPer1M: 2,
1455
1697
  cacheReadMultiplier: 0.12,
1698
+ addedAt: "2025-11-13",
1456
1699
  vendor: "openai",
1457
1700
  provider: "openrouter"
1458
1701
  },
@@ -1460,6 +1703,7 @@ var OPENROUTER_ROUTES = {
1460
1703
  inputPer1M: 0.625,
1461
1704
  outputPer1M: 5,
1462
1705
  cacheReadMultiplier: 0.1,
1706
+ addedAt: "2025-11-13",
1463
1707
  vendor: "openai",
1464
1708
  provider: "openrouter"
1465
1709
  },
@@ -1467,6 +1711,7 @@ var OPENROUTER_ROUTES = {
1467
1711
  inputPer1M: 1.75,
1468
1712
  outputPer1M: 14,
1469
1713
  cacheReadMultiplier: 0.1,
1714
+ addedAt: "2025-12-10",
1470
1715
  vendor: "openai",
1471
1716
  provider: "openrouter"
1472
1717
  },
@@ -1474,6 +1719,7 @@ var OPENROUTER_ROUTES = {
1474
1719
  inputPer1M: 1.75,
1475
1720
  outputPer1M: 14,
1476
1721
  cacheReadMultiplier: 0.1,
1722
+ addedAt: "2025-12-10",
1477
1723
  vendor: "openai",
1478
1724
  provider: "openrouter"
1479
1725
  },
@@ -1481,18 +1727,21 @@ var OPENROUTER_ROUTES = {
1481
1727
  inputPer1M: 1.75,
1482
1728
  outputPer1M: 14,
1483
1729
  cacheReadMultiplier: 0.1,
1730
+ addedAt: "2026-01-14",
1484
1731
  vendor: "openai",
1485
1732
  provider: "openrouter"
1486
1733
  },
1487
1734
  "openai/gpt-5.2-pro": {
1488
1735
  inputPer1M: 21,
1489
1736
  outputPer1M: 168,
1737
+ addedAt: "2025-12-10",
1490
1738
  vendor: "openai",
1491
1739
  provider: "openrouter"
1492
1740
  },
1493
1741
  "openai/gpt-5.2-pro:batch": {
1494
1742
  inputPer1M: 10.5,
1495
1743
  outputPer1M: 84,
1744
+ addedAt: "2025-12-10",
1496
1745
  vendor: "openai",
1497
1746
  provider: "openrouter"
1498
1747
  },
@@ -1500,6 +1749,7 @@ var OPENROUTER_ROUTES = {
1500
1749
  inputPer1M: 0.875,
1501
1750
  outputPer1M: 7,
1502
1751
  cacheReadMultiplier: 0.1,
1752
+ addedAt: "2025-12-10",
1503
1753
  vendor: "openai",
1504
1754
  provider: "openrouter"
1505
1755
  },
@@ -1507,6 +1757,7 @@ var OPENROUTER_ROUTES = {
1507
1757
  inputPer1M: 1.75,
1508
1758
  outputPer1M: 14,
1509
1759
  cacheReadMultiplier: 0.1,
1760
+ addedAt: "2026-02-24",
1510
1761
  vendor: "openai",
1511
1762
  provider: "openrouter"
1512
1763
  },
@@ -1514,6 +1765,7 @@ var OPENROUTER_ROUTES = {
1514
1765
  inputPer1M: 2.5,
1515
1766
  outputPer1M: 15,
1516
1767
  cacheReadMultiplier: 0.1,
1768
+ addedAt: "2026-03-05",
1517
1769
  vendor: "openai",
1518
1770
  provider: "openrouter"
1519
1771
  },
@@ -1521,6 +1773,7 @@ var OPENROUTER_ROUTES = {
1521
1773
  inputPer1M: 8,
1522
1774
  outputPer1M: 15,
1523
1775
  cacheReadMultiplier: 0.25,
1776
+ addedAt: "2026-04-21",
1524
1777
  vendor: "openai",
1525
1778
  provider: "openrouter"
1526
1779
  },
@@ -1528,6 +1781,7 @@ var OPENROUTER_ROUTES = {
1528
1781
  inputPer1M: 0.75,
1529
1782
  outputPer1M: 4.5,
1530
1783
  cacheReadMultiplier: 0.1,
1784
+ addedAt: "2026-03-17",
1531
1785
  vendor: "openai",
1532
1786
  provider: "openrouter"
1533
1787
  },
@@ -1535,6 +1789,7 @@ var OPENROUTER_ROUTES = {
1535
1789
  inputPer1M: 0.375,
1536
1790
  outputPer1M: 2.25,
1537
1791
  cacheReadMultiplier: 0.1,
1792
+ addedAt: "2026-03-17",
1538
1793
  vendor: "openai",
1539
1794
  provider: "openrouter"
1540
1795
  },
@@ -1542,6 +1797,7 @@ var OPENROUTER_ROUTES = {
1542
1797
  inputPer1M: 0.2,
1543
1798
  outputPer1M: 1.25,
1544
1799
  cacheReadMultiplier: 0.1,
1800
+ addedAt: "2026-03-17",
1545
1801
  vendor: "openai",
1546
1802
  provider: "openrouter"
1547
1803
  },
@@ -1549,18 +1805,21 @@ var OPENROUTER_ROUTES = {
1549
1805
  inputPer1M: 0.1,
1550
1806
  outputPer1M: 0.625,
1551
1807
  cacheReadMultiplier: 0.1,
1808
+ addedAt: "2026-03-17",
1552
1809
  vendor: "openai",
1553
1810
  provider: "openrouter"
1554
1811
  },
1555
1812
  "openai/gpt-5.4-pro": {
1556
1813
  inputPer1M: 30,
1557
1814
  outputPer1M: 180,
1815
+ addedAt: "2026-03-05",
1558
1816
  vendor: "openai",
1559
1817
  provider: "openrouter"
1560
1818
  },
1561
1819
  "openai/gpt-5.4-pro:batch": {
1562
1820
  inputPer1M: 15,
1563
1821
  outputPer1M: 90,
1822
+ addedAt: "2026-03-05",
1564
1823
  vendor: "openai",
1565
1824
  provider: "openrouter"
1566
1825
  },
@@ -1568,6 +1827,7 @@ var OPENROUTER_ROUTES = {
1568
1827
  inputPer1M: 1.25,
1569
1828
  outputPer1M: 7.5,
1570
1829
  cacheReadMultiplier: 0.1,
1830
+ addedAt: "2026-03-05",
1571
1831
  vendor: "openai",
1572
1832
  provider: "openrouter"
1573
1833
  },
@@ -1575,18 +1835,21 @@ var OPENROUTER_ROUTES = {
1575
1835
  inputPer1M: 5,
1576
1836
  outputPer1M: 30,
1577
1837
  cacheReadMultiplier: 0.1,
1838
+ addedAt: "2026-04-24",
1578
1839
  vendor: "openai",
1579
1840
  provider: "openrouter"
1580
1841
  },
1581
1842
  "openai/gpt-5.5-pro": {
1582
1843
  inputPer1M: 30,
1583
1844
  outputPer1M: 180,
1845
+ addedAt: "2026-04-24",
1584
1846
  vendor: "openai",
1585
1847
  provider: "openrouter"
1586
1848
  },
1587
1849
  "openai/gpt-5.5-pro:batch": {
1588
1850
  inputPer1M: 15,
1589
1851
  outputPer1M: 90,
1852
+ addedAt: "2026-04-24",
1590
1853
  vendor: "openai",
1591
1854
  provider: "openrouter"
1592
1855
  },
@@ -1594,22 +1857,25 @@ var OPENROUTER_ROUTES = {
1594
1857
  inputPer1M: 2.5,
1595
1858
  outputPer1M: 15,
1596
1859
  cacheReadMultiplier: 0.1,
1860
+ addedAt: "2026-04-24",
1597
1861
  vendor: "openai",
1598
1862
  provider: "openrouter"
1599
1863
  },
1600
1864
  "openai/gpt-5.6-luna": {
1601
- inputPer1M: 0.1,
1602
- outputPer1M: 0.6,
1865
+ inputPer1M: 0.2,
1866
+ outputPer1M: 1.2,
1603
1867
  cacheReadMultiplier: 0.1,
1604
1868
  cacheWriteMultiplier: 1.25,
1869
+ addedAt: "2026-07-09",
1605
1870
  vendor: "openai",
1606
1871
  provider: "openrouter"
1607
1872
  },
1608
1873
  "openai/gpt-5.6-luna-pro": {
1609
- inputPer1M: 0.1,
1610
- outputPer1M: 0.6,
1874
+ inputPer1M: 0.2,
1875
+ outputPer1M: 1.2,
1611
1876
  cacheReadMultiplier: 0.1,
1612
1877
  cacheWriteMultiplier: 1.25,
1878
+ addedAt: "2026-07-09",
1613
1879
  vendor: "openai",
1614
1880
  provider: "openrouter"
1615
1881
  },
@@ -1617,6 +1883,7 @@ var OPENROUTER_ROUTES = {
1617
1883
  inputPer1M: 0.1,
1618
1884
  outputPer1M: 0.6,
1619
1885
  cacheReadMultiplier: 0.1,
1886
+ addedAt: "2026-07-09",
1620
1887
  vendor: "openai",
1621
1888
  provider: "openrouter"
1622
1889
  },
@@ -1624,52 +1891,61 @@ var OPENROUTER_ROUTES = {
1624
1891
  inputPer1M: 0.1,
1625
1892
  outputPer1M: 0.6,
1626
1893
  cacheReadMultiplier: 0.1,
1894
+ addedAt: "2026-07-09",
1627
1895
  vendor: "openai",
1628
1896
  provider: "openrouter"
1629
1897
  },
1630
1898
  "openai/gpt-5.6-sol": {
1631
- inputPer1M: 5,
1632
- outputPer1M: 30,
1899
+ inputPer1M: 2,
1900
+ outputPer1M: 10,
1633
1901
  cacheReadMultiplier: 0.1,
1634
1902
  cacheWriteMultiplier: 1.25,
1903
+ addedAt: "2026-07-09",
1635
1904
  vendor: "openai",
1636
1905
  provider: "openrouter"
1637
1906
  },
1638
1907
  "openai/gpt-5.6-sol-pro": {
1639
- inputPer1M: 5,
1640
- outputPer1M: 30,
1908
+ inputPer1M: 2,
1909
+ outputPer1M: 10,
1641
1910
  cacheReadMultiplier: 0.1,
1642
1911
  cacheWriteMultiplier: 1.25,
1912
+ addedAt: "2026-07-09",
1643
1913
  vendor: "openai",
1644
1914
  provider: "openrouter"
1645
1915
  },
1646
1916
  "openai/gpt-5.6-sol-pro:batch": {
1647
- inputPer1M: 2.5,
1648
- outputPer1M: 15,
1917
+ inputPer1M: 1,
1918
+ outputPer1M: 5,
1649
1919
  cacheReadMultiplier: 0.1,
1920
+ cacheWriteMultiplier: 1.25,
1921
+ addedAt: "2026-07-09",
1650
1922
  vendor: "openai",
1651
1923
  provider: "openrouter"
1652
1924
  },
1653
1925
  "openai/gpt-5.6-sol:batch": {
1654
- inputPer1M: 2.5,
1655
- outputPer1M: 15,
1926
+ inputPer1M: 1,
1927
+ outputPer1M: 5,
1656
1928
  cacheReadMultiplier: 0.1,
1929
+ cacheWriteMultiplier: 1.25,
1930
+ addedAt: "2026-07-09",
1657
1931
  vendor: "openai",
1658
1932
  provider: "openrouter"
1659
1933
  },
1660
1934
  "openai/gpt-5.6-terra": {
1661
- inputPer1M: 1,
1662
- outputPer1M: 6,
1935
+ inputPer1M: 2,
1936
+ outputPer1M: 12,
1663
1937
  cacheReadMultiplier: 0.1,
1664
1938
  cacheWriteMultiplier: 1.25,
1939
+ addedAt: "2026-07-09",
1665
1940
  vendor: "openai",
1666
1941
  provider: "openrouter"
1667
1942
  },
1668
1943
  "openai/gpt-5.6-terra-pro": {
1669
- inputPer1M: 1,
1670
- outputPer1M: 6,
1944
+ inputPer1M: 2,
1945
+ outputPer1M: 12,
1671
1946
  cacheReadMultiplier: 0.1,
1672
1947
  cacheWriteMultiplier: 1.25,
1948
+ addedAt: "2026-07-09",
1673
1949
  vendor: "openai",
1674
1950
  provider: "openrouter"
1675
1951
  },
@@ -1677,6 +1953,7 @@ var OPENROUTER_ROUTES = {
1677
1953
  inputPer1M: 1,
1678
1954
  outputPer1M: 6,
1679
1955
  cacheReadMultiplier: 0.1,
1956
+ addedAt: "2026-07-09",
1680
1957
  vendor: "openai",
1681
1958
  provider: "openrouter"
1682
1959
  },
@@ -1684,6 +1961,7 @@ var OPENROUTER_ROUTES = {
1684
1961
  inputPer1M: 1,
1685
1962
  outputPer1M: 6,
1686
1963
  cacheReadMultiplier: 0.1,
1964
+ addedAt: "2026-07-09",
1687
1965
  vendor: "openai",
1688
1966
  provider: "openrouter"
1689
1967
  },
@@ -1691,18 +1969,21 @@ var OPENROUTER_ROUTES = {
1691
1969
  inputPer1M: 0.625,
1692
1970
  outputPer1M: 5,
1693
1971
  cacheReadMultiplier: 0.1,
1972
+ addedAt: "2025-08-07",
1694
1973
  vendor: "openai",
1695
1974
  provider: "openrouter"
1696
1975
  },
1697
1976
  "openai/gpt-audio": {
1698
1977
  inputPer1M: 2.5,
1699
1978
  outputPer1M: 10,
1979
+ addedAt: "2026-01-19",
1700
1980
  vendor: "openai",
1701
1981
  provider: "openrouter"
1702
1982
  },
1703
1983
  "openai/gpt-audio-mini": {
1704
1984
  inputPer1M: 0.6,
1705
1985
  outputPer1M: 2.4,
1986
+ addedAt: "2026-01-19",
1706
1987
  vendor: "openai",
1707
1988
  provider: "openrouter"
1708
1989
  },
@@ -1710,12 +1991,21 @@ var OPENROUTER_ROUTES = {
1710
1991
  inputPer1M: 5,
1711
1992
  outputPer1M: 30,
1712
1993
  cacheReadMultiplier: 0.1,
1994
+ addedAt: "2026-05-05",
1713
1995
  vendor: "openai",
1714
1996
  provider: "openrouter"
1715
1997
  },
1716
1998
  "openai/gpt-oss-120b": {
1717
1999
  inputPer1M: 0.037,
1718
2000
  outputPer1M: 0.17,
2001
+ addedAt: "2025-08-05",
2002
+ vendor: "openai",
2003
+ provider: "openrouter"
2004
+ },
2005
+ "openai/gpt-oss-120b:batch": {
2006
+ inputPer1M: 0.15,
2007
+ outputPer1M: 0.6,
2008
+ addedAt: "2025-08-05",
1719
2009
  vendor: "openai",
1720
2010
  provider: "openrouter"
1721
2011
  },
@@ -1723,6 +2013,14 @@ var OPENROUTER_ROUTES = {
1723
2013
  inputPer1M: 0.03,
1724
2014
  outputPer1M: 0.13,
1725
2015
  cacheReadMultiplier: 1,
2016
+ addedAt: "2025-08-05",
2017
+ vendor: "openai",
2018
+ provider: "openrouter"
2019
+ },
2020
+ "openai/gpt-oss-20b:batch": {
2021
+ inputPer1M: 0.05,
2022
+ outputPer1M: 0.2,
2023
+ addedAt: "2025-08-05",
1726
2024
  vendor: "openai",
1727
2025
  provider: "openrouter"
1728
2026
  },
@@ -1730,6 +2028,7 @@ var OPENROUTER_ROUTES = {
1730
2028
  inputPer1M: 0.075,
1731
2029
  outputPer1M: 0.3,
1732
2030
  cacheReadMultiplier: 0.5,
2031
+ addedAt: "2025-10-29",
1733
2032
  vendor: "openai",
1734
2033
  provider: "openrouter"
1735
2034
  },
@@ -1737,25 +2036,14 @@ var OPENROUTER_ROUTES = {
1737
2036
  inputPer1M: 15,
1738
2037
  outputPer1M: 60,
1739
2038
  cacheReadMultiplier: 0.5,
2039
+ addedAt: "2024-12-17",
1740
2040
  vendor: "openai",
1741
2041
  provider: "openrouter"
1742
2042
  },
1743
2043
  "openai/o1-pro": {
1744
2044
  inputPer1M: 150,
1745
2045
  outputPer1M: 600,
1746
- vendor: "openai",
1747
- provider: "openrouter"
1748
- },
1749
- "openai/o1-pro:batch": {
1750
- inputPer1M: 75,
1751
- outputPer1M: 300,
1752
- vendor: "openai",
1753
- provider: "openrouter"
1754
- },
1755
- "openai/o1:batch": {
1756
- inputPer1M: 7.5,
1757
- outputPer1M: 30,
1758
- cacheReadMultiplier: 0.5,
2046
+ addedAt: "2025-03-19",
1759
2047
  vendor: "openai",
1760
2048
  provider: "openrouter"
1761
2049
  },
@@ -1763,6 +2051,7 @@ var OPENROUTER_ROUTES = {
1763
2051
  inputPer1M: 2,
1764
2052
  outputPer1M: 8,
1765
2053
  cacheReadMultiplier: 0.25,
2054
+ addedAt: "2025-04-16",
1766
2055
  vendor: "openai",
1767
2056
  provider: "openrouter"
1768
2057
  },
@@ -1770,6 +2059,7 @@ var OPENROUTER_ROUTES = {
1770
2059
  inputPer1M: 1.1,
1771
2060
  outputPer1M: 4.4,
1772
2061
  cacheReadMultiplier: 0.5,
2062
+ addedAt: "2025-01-31",
1773
2063
  vendor: "openai",
1774
2064
  provider: "openrouter"
1775
2065
  },
@@ -1777,13 +2067,7 @@ var OPENROUTER_ROUTES = {
1777
2067
  inputPer1M: 1.1,
1778
2068
  outputPer1M: 4.4,
1779
2069
  cacheReadMultiplier: 0.5,
1780
- vendor: "openai",
1781
- provider: "openrouter"
1782
- },
1783
- "openai/o3-mini-high:batch": {
1784
- inputPer1M: 0.55,
1785
- outputPer1M: 2.2,
1786
- cacheReadMultiplier: 0.5,
2070
+ addedAt: "2025-02-12",
1787
2071
  vendor: "openai",
1788
2072
  provider: "openrouter"
1789
2073
  },
@@ -1791,18 +2075,14 @@ var OPENROUTER_ROUTES = {
1791
2075
  inputPer1M: 0.55,
1792
2076
  outputPer1M: 2.2,
1793
2077
  cacheReadMultiplier: 0.5,
2078
+ addedAt: "2025-01-31",
1794
2079
  vendor: "openai",
1795
2080
  provider: "openrouter"
1796
2081
  },
1797
2082
  "openai/o3-pro": {
1798
2083
  inputPer1M: 20,
1799
2084
  outputPer1M: 80,
1800
- vendor: "openai",
1801
- provider: "openrouter"
1802
- },
1803
- "openai/o3-pro:batch": {
1804
- inputPer1M: 10,
1805
- outputPer1M: 40,
2085
+ addedAt: "2025-06-10",
1806
2086
  vendor: "openai",
1807
2087
  provider: "openrouter"
1808
2088
  },
@@ -1810,6 +2090,7 @@ var OPENROUTER_ROUTES = {
1810
2090
  inputPer1M: 1,
1811
2091
  outputPer1M: 4,
1812
2092
  cacheReadMultiplier: 0.25,
2093
+ addedAt: "2025-04-16",
1813
2094
  vendor: "openai",
1814
2095
  provider: "openrouter"
1815
2096
  },
@@ -1817,6 +2098,7 @@ var OPENROUTER_ROUTES = {
1817
2098
  inputPer1M: 1.1,
1818
2099
  outputPer1M: 4.4,
1819
2100
  cacheReadMultiplier: 0.25,
2101
+ addedAt: "2025-04-16",
1820
2102
  vendor: "openai",
1821
2103
  provider: "openrouter"
1822
2104
  },
@@ -1824,13 +2106,7 @@ var OPENROUTER_ROUTES = {
1824
2106
  inputPer1M: 1.1,
1825
2107
  outputPer1M: 4.4,
1826
2108
  cacheReadMultiplier: 0.25,
1827
- vendor: "openai",
1828
- provider: "openrouter"
1829
- },
1830
- "openai/o4-mini-high:batch": {
1831
- inputPer1M: 0.55,
1832
- outputPer1M: 2.2,
1833
- cacheReadMultiplier: 0.25,
2109
+ addedAt: "2025-04-16",
1834
2110
  vendor: "openai",
1835
2111
  provider: "openrouter"
1836
2112
  },
@@ -1838,72 +2114,84 @@ var OPENROUTER_ROUTES = {
1838
2114
  inputPer1M: 0.55,
1839
2115
  outputPer1M: 2.2,
1840
2116
  cacheReadMultiplier: 0.25,
2117
+ addedAt: "2025-04-16",
1841
2118
  vendor: "openai",
1842
2119
  provider: "openrouter"
1843
2120
  },
1844
2121
  "openrouter/auto": {
1845
2122
  inputPer1M: -1e6,
1846
2123
  outputPer1M: -1e6,
2124
+ addedAt: "2023-11-08",
1847
2125
  vendor: "openrouter",
1848
2126
  provider: "openrouter"
1849
2127
  },
1850
2128
  "openrouter/auto-beta": {
1851
2129
  inputPer1M: -1e6,
1852
2130
  outputPer1M: -1e6,
2131
+ addedAt: "2026-07-17",
1853
2132
  vendor: "openrouter",
1854
2133
  provider: "openrouter"
1855
2134
  },
1856
2135
  "openrouter/bodybuilder": {
1857
2136
  inputPer1M: -1e6,
1858
2137
  outputPer1M: -1e6,
2138
+ addedAt: "2025-12-05",
1859
2139
  vendor: "openrouter",
1860
2140
  provider: "openrouter"
1861
2141
  },
1862
2142
  "openrouter/fusion": {
1863
2143
  inputPer1M: -1e6,
1864
2144
  outputPer1M: -1e6,
2145
+ addedAt: "2026-06-13",
1865
2146
  vendor: "openrouter",
1866
2147
  provider: "openrouter"
1867
2148
  },
1868
2149
  "openrouter/pareto-code": {
1869
2150
  inputPer1M: -1e6,
1870
2151
  outputPer1M: -1e6,
2152
+ addedAt: "2026-04-21",
1871
2153
  vendor: "openrouter",
1872
2154
  provider: "openrouter"
1873
2155
  },
1874
2156
  "perceptron/perceptron-mk1": {
1875
2157
  inputPer1M: 0.15,
1876
2158
  outputPer1M: 1.5,
2159
+ addedAt: "2026-05-12",
1877
2160
  vendor: "perceptron",
1878
2161
  provider: "openrouter"
1879
2162
  },
1880
2163
  "perplexity/sonar": {
1881
2164
  inputPer1M: 1,
1882
2165
  outputPer1M: 1,
2166
+ addedAt: "2025-01-27",
1883
2167
  vendor: "perplexity",
1884
2168
  provider: "openrouter"
1885
2169
  },
1886
2170
  "perplexity/sonar-deep-research": {
1887
2171
  inputPer1M: 2,
1888
2172
  outputPer1M: 8,
2173
+ addedAt: "2025-03-07",
1889
2174
  vendor: "perplexity",
1890
2175
  provider: "openrouter"
1891
2176
  },
1892
2177
  "perplexity/sonar-pro": {
1893
2178
  inputPer1M: 3,
1894
2179
  outputPer1M: 15,
2180
+ addedAt: "2025-03-07",
1895
2181
  vendor: "perplexity",
1896
2182
  provider: "openrouter"
1897
2183
  },
1898
2184
  "perplexity/sonar-pro-search": {
1899
2185
  inputPer1M: 3,
1900
2186
  outputPer1M: 15,
2187
+ addedAt: "2025-10-30",
1901
2188
  vendor: "perplexity",
1902
2189
  provider: "openrouter"
1903
2190
  },
1904
2191
  "perplexity/sonar-reasoning-pro": {
1905
2192
  inputPer1M: 2,
1906
2193
  outputPer1M: 8,
2194
+ addedAt: "2025-03-07",
1907
2195
  vendor: "perplexity",
1908
2196
  provider: "openrouter"
1909
2197
  },
@@ -1911,6 +2199,7 @@ var OPENROUTER_ROUTES = {
1911
2199
  inputPer1M: 0.09,
1912
2200
  outputPer1M: 0.18,
1913
2201
  cacheReadMultiplier: 0.1,
2202
+ addedAt: "2026-07-21",
1914
2203
  vendor: "poolside",
1915
2204
  provider: "openrouter"
1916
2205
  },
@@ -1918,24 +2207,28 @@ var OPENROUTER_ROUTES = {
1918
2207
  inputPer1M: 0.06,
1919
2208
  outputPer1M: 0.12,
1920
2209
  cacheReadMultiplier: 0.5,
2210
+ addedAt: "2026-07-02",
1921
2211
  vendor: "poolside",
1922
2212
  provider: "openrouter"
1923
2213
  },
1924
2214
  "qwen/qwen-2.5-72b-instruct": {
1925
2215
  inputPer1M: 0.36,
1926
2216
  outputPer1M: 0.4,
2217
+ addedAt: "2024-09-19",
1927
2218
  vendor: "qwen",
1928
2219
  provider: "openrouter"
1929
2220
  },
1930
2221
  "qwen/qwen-2.5-7b-instruct": {
1931
2222
  inputPer1M: 0.1,
1932
2223
  outputPer1M: 0.2,
2224
+ addedAt: "2024-10-16",
1933
2225
  vendor: "qwen",
1934
2226
  provider: "openrouter"
1935
2227
  },
1936
2228
  "qwen/qwen-2.5-coder-32b-instruct": {
1937
2229
  inputPer1M: 0.66,
1938
2230
  outputPer1M: 1,
2231
+ addedAt: "2024-11-11",
1939
2232
  vendor: "qwen",
1940
2233
  provider: "openrouter"
1941
2234
  },
@@ -1944,79 +2237,85 @@ var OPENROUTER_ROUTES = {
1944
2237
  outputPer1M: 0.78,
1945
2238
  cacheReadMultiplier: 0.2,
1946
2239
  cacheWriteMultiplier: 1.25,
2240
+ addedAt: "2025-02-01",
1947
2241
  vendor: "qwen",
1948
2242
  provider: "openrouter"
1949
2243
  },
1950
2244
  "qwen/qwen-plus-2025-07-28": {
1951
2245
  inputPer1M: 0.26,
1952
2246
  outputPer1M: 0.78,
1953
- vendor: "qwen",
1954
- provider: "openrouter"
1955
- },
1956
- "qwen/qwen-plus-2025-07-28:thinking": {
1957
- inputPer1M: 0.4,
1958
- outputPer1M: 1.2,
1959
- cacheWriteMultiplier: 1.25,
2247
+ addedAt: "2025-09-08",
1960
2248
  vendor: "qwen",
1961
2249
  provider: "openrouter"
1962
2250
  },
1963
2251
  "qwen/qwen2.5-vl-72b-instruct": {
1964
2252
  inputPer1M: 0.25,
1965
2253
  outputPer1M: 0.75,
2254
+ addedAt: "2025-02-01",
1966
2255
  vendor: "qwen",
1967
2256
  provider: "openrouter"
1968
2257
  },
1969
2258
  "qwen/qwen3-14b": {
1970
2259
  inputPer1M: 0.12,
1971
2260
  outputPer1M: 0.24,
2261
+ addedAt: "2025-04-28",
1972
2262
  vendor: "qwen",
1973
2263
  provider: "openrouter"
1974
2264
  },
1975
2265
  "qwen/qwen3-235b-a22b": {
1976
2266
  inputPer1M: 0.455,
1977
2267
  outputPer1M: 1.82,
2268
+ addedAt: "2025-04-28",
1978
2269
  vendor: "qwen",
1979
2270
  provider: "openrouter"
1980
2271
  },
1981
2272
  "qwen/qwen3-235b-a22b-2507": {
1982
- inputPer1M: 0.09,
1983
- outputPer1M: 0.55,
2273
+ inputPer1M: 0.0875,
2274
+ outputPer1M: 0.35,
2275
+ cacheReadMultiplier: 0.2,
2276
+ addedAt: "2025-07-21",
1984
2277
  vendor: "qwen",
1985
2278
  provider: "openrouter"
1986
2279
  },
1987
2280
  "qwen/qwen3-235b-a22b-thinking-2507": {
1988
2281
  inputPer1M: 0.23,
1989
2282
  outputPer1M: 2.3,
2283
+ addedAt: "2025-07-25",
1990
2284
  vendor: "qwen",
1991
2285
  provider: "openrouter"
1992
2286
  },
1993
2287
  "qwen/qwen3-30b-a3b": {
1994
2288
  inputPer1M: 0.12,
1995
2289
  outputPer1M: 0.5,
2290
+ addedAt: "2025-04-28",
1996
2291
  vendor: "qwen",
1997
2292
  provider: "openrouter"
1998
2293
  },
1999
2294
  "qwen/qwen3-30b-a3b-instruct-2507": {
2000
2295
  inputPer1M: 0.04815,
2001
2296
  outputPer1M: 0.19305,
2297
+ addedAt: "2025-07-29",
2002
2298
  vendor: "qwen",
2003
2299
  provider: "openrouter"
2004
2300
  },
2005
2301
  "qwen/qwen3-30b-a3b-thinking-2507": {
2006
2302
  inputPer1M: 0.2,
2007
2303
  outputPer1M: 2.4,
2304
+ addedAt: "2025-08-28",
2008
2305
  vendor: "qwen",
2009
2306
  provider: "openrouter"
2010
2307
  },
2011
2308
  "qwen/qwen3-32b": {
2012
2309
  inputPer1M: 0.08,
2013
2310
  outputPer1M: 0.28,
2311
+ addedAt: "2025-04-28",
2014
2312
  vendor: "qwen",
2015
2313
  provider: "openrouter"
2016
2314
  },
2017
2315
  "qwen/qwen3-8b": {
2018
2316
  inputPer1M: 0.117,
2019
2317
  outputPer1M: 0.455,
2318
+ addedAt: "2025-04-28",
2020
2319
  vendor: "qwen",
2021
2320
  provider: "openrouter"
2022
2321
  },
@@ -2024,12 +2323,14 @@ var OPENROUTER_ROUTES = {
2024
2323
  inputPer1M: 0.3,
2025
2324
  outputPer1M: 1,
2026
2325
  cacheReadMultiplier: 0.333333,
2326
+ addedAt: "2025-07-23",
2027
2327
  vendor: "qwen",
2028
2328
  provider: "openrouter"
2029
2329
  },
2030
2330
  "qwen/qwen3-coder-30b-a3b-instruct": {
2031
2331
  inputPer1M: 0.07,
2032
2332
  outputPer1M: 0.28,
2333
+ addedAt: "2025-07-31",
2033
2334
  vendor: "qwen",
2034
2335
  provider: "openrouter"
2035
2336
  },
@@ -2038,6 +2339,7 @@ var OPENROUTER_ROUTES = {
2038
2339
  outputPer1M: 0.975,
2039
2340
  cacheReadMultiplier: 0.2,
2040
2341
  cacheWriteMultiplier: 1.25,
2342
+ addedAt: "2025-09-17",
2041
2343
  vendor: "qwen",
2042
2344
  provider: "openrouter"
2043
2345
  },
@@ -2045,6 +2347,7 @@ var OPENROUTER_ROUTES = {
2045
2347
  inputPer1M: 0.12,
2046
2348
  outputPer1M: 0.8,
2047
2349
  cacheReadMultiplier: 0.583333,
2350
+ addedAt: "2026-02-04",
2048
2351
  vendor: "qwen",
2049
2352
  provider: "openrouter"
2050
2353
  },
@@ -2053,6 +2356,7 @@ var OPENROUTER_ROUTES = {
2053
2356
  outputPer1M: 3.25,
2054
2357
  cacheReadMultiplier: 0.2,
2055
2358
  cacheWriteMultiplier: 1.25,
2359
+ addedAt: "2025-09-23",
2056
2360
  vendor: "qwen",
2057
2361
  provider: "openrouter"
2058
2362
  },
@@ -2061,24 +2365,29 @@ var OPENROUTER_ROUTES = {
2061
2365
  outputPer1M: 3.9,
2062
2366
  cacheReadMultiplier: 0.2,
2063
2367
  cacheWriteMultiplier: 1.25,
2368
+ addedAt: "2025-09-23",
2064
2369
  vendor: "qwen",
2065
2370
  provider: "openrouter"
2066
2371
  },
2067
2372
  "qwen/qwen3-max-thinking": {
2068
2373
  inputPer1M: 0.78,
2069
2374
  outputPer1M: 3.9,
2375
+ addedAt: "2026-02-09",
2070
2376
  vendor: "qwen",
2071
2377
  provider: "openrouter"
2072
2378
  },
2073
2379
  "qwen/qwen3-next-80b-a3b-instruct": {
2074
- inputPer1M: 0.09,
2380
+ inputPer1M: 0.1,
2075
2381
  outputPer1M: 1.1,
2382
+ cacheReadMultiplier: 0.7,
2383
+ addedAt: "2025-09-11",
2076
2384
  vendor: "qwen",
2077
2385
  provider: "openrouter"
2078
2386
  },
2079
2387
  "qwen/qwen3-next-80b-a3b-thinking": {
2080
2388
  inputPer1M: 0.15,
2081
2389
  outputPer1M: 1.2,
2390
+ addedAt: "2025-09-11",
2082
2391
  vendor: "qwen",
2083
2392
  provider: "openrouter"
2084
2393
  },
@@ -2086,85 +2395,106 @@ var OPENROUTER_ROUTES = {
2086
2395
  inputPer1M: 0.21,
2087
2396
  outputPer1M: 1.9,
2088
2397
  cacheReadMultiplier: 0.47619,
2398
+ addedAt: "2025-09-23",
2089
2399
  vendor: "qwen",
2090
2400
  provider: "openrouter"
2091
2401
  },
2092
2402
  "qwen/qwen3-vl-235b-a22b-thinking": {
2093
2403
  inputPer1M: 0.4,
2094
2404
  outputPer1M: 4,
2405
+ addedAt: "2025-09-23",
2095
2406
  vendor: "qwen",
2096
2407
  provider: "openrouter"
2097
2408
  },
2098
2409
  "qwen/qwen3-vl-30b-a3b-instruct": {
2099
2410
  inputPer1M: 0.15,
2100
2411
  outputPer1M: 0.6,
2412
+ addedAt: "2025-10-06",
2101
2413
  vendor: "qwen",
2102
2414
  provider: "openrouter"
2103
2415
  },
2104
2416
  "qwen/qwen3-vl-30b-a3b-thinking": {
2105
2417
  inputPer1M: 0.2,
2106
2418
  outputPer1M: 2.4,
2419
+ addedAt: "2025-10-06",
2107
2420
  vendor: "qwen",
2108
2421
  provider: "openrouter"
2109
2422
  },
2110
2423
  "qwen/qwen3-vl-32b-instruct": {
2111
2424
  inputPer1M: 0.104,
2112
2425
  outputPer1M: 0.416,
2426
+ addedAt: "2025-10-23",
2113
2427
  vendor: "qwen",
2114
2428
  provider: "openrouter"
2115
2429
  },
2116
2430
  "qwen/qwen3-vl-8b-instruct": {
2117
2431
  inputPer1M: 0.117,
2118
2432
  outputPer1M: 0.455,
2433
+ addedAt: "2025-10-14",
2119
2434
  vendor: "qwen",
2120
2435
  provider: "openrouter"
2121
2436
  },
2122
2437
  "qwen/qwen3-vl-8b-thinking": {
2123
2438
  inputPer1M: 0.18,
2124
2439
  outputPer1M: 2.1,
2440
+ addedAt: "2025-10-14",
2125
2441
  vendor: "qwen",
2126
2442
  provider: "openrouter"
2127
2443
  },
2128
2444
  "qwen/qwen3.5-122b-a10b": {
2129
2445
  inputPer1M: 0.29,
2130
2446
  outputPer1M: 2.4,
2447
+ addedAt: "2026-02-25",
2131
2448
  vendor: "qwen",
2132
2449
  provider: "openrouter"
2133
2450
  },
2134
2451
  "qwen/qwen3.5-27b": {
2135
2452
  inputPer1M: 0.195,
2136
2453
  outputPer1M: 1.56,
2454
+ addedAt: "2026-02-25",
2137
2455
  vendor: "qwen",
2138
2456
  provider: "openrouter"
2139
2457
  },
2140
2458
  "qwen/qwen3.5-35b-a3b": {
2141
- inputPer1M: 0.14,
2142
- outputPer1M: 1,
2459
+ inputPer1M: 0.25,
2460
+ outputPer1M: 1.25,
2461
+ cacheReadMultiplier: 1,
2462
+ addedAt: "2026-02-25",
2143
2463
  vendor: "qwen",
2144
2464
  provider: "openrouter"
2145
2465
  },
2146
2466
  "qwen/qwen3.5-397b-a17b": {
2147
- inputPer1M: 0.5,
2148
- outputPer1M: 3.6,
2149
- cacheReadMultiplier: 0.6,
2467
+ inputPer1M: 0.39,
2468
+ outputPer1M: 2.34,
2469
+ addedAt: "2026-02-16",
2150
2470
  vendor: "qwen",
2151
2471
  provider: "openrouter"
2152
2472
  },
2153
2473
  "qwen/qwen3.5-9b": {
2154
2474
  inputPer1M: 0.1,
2155
2475
  outputPer1M: 0.15,
2476
+ addedAt: "2026-03-10",
2477
+ vendor: "qwen",
2478
+ provider: "openrouter"
2479
+ },
2480
+ "qwen/qwen3.5-9b:batch": {
2481
+ inputPer1M: 0.17,
2482
+ outputPer1M: 0.25,
2483
+ addedAt: "2026-03-10",
2156
2484
  vendor: "qwen",
2157
2485
  provider: "openrouter"
2158
2486
  },
2159
2487
  "qwen/qwen3.5-flash-02-23": {
2160
2488
  inputPer1M: 0.065,
2161
2489
  outputPer1M: 0.26,
2490
+ addedAt: "2026-02-25",
2162
2491
  vendor: "qwen",
2163
2492
  provider: "openrouter"
2164
2493
  },
2165
2494
  "qwen/qwen3.5-plus-02-15": {
2166
2495
  inputPer1M: 0.26,
2167
2496
  outputPer1M: 1.56,
2497
+ addedAt: "2026-02-16",
2168
2498
  vendor: "qwen",
2169
2499
  provider: "openrouter"
2170
2500
  },
@@ -2172,6 +2502,7 @@ var OPENROUTER_ROUTES = {
2172
2502
  inputPer1M: 0.3,
2173
2503
  outputPer1M: 1.8,
2174
2504
  cacheWriteMultiplier: 1.25,
2505
+ addedAt: "2026-04-27",
2175
2506
  vendor: "qwen",
2176
2507
  provider: "openrouter"
2177
2508
  },
@@ -2179,13 +2510,15 @@ var OPENROUTER_ROUTES = {
2179
2510
  inputPer1M: 0.6,
2180
2511
  outputPer1M: 3.6,
2181
2512
  cacheReadMultiplier: 0.2,
2513
+ addedAt: "2026-04-27",
2182
2514
  vendor: "qwen",
2183
2515
  provider: "openrouter"
2184
2516
  },
2185
2517
  "qwen/qwen3.6-35b-a3b": {
2186
- inputPer1M: 0.15,
2187
- outputPer1M: 1,
2188
- cacheReadMultiplier: 0.333333,
2518
+ inputPer1M: 0.1,
2519
+ outputPer1M: 0.9,
2520
+ cacheReadMultiplier: 0.5,
2521
+ addedAt: "2026-04-27",
2189
2522
  vendor: "qwen",
2190
2523
  provider: "openrouter"
2191
2524
  },
@@ -2193,6 +2526,7 @@ var OPENROUTER_ROUTES = {
2193
2526
  inputPer1M: 0.1875,
2194
2527
  outputPer1M: 1.125,
2195
2528
  cacheWriteMultiplier: 1.25,
2529
+ addedAt: "2026-04-27",
2196
2530
  vendor: "qwen",
2197
2531
  provider: "openrouter"
2198
2532
  },
@@ -2200,6 +2534,7 @@ var OPENROUTER_ROUTES = {
2200
2534
  inputPer1M: 1.027,
2201
2535
  outputPer1M: 6.162,
2202
2536
  cacheWriteMultiplier: 1.25,
2537
+ addedAt: "2026-04-27",
2203
2538
  vendor: "qwen",
2204
2539
  provider: "openrouter"
2205
2540
  },
@@ -2207,6 +2542,7 @@ var OPENROUTER_ROUTES = {
2207
2542
  inputPer1M: 0.325,
2208
2543
  outputPer1M: 1.95,
2209
2544
  cacheWriteMultiplier: 1.25,
2545
+ addedAt: "2026-04-02",
2210
2546
  vendor: "qwen",
2211
2547
  provider: "openrouter"
2212
2548
  },
@@ -2215,6 +2551,7 @@ var OPENROUTER_ROUTES = {
2215
2551
  outputPer1M: 0.13,
2216
2552
  cacheReadMultiplier: 0.2,
2217
2553
  cacheWriteMultiplier: 1.266667,
2554
+ addedAt: "2026-07-27",
2218
2555
  vendor: "qwen",
2219
2556
  provider: "openrouter"
2220
2557
  },
@@ -2223,6 +2560,7 @@ var OPENROUTER_ROUTES = {
2223
2560
  outputPer1M: 4.425,
2224
2561
  cacheReadMultiplier: 0.2,
2225
2562
  cacheWriteMultiplier: 1.25,
2563
+ addedAt: "2026-05-21",
2226
2564
  vendor: "qwen",
2227
2565
  provider: "openrouter"
2228
2566
  },
@@ -2231,6 +2569,41 @@ var OPENROUTER_ROUTES = {
2231
2569
  outputPer1M: 1.28,
2232
2570
  cacheReadMultiplier: 0.2,
2233
2571
  cacheWriteMultiplier: 1.25,
2572
+ addedAt: "2026-06-03",
2573
+ vendor: "qwen",
2574
+ provider: "openrouter"
2575
+ },
2576
+ "qwen/qwen3.8-2.4t-a95b": {
2577
+ inputPer1M: 2,
2578
+ outputPer1M: 6,
2579
+ cacheReadMultiplier: 0.125,
2580
+ addedAt: "2026-08-12",
2581
+ vendor: "qwen",
2582
+ provider: "openrouter"
2583
+ },
2584
+ "qwen/qwen3.8-2.4t-a95b:batch": {
2585
+ inputPer1M: 2.5,
2586
+ outputPer1M: 6.25,
2587
+ cacheReadMultiplier: 0.2,
2588
+ addedAt: "2026-08-12",
2589
+ vendor: "qwen",
2590
+ provider: "openrouter"
2591
+ },
2592
+ "qwen/qwen3.8-27b": {
2593
+ inputPer1M: 0.425,
2594
+ outputPer1M: 2.55,
2595
+ cacheReadMultiplier: 0.2,
2596
+ cacheWriteMultiplier: 1.25,
2597
+ addedAt: "2026-08-14",
2598
+ vendor: "qwen",
2599
+ provider: "openrouter"
2600
+ },
2601
+ "qwen/qwen3.8-flash": {
2602
+ inputPer1M: 0.15,
2603
+ outputPer1M: 0.47,
2604
+ cacheReadMultiplier: 0.106667,
2605
+ cacheWriteMultiplier: 1.333333,
2606
+ addedAt: "2026-08-26",
2234
2607
  vendor: "qwen",
2235
2608
  provider: "openrouter"
2236
2609
  },
@@ -2239,30 +2612,35 @@ var OPENROUTER_ROUTES = {
2239
2612
  outputPer1M: 6,
2240
2613
  cacheReadMultiplier: 0.125,
2241
2614
  cacheWriteMultiplier: 1.25,
2615
+ addedAt: "2026-08-03",
2242
2616
  vendor: "qwen",
2243
2617
  provider: "openrouter"
2244
2618
  },
2245
2619
  "rekaai/reka-edge": {
2246
2620
  inputPer1M: 0.1,
2247
2621
  outputPer1M: 0.1,
2622
+ addedAt: "2026-03-20",
2248
2623
  vendor: "rekaai",
2249
2624
  provider: "openrouter"
2250
2625
  },
2251
2626
  "rekaai/reka-flash-3": {
2252
2627
  inputPer1M: 0.1,
2253
2628
  outputPer1M: 0.2,
2629
+ addedAt: "2025-03-12",
2254
2630
  vendor: "rekaai",
2255
2631
  provider: "openrouter"
2256
2632
  },
2257
2633
  "relace/relace-apply-3": {
2258
2634
  inputPer1M: 0.85,
2259
2635
  outputPer1M: 1.25,
2636
+ addedAt: "2025-09-26",
2260
2637
  vendor: "relace",
2261
2638
  provider: "openrouter"
2262
2639
  },
2263
2640
  "relace/relace-search": {
2264
2641
  inputPer1M: 1,
2265
2642
  outputPer1M: 3,
2643
+ addedAt: "2025-12-08",
2266
2644
  vendor: "relace",
2267
2645
  provider: "openrouter"
2268
2646
  },
@@ -2270,6 +2648,7 @@ var OPENROUTER_ROUTES = {
2270
2648
  inputPer1M: 5,
2271
2649
  outputPer1M: 30,
2272
2650
  cacheReadMultiplier: 0.1,
2651
+ addedAt: "2026-06-24",
2273
2652
  vendor: "sakana",
2274
2653
  provider: "openrouter"
2275
2654
  },
@@ -2277,30 +2656,35 @@ var OPENROUTER_ROUTES = {
2277
2656
  inputPer1M: 0.95,
2278
2657
  outputPer1M: 4,
2279
2658
  cacheReadMultiplier: 0.157895,
2659
+ addedAt: "2026-08-11",
2280
2660
  vendor: "sakana",
2281
2661
  provider: "openrouter"
2282
2662
  },
2283
2663
  "sao10k/l3-lunaris-8b": {
2284
2664
  inputPer1M: 0.04,
2285
2665
  outputPer1M: 0.05,
2666
+ addedAt: "2024-08-13",
2286
2667
  vendor: "sao10k",
2287
2668
  provider: "openrouter"
2288
2669
  },
2289
2670
  "sao10k/l3.1-euryale-70b": {
2290
2671
  inputPer1M: 0.85,
2291
2672
  outputPer1M: 0.85,
2673
+ addedAt: "2024-08-28",
2292
2674
  vendor: "sao10k",
2293
2675
  provider: "openrouter"
2294
2676
  },
2295
2677
  "sao10k/l3.3-euryale-70b": {
2296
2678
  inputPer1M: 0.65,
2297
2679
  outputPer1M: 0.75,
2680
+ addedAt: "2024-12-18",
2298
2681
  vendor: "sao10k",
2299
2682
  provider: "openrouter"
2300
2683
  },
2301
2684
  "stepfun/step-3.5-flash": {
2302
2685
  inputPer1M: 0.1,
2303
2686
  outputPer1M: 0.3,
2687
+ addedAt: "2026-01-29",
2304
2688
  vendor: "stepfun",
2305
2689
  provider: "openrouter"
2306
2690
  },
@@ -2308,26 +2692,59 @@ var OPENROUTER_ROUTES = {
2308
2692
  inputPer1M: 0.2,
2309
2693
  outputPer1M: 1.15,
2310
2694
  cacheReadMultiplier: 0.2,
2695
+ addedAt: "2026-05-28",
2311
2696
  vendor: "stepfun",
2312
2697
  provider: "openrouter"
2313
2698
  },
2314
2699
  "tencent/hunyuan-a13b-instruct": {
2315
2700
  inputPer1M: 0.14,
2316
2701
  outputPer1M: 0.57,
2702
+ addedAt: "2025-07-08",
2703
+ vendor: "tencent",
2704
+ provider: "openrouter"
2705
+ },
2706
+ "tencent/hy-mt2-1.8b": {
2707
+ inputPer1M: 0.044,
2708
+ outputPer1M: 0.177,
2709
+ addedAt: "2026-08-20",
2710
+ vendor: "tencent",
2711
+ provider: "openrouter"
2712
+ },
2713
+ "tencent/hy-mt2-30b-a3b": {
2714
+ inputPer1M: 0.074,
2715
+ outputPer1M: 0.295,
2716
+ addedAt: "2026-08-20",
2717
+ vendor: "tencent",
2718
+ provider: "openrouter"
2719
+ },
2720
+ "tencent/hy-mt2-7b": {
2721
+ inputPer1M: 0.074,
2722
+ outputPer1M: 0.295,
2723
+ addedAt: "2026-08-19",
2317
2724
  vendor: "tencent",
2318
2725
  provider: "openrouter"
2319
2726
  },
2320
2727
  "tencent/hy3": {
2321
- inputPer1M: 0.132,
2322
- outputPer1M: 0.528,
2728
+ inputPer1M: 0.0825,
2729
+ outputPer1M: 0.33,
2323
2730
  cacheReadMultiplier: 0.25,
2731
+ addedAt: "2026-07-06",
2324
2732
  vendor: "tencent",
2325
2733
  provider: "openrouter"
2326
2734
  },
2327
2735
  "tencent/hy3-preview": {
2328
- inputPer1M: 0.063,
2329
- outputPer1M: 0.21,
2736
+ inputPer1M: 0.18,
2737
+ outputPer1M: 0.6,
2330
2738
  cacheReadMultiplier: 0.333333,
2739
+ addedAt: "2026-04-22",
2740
+ vendor: "tencent",
2741
+ provider: "openrouter"
2742
+ },
2743
+ "tencent/hy4-preview": {
2744
+ inputPer1M: 0.834,
2745
+ outputPer1M: 2.501,
2746
+ cacheReadMultiplier: 0.05036,
2747
+ addedAt: "2026-08-28",
2331
2748
  vendor: "tencent",
2332
2749
  provider: "openrouter"
2333
2750
  },
@@ -2335,12 +2752,7 @@ var OPENROUTER_ROUTES = {
2335
2752
  inputPer1M: 0.3,
2336
2753
  outputPer1M: 0.5,
2337
2754
  cacheReadMultiplier: 0.5,
2338
- vendor: "thedrummer",
2339
- provider: "openrouter"
2340
- },
2341
- "thedrummer/rocinante-12b": {
2342
- inputPer1M: 0.25,
2343
- outputPer1M: 0.5,
2755
+ addedAt: "2025-09-27",
2344
2756
  vendor: "thedrummer",
2345
2757
  provider: "openrouter"
2346
2758
  },
@@ -2348,19 +2760,22 @@ var OPENROUTER_ROUTES = {
2348
2760
  inputPer1M: 0.55,
2349
2761
  outputPer1M: 0.8,
2350
2762
  cacheReadMultiplier: 0.454545,
2763
+ addedAt: "2025-03-10",
2351
2764
  vendor: "thedrummer",
2352
2765
  provider: "openrouter"
2353
2766
  },
2354
2767
  "thedrummer/unslopnemo-12b": {
2355
2768
  inputPer1M: 0.4,
2356
2769
  outputPer1M: 0.4,
2770
+ addedAt: "2024-11-08",
2357
2771
  vendor: "thedrummer",
2358
2772
  provider: "openrouter"
2359
2773
  },
2360
2774
  "thinkingmachines/inkling": {
2361
- inputPer1M: 0.95,
2775
+ inputPer1M: 1,
2362
2776
  outputPer1M: 4.05,
2363
- cacheReadMultiplier: 0.168421,
2777
+ cacheReadMultiplier: 0.17,
2778
+ addedAt: "2026-07-17",
2364
2779
  vendor: "thinkingmachines",
2365
2780
  provider: "openrouter"
2366
2781
  },
@@ -2368,19 +2783,30 @@ var OPENROUTER_ROUTES = {
2368
2783
  inputPer1M: 0.45,
2369
2784
  outputPer1M: 1.2,
2370
2785
  cacheReadMultiplier: 0.222222,
2786
+ addedAt: "2026-07-30",
2371
2787
  vendor: "thinkingmachines",
2372
2788
  provider: "openrouter"
2373
2789
  },
2374
- "thinkingmachines/inkling:batch": {
2790
+ "thinkingmachines/inkling-small:batch": {
2375
2791
  inputPer1M: 0.5,
2376
- outputPer1M: 2.025,
2792
+ outputPer1M: 1.2,
2793
+ cacheReadMultiplier: 0.2,
2794
+ addedAt: "2026-07-30",
2795
+ vendor: "thinkingmachines",
2796
+ provider: "openrouter"
2797
+ },
2798
+ "thinkingmachines/inkling:batch": {
2799
+ inputPer1M: 1,
2800
+ outputPer1M: 4.05,
2377
2801
  cacheReadMultiplier: 0.17,
2802
+ addedAt: "2026-07-17",
2378
2803
  vendor: "thinkingmachines",
2379
2804
  provider: "openrouter"
2380
2805
  },
2381
2806
  "undi95/remm-slerp-l2-13b": {
2382
2807
  inputPer1M: 0.45,
2383
2808
  outputPer1M: 0.65,
2809
+ addedAt: "2023-07-22",
2384
2810
  vendor: "undi95",
2385
2811
  provider: "openrouter"
2386
2812
  },
@@ -2388,6 +2814,7 @@ var OPENROUTER_ROUTES = {
2388
2814
  inputPer1M: 0.15,
2389
2815
  outputPer1M: 0.6,
2390
2816
  cacheReadMultiplier: 0.1,
2817
+ addedAt: "2026-01-27",
2391
2818
  vendor: "upstage",
2392
2819
  provider: "openrouter"
2393
2820
  },
@@ -2395,12 +2822,14 @@ var OPENROUTER_ROUTES = {
2395
2822
  inputPer1M: 0.03,
2396
2823
  outputPer1M: 0.12,
2397
2824
  cacheReadMultiplier: 0.2,
2825
+ addedAt: "2026-08-10",
2398
2826
  vendor: "upstage",
2399
2827
  provider: "openrouter"
2400
2828
  },
2401
2829
  "writer/palmyra-x5": {
2402
2830
  inputPer1M: 0.6,
2403
2831
  outputPer1M: 6,
2832
+ addedAt: "2026-01-21",
2404
2833
  vendor: "writer",
2405
2834
  provider: "openrouter"
2406
2835
  },
@@ -2408,6 +2837,7 @@ var OPENROUTER_ROUTES = {
2408
2837
  inputPer1M: 1.25,
2409
2838
  outputPer1M: 2.5,
2410
2839
  cacheReadMultiplier: 0.16,
2840
+ addedAt: "2026-03-31",
2411
2841
  vendor: "x-ai",
2412
2842
  provider: "openrouter"
2413
2843
  },
@@ -2415,6 +2845,7 @@ var OPENROUTER_ROUTES = {
2415
2845
  inputPer1M: 1.25,
2416
2846
  outputPer1M: 2.5,
2417
2847
  cacheReadMultiplier: 0.16,
2848
+ addedAt: "2026-03-31",
2418
2849
  vendor: "x-ai",
2419
2850
  provider: "openrouter"
2420
2851
  },
@@ -2422,6 +2853,7 @@ var OPENROUTER_ROUTES = {
2422
2853
  inputPer1M: 1.25,
2423
2854
  outputPer1M: 2.5,
2424
2855
  cacheReadMultiplier: 0.16,
2856
+ addedAt: "2026-04-30",
2425
2857
  vendor: "x-ai",
2426
2858
  provider: "openrouter"
2427
2859
  },
@@ -2429,6 +2861,15 @@ var OPENROUTER_ROUTES = {
2429
2861
  inputPer1M: 2,
2430
2862
  outputPer1M: 6,
2431
2863
  cacheReadMultiplier: 0.15,
2864
+ addedAt: "2026-07-08",
2865
+ vendor: "x-ai",
2866
+ provider: "openrouter"
2867
+ },
2868
+ "x-ai/grok-4.6": {
2869
+ inputPer1M: 2,
2870
+ outputPer1M: 6,
2871
+ cacheReadMultiplier: 0.25,
2872
+ addedAt: "2026-08-12",
2432
2873
  vendor: "x-ai",
2433
2874
  provider: "openrouter"
2434
2875
  },
@@ -2436,6 +2877,7 @@ var OPENROUTER_ROUTES = {
2436
2877
  inputPer1M: 1,
2437
2878
  outputPer1M: 2,
2438
2879
  cacheReadMultiplier: 0.2,
2880
+ addedAt: "2026-05-20",
2439
2881
  vendor: "x-ai",
2440
2882
  provider: "openrouter"
2441
2883
  },
@@ -2443,6 +2885,7 @@ var OPENROUTER_ROUTES = {
2443
2885
  inputPer1M: 0.14,
2444
2886
  outputPer1M: 0.28,
2445
2887
  cacheReadMultiplier: 0.02,
2888
+ addedAt: "2026-04-22",
2446
2889
  vendor: "xiaomi",
2447
2890
  provider: "openrouter"
2448
2891
  },
@@ -2450,6 +2893,7 @@ var OPENROUTER_ROUTES = {
2450
2893
  inputPer1M: 0.435,
2451
2894
  outputPer1M: 0.87,
2452
2895
  cacheReadMultiplier: 8276e-6,
2896
+ addedAt: "2026-04-22",
2453
2897
  vendor: "xiaomi",
2454
2898
  provider: "openrouter"
2455
2899
  },
@@ -2457,6 +2901,7 @@ var OPENROUTER_ROUTES = {
2457
2901
  inputPer1M: 0.6,
2458
2902
  outputPer1M: 2.2,
2459
2903
  cacheReadMultiplier: 0.183333,
2904
+ addedAt: "2025-07-25",
2460
2905
  vendor: "z-ai",
2461
2906
  provider: "openrouter"
2462
2907
  },
@@ -2464,6 +2909,7 @@ var OPENROUTER_ROUTES = {
2464
2909
  inputPer1M: 0.13,
2465
2910
  outputPer1M: 0.85,
2466
2911
  cacheReadMultiplier: 0.192308,
2912
+ addedAt: "2025-07-25",
2467
2913
  vendor: "z-ai",
2468
2914
  provider: "openrouter"
2469
2915
  },
@@ -2471,13 +2917,15 @@ var OPENROUTER_ROUTES = {
2471
2917
  inputPer1M: 0.6,
2472
2918
  outputPer1M: 1.8,
2473
2919
  cacheReadMultiplier: 0.183333,
2920
+ addedAt: "2025-08-11",
2474
2921
  vendor: "z-ai",
2475
2922
  provider: "openrouter"
2476
2923
  },
2477
2924
  "z-ai/glm-4.6": {
2478
- inputPer1M: 0.55,
2479
- outputPer1M: 2.2,
2480
- cacheReadMultiplier: 0.2,
2925
+ inputPer1M: 0.43,
2926
+ outputPer1M: 1.75,
2927
+ cacheReadMultiplier: 0.186047,
2928
+ addedAt: "2025-09-30",
2481
2929
  vendor: "z-ai",
2482
2930
  provider: "openrouter"
2483
2931
  },
@@ -2485,6 +2933,7 @@ var OPENROUTER_ROUTES = {
2485
2933
  inputPer1M: 0.3,
2486
2934
  outputPer1M: 0.9,
2487
2935
  cacheReadMultiplier: 0.183333,
2936
+ addedAt: "2025-12-08",
2488
2937
  vendor: "z-ai",
2489
2938
  provider: "openrouter"
2490
2939
  },
@@ -2492,6 +2941,7 @@ var OPENROUTER_ROUTES = {
2492
2941
  inputPer1M: 0.4,
2493
2942
  outputPer1M: 1.75,
2494
2943
  cacheReadMultiplier: 0.2,
2944
+ addedAt: "2025-12-22",
2495
2945
  vendor: "z-ai",
2496
2946
  provider: "openrouter"
2497
2947
  },
@@ -2499,13 +2949,15 @@ var OPENROUTER_ROUTES = {
2499
2949
  inputPer1M: 0.06,
2500
2950
  outputPer1M: 0.4,
2501
2951
  cacheReadMultiplier: 0.166667,
2952
+ addedAt: "2026-01-19",
2502
2953
  vendor: "z-ai",
2503
2954
  provider: "openrouter"
2504
2955
  },
2505
2956
  "z-ai/glm-5": {
2506
- inputPer1M: 0.95,
2507
- outputPer1M: 2.55,
2508
- cacheReadMultiplier: 0.210526,
2957
+ inputPer1M: 0.6,
2958
+ outputPer1M: 1.92,
2959
+ cacheReadMultiplier: 0.2,
2960
+ addedAt: "2026-02-11",
2509
2961
  vendor: "z-ai",
2510
2962
  provider: "openrouter"
2511
2963
  },
@@ -2513,27 +2965,47 @@ var OPENROUTER_ROUTES = {
2513
2965
  inputPer1M: 1.2,
2514
2966
  outputPer1M: 4,
2515
2967
  cacheReadMultiplier: 0.2,
2968
+ addedAt: "2026-03-15",
2516
2969
  vendor: "z-ai",
2517
2970
  provider: "openrouter"
2518
2971
  },
2519
2972
  "z-ai/glm-5.1": {
2520
- inputPer1M: 0.952,
2521
- outputPer1M: 2.992,
2973
+ inputPer1M: 0.966,
2974
+ outputPer1M: 3.036,
2522
2975
  cacheReadMultiplier: 0.185714,
2976
+ addedAt: "2026-04-07",
2523
2977
  vendor: "z-ai",
2524
2978
  provider: "openrouter"
2525
2979
  },
2526
2980
  "z-ai/glm-5.2": {
2527
- inputPer1M: 0.76,
2528
- outputPer1M: 2.42,
2529
- cacheReadMultiplier: 0.184211,
2981
+ inputPer1M: 1.19,
2982
+ outputPer1M: 3.74,
2983
+ cacheReadMultiplier: 0.185714,
2984
+ addedAt: "2026-06-16",
2530
2985
  vendor: "z-ai",
2531
2986
  provider: "openrouter"
2532
2987
  },
2533
- "z-ai/glm-5.2:batch": {
2534
- inputPer1M: 0.7,
2535
- outputPer1M: 2.2,
2988
+ "z-ai/glm-5.3": {
2989
+ inputPer1M: 1.4,
2990
+ outputPer1M: 4.4,
2536
2991
  cacheReadMultiplier: 0.185714,
2992
+ addedAt: "2026-08-18",
2993
+ vendor: "z-ai",
2994
+ provider: "openrouter"
2995
+ },
2996
+ "z-ai/glm-5.3-flash": {
2997
+ inputPer1M: 0.075,
2998
+ outputPer1M: 0.25,
2999
+ cacheReadMultiplier: 0.2,
3000
+ addedAt: "2026-08-26",
3001
+ vendor: "z-ai",
3002
+ provider: "openrouter"
3003
+ },
3004
+ "z-ai/glm-5.3-flash:batch": {
3005
+ inputPer1M: 0.15,
3006
+ outputPer1M: 0.5,
3007
+ cacheReadMultiplier: 0.2,
3008
+ addedAt: "2026-08-26",
2537
3009
  vendor: "z-ai",
2538
3010
  provider: "openrouter"
2539
3011
  },
@@ -2541,14 +3013,16 @@ var OPENROUTER_ROUTES = {
2541
3013
  inputPer1M: 1.2,
2542
3014
  outputPer1M: 4,
2543
3015
  cacheReadMultiplier: 0.2,
3016
+ addedAt: "2026-04-01",
2544
3017
  vendor: "z-ai",
2545
3018
  provider: "openrouter"
2546
3019
  },
2547
3020
  "~anthropic/claude-fable-latest": {
2548
3021
  inputPer1M: 10,
2549
3022
  outputPer1M: 50,
2550
- cacheReadMultiplier: 0.1,
3023
+ cacheReadMultiplier: 0.025,
2551
3024
  cacheWriteMultiplier: 1.25,
3025
+ addedAt: "2026-06-09",
2552
3026
  vendor: "~anthropic",
2553
3027
  provider: "openrouter"
2554
3028
  },
@@ -2557,6 +3031,7 @@ var OPENROUTER_ROUTES = {
2557
3031
  outputPer1M: 5,
2558
3032
  cacheReadMultiplier: 0.1,
2559
3033
  cacheWriteMultiplier: 1.25,
3034
+ addedAt: "2026-04-27",
2560
3035
  vendor: "~anthropic",
2561
3036
  provider: "openrouter"
2562
3037
  },
@@ -2565,6 +3040,7 @@ var OPENROUTER_ROUTES = {
2565
3040
  outputPer1M: 25,
2566
3041
  cacheReadMultiplier: 0.1,
2567
3042
  cacheWriteMultiplier: 1.25,
3043
+ addedAt: "2026-04-21",
2568
3044
  vendor: "~anthropic",
2569
3045
  provider: "openrouter"
2570
3046
  },
@@ -2573,21 +3049,24 @@ var OPENROUTER_ROUTES = {
2573
3049
  outputPer1M: 10,
2574
3050
  cacheReadMultiplier: 0.1,
2575
3051
  cacheWriteMultiplier: 1.25,
3052
+ addedAt: "2026-04-27",
2576
3053
  vendor: "~anthropic",
2577
3054
  provider: "openrouter"
2578
3055
  },
2579
3056
  "~deepseek/deepseek-v4-flash-latest": {
2580
- inputPer1M: 0.0798,
2581
- outputPer1M: 0.1596,
3057
+ inputPer1M: 0.04998,
3058
+ outputPer1M: 0.09996,
2582
3059
  cacheReadMultiplier: 0.2,
3060
+ addedAt: "2026-08-01",
2583
3061
  vendor: "~deepseek",
2584
3062
  provider: "openrouter"
2585
3063
  },
2586
3064
  "~google/gemini-flash-latest": {
2587
- inputPer1M: 1.5,
2588
- outputPer1M: 7.5,
3065
+ inputPer1M: 0.75,
3066
+ outputPer1M: 3.75,
2589
3067
  cacheReadMultiplier: 0.1,
2590
- cacheWriteMultiplier: 0.055555,
3068
+ cacheWriteMultiplier: 0.055556,
3069
+ addedAt: "2026-04-27",
2591
3070
  vendor: "~google",
2592
3071
  provider: "openrouter"
2593
3072
  },
@@ -2596,21 +3075,24 @@ var OPENROUTER_ROUTES = {
2596
3075
  outputPer1M: 12,
2597
3076
  cacheReadMultiplier: 0.1,
2598
3077
  cacheWriteMultiplier: 0.1875,
3078
+ addedAt: "2026-04-27",
2599
3079
  vendor: "~google",
2600
3080
  provider: "openrouter"
2601
3081
  },
2602
3082
  "~moonshotai/kimi-latest": {
2603
- inputPer1M: 2.8,
2604
- outputPer1M: 14,
2605
- cacheReadMultiplier: 0.103571,
3083
+ inputPer1M: 2.55,
3084
+ outputPer1M: 12.75,
3085
+ cacheReadMultiplier: 0.100392,
3086
+ addedAt: "2026-04-27",
2606
3087
  vendor: "~moonshotai",
2607
3088
  provider: "openrouter"
2608
3089
  },
2609
3090
  "~openai/gpt-latest": {
2610
- inputPer1M: 5,
2611
- outputPer1M: 30,
3091
+ inputPer1M: 2,
3092
+ outputPer1M: 10,
2612
3093
  cacheReadMultiplier: 0.1,
2613
3094
  cacheWriteMultiplier: 1.25,
3095
+ addedAt: "2026-04-27",
2614
3096
  vendor: "~openai",
2615
3097
  provider: "openrouter"
2616
3098
  },
@@ -2618,15 +3100,25 @@ var OPENROUTER_ROUTES = {
2618
3100
  inputPer1M: 0.75,
2619
3101
  outputPer1M: 4.5,
2620
3102
  cacheReadMultiplier: 0.1,
3103
+ addedAt: "2026-04-27",
2621
3104
  vendor: "~openai",
2622
3105
  provider: "openrouter"
2623
3106
  },
2624
3107
  "~x-ai/grok-latest": {
2625
3108
  inputPer1M: 2,
2626
3109
  outputPer1M: 6,
2627
- cacheReadMultiplier: 0.15,
3110
+ cacheReadMultiplier: 0.25,
3111
+ addedAt: "2026-07-08",
2628
3112
  vendor: "~x-ai",
2629
3113
  provider: "openrouter"
3114
+ },
3115
+ "~z-ai/glm-latest": {
3116
+ inputPer1M: 1.17,
3117
+ outputPer1M: 3.96,
3118
+ cacheReadMultiplier: 0.2,
3119
+ addedAt: "2026-08-19",
3120
+ vendor: "~z-ai",
3121
+ provider: "openrouter"
2630
3122
  }
2631
3123
  };
2632
3124
 
@@ -2636,796 +3128,475 @@ var CONTEXT_WINDOWS = {
2636
3128
  "canopylabs/orpheus-arabic-saudi": { contextWindow: 4e3, maxOutput: 5e4, provider: "groq" },
2637
3129
  "canopylabs/orpheus-v1-english": { contextWindow: 4e3, maxOutput: 5e4, provider: "groq" },
2638
3130
  "claude-fable-5": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Fable 5", provider: "anthropic" },
3131
+ "claude-fable-5-1": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Fable 5.1", provider: "anthropic" },
3132
+ "claude-haiku-4-5": { contextWindow: 2e5, maxOutput: 64e3, displayName: "Claude Haiku 4.5", provider: "anthropic" },
2639
3133
  "claude-haiku-4-5-20251001": { contextWindow: 2e5, maxOutput: 64e3, displayName: "Claude Haiku 4.5", provider: "anthropic" },
3134
+ "claude-opus-4-5": { contextWindow: 2e5, maxOutput: 64e3, displayName: "Claude Opus 4.5", provider: "anthropic" },
2640
3135
  "claude-opus-4-5-20251101": { contextWindow: 2e5, maxOutput: 64e3, displayName: "Claude Opus 4.5", provider: "anthropic" },
2641
3136
  "claude-opus-4-6": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Opus 4.6", provider: "anthropic" },
2642
3137
  "claude-opus-4-7": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Opus 4.7", provider: "anthropic" },
2643
3138
  "claude-opus-4-8": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Opus 4.8", provider: "anthropic" },
2644
3139
  "claude-opus-5": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Opus 5", provider: "anthropic" },
3140
+ "claude-sonnet-4-5": { contextWindow: 1e6, maxOutput: 64e3, displayName: "Claude Sonnet 4.5", provider: "anthropic" },
2645
3141
  "claude-sonnet-4-5-20250929": { contextWindow: 1e6, maxOutput: 64e3, displayName: "Claude Sonnet 4.5", provider: "anthropic" },
2646
3142
  "claude-sonnet-4-6": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Sonnet 4.6", provider: "anthropic" },
2647
3143
  "claude-sonnet-5": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Sonnet 5", provider: "anthropic" },
3144
+ "codestral-2508": { contextWindow: 256e3, provider: "mistral" },
3145
+ "codestral-embed": { contextWindow: 8192, provider: "mistral" },
3146
+ "codestral-embed-2505": { contextWindow: 8192, provider: "mistral" },
3147
+ "codestral-latest": { contextWindow: 256e3, provider: "mistral" },
3148
+ "devstral-2512": { contextWindow: 262144, provider: "mistral" },
3149
+ "devstral-latest": { contextWindow: 262144, provider: "mistral" },
3150
+ "devstral-medium-latest": { contextWindow: 262144, provider: "mistral" },
3151
+ "gemini-2.5-flash": { contextWindow: 1048576, maxOutput: 65535, provider: "google" },
3152
+ "gemini-2.5-flash-lite": { contextWindow: 1048576, maxOutput: 65535, provider: "google" },
3153
+ "gemini-2.5-pro": { contextWindow: 1048576, maxOutput: 65536, provider: "google" },
3154
+ "gemini-3-flash-preview": { contextWindow: 1048576, maxOutput: 65536, provider: "google" },
3155
+ "gemini-3.1-flash-lite": { contextWindow: 1048576, maxOutput: 65536, provider: "google" },
3156
+ "gemini-3.1-pro-preview": { contextWindow: 1048576, maxOutput: 65536, provider: "google" },
3157
+ "gemini-3.5-flash": { contextWindow: 1048576, maxOutput: 65536, provider: "google" },
3158
+ "glm-5-2": { contextWindow: 1048576, provider: "mistral" },
2648
3159
  "grok-4.20-0309-non-reasoning": { contextWindow: 1e6, provider: "xai" },
2649
3160
  "grok-4.20-0309-reasoning": { contextWindow: 1e6, provider: "xai" },
2650
3161
  "grok-4.20-multi-agent-0309": { contextWindow: 1e6, provider: "xai" },
2651
3162
  "grok-4.3": { contextWindow: 1e6, provider: "xai" },
2652
3163
  "grok-4.5": { contextWindow: 5e5, provider: "xai" },
3164
+ "grok-4.6": { contextWindow: 5e5, provider: "xai" },
2653
3165
  "grok-build-0.1": { contextWindow: 256e3, provider: "xai" },
2654
3166
  "grok-imagine-image": { contextWindow: 8e3, provider: "xai" },
3167
+ "grok-imagine-image-2.0": { contextWindow: 8e3, provider: "xai" },
2655
3168
  "grok-imagine-image-quality": { contextWindow: 8e3, provider: "xai" },
2656
3169
  "groq/compound": { contextWindow: 131072, maxOutput: 8192, provider: "groq" },
2657
3170
  "groq/compound-mini": { contextWindow: 131072, maxOutput: 8192, provider: "groq" },
2658
- "kimi-k2.5": { contextWindow: 262144, provider: "moonshot" },
2659
3171
  "kimi-k2.6": { contextWindow: 262144, provider: "moonshot" },
2660
3172
  "kimi-k2.7-code": { contextWindow: 262144, provider: "moonshot" },
2661
3173
  "kimi-k2.7-code-highspeed": { contextWindow: 262144, provider: "moonshot" },
2662
3174
  "kimi-k3": { contextWindow: 1048576, provider: "moonshot" },
3175
+ "labs-leanstral-1-5": { contextWindow: 262144, provider: "mistral" },
3176
+ "labs-leanstral-1-5-1": { contextWindow: 262144, provider: "mistral" },
2663
3177
  "llama-3.1-8b-instant": { contextWindow: 131072, maxOutput: 131072, provider: "groq" },
2664
3178
  "llama-3.3-70b-versatile": { contextWindow: 131072, maxOutput: 32768, provider: "groq" },
3179
+ "magistral-medium-latest": { contextWindow: 262144, provider: "mistral" },
3180
+ "magistral-small-latest": { contextWindow: 262144, provider: "mistral" },
2665
3181
  "meta-llama/llama-4-scout-17b-16e-instruct": { contextWindow: 131072, maxOutput: 8192, provider: "groq" },
2666
3182
  "meta-llama/llama-prompt-guard-2-22m": { contextWindow: 512, maxOutput: 512, provider: "groq" },
2667
3183
  "meta-llama/llama-prompt-guard-2-86m": { contextWindow: 512, maxOutput: 512, provider: "groq" },
2668
- "moonshot-v1-128k": { contextWindow: 131072, provider: "moonshot" },
2669
- "moonshot-v1-128k-vision-preview": { contextWindow: 131072, provider: "moonshot" },
2670
- "moonshot-v1-32k": { contextWindow: 32768, provider: "moonshot" },
2671
- "moonshot-v1-32k-vision-preview": { contextWindow: 32768, provider: "moonshot" },
2672
- "moonshot-v1-8k": { contextWindow: 8192, provider: "moonshot" },
2673
- "moonshot-v1-8k-vision-preview": { contextWindow: 8192, provider: "moonshot" },
2674
- "moonshot-v1-auto": { contextWindow: 131072, provider: "moonshot" },
3184
+ "ministral-14b-2512": { contextWindow: 262144, provider: "mistral" },
3185
+ "ministral-14b-latest": { contextWindow: 262144, provider: "mistral" },
3186
+ "ministral-3b-2512": { contextWindow: 131072, provider: "mistral" },
3187
+ "ministral-3b-latest": { contextWindow: 131072, provider: "mistral" },
3188
+ "ministral-8b-2512": { contextWindow: 262144, provider: "mistral" },
3189
+ "ministral-8b-latest": { contextWindow: 262144, provider: "mistral" },
3190
+ "mistral-code-agent-latest": { contextWindow: 262144, provider: "mistral" },
3191
+ "mistral-code-fim-latest": { contextWindow: 256e3, provider: "mistral" },
3192
+ "mistral-code-latest": { contextWindow: 256e3, provider: "mistral" },
3193
+ "mistral-embed": { contextWindow: 8192, provider: "mistral" },
3194
+ "mistral-embed-2312": { contextWindow: 8192, provider: "mistral" },
3195
+ "mistral-large-2512": { contextWindow: 262144, provider: "mistral" },
3196
+ "mistral-large-latest": { contextWindow: 262144, provider: "mistral" },
3197
+ "mistral-medium": { contextWindow: 262144, provider: "mistral" },
3198
+ "mistral-medium-2505": { contextWindow: 131072, provider: "mistral" },
3199
+ "mistral-medium-2508": { contextWindow: 131072, provider: "mistral" },
3200
+ "mistral-medium-2604": { contextWindow: 262144, provider: "mistral" },
3201
+ "mistral-medium-3": { contextWindow: 262144, provider: "mistral" },
3202
+ "mistral-medium-3-5": { contextWindow: 262144, provider: "mistral" },
3203
+ "mistral-medium-3.5": { contextWindow: 262144, provider: "mistral" },
3204
+ "mistral-medium-latest": { contextWindow: 262144, provider: "mistral" },
3205
+ "mistral-moderation-2603": { contextWindow: 131072, provider: "mistral" },
3206
+ "mistral-ocr-2512": { contextWindow: 16384, provider: "mistral" },
3207
+ "mistral-ocr-3": { contextWindow: 16384, provider: "mistral" },
3208
+ "mistral-ocr-3-0": { contextWindow: 16384, provider: "mistral" },
3209
+ "mistral-ocr-4": { contextWindow: 16384, provider: "mistral" },
3210
+ "mistral-ocr-4-0": { contextWindow: 16384, provider: "mistral" },
3211
+ "mistral-ocr-4-1": { contextWindow: 16384, provider: "mistral" },
3212
+ "mistral-ocr-latest": { contextWindow: 16384, provider: "mistral" },
3213
+ "mistral-small-2603": { contextWindow: 262144, provider: "mistral" },
3214
+ "mistral-small-latest": { contextWindow: 262144, provider: "mistral" },
3215
+ "mistral-vibe-cli-fast": { contextWindow: 262144, provider: "mistral" },
3216
+ "mistral-vibe-cli-latest": { contextWindow: 262144, provider: "mistral" },
3217
+ "mistral-vibe-cli-with-tools": { contextWindow: 262144, provider: "mistral" },
2675
3218
  "openai/gpt-oss-120b": { contextWindow: 131072, maxOutput: 65536, provider: "groq" },
2676
3219
  "openai/gpt-oss-20b": { contextWindow: 131072, maxOutput: 65536, provider: "groq" },
2677
3220
  "openai/gpt-oss-safeguard-20b": { contextWindow: 131072, maxOutput: 65536, provider: "groq" },
2678
3221
  "qwen/qwen3-32b": { contextWindow: 131072, maxOutput: 40960, provider: "groq" },
2679
3222
  "qwen/qwen3.6-27b": { contextWindow: 131072, maxOutput: 32768, provider: "groq" },
3223
+ "voxtral-mini-2602": { contextWindow: 16384, provider: "mistral" },
3224
+ "voxtral-mini-latest": { contextWindow: 16384, provider: "mistral" },
3225
+ "voxtral-mini-realtime-2602": { contextWindow: 32768, provider: "mistral" },
3226
+ "voxtral-mini-realtime-latest": { contextWindow: 32768, provider: "mistral" },
3227
+ "voxtral-mini-transcribe-realtime-2602": { contextWindow: 32768, provider: "mistral" },
3228
+ "voxtral-mini-tts-2603": { contextWindow: 4096, provider: "mistral" },
3229
+ "voxtral-mini-tts-latest": { contextWindow: 4096, provider: "mistral" },
3230
+ "voxtral-small-2507": { contextWindow: 32768, provider: "mistral" },
3231
+ "voxtral-small-latest": { contextWindow: 32768, provider: "mistral" },
2680
3232
  "whisper-large-v3": { contextWindow: 448, maxOutput: 448, provider: "groq" },
2681
- "whisper-large-v3-turbo": { contextWindow: 448, maxOutput: 448, provider: "groq" }
3233
+ "whisper-large-v3-turbo": { contextWindow: 448, maxOutput: 448, provider: "groq" },
3234
+ "zai-glm-5-2": { contextWindow: 1048576, provider: "mistral" }
2682
3235
  };
2683
3236
 
2684
3237
  // src/llm/mistral-pricing.generated.ts
2685
3238
  var MISTRAL_GENERATED_PRICING = {
2686
- "codestral-2508": { inputPer1M: 0.3, outputPer1M: 0.9, vendor: "mistral", provider: "mistral" },
2687
- "ministral-14b-2512": { inputPer1M: 0.2, outputPer1M: 0.2, vendor: "mistral", provider: "mistral" },
2688
- "ministral-3b-2512": { inputPer1M: 0.1, outputPer1M: 0.1, vendor: "mistral", provider: "mistral" },
2689
- "ministral-8b-2512": { inputPer1M: 0.15, outputPer1M: 0.15, vendor: "mistral", provider: "mistral" },
2690
- "mistral-large-2512": { inputPer1M: 0.5, outputPer1M: 1.5, vendor: "mistral", provider: "mistral" },
2691
- "mistral-medium-3": { inputPer1M: 0.4, outputPer1M: 2, vendor: "mistral", provider: "mistral" },
3239
+ "codestral-2508": { inputPer1M: 0.3, outputPer1M: 0.9, cacheReadMultiplier: 0.1, vendor: "mistral", provider: "mistral" },
3240
+ "ministral-14b-2512": { inputPer1M: 0.2, outputPer1M: 0.2, cacheReadMultiplier: 0.1, vendor: "mistral", provider: "mistral" },
3241
+ "ministral-3b-2512": { inputPer1M: 0.1, outputPer1M: 0.1, cacheReadMultiplier: 0.1, vendor: "mistral", provider: "mistral" },
3242
+ "ministral-8b-2512": { inputPer1M: 0.15, outputPer1M: 0.15, cacheReadMultiplier: 0.1, vendor: "mistral", provider: "mistral" },
3243
+ "mistral-large-2512": { inputPer1M: 0.5, outputPer1M: 1.5, cacheReadMultiplier: 0.1, vendor: "mistral", provider: "mistral" },
3244
+ "mistral-medium-3": { inputPer1M: 0.4, outputPer1M: 2, cacheReadMultiplier: 0.1, vendor: "mistral", provider: "mistral" },
2692
3245
  "mistral-medium-3-5": { inputPer1M: 1.5, outputPer1M: 7.5, vendor: "mistral", provider: "mistral" },
2693
3246
  "mistral-medium-3.5": { inputPer1M: 1.5, outputPer1M: 7.5, vendor: "mistral", provider: "mistral" },
2694
- "mistral-small-2603": { inputPer1M: 0.15, outputPer1M: 0.6, vendor: "mistral", provider: "mistral" }
3247
+ "mistral-small-2603": { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadMultiplier: 0.1, vendor: "mistral", provider: "mistral" }
2695
3248
  };
2696
3249
 
2697
3250
  // src/llm/moonshot-pricing.generated.ts
2698
3251
  var MOONSHOT_GENERATED_PRICING = {
2699
- "kimi-k2": { inputPer1M: 0.57, outputPer1M: 2.3, vendor: "moonshot", provider: "moonshot" },
2700
- "kimi-k2-0905": { inputPer1M: 0.6, outputPer1M: 2.5, vendor: "moonshot", provider: "moonshot" },
2701
- "kimi-k2-thinking": { inputPer1M: 0.6, outputPer1M: 2.5, vendor: "moonshot", provider: "moonshot" },
2702
- "kimi-k2.5": { inputPer1M: 0.57, outputPer1M: 2.85, vendor: "moonshot", provider: "moonshot" },
2703
- "kimi-k2.6": { inputPer1M: 0.95, outputPer1M: 4, vendor: "moonshot", provider: "moonshot" },
2704
- "kimi-k2.7-code": { inputPer1M: 0.71, outputPer1M: 3.5, vendor: "moonshot", provider: "moonshot" },
2705
- "kimi-k2.7-code:batch": { inputPer1M: 0.475, outputPer1M: 2, vendor: "moonshot", provider: "moonshot" },
2706
- "kimi-k3": { inputPer1M: 3, outputPer1M: 15, vendor: "moonshot", provider: "moonshot" }
3252
+ "kimi-k2.6": { inputPer1M: 0.95, outputPer1M: 4, cacheReadMultiplier: 0.1684, vendor: "moonshot", provider: "moonshot" },
3253
+ "kimi-k2.7-code": { inputPer1M: 0.66, outputPer1M: 3.4, cacheReadMultiplier: 0.2727, vendor: "moonshot", provider: "moonshot" },
3254
+ "kimi-k3": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, vendor: "moonshot", provider: "moonshot" }
3255
+ };
3256
+
3257
+ // src/llm/anthropic-pricing.generated.ts
3258
+ var ANTHROPIC_GENERATED_PRICING = {
3259
+ "claude-fable-5": { inputPer1M: 10, outputPer1M: 50, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
3260
+ "claude-haiku-4-5": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
3261
+ "claude-haiku-4-5-20251001": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
3262
+ "claude-opus-4-5": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
3263
+ "claude-opus-4-5-20251101": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
3264
+ "claude-opus-4-6": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
3265
+ "claude-opus-4-7": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
3266
+ "claude-opus-4-8": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
3267
+ "claude-opus-5": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
3268
+ "claude-sonnet-4-5": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
3269
+ "claude-sonnet-4-5-20250929": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
3270
+ "claude-sonnet-4-6": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
3271
+ "claude-sonnet-5": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" }
3272
+ };
3273
+
3274
+ // src/llm/google-pricing.generated.ts
3275
+ var GOOGLE_GENERATED_PRICING = {
3276
+ "gemini-2.5-flash": { inputPer1M: 0.3, outputPer1M: 2.5, cacheReadMultiplier: 0.1, vendor: "google", provider: "google" },
3277
+ "gemini-2.5-flash-lite": { inputPer1M: 0.1, outputPer1M: 0.4, cacheReadMultiplier: 0.1, vendor: "google", provider: "google" },
3278
+ "gemini-2.5-pro": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.1, vendor: "google", provider: "google" },
3279
+ "gemini-3-flash-preview": { inputPer1M: 0.5, outputPer1M: 3, cacheReadMultiplier: 0.1, vendor: "google", provider: "google" },
3280
+ "gemini-3.1-flash-lite": { inputPer1M: 0.25, outputPer1M: 1.5, cacheReadMultiplier: 0.1, vendor: "google", provider: "google" },
3281
+ "gemini-3.1-pro-preview": { inputPer1M: 2, outputPer1M: 12, cacheReadMultiplier: 0.1, vendor: "google", provider: "google" },
3282
+ "gemini-3.5-flash": { inputPer1M: 1.5, outputPer1M: 9, cacheReadMultiplier: 0.1, vendor: "google", provider: "google" }
3283
+ };
3284
+
3285
+ // src/llm/openai-pricing.generated.ts
3286
+ var OPENAI_GENERATED_PRICING = {
3287
+ "gpt-3.5-turbo": { inputPer1M: 0.5, outputPer1M: 1.5, vendor: "openai", provider: "openai" },
3288
+ "gpt-3.5-turbo-0613": { inputPer1M: 1, outputPer1M: 2, vendor: "openai", provider: "openai" },
3289
+ "gpt-3.5-turbo-16k": { inputPer1M: 3, outputPer1M: 4, vendor: "openai", provider: "openai" },
3290
+ "gpt-3.5-turbo-instruct": { inputPer1M: 1.5, outputPer1M: 2, vendor: "openai", provider: "openai" },
3291
+ "gpt-4": { inputPer1M: 30, outputPer1M: 60, vendor: "openai", provider: "openai" },
3292
+ "gpt-4-turbo": { inputPer1M: 10, outputPer1M: 30, vendor: "openai", provider: "openai" },
3293
+ "gpt-4-turbo-preview": { inputPer1M: 10, outputPer1M: 30, vendor: "openai", provider: "openai" },
3294
+ "gpt-4.1": { inputPer1M: 2, outputPer1M: 8, cacheReadMultiplier: 0.25, vendor: "openai", provider: "openai" },
3295
+ "gpt-4.1-mini": { inputPer1M: 0.4, outputPer1M: 1.6, cacheReadMultiplier: 0.25, vendor: "openai", provider: "openai" },
3296
+ "gpt-4.1-nano": { inputPer1M: 0.1, outputPer1M: 0.4, cacheReadMultiplier: 0.25, vendor: "openai", provider: "openai" },
3297
+ "gpt-4o": { inputPer1M: 2.5, outputPer1M: 10, cacheReadMultiplier: 0.5, vendor: "openai", provider: "openai" },
3298
+ "gpt-4o-2024-05-13": { inputPer1M: 5, outputPer1M: 15, vendor: "openai", provider: "openai" },
3299
+ "gpt-4o-2024-08-06": { inputPer1M: 2.5, outputPer1M: 10, cacheReadMultiplier: 0.5, vendor: "openai", provider: "openai" },
3300
+ "gpt-4o-2024-11-20": { inputPer1M: 2.5, outputPer1M: 10, cacheReadMultiplier: 0.5, vendor: "openai", provider: "openai" },
3301
+ "gpt-4o-mini": { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadMultiplier: 0.5, vendor: "openai", provider: "openai" },
3302
+ "gpt-4o-mini-2024-07-18": { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadMultiplier: 0.5, vendor: "openai", provider: "openai" },
3303
+ "gpt-5": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3304
+ "gpt-5-image": { inputPer1M: 10, outputPer1M: 10, cacheReadMultiplier: 0.125, vendor: "openai", provider: "openai" },
3305
+ "gpt-5-image-mini": { inputPer1M: 2.5, outputPer1M: 2, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3306
+ "gpt-5-mini": { inputPer1M: 0.25, outputPer1M: 2, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3307
+ "gpt-5-nano": { inputPer1M: 0.05, outputPer1M: 0.4, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3308
+ "gpt-5-pro": { inputPer1M: 15, outputPer1M: 120, vendor: "openai", provider: "openai" },
3309
+ "gpt-5.1": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3310
+ "gpt-5.1-codex": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.104, vendor: "openai", provider: "openai" },
3311
+ "gpt-5.1-codex-max": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3312
+ "gpt-5.1-codex-mini": { inputPer1M: 0.25, outputPer1M: 2, cacheReadMultiplier: 0.12, vendor: "openai", provider: "openai" },
3313
+ "gpt-5.2": { inputPer1M: 1.75, outputPer1M: 14, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3314
+ "gpt-5.2-chat": { inputPer1M: 1.75, outputPer1M: 14, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3315
+ "gpt-5.2-codex": { inputPer1M: 1.75, outputPer1M: 14, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3316
+ "gpt-5.2-pro": { inputPer1M: 21, outputPer1M: 168, vendor: "openai", provider: "openai" },
3317
+ "gpt-5.3-codex": { inputPer1M: 1.75, outputPer1M: 14, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3318
+ "gpt-5.4": { inputPer1M: 2.5, outputPer1M: 15, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3319
+ "gpt-5.4-mini": { inputPer1M: 0.75, outputPer1M: 4.5, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3320
+ "gpt-5.4-nano": { inputPer1M: 0.2, outputPer1M: 1.25, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3321
+ "gpt-5.4-pro": { inputPer1M: 30, outputPer1M: 180, vendor: "openai", provider: "openai" },
3322
+ "gpt-5.5": { inputPer1M: 5, outputPer1M: 30, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3323
+ "gpt-5.5-pro": { inputPer1M: 30, outputPer1M: 180, vendor: "openai", provider: "openai" },
3324
+ "gpt-5.6-luna": { inputPer1M: 0.2, outputPer1M: 1.2, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai" },
3325
+ "gpt-5.6-luna-pro": { inputPer1M: 0.2, outputPer1M: 1.2, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai" },
3326
+ "gpt-5.6-sol": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai" },
3327
+ "gpt-5.6-sol-pro": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai" },
3328
+ "gpt-5.6-terra": { inputPer1M: 2, outputPer1M: 12, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai" },
3329
+ "gpt-5.6-terra-pro": { inputPer1M: 2, outputPer1M: 12, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai" },
3330
+ "gpt-audio": { inputPer1M: 2.5, outputPer1M: 10, vendor: "openai", provider: "openai" },
3331
+ "gpt-audio-mini": { inputPer1M: 0.6, outputPer1M: 2.4, vendor: "openai", provider: "openai" },
3332
+ "gpt-chat-latest": { inputPer1M: 5, outputPer1M: 30, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai" },
3333
+ "gpt-oss-120b": { inputPer1M: 0.037, outputPer1M: 0.17, vendor: "openai", provider: "openai" },
3334
+ "gpt-oss-120b:batch": { inputPer1M: 0.15, outputPer1M: 0.6, vendor: "openai", provider: "openai" },
3335
+ "gpt-oss-20b": { inputPer1M: 0.03, outputPer1M: 0.13, cacheReadMultiplier: 1, vendor: "openai", provider: "openai" },
3336
+ "gpt-oss-20b:batch": { inputPer1M: 0.05, outputPer1M: 0.2, vendor: "openai", provider: "openai" },
3337
+ "gpt-oss-safeguard-20b": { inputPer1M: 0.075, outputPer1M: 0.3, cacheReadMultiplier: 0.5, vendor: "openai", provider: "openai" },
3338
+ "o1": { inputPer1M: 15, outputPer1M: 60, cacheReadMultiplier: 0.5, vendor: "openai", provider: "openai" },
3339
+ "o1-pro": { inputPer1M: 150, outputPer1M: 600, vendor: "openai", provider: "openai" },
3340
+ "o3": { inputPer1M: 2, outputPer1M: 8, cacheReadMultiplier: 0.25, vendor: "openai", provider: "openai" },
3341
+ "o3-mini": { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadMultiplier: 0.5, vendor: "openai", provider: "openai" },
3342
+ "o3-mini-high": { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadMultiplier: 0.5, vendor: "openai", provider: "openai" },
3343
+ "o3-pro": { inputPer1M: 20, outputPer1M: 80, vendor: "openai", provider: "openai" },
3344
+ "o4-mini": { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadMultiplier: 0.25, vendor: "openai", provider: "openai" },
3345
+ "o4-mini-high": { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadMultiplier: 0.25, vendor: "openai", provider: "openai" }
3346
+ };
3347
+
3348
+ // src/llm/minimax-pricing.generated.ts
3349
+ var MINIMAX_GENERATED_PRICING = {
3350
+ "M2-her": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.1, vendor: "minimax", provider: "minimax" },
3351
+ "MiniMax-M2": { inputPer1M: 0.255, outputPer1M: 1.02, vendor: "minimax", provider: "minimax" },
3352
+ "MiniMax-M2.1": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.1, vendor: "minimax", provider: "minimax" },
3353
+ "MiniMax-M2.5": { inputPer1M: 0.27, outputPer1M: 1.08, cacheReadMultiplier: 0.1, vendor: "minimax", provider: "minimax" },
3354
+ "MiniMax-M2.7": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.2, vendor: "minimax", provider: "minimax" }
3355
+ };
3356
+
3357
+ // src/llm/xai-pricing.generated.ts
3358
+ var XAI_GENERATED_PRICING = {
3359
+ "grok-4.20": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3360
+ "grok-4.20-0309": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3361
+ "grok-4.20-0309-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3362
+ "grok-4.20-0309-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3363
+ "grok-4.20-beta": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3364
+ "grok-4.20-beta-0309": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3365
+ "grok-4.20-beta-0309-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3366
+ "grok-4.20-beta-0309-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3367
+ "grok-4.20-beta-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3368
+ "grok-4.20-beta-latest-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3369
+ "grok-4.20-beta-latest-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3370
+ "grok-4.20-beta-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3371
+ "grok-4.20-beta-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3372
+ "grok-4.20-experimental-beta-0304": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3373
+ "grok-4.20-experimental-beta-0304-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3374
+ "grok-4.20-experimental-beta-0304-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3375
+ "grok-4.20-experimental-beta-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3376
+ "grok-4.20-experimental-beta-non-reasoning-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3377
+ "grok-4.20-experimental-beta-reasoning-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3378
+ "grok-4.20-multi-agent": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3379
+ "grok-4.20-multi-agent-0309": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3380
+ "grok-4.20-multi-agent-beta-0309": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3381
+ "grok-4.20-multi-agent-beta-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3382
+ "grok-4.20-multi-agent-experimental-beta-0304": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3383
+ "grok-4.20-multi-agent-experimental-beta-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3384
+ "grok-4.20-multi-agent-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3385
+ "grok-4.20-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3386
+ "grok-4.20-non-reasoning-gv2": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3387
+ "grok-4.20-non-reasoning-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3388
+ "grok-4.20-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3389
+ "grok-4.20-reasoning-gv2": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3390
+ "grok-4.20-reasoning-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3391
+ "grok-4.3": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3392
+ "grok-4.3-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3393
+ "grok-4.5": { inputPer1M: 2, outputPer1M: 6, cachedInputPer1M: 0.3, longContext: { inputPer1M: 4, outputPer1M: 12, cachedInputPer1M: 0.6, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3394
+ "grok-4.5-latest": { inputPer1M: 2, outputPer1M: 6, cachedInputPer1M: 0.3, longContext: { inputPer1M: 4, outputPer1M: 12, cachedInputPer1M: 0.6, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3395
+ "grok-4.6": { inputPer1M: 2, outputPer1M: 6, cachedInputPer1M: 0.5, longContext: { inputPer1M: 4, outputPer1M: 12, cachedInputPer1M: 1, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3396
+ "grok-build-0.1": { inputPer1M: 1, outputPer1M: 2, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2, outputPer1M: 4, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3397
+ "grok-build-latest": { inputPer1M: 2, outputPer1M: 6, cachedInputPer1M: 0.3, longContext: { inputPer1M: 4, outputPer1M: 12, cachedInputPer1M: 0.6, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3398
+ "grok-code-fast": { inputPer1M: 1, outputPer1M: 2, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2, outputPer1M: 4, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3399
+ "grok-code-fast-1": { inputPer1M: 1, outputPer1M: 2, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2, outputPer1M: 4, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" },
3400
+ "grok-code-fast-1-0825": { inputPer1M: 1, outputPer1M: 2, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2, outputPer1M: 4, cachedInputPer1M: 0.4, thresholdTokens: 2e5 }, vendor: "xai", provider: "xai" }
2707
3401
  };
2708
3402
 
2709
3403
  // src/llm/catalog.ts
2710
- var LLM_PRICING_CATALOG = {
2711
- // Generated Mistral pricing (see mistral-pricing.generated.ts); hand-maintained entries below override.
2712
- ...MISTRAL_GENERATED_PRICING,
2713
- // Generated Moonshot pricing (see moonshot-pricing.generated.ts); hand-maintained entries below override.
2714
- ...MOONSHOT_GENERATED_PRICING,
2715
- // ── Anthropic ──────────────────────────────────────────────────────────
2716
- // Catalog keys MUST be valid Anthropic model ids — `resolveAlias` returns
2717
- // the catalog key as the API model id, and Anthropic 404s on anything
2718
- // that isn't a real published id (e.g. the bare `claude-sonnet-4`
2719
- // collapsed every Sonnet 4.x request through to a not_found_error).
2720
- "claude-opus-4-5": {
2721
- inputPer1M: 15,
2722
- outputPer1M: 75,
2723
- cacheReadMultiplier: 0.1,
2724
- cacheWriteMultiplier: 1.25,
2725
- vendor: "anthropic",
2726
- provider: "anthropic"
3404
+ var PRICING_OVERRIDES = {
3405
+ // claude-opus-4-5 / claude-haiku-4-5 / claude-sonnet-4-5 (bare) and
3406
+ // grok-4.20 / grok-4.20-reasoning / grok-4.20-multi-agent used to live
3407
+ // here as hand-typed numbers, justified by "no generator produces this
3408
+ // exact spelling" — true, but that only justifies the id's EXISTENCE, not
3409
+ // hand-typing its PRICE when a same-model sibling under a different id is
3410
+ // already generated (Anthropic's dated form, xAI's own declared alias).
3411
+ // Fixed at the generator, not papered over here:
3412
+ // - sync-anthropic.mjs now mechanically derives every bare "aged-out"
3413
+ // id from its dated sibling (strip the -YYYYMMDD suffix), same price.
3414
+ // - sync-xai.mjs now expands every model's own `aliases` array from
3415
+ // xAI's live payload into additional priced entries.
3416
+ // Both bare-id sets are gone from this map for good — see the PR body's
3417
+ // divergence table for what the old hand-typed numbers here were wrong
3418
+ // by (these were on ids adapters/auth-profiles actually spawn).
3419
+ "kimi-k2-0905-preview": {
3420
+ reason: "Not present in Moonshot's current live model list (api.moonshot.ai/v1/models returned 4 models total on the sync run that produced moonshot-pricing.generated.ts) -- likely retired or renamed since this row was hand-added.",
3421
+ inputPer1M: 0.6,
3422
+ outputPer1M: 2.5,
3423
+ cacheReadMultiplier: 0.25,
3424
+ vendor: "moonshot",
3425
+ provider: "moonshot"
2727
3426
  },
2728
- "claude-sonnet-4-5": {
2729
- inputPer1M: 3,
2730
- outputPer1M: 15,
2731
- cacheReadMultiplier: 0.1,
2732
- cacheWriteMultiplier: 1.25,
2733
- vendor: "anthropic",
2734
- provider: "anthropic"
3427
+ "kimi-k2-thinking": {
3428
+ reason: "Same as kimi-k2-0905-preview -- absent from Moonshot's current live model list.",
3429
+ inputPer1M: 0.6,
3430
+ outputPer1M: 2.5,
3431
+ cacheReadMultiplier: 0.25,
3432
+ vendor: "moonshot",
3433
+ provider: "moonshot"
2735
3434
  },
2736
- "claude-haiku-4-5": {
2737
- inputPer1M: 0.8,
2738
- outputPer1M: 4,
2739
- cacheReadMultiplier: 0.1,
2740
- cacheWriteMultiplier: 1.25,
2741
- vendor: "anthropic",
2742
- provider: "anthropic"
2743
- },
2744
- // Latest-generation Anthropic ids the claude-code / claude-sdk adapters
2745
- // advertise. Registered so `agentproto models` reports a $/Mtok figure and
2746
- // a concrete provider — before these rows they resolved to provider
2747
- // `unknown` (no pricing entry) and showed as runnable:false. Prices per 1M
2748
- // tokens from platform.claude.com/docs/en/pricing.
2749
- "claude-opus-4-8": {
2750
- inputPer1M: 5,
2751
- outputPer1M: 25,
2752
- cacheReadMultiplier: 0.1,
2753
- cacheWriteMultiplier: 1.25,
2754
- vendor: "anthropic",
2755
- provider: "anthropic"
3435
+ "kimi-k2-thinking-turbo": {
3436
+ reason: "Same as kimi-k2-0905-preview -- absent from Moonshot's current live model list.",
3437
+ inputPer1M: 1.15,
3438
+ outputPer1M: 8,
3439
+ cacheReadMultiplier: 0.13,
3440
+ vendor: "moonshot",
3441
+ provider: "moonshot"
2756
3442
  },
2757
- "claude-sonnet-5": {
2758
- inputPer1M: 3,
2759
- outputPer1M: 15,
2760
- cacheReadMultiplier: 0.1,
2761
- cacheWriteMultiplier: 1.25,
2762
- vendor: "anthropic",
2763
- provider: "anthropic"
3443
+ "kimi-k2-turbo-preview": {
3444
+ reason: "Same as kimi-k2-0905-preview -- absent from Moonshot's current live model list.",
3445
+ inputPer1M: 1.15,
3446
+ outputPer1M: 8,
3447
+ cacheReadMultiplier: 0.13,
3448
+ vendor: "moonshot",
3449
+ provider: "moonshot"
2764
3450
  },
2765
- "claude-fable-5": {
2766
- inputPer1M: 10,
2767
- outputPer1M: 50,
2768
- cacheReadMultiplier: 0.1,
2769
- cacheWriteMultiplier: 1.25,
2770
- vendor: "anthropic",
2771
- provider: "anthropic"
2772
- },
2773
- // ── Google ─────────────────────────────────────────────────────────────
2774
- // Source: https://ai.google.dev/gemini-api/docs/pricing (fetched 2026-05-29)
2775
- // — Flash text/image/video input $0.30/1M, output $2.50/1M, context-cache
2776
- // $0.03/1M (audio input is $1.00/1M — not modeled). Cross-checked against
2777
- // https://pricepertoken.com/pricing-page/model/google-gemini-2.5-flash.
2778
- "gemini-2.5-flash": {
2779
- inputPer1M: 0.3,
2780
- outputPer1M: 2.5,
2781
- // Context-cache $0.03/1M = 0.1× input (implicit caching, no write surcharge).
2782
- cacheReadMultiplier: 0.1,
2783
- vendor: "google",
2784
- provider: "google"
3451
+ "kimi-k2.5": {
3452
+ reason: "Same as kimi-k2-0905-preview -- absent from Moonshot's current live model list.",
3453
+ inputPer1M: 0.6,
3454
+ outputPer1M: 3,
3455
+ cacheReadMultiplier: 0.17,
3456
+ vendor: "moonshot",
3457
+ provider: "moonshot"
2785
3458
  },
2786
- // Source: https://ai.google.dev/gemini-api/docs/pricing (fetched 2026-05-29)
2787
- // — Pro ≤200k prompts: input $1.25/1M, output $10.00/1M, context-cache
2788
- // $0.125/1M. (>200k tiers: $2.50 in / $15.00 out — not modeled.)
2789
- "gemini-2.5-pro": {
2790
- inputPer1M: 1.25,
2791
- outputPer1M: 10,
2792
- // Context-cache $0.125/1M = 0.1× input (≤200k tier).
2793
- cacheReadMultiplier: 0.1,
2794
- vendor: "google",
2795
- provider: "google"
3459
+ // mistral-large-latest / mistral-small-latest / codestral-latest /
3460
+ // ministral-8b-latest: "no generator produces this exact -latest
3461
+ // spelling" is true and justifies the id existing here, but it does NOT
3462
+ // justify a hand-typed NUMBER when a same-family dated sibling is already
3463
+ // generated (mistral-large-2512, mistral-small-2603, codestral-2508,
3464
+ // ministral-8b-2512 respectively) — that was the same mistake as the
3465
+ // Anthropic/xAI bare-id overrides above, just not mechanically fixable at
3466
+ // the generator (Mistral's dated suffixes, e.g. -2512, don't strip back
3467
+ // to "-latest" the way Anthropic's -YYYYMMDD strips to a bare id). Spread
3468
+ // the generated sibling's pricing directly instead of retyping it, so a
3469
+ // re-sync that changes the dated price changes this too, automatically.
3470
+ "mistral-large-latest": {
3471
+ reason: '"-latest" alias spelling has no generated counterpart of its own; derives from the dated sibling mistral-large-2512 (MISTRAL_GENERATED_PRICING) rather than a hand-typed number.',
3472
+ ...MISTRAL_GENERATED_PRICING["mistral-large-2512"]
2796
3473
  },
2797
- // Source: https://ai.google.dev/gemini-api/docs/pricing (fetched 2026-05-29)
2798
- // — Gemini 3.5 Flash input $1.50/1M, output $9.00/1M, context-cache
2799
- // $0.15/1M. Cross-checked against https://devtk.ai/en/models/gemini-3-5-flash.
2800
- "gemini-3.5-flash": {
2801
- inputPer1M: 1.5,
2802
- outputPer1M: 9,
2803
- // Context-cache $0.15/1M = 0.1× input.
2804
- cacheReadMultiplier: 0.1,
2805
- vendor: "google",
2806
- provider: "google"
3474
+ "mistral-small-latest": {
3475
+ reason: `"-latest" alias spelling has no generated counterpart of its own; derives from the dated sibling mistral-small-2603 (MISTRAL_GENERATED_PRICING) rather than a hand-typed number. The old hand-typed value here (0.06/0.18, cache 0.5) diverged from this \u2014 see the PR body's divergence table.`,
3476
+ ...MISTRAL_GENERATED_PRICING["mistral-small-2603"]
2807
3477
  },
2808
- // Source: https://ai.google.dev/gemini-api/docs/pricing (fetched 2026-05-29)
2809
- // — Flash-Lite text/image/video input $0.10/1M, output $0.40/1M, cache $0.01.
2810
- "gemini-2.5-flash-lite": {
2811
- inputPer1M: 0.1,
2812
- outputPer1M: 0.4,
2813
- // Context-cache $0.01/1M = 0.1× input.
2814
- cacheReadMultiplier: 0.1,
2815
- vendor: "google",
2816
- provider: "google"
3478
+ "codestral-latest": {
3479
+ reason: `"-latest" alias spelling has no generated counterpart of its own; derives from the dated sibling codestral-2508 (MISTRAL_GENERATED_PRICING) rather than a hand-typed number. The old hand-typed value here (0.5/1.5, a copy-pasted placeholder) diverged from this \u2014 see the PR body's divergence table.`,
3480
+ ...MISTRAL_GENERATED_PRICING["codestral-2508"]
2817
3481
  },
2818
- // Source: https://ai.google.dev/gemini-api/docs/pricing (fetched 2026-05-29)
2819
- // — Gemini 3.1 Pro Preview ≤200k prompts: input $2.00/1M, output $12.00/1M,
2820
- // context-cache $0.20/1M. (>200k tiers: $4.00 in / $18.00 out — not modeled.)
2821
- "gemini-3.1-pro-preview": {
2822
- inputPer1M: 2,
2823
- outputPer1M: 12,
2824
- // Context-cache $0.20/1M = 0.1× input (≤200k tier).
2825
- cacheReadMultiplier: 0.1,
2826
- vendor: "google",
2827
- provider: "google"
3482
+ "ministral-8b-latest": {
3483
+ reason: `"-latest" alias spelling has no generated counterpart of its own; derives from the dated sibling ministral-8b-2512 (MISTRAL_GENERATED_PRICING) rather than a hand-typed number. The old hand-typed value here (0.06/0.18, a copy-pasted placeholder) diverged from this \u2014 see the PR body's divergence table.`,
3484
+ ...MISTRAL_GENERATED_PRICING["ministral-8b-2512"]
2828
3485
  },
2829
- // Source: https://ai.google.dev/gemini-api/docs/pricing (fetched 2026-05-29)
2830
- // — Gemini 3 Flash Preview text/image/video input $0.50/1M, output $3.00/1M,
2831
- // context-cache $0.05/1M.
2832
- "gemini-3-flash-preview": {
3486
+ "mistral-medium-latest": {
3487
+ reason: 'PLACEHOLDER, explicitly marked `// TODO verify pricing` in the row this replaces -- copy-pasted 0.5/1.5 template value, never real. Unlike the four rows above, this one is NOT auto-derived from a generated sibling: MISTRAL_GENERATED_PRICING has THREE medium candidates (mistral-medium-3, mistral-medium-3-5, mistral-medium-3.5) and which one "-latest" currently means is an editorial call this sync can\'t safely make -- picking wrong would silently misprice, which is worse than an honestly-labeled unverified placeholder. Needs a human to confirm which dated id is current, then wire it the same way as mistral-large-latest above.',
2833
3488
  inputPer1M: 0.5,
2834
- outputPer1M: 3,
2835
- // Context-cache $0.05/1M = 0.1× input.
2836
- cacheReadMultiplier: 0.1,
2837
- vendor: "google",
2838
- provider: "google"
2839
- },
2840
- // Source: https://ai.google.dev/gemini-api/docs/pricing (fetched 2026-05-29)
2841
- // — Gemini 3.1 Flash-Lite text/image/video input $0.25/1M, output $1.50/1M,
2842
- // context-cache $0.025/1M.
2843
- "gemini-3.1-flash-lite": {
2844
- inputPer1M: 0.25,
2845
3489
  outputPer1M: 1.5,
2846
- // Context-cache $0.025/1M = 0.1× input.
2847
- cacheReadMultiplier: 0.1,
2848
- vendor: "google",
2849
- provider: "google"
2850
- },
2851
- // ── OpenAI ─────────────────────────────────────────────────────────────
2852
- // All OpenAI cacheReadMultiplier = 0.1 (cached input billed at 10% of base,
2853
- // matching the per-model cached-input rates on the pricing table). No cache-
2854
- // write premium (OpenAI prompt caching is automatic, no write surcharge).
2855
- // Source: https://pricepertoken.com/pricing-page/provider/openai
2856
- // (mirrors openai.com/api/pricing; fetched 2026-05-29 — openai.com 403s WebFetch).
2857
- "gpt-5.5": {
2858
- // $5.00 in / $0.50 cached / $30.00 out per 1M.
2859
- inputPer1M: 5,
2860
- outputPer1M: 30,
2861
- cacheReadMultiplier: 0.1,
2862
- vendor: "openai",
2863
- provider: "openai"
2864
- },
2865
- "gpt-5.5-pro": {
2866
- // $30.00 in / $180.00 out per 1M. No cached tier on pro.
2867
- inputPer1M: 30,
2868
- outputPer1M: 180,
2869
- vendor: "openai",
2870
- provider: "openai"
2871
- },
2872
- "gpt-5.4": {
2873
- // $2.50 in / $0.25 cached / $15.00 out per 1M (production workhorse).
2874
- inputPer1M: 2.5,
2875
- outputPer1M: 15,
2876
- cacheReadMultiplier: 0.1,
2877
- vendor: "openai",
2878
- provider: "openai"
2879
- },
2880
- "gpt-5.4-mini": {
2881
- // $0.75 in / $0.075 cached / $4.50 out per 1M.
2882
- inputPer1M: 0.75,
2883
- outputPer1M: 4.5,
2884
- cacheReadMultiplier: 0.1,
2885
- vendor: "openai",
2886
- provider: "openai"
2887
- },
2888
- "gpt-5.4-nano": {
2889
- // $0.20 in / $0.02 cached / $1.25 out per 1M.
2890
- inputPer1M: 0.2,
2891
- outputPer1M: 1.25,
2892
- cacheReadMultiplier: 0.1,
2893
- vendor: "openai",
2894
- provider: "openai"
3490
+ vendor: "mistral",
3491
+ provider: "mistral"
2895
3492
  },
2896
- "gpt-5.4-pro": {
2897
- // $30.00 in / $180.00 out per 1M. No cached tier on pro.
2898
- inputPer1M: 30,
2899
- outputPer1M: 180,
2900
- vendor: "openai",
2901
- provider: "openai"
3493
+ "devstral-latest": {
3494
+ reason: "PLACEHOLDER, explicitly marked `// TODO verify pricing` -- copy-pasted 0.5/1.5 template value, never real. No generated counterpart at all (Mistral's chat-model sync doesn't currently return a devstral id).",
3495
+ inputPer1M: 0.5,
3496
+ outputPer1M: 1.5,
3497
+ vendor: "mistral",
3498
+ provider: "mistral"
2902
3499
  },
2903
- "gpt-5.2": {
2904
- // $1.75 in / $0.175 cached / $14.00 out per 1M.
2905
- inputPer1M: 1.75,
2906
- outputPer1M: 14,
2907
- cacheReadMultiplier: 0.1,
2908
- vendor: "openai",
2909
- provider: "openai"
3500
+ "magistral-small-latest": {
3501
+ reason: "PLACEHOLDER, explicitly marked `// TODO verify pricing` -- copy-pasted 0.06/0.18 template value, never real. No generated counterpart at all.",
3502
+ inputPer1M: 0.06,
3503
+ outputPer1M: 0.18,
3504
+ vendor: "mistral",
3505
+ provider: "mistral"
2910
3506
  },
2911
- "gpt-5.1": {
2912
- // $1.25 in / $0.125 cached / $10.00 out per 1M.
2913
- inputPer1M: 1.25,
2914
- outputPer1M: 10,
2915
- cacheReadMultiplier: 0.1,
2916
- vendor: "openai",
2917
- provider: "openai"
3507
+ "devstral-medium-latest": {
3508
+ reason: "PLACEHOLDER, explicitly marked `// TODO verify pricing` -- copy-pasted 0.5/1.5 template value, never real. No generated counterpart at all.",
3509
+ inputPer1M: 0.5,
3510
+ outputPer1M: 1.5,
3511
+ vendor: "mistral",
3512
+ provider: "mistral"
2918
3513
  },
2919
- "gpt-5": {
2920
- // $1.25 in / $0.125 cached / $10.00 out per 1M (base GPT-5).
3514
+ "gpt-5-codex": {
3515
+ reason: "No generated counterpart -- not present in OpenRouter's openai/* listing under this exact id (OpenAI has no native pricing endpoint at all, see packages/catalog-sync/src/sources/openai.ts, so OpenRouter is the only automated source and it doesn't carry this specific id).",
2921
3516
  inputPer1M: 1.25,
2922
3517
  outputPer1M: 10,
2923
3518
  cacheReadMultiplier: 0.1,
2924
3519
  vendor: "openai",
2925
3520
  provider: "openai"
2926
3521
  },
2927
- "gpt-4.1": {
2928
- inputPer1M: 2,
2929
- outputPer1M: 8,
2930
- vendor: "openai",
2931
- provider: "openai"
2932
- },
2933
- "gpt-4.1-mini": {
2934
- inputPer1M: 0.4,
2935
- outputPer1M: 1.6,
2936
- vendor: "openai",
2937
- provider: "openai"
2938
- },
2939
- // Source: pricepertoken.com/pricing-page/provider/openai (fetched 2026-05-29)
2940
- // — gpt-4.1-nano $0.10 in / $0.025 cached / $0.40 out per 1M.
2941
- "gpt-4.1-nano": {
2942
- inputPer1M: 0.1,
2943
- outputPer1M: 0.4,
2944
- cacheReadMultiplier: 0.25,
2945
- vendor: "openai",
2946
- provider: "openai"
2947
- },
2948
- "gpt-4o": {
2949
- inputPer1M: 2.5,
2950
- outputPer1M: 10,
2951
- vendor: "openai",
2952
- provider: "openai"
2953
- },
2954
- "gpt-4o-mini": {
2955
- inputPer1M: 0.15,
2956
- outputPer1M: 0.6,
2957
- vendor: "openai",
2958
- provider: "openai"
2959
- },
2960
- // ── OpenAI o-series (reasoning) ─────────────────────────────────────────
2961
- // Source: pricepertoken.com/pricing-page/provider/openai (fetched 2026-05-29).
2962
- o3: {
2963
- // $2.00 in / $8.00 out per 1M.
2964
- inputPer1M: 2,
2965
- outputPer1M: 8,
2966
- vendor: "openai",
2967
- provider: "openai"
2968
- },
2969
- "o4-mini": {
2970
- // $0.55 in / $0.275 cached / $2.20 out per 1M.
2971
- inputPer1M: 0.55,
2972
- outputPer1M: 2.2,
2973
- cacheReadMultiplier: 0.5,
2974
- vendor: "openai",
2975
- provider: "openai"
2976
- },
2977
- "o3-mini": {
2978
- // $0.55 in / $2.20 out per 1M (no cache discount listed).
2979
- inputPer1M: 0.55,
2980
- outputPer1M: 2.2,
2981
- vendor: "openai",
2982
- provider: "openai"
2983
- },
2984
- o1: {
2985
- // $15.00 in / $7.50 cached / $60.00 out per 1M.
2986
- inputPer1M: 15,
2987
- outputPer1M: 60,
2988
- cacheReadMultiplier: 0.5,
2989
- vendor: "openai",
2990
- provider: "openai"
2991
- },
2992
3522
  "o1-mini": {
2993
- // $0.55 in / $2.20 out per 1M.
3523
+ reason: "No generated counterpart -- not present in OpenRouter's openai/* listing under this exact id.",
2994
3524
  inputPer1M: 0.55,
2995
3525
  outputPer1M: 2.2,
2996
3526
  vendor: "openai",
2997
3527
  provider: "openai"
2998
3528
  },
2999
- // ── OpenAI GPT-5.6 series ──────────────────────────────────────────────
3000
- // Source: OpenRouter pricing (fetched 2026-07-16)
3001
- "gpt-5.6-luna": {
3002
- // $1.00 in / $6.00 out per 1M. Cache read 0.1x.
3003
- inputPer1M: 1,
3004
- outputPer1M: 6,
3005
- cacheReadMultiplier: 0.1,
3006
- vendor: "openai",
3007
- provider: "openai"
3008
- },
3009
- "gpt-5.6-luna-pro": {
3010
- // $1.00 in / $6.00 out per 1M. Cache read 0.1x.
3011
- inputPer1M: 1,
3012
- outputPer1M: 6,
3013
- cacheReadMultiplier: 0.1,
3014
- vendor: "openai",
3015
- provider: "openai"
3016
- },
3017
- "gpt-5.6-terra": {
3018
- // $2.50 in / $15.00 out per 1M. Cache read 0.1x.
3019
- inputPer1M: 2.5,
3020
- outputPer1M: 15,
3021
- cacheReadMultiplier: 0.1,
3022
- vendor: "openai",
3023
- provider: "openai"
3024
- },
3025
- "gpt-5.6-terra-pro": {
3026
- // $2.50 in / $15.00 out per 1M. Cache read 0.1x.
3027
- inputPer1M: 2.5,
3028
- outputPer1M: 15,
3029
- cacheReadMultiplier: 0.1,
3030
- vendor: "openai",
3031
- provider: "openai"
3032
- },
3033
- "gpt-5.6-sol": {
3034
- // $5.00 in / $30.00 out per 1M. Cache read 0.1x.
3035
- inputPer1M: 5,
3036
- outputPer1M: 30,
3037
- cacheReadMultiplier: 0.1,
3038
- vendor: "openai",
3039
- provider: "openai"
3040
- },
3041
- "gpt-5.6-sol-pro": {
3042
- // $5.00 in / $30.00 out per 1M. Cache read 0.1x.
3043
- inputPer1M: 5,
3044
- outputPer1M: 30,
3045
- cacheReadMultiplier: 0.1,
3046
- vendor: "openai",
3047
- provider: "openai"
3048
- },
3049
- // ── OpenAI GPT-5 min/nano (lite variants) ──────────────────────────────
3050
- "gpt-5-mini": {
3051
- // $0.25 in / $2.00 out per 1M. Cache read 0.1x.
3052
- inputPer1M: 0.25,
3053
- outputPer1M: 2,
3054
- cacheReadMultiplier: 0.1,
3055
- vendor: "openai",
3056
- provider: "openai"
3057
- },
3058
- "gpt-5-nano": {
3059
- // $0.05 in / $0.40 out per 1M. Cache read 0.1x.
3060
- inputPer1M: 0.05,
3061
- outputPer1M: 0.4,
3062
- cacheReadMultiplier: 0.1,
3063
- vendor: "openai",
3064
- provider: "openai"
3065
- },
3066
- // ── OpenAI GPT-5 codex (coding specialist) ─────────────────────────────
3067
- "gpt-5-codex": {
3068
- // $1.25 in / $10.00 out per 1M. Cache read 0.1x.
3069
- inputPer1M: 1.25,
3070
- outputPer1M: 10,
3071
- cacheReadMultiplier: 0.1,
3072
- vendor: "openai",
3073
- provider: "openai"
3074
- },
3075
- // ── OpenAI GPT-5 pro (reasoning-enhanced) ──────────────────────────────
3076
- "gpt-5-pro": {
3077
- // $15.00 in / $120.00 out per 1M. No cache discount.
3078
- inputPer1M: 15,
3079
- outputPer1M: 120,
3080
- vendor: "openai",
3081
- provider: "openai"
3082
- },
3083
- // ── OpenAI GPT-5 image generation ──────────────────────────────────────
3084
- "gpt-5-image": {
3085
- // $10.00 in / $10.00 out (+ $40/1M image output). Cache read 0.125x.
3086
- inputPer1M: 10,
3087
- outputPer1M: 10,
3088
- cacheReadMultiplier: 0.125,
3089
- vendor: "openai",
3090
- provider: "openai"
3091
- },
3092
- "gpt-5-image-mini": {
3093
- // $2.50 in / $2.00 out (+ $8/1M image output). Cache read 0.1x.
3094
- inputPer1M: 2.5,
3095
- outputPer1M: 2,
3096
- cacheReadMultiplier: 0.1,
3097
- vendor: "openai",
3098
- provider: "openai"
3099
- },
3100
- // ── OpenAI GPT audio (multimodal) ──────────────────────────────────────
3101
- "gpt-audio": {
3102
- // $2.50 in / $10.00 out (+ audio in $32/1M, audio out $64/1M).
3103
- inputPer1M: 2.5,
3104
- outputPer1M: 10,
3105
- vendor: "openai",
3106
- provider: "openai"
3107
- },
3108
- "gpt-audio-mini": {
3109
- // $0.60 in / $2.40 out (+ audio in $0.60/1M, audio out $2.40/1M).
3110
- inputPer1M: 0.6,
3111
- outputPer1M: 2.4,
3112
- vendor: "openai",
3113
- provider: "openai"
3114
- },
3115
- // ── OpenAI o-series (reasoning models) ─────────────────────────────────
3116
- // Extended reasoning variants with cache support.
3117
- "o3-pro": {
3118
- // $20.00 in / $80.00 out per 1M. No cache discount.
3119
- inputPer1M: 20,
3120
- outputPer1M: 80,
3121
- vendor: "openai",
3122
- provider: "openai"
3123
- },
3124
3529
  "o3-deep-research": {
3125
- // $10.00 in / $40.00 out per 1M. Cache read 0.25x.
3530
+ reason: "No generated counterpart -- not present in OpenRouter's openai/* listing under this exact id.",
3126
3531
  inputPer1M: 10,
3127
3532
  outputPer1M: 40,
3128
3533
  cacheReadMultiplier: 0.25,
3129
3534
  vendor: "openai",
3130
3535
  provider: "openai"
3131
3536
  },
3132
- "o4-mini-high": {
3133
- // $1.10 in / $4.40 out per 1M. Cache read 0.25x.
3134
- inputPer1M: 1.1,
3135
- outputPer1M: 4.4,
3136
- cacheReadMultiplier: 0.25,
3137
- vendor: "openai",
3138
- provider: "openai"
3139
- },
3140
3537
  "o4-mini-deep-research": {
3141
- // $2.00 in / $8.00 out per 1M. Cache read 0.25x.
3538
+ reason: "No generated counterpart -- not present in OpenRouter's openai/* listing under this exact id.",
3142
3539
  inputPer1M: 2,
3143
3540
  outputPer1M: 8,
3144
3541
  cacheReadMultiplier: 0.25,
3145
3542
  vendor: "openai",
3146
3543
  provider: "openai"
3147
- },
3148
- "o1-pro": {
3149
- // $150.00 in / $600.00 out per 1M. No cache discount.
3150
- inputPer1M: 150,
3151
- outputPer1M: 600,
3152
- vendor: "openai",
3153
- provider: "openai"
3154
- },
3155
- // ── OpenAI GPT-5.1/5.2 codex (code specialist) ─────────────────────────
3156
- "gpt-5.1-codex": {
3157
- // $1.25 in / $10.00 out per 1M. Cache read 0.1x.
3158
- inputPer1M: 1.25,
3159
- outputPer1M: 10,
3160
- cacheReadMultiplier: 0.1,
3161
- vendor: "openai",
3162
- provider: "openai"
3163
- },
3164
- "gpt-5.1-codex-mini": {
3165
- // $0.25 in / $2.00 out per 1M. Cache read 0.1x.
3166
- inputPer1M: 0.25,
3167
- outputPer1M: 2,
3168
- cacheReadMultiplier: 0.1,
3169
- vendor: "openai",
3170
- provider: "openai"
3171
- },
3172
- "gpt-5.1-codex-max": {
3173
- // $1.25 in / $10.00 out per 1M. Cache read 0.1x.
3174
- inputPer1M: 1.25,
3175
- outputPer1M: 10,
3176
- cacheReadMultiplier: 0.1,
3177
- vendor: "openai",
3178
- provider: "openai"
3179
- },
3180
- "gpt-5.2-codex": {
3181
- // $1.75 in / $14.00 out per 1M. Cache read 0.1x.
3182
- inputPer1M: 1.75,
3183
- outputPer1M: 14,
3184
- cacheReadMultiplier: 0.1,
3185
- vendor: "openai",
3186
- provider: "openai"
3187
- },
3188
- "gpt-5.2-pro": {
3189
- // $21.00 in / $168.00 out per 1M. No cache discount.
3190
- inputPer1M: 21,
3191
- outputPer1M: 168,
3192
- vendor: "openai",
3193
- provider: "openai"
3194
- },
3195
- // ── MiniMax (direct SDK) ───────────────────────────────────────────────
3196
- // Bare ids match what the MiniMax SDK expects on the wire (PascalCase
3197
- // with optional minor version). OpenRouter equivalents under
3198
- // `minimax/minimax-m2*` are separate entries auto-imported below; the
3199
- // runtime connector picks which one to call based on the guild's
3200
- // installed connectors.
3201
- "MiniMax-M2": {
3202
- inputPer1M: 0.2,
3203
- outputPer1M: 1,
3204
- cacheReadMultiplier: 0.15,
3205
- cacheWriteMultiplier: 1.875,
3206
- vendor: "minimax",
3207
- provider: "minimax"
3208
- },
3209
- "M2-her": {
3210
- inputPer1M: 0.2,
3211
- outputPer1M: 1,
3212
- cacheReadMultiplier: 0.15,
3213
- cacheWriteMultiplier: 1.875,
3214
- vendor: "minimax",
3215
- provider: "minimax"
3216
- },
3217
- "MiniMax-M2.1": {
3218
- inputPer1M: 0.3,
3219
- outputPer1M: 1.2,
3220
- cacheReadMultiplier: 0.1,
3221
- cacheWriteMultiplier: 1.25,
3222
- vendor: "minimax",
3223
- provider: "minimax"
3224
- },
3225
- "MiniMax-M2.5": {
3226
- inputPer1M: 0.3,
3227
- outputPer1M: 1.2,
3228
- cacheReadMultiplier: 0.1,
3229
- cacheWriteMultiplier: 1.25,
3230
- vendor: "minimax",
3231
- provider: "minimax"
3232
- },
3233
- "MiniMax-M2.7": {
3234
- inputPer1M: 0.3,
3235
- outputPer1M: 1.2,
3236
- vendor: "minimax",
3237
- provider: "minimax"
3238
- },
3239
- // ── Moonshot (direct SDK) ─────────────────────────────────────────────
3240
- "kimi-k3": {
3241
- // Flagship, released 2026-07-16 (2.8T-param MoE, 1M context,
3242
- // reasoning-always-on). Source: https://openrouter.ai/moonshotai/kimi-k3
3243
- // (fetched 2026-07-18). Cache-hit input is 90% off cache-miss
3244
- // ($0.30 vs $3.00/1M).
3245
- inputPer1M: 3,
3246
- outputPer1M: 15,
3247
- cacheReadMultiplier: 0.1,
3248
- vendor: "moonshot",
3249
- provider: "moonshot"
3250
- },
3251
- "kimi-k2.7-code": {
3252
- // Source: direct Moonshot pricing (fetched 2026-07-18). Cache-hit
3253
- // input is $0.19/1M vs $0.95/1M miss (80% off).
3254
- inputPer1M: 0.95,
3255
- outputPer1M: 4,
3256
- cacheReadMultiplier: 0.2,
3257
- vendor: "moonshot",
3258
- provider: "moonshot"
3259
- },
3260
- "kimi-k2.6": {
3261
- inputPer1M: 0.95,
3262
- outputPer1M: 4,
3263
- cacheReadMultiplier: 0.17,
3264
- vendor: "moonshot",
3265
- provider: "moonshot"
3266
- },
3267
- "kimi-k2.5": {
3268
- inputPer1M: 0.6,
3269
- outputPer1M: 3,
3270
- cacheReadMultiplier: 0.17,
3271
- vendor: "moonshot",
3272
- provider: "moonshot"
3273
- },
3274
- "kimi-k2-0905-preview": {
3275
- inputPer1M: 0.6,
3276
- outputPer1M: 2.5,
3277
- cacheReadMultiplier: 0.25,
3278
- vendor: "moonshot",
3279
- provider: "moonshot"
3280
- },
3281
- "kimi-k2-turbo-preview": {
3282
- inputPer1M: 1.15,
3283
- outputPer1M: 8,
3284
- cacheReadMultiplier: 0.13,
3285
- vendor: "moonshot",
3286
- provider: "moonshot"
3287
- },
3288
- "kimi-k2-thinking": {
3289
- inputPer1M: 0.6,
3290
- outputPer1M: 2.5,
3291
- cacheReadMultiplier: 0.25,
3292
- vendor: "moonshot",
3293
- provider: "moonshot"
3294
- },
3295
- "kimi-k2-thinking-turbo": {
3296
- inputPer1M: 1.15,
3297
- outputPer1M: 8,
3298
- cacheReadMultiplier: 0.13,
3299
- vendor: "moonshot",
3300
- provider: "moonshot"
3301
- },
3302
- // ── xAI (direct SDK + proxy) ─────────────────────────────────────────
3303
- // Source: https://docs.x.ai/docs/models (fetched 2026-07-14)
3304
- // Pricing from API: prompt_text_token_price / completion_text_token_price
3305
- // in units per 1 token. Converted to $ per 1M tokens.
3306
- "grok-4.5": {
3307
- // $2.00 in / $6.00 out per 1M (flagship).
3308
- inputPer1M: 2,
3309
- outputPer1M: 6,
3310
- vendor: "xai",
3311
- provider: "xai"
3312
- },
3313
- "grok-4.20": {
3314
- // $1.25 in / $2.50 out per 1M (non-reasoning default).
3315
- inputPer1M: 1.25,
3316
- outputPer1M: 2.5,
3317
- vendor: "xai",
3318
- provider: "xai"
3319
- },
3320
- "grok-4.20-reasoning": {
3321
- // Same pricing as grok-4.20, reasoning variant.
3322
- inputPer1M: 1.25,
3323
- outputPer1M: 2.5,
3324
- vendor: "xai",
3325
- provider: "xai"
3326
- },
3327
- "grok-4.20-multi-agent": {
3328
- // Same pricing as grok-4.20.
3329
- inputPer1M: 1.25,
3330
- outputPer1M: 2.5,
3331
- vendor: "xai",
3332
- provider: "xai"
3333
- },
3334
- "grok-4.3": {
3335
- // $1.25 in / $2.50 out per 1M (alias: grok-latest).
3336
- inputPer1M: 1.25,
3337
- outputPer1M: 2.5,
3338
- vendor: "xai",
3339
- provider: "xai"
3340
- },
3341
- "grok-build-0.1": {
3342
- // $1.00 in / $2.00 out per 1M (code/fast variant, 256k context).
3343
- inputPer1M: 1,
3344
- outputPer1M: 2,
3345
- vendor: "xai",
3346
- provider: "xai"
3347
- },
3348
- // ── Mistral (direct SDK) ──────────────────────────────────────────────
3349
- "mistral-large-latest": {
3350
- inputPer1M: 0.5,
3351
- outputPer1M: 1.5,
3352
- vendor: "mistral",
3353
- provider: "mistral"
3354
- },
3355
- "mistral-small-latest": {
3356
- inputPer1M: 0.06,
3357
- outputPer1M: 0.18,
3358
- cacheReadMultiplier: 0.5,
3359
- vendor: "mistral",
3360
- provider: "mistral"
3361
- },
3362
- "mistral-medium-latest": {
3363
- inputPer1M: 0.5,
3364
- // TODO verify pricing
3365
- outputPer1M: 1.5,
3366
- // TODO verify pricing
3367
- vendor: "mistral",
3368
- provider: "mistral"
3369
- },
3370
- "mistral-medium-3-5": {
3371
- inputPer1M: 0.5,
3372
- // TODO verify pricing
3373
- outputPer1M: 1.5,
3374
- // TODO verify pricing
3375
- vendor: "mistral",
3376
- provider: "mistral"
3377
- },
3378
- "codestral-latest": {
3379
- inputPer1M: 0.5,
3380
- // TODO verify pricing
3381
- outputPer1M: 1.5,
3382
- // TODO verify pricing
3383
- vendor: "mistral",
3384
- provider: "mistral"
3385
- },
3386
- "ministral-8b-latest": {
3387
- inputPer1M: 0.06,
3388
- // TODO verify pricing
3389
- outputPer1M: 0.18,
3390
- // TODO verify pricing
3391
- vendor: "mistral",
3392
- provider: "mistral"
3393
- },
3394
- "devstral-latest": {
3395
- inputPer1M: 0.5,
3396
- // TODO verify pricing
3397
- outputPer1M: 1.5,
3398
- // TODO verify pricing
3399
- vendor: "mistral",
3400
- provider: "mistral"
3401
- },
3402
- "magistral-small-latest": {
3403
- inputPer1M: 0.06,
3404
- // TODO verify pricing
3405
- outputPer1M: 0.18,
3406
- // TODO verify pricing
3407
- vendor: "mistral",
3408
- provider: "mistral"
3409
- },
3410
- "devstral-medium-latest": {
3411
- inputPer1M: 0.5,
3412
- // TODO verify pricing
3413
- outputPer1M: 1.5,
3414
- // TODO verify pricing
3415
- vendor: "mistral",
3416
- provider: "mistral"
3417
- },
3544
+ }
3545
+ };
3546
+ var PRICING_OVERRIDES_PRICING = Object.fromEntries(
3547
+ Object.entries(PRICING_OVERRIDES).map(([id, { reason: _reason, ...pricing }]) => [id, pricing])
3548
+ );
3549
+ var LLM_PRICING_CATALOG = {
3550
+ // Every provider below is fully generated from that provider's own live
3551
+ // sync (`scripts/catalog-sync/sync-*.mjs`) — existence AND price both come
3552
+ // from the provider's native id space wherever the provider exposes one
3553
+ // (Anthropic, xAI, MiniMax, Moonshot, Mistral, Google-via-remap); OpenRouter
3554
+ // supplies PRICE only for those, never ids, except for OpenAI, the one
3555
+ // provider with no native id/pricing source of its own at all, where
3556
+ // OpenRouter is the sole source for both. On any id a generator covers,
3557
+ // the generated value wins UNCONDITIONALLY — no hand-typed row duplicates
3558
+ // an id a generator already prices, even where they used to disagree; see
3559
+ // the PR body's divergence table. `PRICING_OVERRIDES` above is the only
3560
+ // surviving hand-written pricing, spread last, one reasoned entry per id.
3561
+ ...MISTRAL_GENERATED_PRICING,
3562
+ ...MOONSHOT_GENERATED_PRICING,
3563
+ ...ANTHROPIC_GENERATED_PRICING,
3564
+ ...GOOGLE_GENERATED_PRICING,
3565
+ ...OPENAI_GENERATED_PRICING,
3566
+ ...MINIMAX_GENERATED_PRICING,
3567
+ ...XAI_GENERATED_PRICING,
3568
+ ...PRICING_OVERRIDES_PRICING,
3418
3569
  // ── OpenRouter routes — generated by `scripts/catalog-sync` from
3419
3570
  // https://openrouter.ai/api/v1/models. Re-run
3420
3571
  // `pnpm --filter @agentproto/catalog-sync sync:openrouter`
3421
3572
  // to refresh.
3422
3573
  ...OPENROUTER_ROUTES
3423
3574
  };
3575
+ function isKnownLlmId(modelId) {
3576
+ return modelId in LLM_PRICING_CATALOG || modelId in CONTEXT_WINDOWS || modelId in OPENROUTER_ROUTES;
3577
+ }
3578
+ function listUnpricedKnownLlmIds() {
3579
+ const ids = /* @__PURE__ */ new Set([
3580
+ ...Object.keys(CONTEXT_WINDOWS),
3581
+ ...Object.keys(OPENROUTER_ROUTES)
3582
+ ]);
3583
+ const result = [];
3584
+ for (const id of ids) {
3585
+ if (id in LLM_PRICING_CATALOG) continue;
3586
+ result.push({ id, provider: getModelProvider(id) });
3587
+ }
3588
+ return result;
3589
+ }
3424
3590
  var MODEL_ALIASES = {
3425
3591
  // Anthropic — alias targets must be real Anthropic model ids since
3426
3592
  // `resolveAlias` feeds the result straight to the SDK.
3427
- "claude-opus-4-6": "claude-opus-4-5",
3428
- "claude-sonnet-4-6": "claude-sonnet-4-5",
3593
+ //
3594
+ // `claude-opus-4-6` / `claude-sonnet-4-6` used to alias here to 4.5 —
3595
+ // the silent-downgrade bug this PR fixes (agentproto catalog-sync). Both
3596
+ // are now real, directly-priced `LlmModelId`s via
3597
+ // `ANTHROPIC_GENERATED_PRICING` above; an alias pointing them at 4.5
3598
+ // would just re-introduce the same silent downgrade, so it's removed,
3599
+ // not kept.
3429
3600
  "claude-4-opus": "claude-opus-4-5",
3430
3601
  "claude-4-sonnet": "claude-sonnet-4-5",
3431
3602
  "claude-3-5-haiku": "claude-haiku-4-5",
@@ -3521,8 +3692,14 @@ function resolveContextWindow(modelId) {
3521
3692
  if (alias && CONTEXT_WINDOWS[alias]) return CONTEXT_WINDOWS[alias];
3522
3693
  return void 0;
3523
3694
  }
3695
+ function listNativeModelIds(provider) {
3696
+ return Object.entries(CONTEXT_WINDOWS).filter(([, entry]) => entry.provider === provider).map(([id]) => id).sort();
3697
+ }
3524
3698
  function getModelProvider(modelId) {
3525
- return resolvePricing(modelId)?.provider;
3699
+ const pricedProvider = resolvePricing(modelId)?.provider;
3700
+ if (pricedProvider) return pricedProvider;
3701
+ const cwProvider = resolveContextWindow(modelId)?.provider;
3702
+ return cwProvider && cwProvider !== "groq" ? cwProvider : void 0;
3526
3703
  }
3527
3704
  function resolveModelRoute(modelId) {
3528
3705
  const pricing = resolvePricing(modelId);
@@ -3549,6 +3726,11 @@ function calculateLLMCreditCost(modelId, inputOrUsage, outputTokensOrOpts) {
3549
3726
  const resolved = resolvePricing(modelId);
3550
3727
  const pricing = resolved ?? DEFAULT_PRICING;
3551
3728
  const isFallback = !resolved;
3729
+ if (isFallback) {
3730
+ console.warn(
3731
+ `[model-catalog] calculateLLMCreditCost: no pricing for "${modelId}" \u2014 billing at DEFAULT_PRICING (inputPer1M ${DEFAULT_PRICING.inputPer1M}, outputPer1M ${DEFAULT_PRICING.outputPer1M}). If this model has a real, higher provider cost, this under-charges until it gets a pricing row.`
3732
+ );
3733
+ }
3552
3734
  const cacheRead = pricing.cacheReadMultiplier ?? 1;
3553
3735
  const cacheWrite = pricing.cacheWriteMultiplier ?? 1;
3554
3736
  const cacheReadIn = Math.max(0, usage.cacheReadInputTokens ?? 0);
@@ -3619,6 +3801,6 @@ function getCacheStats(modelId, usage, opts) {
3619
3801
  };
3620
3802
  }
3621
3803
 
3622
- export { DEFAULT_PRICING, LLM_PRICING_CATALOG, MODEL_ALIASES, OPENROUTER_ROUTES, calculateLLMCreditCost, getCacheStats, getModelProvider, resolveAlias, resolveContextWindow, resolveModelRoute, resolvePricing, resolvePricingExact };
3623
- //# sourceMappingURL=chunk-TF7JGPTO.mjs.map
3624
- //# sourceMappingURL=chunk-TF7JGPTO.mjs.map
3804
+ export { DEFAULT_PRICING, LLM_PRICING_CATALOG, MODEL_ALIASES, OPENROUTER_ROUTES, calculateLLMCreditCost, getCacheStats, getModelProvider, isKnownLlmId, listNativeModelIds, listUnpricedKnownLlmIds, resolveAlias, resolveContextWindow, resolveModelRoute, resolvePricing, resolvePricingExact };
3805
+ //# sourceMappingURL=chunk-MR5ZPIUN.mjs.map
3806
+ //# sourceMappingURL=chunk-MR5ZPIUN.mjs.map