@flame0510/project-aether 1.9.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/app/agents/CostSection.tsx +100 -0
- package/app/agents/PageClient.tsx +7 -0
- package/app/api/agents/create/route.ts +6 -0
- package/app/api/assistant/route.ts +8 -1
- package/app/api/costs/agent/route.ts +56 -0
- package/app/api/costs/route.ts +19 -77
- package/app/api/costs/usage/route.ts +65 -0
- package/app/api/gateway/sync.ts +18 -4
- package/app/api/stats/route.ts +2 -3
- package/app/api/stats-since/route.ts +1 -1
- package/app/api/stream/route.ts +3 -5
- package/app/api/system-health/route.ts +33 -32
- package/app/components/CostBreakdown.tsx +1 -1
- package/app/components/Sidebar.tsx +10 -0
- package/app/components/SystemCockpit.tsx +1 -1
- package/app/components/ui/TimeSeriesChart.tsx +27 -9
- package/app/costs/CostsSkeleton.tsx +88 -0
- package/app/costs/PageClient.tsx +366 -0
- package/app/costs/loading.tsx +13 -0
- package/app/costs/page.tsx +5 -0
- package/app/globals.css +6 -0
- package/daemon.js +455 -41
- package/docs/ARCHITECTURE.md +39 -29
- package/docs/DESIGN-SYSTEM.md +2 -2
- package/docs/FRONTEND-ARCHITECTURE.md +4 -2
- package/docs/REV4A.md +4 -2
- package/docs/dev/API-REFERENCE.md +118 -22
- package/docs/dev/DATABASE.md +119 -19
- package/docs/dev/GATEWAY.md +53 -9
- package/docs/rag/DATA-FRESHNESS.md +19 -7
- package/docs/rag/GLOSSARY.md +7 -4
- package/docs/rag/REV4A-OVERVIEW.md +4 -1
- package/docs/rag/WHAT-I-CAN-ANSWER.md +3 -3
- package/instrumentation.ts +11 -0
- package/lib/agent-costs.ts +172 -0
- package/lib/agent-recreate.ts +3 -0
- package/lib/cost-reconciliation.ts +78 -0
- package/lib/costs-db.ts +31 -0
- package/lib/model-pricing.ts +123 -3
- package/lib/price-schedule-sync.ts +133 -0
- package/lib/utils/format.ts +12 -0
- package/model-pricing.json +269 -121
- package/package.json +1 -1
- package/scripts/refresh-model-pricing.mjs +16 -4
- package/lib/billing.ts +0 -100
package/model-pricing.json
CHANGED
|
@@ -85,7 +85,9 @@
|
|
|
85
85
|
},
|
|
86
86
|
"deepseek/deepseek-v4-pro": {
|
|
87
87
|
"input": 1.32,
|
|
88
|
-
"output": 3.96
|
|
88
|
+
"output": 3.96,
|
|
89
|
+
"cacheRead": 0.044,
|
|
90
|
+
"cacheWrite": 1.32
|
|
89
91
|
},
|
|
90
92
|
"kimi/kimi-k3": {
|
|
91
93
|
"input": 2.76,
|
|
@@ -176,68 +178,89 @@
|
|
|
176
178
|
"output": 0
|
|
177
179
|
},
|
|
178
180
|
"openrouter/deepseek/deepseek-v4-flash": {
|
|
179
|
-
"input": 0.
|
|
180
|
-
"output": 0.
|
|
181
|
+
"input": 0.0469,
|
|
182
|
+
"output": 0.0938,
|
|
183
|
+
"cacheRead": 0.00938
|
|
181
184
|
},
|
|
182
185
|
"openrouter/google/gemini-2.5-flash": {
|
|
183
186
|
"input": 0.3,
|
|
184
|
-
"output": 2.5
|
|
187
|
+
"output": 2.5,
|
|
188
|
+
"cacheRead": 0.03,
|
|
189
|
+
"cacheWrite": 0.083333
|
|
185
190
|
},
|
|
186
191
|
"openrouter/google/gemini-2.5-pro": {
|
|
187
192
|
"input": 1.25,
|
|
188
|
-
"output": 10
|
|
193
|
+
"output": 10,
|
|
194
|
+
"cacheRead": 0.125,
|
|
195
|
+
"cacheWrite": 0.375
|
|
189
196
|
},
|
|
190
197
|
"openrouter/anthropic/claude-sonnet-4.6": {
|
|
191
198
|
"input": 3,
|
|
192
|
-
"output": 15
|
|
199
|
+
"output": 15,
|
|
200
|
+
"cacheRead": 0.3,
|
|
201
|
+
"cacheWrite": 3.75
|
|
193
202
|
},
|
|
194
203
|
"openrouter/deepseek/deepseek-v4-pro": {
|
|
195
|
-
"input": 0.
|
|
196
|
-
"output":
|
|
204
|
+
"input": 0.348,
|
|
205
|
+
"output": 0.696,
|
|
206
|
+
"cacheRead": 0.029
|
|
197
207
|
},
|
|
198
208
|
"openrouter/qwen/qwen3.7-max": {
|
|
199
209
|
"input": 1.475,
|
|
200
|
-
"output": 4.425
|
|
210
|
+
"output": 4.425,
|
|
211
|
+
"cacheRead": 0.295,
|
|
212
|
+
"cacheWrite": 1.84375
|
|
201
213
|
},
|
|
202
214
|
"openrouter/qwen/qwen3.7-plus": {
|
|
203
215
|
"input": 0.32,
|
|
204
|
-
"output": 1.28
|
|
216
|
+
"output": 1.28,
|
|
217
|
+
"cacheRead": 0.064,
|
|
218
|
+
"cacheWrite": 0.4
|
|
205
219
|
},
|
|
206
220
|
"openrouter/qwen/qwen3.7-flash": {
|
|
207
221
|
"input": 0.03,
|
|
208
|
-
"output": 0.13
|
|
222
|
+
"output": 0.13,
|
|
223
|
+
"cacheRead": 0.006,
|
|
224
|
+
"cacheWrite": 0.038
|
|
209
225
|
},
|
|
210
226
|
"openrouter/qwen/qwen3.6-plus": {
|
|
211
227
|
"input": 0.325,
|
|
212
|
-
"output": 1.95
|
|
228
|
+
"output": 1.95,
|
|
229
|
+
"cacheWrite": 0.40625
|
|
213
230
|
},
|
|
214
231
|
"openrouter/qwen/qwen3.6-flash": {
|
|
215
232
|
"input": 0.1875,
|
|
216
|
-
"output": 1.125
|
|
233
|
+
"output": 1.125,
|
|
234
|
+
"cacheWrite": 0.234375
|
|
217
235
|
},
|
|
218
236
|
"openrouter/qwen/qwen3.6-27b": {
|
|
219
237
|
"input": 0.32,
|
|
220
|
-
"output": 2
|
|
238
|
+
"output": 3.2
|
|
221
239
|
},
|
|
222
240
|
"openrouter/qwen/qwen3.6-35b-a3b": {
|
|
223
241
|
"input": 0.15,
|
|
224
|
-
"output": 1
|
|
242
|
+
"output": 1,
|
|
243
|
+
"cacheRead": 0.05
|
|
225
244
|
},
|
|
226
245
|
"openrouter/qwen/qwen3-coder": {
|
|
227
246
|
"input": 0.3,
|
|
228
|
-
"output": 1
|
|
247
|
+
"output": 1,
|
|
248
|
+
"cacheRead": 0.1
|
|
229
249
|
},
|
|
230
250
|
"openrouter/qwen/qwen3-max": {
|
|
231
251
|
"input": 0.78,
|
|
232
|
-
"output": 3.9
|
|
252
|
+
"output": 3.9,
|
|
253
|
+
"cacheRead": 0.156,
|
|
254
|
+
"cacheWrite": 0.975
|
|
233
255
|
},
|
|
234
256
|
"openrouter/qwen/qwen3-max-thinking": {
|
|
235
257
|
"input": 0.78,
|
|
236
258
|
"output": 3.9
|
|
237
259
|
},
|
|
238
260
|
"openrouter/qwen/qwen3-next-80b-a3b-instruct": {
|
|
239
|
-
"input": 0.
|
|
240
|
-
"output": 1.1
|
|
261
|
+
"input": 0.1,
|
|
262
|
+
"output": 1.1,
|
|
263
|
+
"cacheRead": 0.07
|
|
241
264
|
},
|
|
242
265
|
"openrouter/qwen/qwen3-next-80b-a3b-thinking": {
|
|
243
266
|
"input": 0.15,
|
|
@@ -245,7 +268,9 @@
|
|
|
245
268
|
},
|
|
246
269
|
"openrouter/qwen/qwen3-coder-plus": {
|
|
247
270
|
"input": 0.65,
|
|
248
|
-
"output": 3.25
|
|
271
|
+
"output": 3.25,
|
|
272
|
+
"cacheRead": 0.13,
|
|
273
|
+
"cacheWrite": 0.8125
|
|
249
274
|
},
|
|
250
275
|
"openrouter/qwen/qwen3.8-max": {
|
|
251
276
|
"input": 2,
|
|
@@ -253,19 +278,23 @@
|
|
|
253
278
|
},
|
|
254
279
|
"openrouter/qwen/qwen3.6-max-preview": {
|
|
255
280
|
"input": 1.027,
|
|
256
|
-
"output": 6.162
|
|
281
|
+
"output": 6.162,
|
|
282
|
+
"cacheWrite": 1.28375
|
|
257
283
|
},
|
|
258
284
|
"openrouter/minimax/minimax-m3": {
|
|
259
285
|
"input": 0.3,
|
|
260
|
-
"output": 1.2
|
|
286
|
+
"output": 1.2,
|
|
287
|
+
"cacheRead": 0.06
|
|
261
288
|
},
|
|
262
289
|
"openrouter/moonshotai/kimi-k2.7-code": {
|
|
263
|
-
"input": 0.
|
|
264
|
-
"output": 3.3
|
|
290
|
+
"input": 0.6562,
|
|
291
|
+
"output": 3.3,
|
|
292
|
+
"cacheRead": 0.18
|
|
265
293
|
},
|
|
266
294
|
"openrouter/moonshotai/kimi-k2.6": {
|
|
267
295
|
"input": 0.95,
|
|
268
|
-
"output": 4
|
|
296
|
+
"output": 4,
|
|
297
|
+
"cacheRead": 0.16
|
|
269
298
|
},
|
|
270
299
|
"openrouter/moonshotai/kimi-k2": {
|
|
271
300
|
"input": 0.57,
|
|
@@ -273,43 +302,53 @@
|
|
|
273
302
|
},
|
|
274
303
|
"openrouter/moonshotai/kimi-k2-thinking": {
|
|
275
304
|
"input": 0.6,
|
|
276
|
-
"output": 2.5
|
|
305
|
+
"output": 2.5,
|
|
306
|
+
"cacheRead": 0.15
|
|
277
307
|
},
|
|
278
308
|
"openrouter/moonshotai/kimi-k3": {
|
|
279
309
|
"input": 3,
|
|
280
|
-
"output": 15
|
|
310
|
+
"output": 15,
|
|
311
|
+
"cacheRead": 0.3
|
|
281
312
|
},
|
|
282
313
|
"openrouter/z-ai/glm-5.3": {
|
|
283
|
-
"input":
|
|
284
|
-
"output":
|
|
314
|
+
"input": 1.4,
|
|
315
|
+
"output": 4.4,
|
|
316
|
+
"cacheRead": 0.26
|
|
285
317
|
},
|
|
286
318
|
"openrouter/z-ai/glm-5.3-flash": {
|
|
287
|
-
"input": 0.
|
|
288
|
-
"output": 0.
|
|
319
|
+
"input": 0.045,
|
|
320
|
+
"output": 0.14,
|
|
321
|
+
"cacheRead": 0.01
|
|
289
322
|
},
|
|
290
323
|
"openrouter/z-ai/glm-5.3-flashx": {
|
|
291
324
|
"input": 0.37,
|
|
292
|
-
"output": 1.25
|
|
325
|
+
"output": 1.25,
|
|
326
|
+
"cacheRead": 0.09
|
|
293
327
|
},
|
|
294
328
|
"openrouter/z-ai/glm-5.2": {
|
|
295
329
|
"input": 0.6496,
|
|
296
|
-
"output": 2.0416
|
|
330
|
+
"output": 2.0416,
|
|
331
|
+
"cacheRead": 0.12064
|
|
297
332
|
},
|
|
298
333
|
"openrouter/z-ai/glm-5.1": {
|
|
299
|
-
"input": 0.
|
|
300
|
-
"output": 3.
|
|
334
|
+
"input": 0.9646,
|
|
335
|
+
"output": 3.0316,
|
|
336
|
+
"cacheRead": 0.17914
|
|
301
337
|
},
|
|
302
338
|
"openrouter/z-ai/glm-5": {
|
|
303
339
|
"input": 0.6,
|
|
304
|
-
"output": 1.92
|
|
340
|
+
"output": 1.92,
|
|
341
|
+
"cacheRead": 0.12
|
|
305
342
|
},
|
|
306
343
|
"openrouter/z-ai/glm-5v-turbo": {
|
|
307
344
|
"input": 1.2,
|
|
308
|
-
"output": 4
|
|
345
|
+
"output": 4,
|
|
346
|
+
"cacheRead": 0.24
|
|
309
347
|
},
|
|
310
348
|
"openrouter/z-ai/glm-5-turbo": {
|
|
311
349
|
"input": 1.2,
|
|
312
|
-
"output": 4
|
|
350
|
+
"output": 4,
|
|
351
|
+
"cacheRead": 0.24
|
|
313
352
|
},
|
|
314
353
|
"openrouter/bytedance-seed/seed-2.0-mini": {
|
|
315
354
|
"input": 0.1,
|
|
@@ -321,35 +360,42 @@
|
|
|
321
360
|
},
|
|
322
361
|
"openrouter/stepfun/step-3.7-flash": {
|
|
323
362
|
"input": 0.2,
|
|
324
|
-
"output": 1.15
|
|
363
|
+
"output": 1.15,
|
|
364
|
+
"cacheRead": 0.04
|
|
325
365
|
},
|
|
326
366
|
"openrouter/stepfun/step-3.5-flash": {
|
|
327
367
|
"input": 0.1,
|
|
328
368
|
"output": 0.3
|
|
329
369
|
},
|
|
330
370
|
"openrouter/tencent/hy3": {
|
|
331
|
-
"input": 0.
|
|
332
|
-
"output": 0.
|
|
371
|
+
"input": 0.0825,
|
|
372
|
+
"output": 0.33,
|
|
373
|
+
"cacheRead": 0.020625
|
|
333
374
|
},
|
|
334
375
|
"openrouter/tencent/hy3-preview": {
|
|
335
376
|
"input": 0.18,
|
|
336
|
-
"output": 0.6
|
|
377
|
+
"output": 0.6,
|
|
378
|
+
"cacheRead": 0.06
|
|
337
379
|
},
|
|
338
380
|
"openrouter/xiaomi/mimo-v2.5-pro": {
|
|
339
381
|
"input": 0.435,
|
|
340
|
-
"output": 0.87
|
|
382
|
+
"output": 0.87,
|
|
383
|
+
"cacheRead": 0.0036
|
|
341
384
|
},
|
|
342
385
|
"openrouter/xiaomi/mimo-v2.5": {
|
|
343
386
|
"input": 0.14,
|
|
344
|
-
"output": 0.28
|
|
387
|
+
"output": 0.28,
|
|
388
|
+
"cacheRead": 0.0028
|
|
345
389
|
},
|
|
346
390
|
"openrouter/meituan/longcat-2.0": {
|
|
347
391
|
"input": 0.3,
|
|
348
|
-
"output": 1.2
|
|
392
|
+
"output": 1.2,
|
|
393
|
+
"cacheRead": 0.006
|
|
349
394
|
},
|
|
350
395
|
"openrouter/kwaipilot/kat-coder-pro-v2.5": {
|
|
351
396
|
"input": 0.74,
|
|
352
|
-
"output": 2.96
|
|
397
|
+
"output": 2.96,
|
|
398
|
+
"cacheRead": 0.15
|
|
353
399
|
},
|
|
354
400
|
"openrouter/nex-agi/nex-n2-pro": {
|
|
355
401
|
"input": 0.25,
|
|
@@ -377,27 +423,33 @@
|
|
|
377
423
|
},
|
|
378
424
|
"openrouter/mistralai/mistral-large-2512": {
|
|
379
425
|
"input": 0.5,
|
|
380
|
-
"output": 1.5
|
|
426
|
+
"output": 1.5,
|
|
427
|
+
"cacheRead": 0.05
|
|
381
428
|
},
|
|
382
429
|
"openrouter/mistralai/mistral-medium-3.1": {
|
|
383
430
|
"input": 0.4,
|
|
384
|
-
"output": 2
|
|
431
|
+
"output": 2,
|
|
432
|
+
"cacheRead": 0.04
|
|
385
433
|
},
|
|
386
434
|
"openrouter/mistralai/mistral-medium-3": {
|
|
387
435
|
"input": 0.4,
|
|
388
|
-
"output": 2
|
|
436
|
+
"output": 2,
|
|
437
|
+
"cacheRead": 0.04
|
|
389
438
|
},
|
|
390
439
|
"openrouter/mistralai/codestral-2508": {
|
|
391
440
|
"input": 0.3,
|
|
392
|
-
"output": 0.9
|
|
441
|
+
"output": 0.9,
|
|
442
|
+
"cacheRead": 0.03
|
|
393
443
|
},
|
|
394
444
|
"openrouter/x-ai/grok-4.20": {
|
|
395
445
|
"input": 1.25,
|
|
396
|
-
"output": 2.5
|
|
446
|
+
"output": 2.5,
|
|
447
|
+
"cacheRead": 0.2
|
|
397
448
|
},
|
|
398
449
|
"openrouter/x-ai/grok-4.3": {
|
|
399
450
|
"input": 1.25,
|
|
400
|
-
"output": 2.5
|
|
451
|
+
"output": 2.5,
|
|
452
|
+
"cacheRead": 0.2
|
|
401
453
|
},
|
|
402
454
|
"openrouter/amazon/nova-pro-v1": {
|
|
403
455
|
"input": 0.8,
|
|
@@ -409,7 +461,8 @@
|
|
|
409
461
|
},
|
|
410
462
|
"openrouter/nvidia/nemotron-3-ultra-550b-a55b": {
|
|
411
463
|
"input": 0.6,
|
|
412
|
-
"output": 2.4
|
|
464
|
+
"output": 2.4,
|
|
465
|
+
"cacheRead": 0.12
|
|
413
466
|
},
|
|
414
467
|
"openrouter/nousresearch/hermes-4-405b": {
|
|
415
468
|
"input": 1,
|
|
@@ -417,7 +470,8 @@
|
|
|
417
470
|
},
|
|
418
471
|
"openrouter/thinkingmachines/inkling": {
|
|
419
472
|
"input": 1,
|
|
420
|
-
"output": 4.05
|
|
473
|
+
"output": 4.05,
|
|
474
|
+
"cacheRead": 0.17
|
|
421
475
|
},
|
|
422
476
|
"openrouter/relace/relace-apply-3": {
|
|
423
477
|
"input": 0.85,
|
|
@@ -429,55 +483,77 @@
|
|
|
429
483
|
},
|
|
430
484
|
"openrouter/google/gemini-3-flash-preview": {
|
|
431
485
|
"input": 0.5,
|
|
432
|
-
"output": 3
|
|
486
|
+
"output": 3,
|
|
487
|
+
"cacheRead": 0.05,
|
|
488
|
+
"cacheWrite": 0.083333
|
|
433
489
|
},
|
|
434
490
|
"openrouter/google/gemini-3.1-pro-preview": {
|
|
435
491
|
"input": 2,
|
|
436
|
-
"output": 12
|
|
492
|
+
"output": 12,
|
|
493
|
+
"cacheRead": 0.2,
|
|
494
|
+
"cacheWrite": 0.375
|
|
437
495
|
},
|
|
438
496
|
"openrouter/google/gemini-3.6-flash": {
|
|
439
497
|
"input": 0.75,
|
|
440
|
-
"output": 3.75
|
|
498
|
+
"output": 3.75,
|
|
499
|
+
"cacheRead": 0.075,
|
|
500
|
+
"cacheWrite": 0.041667
|
|
441
501
|
},
|
|
442
502
|
"openrouter/anthropic/claude-opus-5": {
|
|
443
503
|
"input": 5,
|
|
444
|
-
"output": 25
|
|
504
|
+
"output": 25,
|
|
505
|
+
"cacheRead": 0.5,
|
|
506
|
+
"cacheWrite": 6.25
|
|
445
507
|
},
|
|
446
508
|
"openrouter/anthropic/claude-sonnet-5": {
|
|
447
509
|
"input": 2,
|
|
448
|
-
"output": 10
|
|
510
|
+
"output": 10,
|
|
511
|
+
"cacheRead": 0.2,
|
|
512
|
+
"cacheWrite": 2.5
|
|
449
513
|
},
|
|
450
514
|
"openrouter/anthropic/claude-haiku-4.5": {
|
|
451
515
|
"input": 1,
|
|
452
|
-
"output": 5
|
|
516
|
+
"output": 5,
|
|
517
|
+
"cacheRead": 0.1,
|
|
518
|
+
"cacheWrite": 1.25
|
|
453
519
|
},
|
|
454
520
|
"openrouter/anthropic/claude-opus-4.7": {
|
|
455
521
|
"input": 5,
|
|
456
|
-
"output": 25
|
|
522
|
+
"output": 25,
|
|
523
|
+
"cacheRead": 0.5,
|
|
524
|
+
"cacheWrite": 6.25
|
|
457
525
|
},
|
|
458
526
|
"openrouter/openai/gpt-5.6-sol": {
|
|
459
527
|
"input": 2,
|
|
460
|
-
"output": 10
|
|
528
|
+
"output": 10,
|
|
529
|
+
"cacheRead": 0.2,
|
|
530
|
+
"cacheWrite": 2.5
|
|
461
531
|
},
|
|
462
532
|
"openrouter/openai/gpt-5.6-luna": {
|
|
463
533
|
"input": 0.2,
|
|
464
|
-
"output": 1.2
|
|
534
|
+
"output": 1.2,
|
|
535
|
+
"cacheRead": 0.02,
|
|
536
|
+
"cacheWrite": 0.25
|
|
465
537
|
},
|
|
466
538
|
"openrouter/openai/gpt-5.4-mini": {
|
|
467
539
|
"input": 0.75,
|
|
468
|
-
"output": 4.5
|
|
540
|
+
"output": 4.5,
|
|
541
|
+
"cacheRead": 0.075
|
|
469
542
|
},
|
|
470
543
|
"openrouter/openai/o3": {
|
|
471
544
|
"input": 2,
|
|
472
|
-
"output": 8
|
|
545
|
+
"output": 8,
|
|
546
|
+
"cacheRead": 0.5
|
|
473
547
|
},
|
|
474
548
|
"openrouter/x-ai/grok-4.5": {
|
|
475
549
|
"input": 2,
|
|
476
|
-
"output": 6
|
|
550
|
+
"output": 6,
|
|
551
|
+
"cacheRead": 0.3
|
|
477
552
|
},
|
|
478
553
|
"openrouter/amazon/nova-premier-v1": {
|
|
479
554
|
"input": 2.5,
|
|
480
|
-
"output": 12.5
|
|
555
|
+
"output": 12.5,
|
|
556
|
+
"cacheRead": 0.625
|
|
481
557
|
},
|
|
482
558
|
"openrouter/mistralai/mistral-medium-3-5": {
|
|
483
559
|
"input": 1.5,
|
|
@@ -485,7 +561,8 @@
|
|
|
485
561
|
},
|
|
486
562
|
"openrouter/mistralai/mistral-large-2407": {
|
|
487
563
|
"input": 2,
|
|
488
|
-
"output": 6
|
|
564
|
+
"output": 6,
|
|
565
|
+
"cacheRead": 0.2
|
|
489
566
|
},
|
|
490
567
|
"openrouter/cohere/command-a": {
|
|
491
568
|
"input": 2.5,
|
|
@@ -493,39 +570,49 @@
|
|
|
493
570
|
},
|
|
494
571
|
"openrouter/aion-labs/aion-3.0": {
|
|
495
572
|
"input": 3,
|
|
496
|
-
"output": 6
|
|
573
|
+
"output": 6,
|
|
574
|
+
"cacheRead": 0.75
|
|
497
575
|
},
|
|
498
576
|
"openrouter/sakana/fugu-ultra": {
|
|
499
577
|
"input": 5,
|
|
500
|
-
"output": 30
|
|
578
|
+
"output": 30,
|
|
579
|
+
"cacheRead": 0.5
|
|
501
580
|
},
|
|
502
581
|
"deepseek/deepseek-flash": {
|
|
503
582
|
"input": 0.3,
|
|
504
|
-
"output": 1.2
|
|
583
|
+
"output": 1.2,
|
|
584
|
+
"cacheRead": 0.006,
|
|
585
|
+
"cacheWrite": 0.3
|
|
505
586
|
},
|
|
506
587
|
"openrouter/deepseek/deepseek-v4.1-flash": {
|
|
507
|
-
"input": 0.
|
|
508
|
-
"output": 0.
|
|
588
|
+
"input": 0.035,
|
|
589
|
+
"output": 0.29,
|
|
590
|
+
"cacheRead": 0.001
|
|
509
591
|
},
|
|
510
592
|
"openrouter/deepseek/deepseek-v4-flash-vision-exp": {
|
|
511
|
-
"input": 0.
|
|
512
|
-
"output": 0.
|
|
593
|
+
"input": 0.2156,
|
|
594
|
+
"output": 0.6468,
|
|
595
|
+
"cacheRead": 0.00686
|
|
513
596
|
},
|
|
514
597
|
"openrouter/openai/gpt-5-image": {
|
|
515
598
|
"input": 10,
|
|
516
|
-
"output": 10
|
|
599
|
+
"output": 10,
|
|
600
|
+
"cacheRead": 1.25
|
|
517
601
|
},
|
|
518
602
|
"openrouter/openai/gpt-5-image-mini": {
|
|
519
603
|
"input": 2.5,
|
|
520
|
-
"output": 2
|
|
604
|
+
"output": 2,
|
|
605
|
+
"cacheRead": 0.25
|
|
521
606
|
},
|
|
522
607
|
"openrouter/openai/gpt-5-mini": {
|
|
523
608
|
"input": 0.25,
|
|
524
|
-
"output": 2
|
|
609
|
+
"output": 2,
|
|
610
|
+
"cacheRead": 0.025
|
|
525
611
|
},
|
|
526
612
|
"openrouter/openai/gpt-5-nano": {
|
|
527
613
|
"input": 0.05,
|
|
528
|
-
"output": 0.4
|
|
614
|
+
"output": 0.4,
|
|
615
|
+
"cacheRead": 0.005
|
|
529
616
|
},
|
|
530
617
|
"openrouter/openai/gpt-5-pro": {
|
|
531
618
|
"input": 15,
|
|
@@ -533,15 +620,18 @@
|
|
|
533
620
|
},
|
|
534
621
|
"openrouter/openai/gpt-5.2": {
|
|
535
622
|
"input": 1.75,
|
|
536
|
-
"output": 14
|
|
623
|
+
"output": 14,
|
|
624
|
+
"cacheRead": 0.175
|
|
537
625
|
},
|
|
538
626
|
"openrouter/openai/gpt-5.2-chat": {
|
|
539
627
|
"input": 1.75,
|
|
540
|
-
"output": 14
|
|
628
|
+
"output": 14,
|
|
629
|
+
"cacheRead": 0.175
|
|
541
630
|
},
|
|
542
631
|
"openrouter/openai/gpt-5.2-codex": {
|
|
543
632
|
"input": 1.75,
|
|
544
|
-
"output": 14
|
|
633
|
+
"output": 14,
|
|
634
|
+
"cacheRead": 0.175
|
|
545
635
|
},
|
|
546
636
|
"openrouter/openai/gpt-5.2-pro": {
|
|
547
637
|
"input": 21,
|
|
@@ -549,19 +639,23 @@
|
|
|
549
639
|
},
|
|
550
640
|
"openrouter/openai/gpt-5.3-codex": {
|
|
551
641
|
"input": 1.75,
|
|
552
|
-
"output": 14
|
|
642
|
+
"output": 14,
|
|
643
|
+
"cacheRead": 0.175
|
|
553
644
|
},
|
|
554
645
|
"openrouter/openai/gpt-5.4": {
|
|
555
646
|
"input": 2.5,
|
|
556
|
-
"output": 15
|
|
647
|
+
"output": 15,
|
|
648
|
+
"cacheRead": 0.25
|
|
557
649
|
},
|
|
558
650
|
"openrouter/openai/gpt-5.4-image-2": {
|
|
559
651
|
"input": 8,
|
|
560
|
-
"output": 15
|
|
652
|
+
"output": 15,
|
|
653
|
+
"cacheRead": 2
|
|
561
654
|
},
|
|
562
655
|
"openrouter/openai/gpt-5.4-nano": {
|
|
563
656
|
"input": 0.2,
|
|
564
|
-
"output": 1.25
|
|
657
|
+
"output": 1.25,
|
|
658
|
+
"cacheRead": 0.02
|
|
565
659
|
},
|
|
566
660
|
"openrouter/openai/gpt-5.4-pro": {
|
|
567
661
|
"input": 30,
|
|
@@ -569,7 +663,8 @@
|
|
|
569
663
|
},
|
|
570
664
|
"openrouter/openai/gpt-5.5": {
|
|
571
665
|
"input": 5,
|
|
572
|
-
"output": 30
|
|
666
|
+
"output": 30,
|
|
667
|
+
"cacheRead": 0.5
|
|
573
668
|
},
|
|
574
669
|
"openrouter/openai/gpt-5.5-pro": {
|
|
575
670
|
"input": 30,
|
|
@@ -577,79 +672,117 @@
|
|
|
577
672
|
},
|
|
578
673
|
"openrouter/openai/gpt-5.6-luna-pro": {
|
|
579
674
|
"input": 0.2,
|
|
580
|
-
"output": 1.2
|
|
675
|
+
"output": 1.2,
|
|
676
|
+
"cacheRead": 0.02,
|
|
677
|
+
"cacheWrite": 0.25
|
|
581
678
|
},
|
|
582
679
|
"openrouter/openai/gpt-5.6-sol-pro": {
|
|
583
680
|
"input": 2,
|
|
584
|
-
"output": 10
|
|
681
|
+
"output": 10,
|
|
682
|
+
"cacheRead": 0.2,
|
|
683
|
+
"cacheWrite": 2.5
|
|
585
684
|
},
|
|
586
685
|
"openrouter/openai/gpt-5.6-terra": {
|
|
587
686
|
"input": 2,
|
|
588
|
-
"output": 12
|
|
687
|
+
"output": 12,
|
|
688
|
+
"cacheRead": 0.2,
|
|
689
|
+
"cacheWrite": 2.5
|
|
589
690
|
},
|
|
590
691
|
"openrouter/openai/gpt-5.6-terra-pro": {
|
|
591
692
|
"input": 2,
|
|
592
|
-
"output": 12
|
|
693
|
+
"output": 12,
|
|
694
|
+
"cacheRead": 0.2,
|
|
695
|
+
"cacheWrite": 2.5
|
|
593
696
|
},
|
|
594
697
|
"openrouter/openai/gpt-6-astra": {
|
|
595
698
|
"input": 10,
|
|
596
|
-
"output": 50
|
|
699
|
+
"output": 50,
|
|
700
|
+
"cacheRead": 1,
|
|
701
|
+
"cacheWrite": 12.5
|
|
597
702
|
},
|
|
598
703
|
"openrouter/openai/gpt-6-astra-pro": {
|
|
599
704
|
"input": 10,
|
|
600
|
-
"output": 50
|
|
705
|
+
"output": 50,
|
|
706
|
+
"cacheRead": 1,
|
|
707
|
+
"cacheWrite": 12.5
|
|
601
708
|
},
|
|
602
709
|
"openrouter/openai/gpt-6-luna": {
|
|
603
710
|
"input": 0.1,
|
|
604
|
-
"output": 0.5
|
|
711
|
+
"output": 0.5,
|
|
712
|
+
"cacheRead": 0.01,
|
|
713
|
+
"cacheWrite": 0.125
|
|
605
714
|
},
|
|
606
715
|
"openrouter/openai/gpt-6-luna-pro": {
|
|
607
716
|
"input": 0.1,
|
|
608
|
-
"output": 0.5
|
|
717
|
+
"output": 0.5,
|
|
718
|
+
"cacheRead": 0.01,
|
|
719
|
+
"cacheWrite": 0.125
|
|
609
720
|
},
|
|
610
721
|
"openrouter/openai/gpt-6-sol": {
|
|
611
722
|
"input": 2,
|
|
612
|
-
"output": 10
|
|
723
|
+
"output": 10,
|
|
724
|
+
"cacheRead": 0.2,
|
|
725
|
+
"cacheWrite": 2.5
|
|
613
726
|
},
|
|
614
727
|
"openrouter/openai/gpt-6-sol-pro": {
|
|
615
728
|
"input": 2,
|
|
616
|
-
"output": 10
|
|
729
|
+
"output": 10,
|
|
730
|
+
"cacheRead": 0.2,
|
|
731
|
+
"cacheWrite": 2.5
|
|
617
732
|
},
|
|
618
733
|
"openrouter/anthropic/claude-fable-5.1": {
|
|
619
734
|
"input": 10,
|
|
620
|
-
"output": 50
|
|
735
|
+
"output": 50,
|
|
736
|
+
"cacheRead": 0.25,
|
|
737
|
+
"cacheWrite": 12.5
|
|
621
738
|
},
|
|
622
739
|
"openrouter/anthropic/claude-opus-4.5": {
|
|
623
740
|
"input": 5,
|
|
624
|
-
"output": 25
|
|
741
|
+
"output": 25,
|
|
742
|
+
"cacheRead": 0.5,
|
|
743
|
+
"cacheWrite": 6.25
|
|
625
744
|
},
|
|
626
745
|
"openrouter/anthropic/claude-opus-4.6": {
|
|
627
746
|
"input": 5,
|
|
628
|
-
"output": 25
|
|
747
|
+
"output": 25,
|
|
748
|
+
"cacheRead": 0.5,
|
|
749
|
+
"cacheWrite": 6.25
|
|
629
750
|
},
|
|
630
751
|
"openrouter/anthropic/claude-opus-4.8": {
|
|
631
752
|
"input": 5,
|
|
632
|
-
"output": 25
|
|
753
|
+
"output": 25,
|
|
754
|
+
"cacheRead": 0.5,
|
|
755
|
+
"cacheWrite": 6.25
|
|
633
756
|
},
|
|
634
757
|
"openrouter/anthropic/claude-opus-5.5": {
|
|
635
758
|
"input": 4,
|
|
636
|
-
"output": 20
|
|
759
|
+
"output": 20,
|
|
760
|
+
"cacheRead": 0.2,
|
|
761
|
+
"cacheWrite": 5
|
|
637
762
|
},
|
|
638
763
|
"openrouter/google/gemini-3.5-flash": {
|
|
639
764
|
"input": 1.5,
|
|
640
|
-
"output": 9
|
|
765
|
+
"output": 9,
|
|
766
|
+
"cacheRead": 0.15,
|
|
767
|
+
"cacheWrite": 0.083333
|
|
641
768
|
},
|
|
642
769
|
"openrouter/google/gemini-3.5-flash-lite": {
|
|
643
770
|
"input": 0.3,
|
|
644
|
-
"output": 2.5
|
|
771
|
+
"output": 2.5,
|
|
772
|
+
"cacheRead": 0.03,
|
|
773
|
+
"cacheWrite": 0.083333
|
|
645
774
|
},
|
|
646
775
|
"openrouter/google/gemini-3.7-flash": {
|
|
647
776
|
"input": 0.75,
|
|
648
|
-
"output": 3.75
|
|
777
|
+
"output": 3.75,
|
|
778
|
+
"cacheRead": 0.075,
|
|
779
|
+
"cacheWrite": 0.041667
|
|
649
780
|
},
|
|
650
781
|
"openrouter/google/gemini-3.8-flash": {
|
|
651
782
|
"input": 0.75,
|
|
652
|
-
"output": 3.75
|
|
783
|
+
"output": 3.75,
|
|
784
|
+
"cacheRead": 0.075,
|
|
785
|
+
"cacheWrite": 0.041667
|
|
653
786
|
},
|
|
654
787
|
"openrouter/qwen/qwen3.5-122b-a10b": {
|
|
655
788
|
"input": 0.26,
|
|
@@ -661,11 +794,13 @@
|
|
|
661
794
|
},
|
|
662
795
|
"openrouter/qwen/qwen3.5-35b-a3b": {
|
|
663
796
|
"input": 0.3125,
|
|
664
|
-
"output": 1.25
|
|
797
|
+
"output": 1.25,
|
|
798
|
+
"cacheRead": 0.15625
|
|
665
799
|
},
|
|
666
800
|
"openrouter/qwen/qwen3.5-397b-a17b": {
|
|
667
801
|
"input": 0.55,
|
|
668
|
-
"output": 3.5
|
|
802
|
+
"output": 3.5,
|
|
803
|
+
"cacheRead": 0.225
|
|
669
804
|
},
|
|
670
805
|
"openrouter/qwen/qwen3.5-9b": {
|
|
671
806
|
"input": 0.1,
|
|
@@ -681,46 +816,59 @@
|
|
|
681
816
|
},
|
|
682
817
|
"openrouter/qwen/qwen3.5-plus-20260420": {
|
|
683
818
|
"input": 0.3,
|
|
684
|
-
"output": 1.8
|
|
819
|
+
"output": 1.8,
|
|
820
|
+
"cacheWrite": 0.375
|
|
685
821
|
},
|
|
686
822
|
"openrouter/qwen/qwen3.8-2.4t-a95b": {
|
|
687
823
|
"input": 2,
|
|
688
|
-
"output": 6
|
|
824
|
+
"output": 6,
|
|
825
|
+
"cacheRead": 0.25
|
|
689
826
|
},
|
|
690
827
|
"openrouter/qwen/qwen3.8-27b": {
|
|
691
828
|
"input": 0.42,
|
|
692
|
-
"output": 3
|
|
829
|
+
"output": 3,
|
|
830
|
+
"cacheRead": 0.085
|
|
693
831
|
},
|
|
694
832
|
"openrouter/qwen/qwen3.8-flash": {
|
|
695
833
|
"input": 0.15,
|
|
696
|
-
"output": 0.47
|
|
834
|
+
"output": 0.47,
|
|
835
|
+
"cacheRead": 0.016,
|
|
836
|
+
"cacheWrite": 0.2
|
|
697
837
|
},
|
|
698
838
|
"openrouter/qwen/qwen3.8-max-0902": {
|
|
699
839
|
"input": 2,
|
|
700
|
-
"output": 6
|
|
840
|
+
"output": 6,
|
|
841
|
+
"cacheRead": 0.25,
|
|
842
|
+
"cacheWrite": 2.5
|
|
701
843
|
},
|
|
702
844
|
"openrouter/qwen/qwen3.8-omni-flash": {
|
|
703
845
|
"input": 0.15,
|
|
704
|
-
"output": 0.47
|
|
846
|
+
"output": 0.47,
|
|
847
|
+
"cacheRead": 0.016
|
|
705
848
|
},
|
|
706
849
|
"openrouter/deepseek/deepseek-v4-flash-0731": {
|
|
707
|
-
"input": 0.
|
|
708
|
-
"output": 0.
|
|
850
|
+
"input": 0.021,
|
|
851
|
+
"output": 0.32,
|
|
852
|
+
"cacheRead": 0.016
|
|
709
853
|
},
|
|
710
854
|
"openrouter/deepseek/deepseek-v4-pro-0813": {
|
|
711
|
-
"input": 0.
|
|
712
|
-
"output":
|
|
855
|
+
"input": 0.24502,
|
|
856
|
+
"output": 3.5,
|
|
857
|
+
"cacheRead": 0.24452
|
|
713
858
|
},
|
|
714
859
|
"openrouter/moonshotai/kimi-k2.5": {
|
|
715
860
|
"input": 0.45,
|
|
716
|
-
"output": 2.25
|
|
861
|
+
"output": 2.25,
|
|
862
|
+
"cacheRead": 0.07
|
|
717
863
|
},
|
|
718
864
|
"openrouter/x-ai/grok-4.6": {
|
|
719
865
|
"input": 2,
|
|
720
|
-
"output": 6
|
|
866
|
+
"output": 6,
|
|
867
|
+
"cacheRead": 0.5
|
|
721
868
|
},
|
|
722
869
|
"openrouter/x-ai/grok-4.7": {
|
|
723
870
|
"input": 1.6,
|
|
724
|
-
"output": 4.8
|
|
871
|
+
"output": 4.8,
|
|
872
|
+
"cacheRead": 0.4
|
|
725
873
|
}
|
|
726
874
|
}
|