@blockrun/clawrouter 0.12.243 → 0.12.245

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/dist/index.js CHANGED
@@ -92,7 +92,6 @@ var init_top_models = __esm({
92
92
  "deepseek/deepseek-v4-pro",
93
93
  "deepseek/deepseek-chat",
94
94
  "deepseek/deepseek-reasoner",
95
- "free/deepseek-v4-flash",
96
95
  "free/nemotron-3-nano-omni-30b-a3b-reasoning",
97
96
  "free/mistral-nemotron",
98
97
  "free/step-3.7-flash",
@@ -292,6 +291,14 @@ var init_models = __esm({
292
291
  "gpt-5.6-sol": "openai/gpt-5.6-sol",
293
292
  "gpt-5.6-terra": "openai/gpt-5.6-terra",
294
293
  "gpt-5.6-luna": "openai/gpt-5.6-luna",
294
+ // Pro reasoning tiers (2026-08-03). Explicit pins only — the generic
295
+ // shorthands above stay on standard Terra.
296
+ "gpt-5.6-sol-pro": "openai/gpt-5.6-sol-pro",
297
+ "gpt-5.6-terra-pro": "openai/gpt-5.6-terra-pro",
298
+ "gpt-5.6-luna-pro": "openai/gpt-5.6-luna-pro",
299
+ "sol-pro": "openai/gpt-5.6-sol-pro",
300
+ "terra-pro": "openai/gpt-5.6-terra-pro",
301
+ "luna-pro": "openai/gpt-5.6-luna-pro",
295
302
  "gpt-5.5": "openai/gpt-5.5",
296
303
  "gpt-5.5-pro": "openai/gpt-5.5-pro",
297
304
  // ChatGPT Instant. `chat-latest` is a rolling upstream id — pinning it means
@@ -343,6 +350,20 @@ var init_models = __esm({
343
350
  "qwen3.7-max": "qwen/qwen3.7-max",
344
351
  "qwen-3.7-max": "qwen/qwen3.7-max",
345
352
  "qwen3-7-max": "qwen/qwen3.7-max",
353
+ // Plus/Flash tiers (2026-08-03) — explicit pins, same rule as Max.
354
+ "qwen3.7-plus": "qwen/qwen3.7-plus",
355
+ "qwen-3.7-plus": "qwen/qwen3.7-plus",
356
+ "qwen3.7-flash": "qwen/qwen3.7-flash",
357
+ "qwen-3.7-flash": "qwen/qwen3.7-flash",
358
+ // Tencent + Xiaomi (2026-07-25) — each maker has exactly one model, so the
359
+ // bare maker names are safe to bind.
360
+ hy3: "tencent/hy3",
361
+ tencent: "tencent/hy3",
362
+ hunyuan: "tencent/hy3",
363
+ mimo: "xiaomi/mimo-v2.5-pro",
364
+ "mimo-v2.5-pro": "xiaomi/mimo-v2.5-pro",
365
+ "mimo-v2.5": "xiaomi/mimo-v2.5-pro",
366
+ xiaomi: "xiaomi/mimo-v2.5-pro",
346
367
  // Google
347
368
  // gemini-3-pro-preview delisted by Google 2026-06-06 — mirror the gateway
348
369
  // redirect to its successor so pinned callers land on 3.1-pro, not an error.
@@ -358,7 +379,10 @@ var init_models = __esm({
358
379
  flash: "google/gemini-2.5-flash",
359
380
  "gemini-3.1-pro-preview": "google/gemini-3.1-pro",
360
381
  "google/gemini-3.1-pro-preview": "google/gemini-3.1-pro",
382
+ "gemini-3.6-flash": "google/gemini-3.6-flash",
383
+ "gemini-3.6": "google/gemini-3.6-flash",
361
384
  "gemini-3.5-flash": "google/gemini-3.5-flash",
385
+ "gemini-3.5-flash-lite": "google/gemini-3.5-flash-lite",
362
386
  "gemini-3.1-flash-lite": "google/gemini-3.1-flash-lite",
363
387
  "gemini-2.5-flash-lite": "google/gemini-2.5-flash-lite",
364
388
  // xAI — grok-4.3 is the public flagship since 2026-06-04 (grok-3 and the
@@ -394,12 +418,17 @@ var init_models = __esm({
394
418
  "gpt-20b": "free/gpt-oss-20b",
395
419
  "nvidia/gpt-oss-120b": "free/gpt-oss-120b",
396
420
  "nvidia/gpt-oss-20b": "free/gpt-oss-20b",
397
- // deepseek family → v4-flash, matching blockrun's 2026-07-17 redirect map
398
- // (v4-flash recovered in the live re-probe; v3.2/v4-pro stay dead upstream).
399
- "nvidia/deepseek-v3.2": "free/deepseek-v4-flash",
400
- "free/deepseek-v3.2": "free/deepseek-v4-flash",
401
- "nvidia/deepseek-v4-pro": "free/deepseek-v4-flash",
402
- "free/deepseek-v4-pro": "free/deepseek-v4-flash",
421
+ // deepseek free family: v4-flash EOL'd 2026-08-12 (HTTP 410 from NVIDIA on both
422
+ // probe passes; prod gate fired [ALERT][free-model-dead] kind=gone twice that
423
+ // morning). The whole nvidia/deepseek-* family is now dead upstream — blockrun
424
+ // hid flash and retargeted v3.2/v4-pro (whose redirects chained through flash)
425
+ // straight to gpt-oss-120b. Ids naming v4-flash itself keep the real id (the
426
+ // gateway redirects them); the v3.2/v4-pro ids follow blockrun's retarget
427
+ // rather than chaining through a second dead model.
428
+ "nvidia/deepseek-v3.2": "free/gpt-oss-120b",
429
+ "free/deepseek-v3.2": "free/gpt-oss-120b",
430
+ "nvidia/deepseek-v4-pro": "free/gpt-oss-120b",
431
+ "free/deepseek-v4-pro": "free/gpt-oss-120b",
403
432
  "nvidia/deepseek-v4-flash": "free/deepseek-v4-flash",
404
433
  "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning": "free/nemotron-3-nano-omni-30b-a3b-reasoning",
405
434
  // qwen3-coder-480b retired (NVIDIA EOL 2026-06-14). Its server-side redirect used
@@ -441,13 +470,16 @@ var init_models = __esm({
441
470
  "mistral-large-3-675b": "free/mistral-large-3-675b",
442
471
  "qwen3.5-122b": "free/qwen3.5-122b-a10b",
443
472
  "qwen3-122b": "free/qwen3.5-122b-a10b",
444
- // Free model shorthand aliases (v4-flash recovered 2026-07-17 — live again)
445
- "deepseek-free": "free/deepseek-v4-flash",
446
- "deepseek-v4-pro": "free/deepseek-v4-flash",
447
- // free shorthand → flash (pro still hung)
473
+ // Free model shorthand aliases. v4-flash EOL'd 2026-08-12 — no free DeepSeek
474
+ // is left anywhere, so the generic "a free deepseek" shorthand follows the
475
+ // gateway's retarget (blockrun's /free-deepseek page points at gpt-oss-120b
476
+ // too). Shorthands naming v4-flash itself stay on the real id — the gateway
477
+ // redirects them, same treatment as seed-oss/mistral-large pins.
478
+ "deepseek-free": "free/gpt-oss-120b",
479
+ "deepseek-v4-pro": "free/gpt-oss-120b",
480
+ // free shorthand; pro dead upstream (410)
448
481
  "deepseek-v4-flash": "free/deepseek-v4-flash",
449
- "v4-pro": "free/deepseek-v4-flash",
450
- // V4 Pro NVIDIA hung → flash
482
+ "v4-pro": "free/gpt-oss-120b",
451
483
  "v4-flash": "free/deepseek-v4-flash",
452
484
  "mistral-free": "free/mistral-nemotron",
453
485
  // mistral-large-3-675b EOL'd 2026-07-28 → last live free Mistral (blockrun demoted its /free-mistral primary the same way)
@@ -527,16 +559,32 @@ var init_models = __esm({
527
559
  banana: "google/nano-banana",
528
560
  "banana-pro": "google/nano-banana-pro",
529
561
  "nano-banana-pro": "google/nano-banana-pro",
562
+ // Nano Banana 2 (Gemini 3.1 Flash imagegen, 2026-08-03). Explicit pins —
563
+ // bare `nano-banana`/`banana` stay on the original.
564
+ "nano-banana-2": "google/nano-banana-2",
565
+ "banana-2": "google/nano-banana-2",
530
566
  seedream: "bytedance/seedream-5-pro",
531
567
  "grok-imagine": "xai/grok-imagine-image",
532
568
  "grok-imagine-pro": "xai/grok-imagine-image-pro",
533
569
  cogview: "zai/cogview-4",
534
570
  // Video generation
535
571
  "grok-video": "xai/grok-imagine-video",
572
+ // Bare `seedance` deliberately stays on 1.5-pro. It is the cheapest of the
573
+ // family ($0.070/s vs 2.5's $0.315/s) and `/videogen` documents it as
574
+ // "default — cheapest"; repointing it at the newest tier would 4.5x the
575
+ // quote for every caller who typed the short name expecting the default.
576
+ // Same reasoning that keeps `kimi` on K2.7. Pin 2.5 explicitly to opt in.
536
577
  seedance: "bytedance/seedance-1.5-pro",
537
578
  "seedance-1.5": "bytedance/seedance-1.5-pro",
538
579
  "seedance-2-fast": "bytedance/seedance-2.0-fast",
539
- "seedance-2": "bytedance/seedance-2.0"
580
+ "seedance-2": "bytedance/seedance-2.0",
581
+ "seedance-2.5": "bytedance/seedance-2.5",
582
+ "seedance-2-5": "bytedance/seedance-2.5",
583
+ // Seedance 2.0 Mini (2026-08-12): 720p + synced audio at half the flagship
584
+ // rate. Note it is NOT cheaper than 1.5-pro, so bare `seedance` stays put.
585
+ "seedance-2-mini": "bytedance/seedance-2.0-mini",
586
+ "seedance-2.0-mini": "bytedance/seedance-2.0-mini",
587
+ "seedance-mini": "bytedance/seedance-2.0-mini"
540
588
  };
541
589
  BLOCKRUN_MODELS = [
542
590
  // Smart routing meta-models — proxy replaces with actual model
@@ -644,11 +692,12 @@ var init_models = __esm({
644
692
  toolCalling: true
645
693
  },
646
694
  {
695
+ // Terra/Luna repriced 2026-07-30 (OpenAI price cut, blockrun #326).
647
696
  id: "openai/gpt-5.6-terra",
648
697
  name: "GPT-5.6 Terra",
649
698
  version: "5.6",
650
- inputPrice: 2.5,
651
- outputPrice: 15,
699
+ inputPrice: 2,
700
+ outputPrice: 12,
652
701
  contextWindow: 105e4,
653
702
  maxOutput: 128e3,
654
703
  reasoning: true,
@@ -660,10 +709,52 @@ var init_models = __esm({
660
709
  id: "openai/gpt-5.6-luna",
661
710
  name: "GPT-5.6 Luna",
662
711
  version: "5.6",
712
+ inputPrice: 0.2,
713
+ outputPrice: 1.2,
714
+ contextWindow: 105e4,
715
+ maxOutput: 128e3,
716
+ vision: true,
717
+ agentic: true,
718
+ toolCalling: true
719
+ },
720
+ // GPT-5.6 Pro tiers (blockrun #329, 2026-08-03): each base tier with pro
721
+ // reasoning mode. Terra Pro lands at half the standard Terra rate; Luna Pro
722
+ // is the budget deep-reasoning tier.
723
+ {
724
+ id: "openai/gpt-5.6-sol-pro",
725
+ name: "GPT-5.6 Sol Pro",
726
+ version: "5.6",
727
+ inputPrice: 5,
728
+ outputPrice: 30,
729
+ contextWindow: 105e4,
730
+ maxOutput: 128e3,
731
+ reasoning: true,
732
+ vision: true,
733
+ agentic: true,
734
+ toolCalling: true
735
+ },
736
+ {
737
+ id: "openai/gpt-5.6-terra-pro",
738
+ name: "GPT-5.6 Terra Pro",
739
+ version: "5.6",
663
740
  inputPrice: 1,
664
741
  outputPrice: 6,
665
742
  contextWindow: 105e4,
666
743
  maxOutput: 128e3,
744
+ reasoning: true,
745
+ vision: true,
746
+ agentic: true,
747
+ toolCalling: true
748
+ },
749
+ {
750
+ id: "openai/gpt-5.6-luna-pro",
751
+ name: "GPT-5.6 Luna Pro",
752
+ version: "5.6",
753
+ inputPrice: 0.1,
754
+ outputPrice: 0.6,
755
+ contextWindow: 105e4,
756
+ maxOutput: 128e3,
757
+ reasoning: true,
667
758
  vision: true,
668
759
  agentic: true,
669
760
  toolCalling: true
@@ -1067,19 +1158,45 @@ var init_models = __esm({
1067
1158
  toolCalling: true
1068
1159
  },
1069
1160
  {
1070
- // Latest-generation Flash with built-in thinking mode (backend
1071
- // 2026-05-19) — frontier-class quality at Flash pricing.
1161
+ // Newest-generation Flash with built-in thinking mode (blockrun #329,
1162
+ // 2026-08-03). 17% cheaper output than 3.5 Flash.
1163
+ id: "google/gemini-3.6-flash",
1164
+ name: "Gemini 3.6 Flash",
1165
+ version: "3.6",
1166
+ inputPrice: 1.5,
1167
+ outputPrice: 7.5,
1168
+ contextWindow: 1048576,
1169
+ maxOutput: 65536,
1170
+ reasoning: true,
1171
+ vision: true,
1172
+ toolCalling: true
1173
+ },
1174
+ {
1175
+ // Repriced 0.5/3.0 → 1.5/9.0 (blockrun #304: it was billed at 1/3 of
1176
+ // Google's real rate).
1072
1177
  id: "google/gemini-3.5-flash",
1073
1178
  name: "Gemini 3.5 Flash",
1074
1179
  version: "3.5",
1075
- inputPrice: 0.5,
1076
- outputPrice: 3,
1180
+ inputPrice: 1.5,
1181
+ outputPrice: 9,
1077
1182
  contextWindow: 1048576,
1078
1183
  maxOutput: 65536,
1079
1184
  reasoning: true,
1080
1185
  vision: true,
1081
1186
  toolCalling: true
1082
1187
  },
1188
+ {
1189
+ // Ultra-fast lightweight tier with thinking mode (blockrun #329).
1190
+ id: "google/gemini-3.5-flash-lite",
1191
+ name: "Gemini 3.5 Flash Lite",
1192
+ version: "3.5",
1193
+ inputPrice: 0.3,
1194
+ outputPrice: 2.5,
1195
+ contextWindow: 1048576,
1196
+ maxOutput: 65536,
1197
+ reasoning: true,
1198
+ toolCalling: true
1199
+ },
1083
1200
  {
1084
1201
  id: "google/gemini-3-flash-preview",
1085
1202
  name: "Gemini 3 Flash Preview",
@@ -1136,12 +1253,14 @@ var init_models = __esm({
1136
1253
  },
1137
1254
  // DeepSeek — V4 family (2026-04-24). The legacy deepseek-chat/reasoner
1138
1255
  // aliases are served upstream as V4 Flash non-thinking / thinking modes.
1256
+ // Repriced 0.20/0.40 → 0.14/0.28 (blockrun #354: DeepSeek's published
1257
+ // deepseek-v4-flash rate; the old numbers were 1.43x the real rate).
1139
1258
  {
1140
1259
  id: "deepseek/deepseek-chat",
1141
1260
  name: "DeepSeek V4 Flash Chat",
1142
1261
  version: "4-flash",
1143
- inputPrice: 0.2,
1144
- outputPrice: 0.4,
1262
+ inputPrice: 0.14,
1263
+ outputPrice: 0.28,
1145
1264
  contextWindow: 1e6,
1146
1265
  maxOutput: 8192,
1147
1266
  toolCalling: true
@@ -1150,8 +1269,8 @@ var init_models = __esm({
1150
1269
  id: "deepseek/deepseek-reasoner",
1151
1270
  name: "DeepSeek V4 Flash Reasoner",
1152
1271
  version: "4-flash",
1153
- inputPrice: 0.2,
1154
- outputPrice: 0.4,
1272
+ inputPrice: 0.14,
1273
+ outputPrice: 0.28,
1155
1274
  contextWindow: 1e6,
1156
1275
  maxOutput: 8192,
1157
1276
  reasoning: true,
@@ -1230,6 +1349,32 @@ var init_models = __esm({
1230
1349
  agentic: true,
1231
1350
  toolCalling: true
1232
1351
  },
1352
+ // Qwen3.7 Plus/Flash (blockrun #329, 2026-08-03): the balanced and
1353
+ // latency tiers under Max. Plus genuinely caps output at 131072 while
1354
+ // Flash and Max cap at 65536 (endpoint-probed upstream).
1355
+ {
1356
+ id: "qwen/qwen3.7-plus",
1357
+ name: "Qwen3.7 Plus",
1358
+ version: "3.7-plus",
1359
+ inputPrice: 0.32,
1360
+ outputPrice: 1.28,
1361
+ contextWindow: 1e6,
1362
+ maxOutput: 131072,
1363
+ reasoning: true,
1364
+ agentic: true,
1365
+ toolCalling: true
1366
+ },
1367
+ {
1368
+ id: "qwen/qwen3.7-flash",
1369
+ name: "Qwen3.7 Flash",
1370
+ version: "3.7-flash",
1371
+ inputPrice: 0.03,
1372
+ outputPrice: 0.13,
1373
+ contextWindow: 1e6,
1374
+ maxOutput: 65536,
1375
+ reasoning: true,
1376
+ toolCalling: true
1377
+ },
1233
1378
  // Kimi K2.6 — superseded by K2.7 (2026-06-13), hidden on BlockRun but still routable.
1234
1379
  {
1235
1380
  id: "moonshot/kimi-k2.6",
@@ -1441,6 +1586,34 @@ var init_models = __esm({
1441
1586
  agentic: true,
1442
1587
  toolCalling: true
1443
1588
  },
1589
+ // Tencent + Xiaomi (blockrun 2026-07-25): the two largest real demand gaps
1590
+ // in the catalog — Hy3 held the #1 usage slot on the biggest public
1591
+ // aggregator for 19 days; MiMo ran ~22% weekly share in April. Both are
1592
+ // reasoning models resold via blockrun's OpenRouter pool. toolCalling
1593
+ // LIVE-VERIFIED 2026-08-12: both returned a structured tool_calls array
1594
+ // (name + valid JSON args, finish_reason "tool_calls") through the gateway.
1595
+ {
1596
+ id: "tencent/hy3",
1597
+ name: "Tencent Hy3",
1598
+ version: "hy3",
1599
+ inputPrice: 0.132,
1600
+ outputPrice: 0.528,
1601
+ contextWindow: 262144,
1602
+ maxOutput: 128e3,
1603
+ reasoning: true,
1604
+ toolCalling: true
1605
+ },
1606
+ {
1607
+ id: "xiaomi/mimo-v2.5-pro",
1608
+ name: "Xiaomi MiMo-V2.5 Pro",
1609
+ version: "v2.5-pro",
1610
+ inputPrice: 0.435,
1611
+ outputPrice: 0.87,
1612
+ contextWindow: 1048576,
1613
+ maxOutput: 131072,
1614
+ reasoning: true,
1615
+ toolCalling: true
1616
+ },
1444
1617
  // MiniMax
1445
1618
  {
1446
1619
  id: "minimax/minimax-m3",
@@ -1514,11 +1687,13 @@ var init_models = __esm({
1514
1687
  maxOutput: 16384
1515
1688
  },
1516
1689
  {
1517
- // V4 Flash: 284B / 13B active MoE, 1M context. ~5x faster than V4 Pro.
1518
- // Strong on chat/summarization (MMLU-Pro 86.2). Caveat: weaker factual
1519
- // recall (SimpleQA 34% vs Pro's 58%) — pick V4 Pro for fact-heavy loops.
1520
- // Recovered in blockrun's 2026-07-17 live re-probe (3.2s both passes) —
1521
- // un-hidden upstream and back in the advertised free 8.
1690
+ // V4 Flash: 284B / 13B active MoE, 1M context. EOL'd 2026-08-12 — NVIDIA
1691
+ // published 410 Gone ("has reached its end of life") on both probe passes
1692
+ // and blockrun's prod gate fired [ALERT][free-model-dead] kind=gone twice
1693
+ // that morning. The whole nvidia/deepseek-* family is dead upstream; there
1694
+ // is no free DeepSeek left anywhere. Blockrun hid it and redirects calls to
1695
+ // gpt-oss-120b. Entry kept so explicit pins stay routable; off the picker,
1696
+ // the FREE_MODELS cascade, and the router fallback chains.
1522
1697
  id: "free/deepseek-v4-flash",
1523
1698
  name: "[Free] DeepSeek V4 Flash",
1524
1699
  version: "v4-flash",
@@ -1602,7 +1777,8 @@ var init_models = __esm({
1602
1777
  // 2026-06-16: BlockRun's 2026-06-14 free-tier refresh (self-healing health gate
1603
1778
  // + probe-verified lineup, blockrun commit 5817ecd) added these live NVIDIA free
1604
1779
  // models. Status per blockrun's 2026-07-17 live re-probe: qwen3-coder-480b and
1605
- // glm-4.7 stay dead (server-redirected); deepseek-v4-flash recovered (see above).
1780
+ // glm-4.7 stay dead (server-redirected); deepseek-v4-flash recovered then
1781
+ // EOL'd for good 2026-08-12 (see above).
1606
1782
  {
1607
1783
  // Qwen3-Next 80B (A3B active MoE): 262K context. DIED in the 2026-07-17
1608
1784
  // re-probe (">60s / DEGRADED") — hidden upstream, gateway redirects pinned
@@ -1707,11 +1883,12 @@ var init_models = __esm({
1707
1883
  },
1708
1884
  {
1709
1885
  // Flat-rate launch promo ended 2026-06-06 — backend bills per-token now.
1886
+ // Repriced 0.60/1.92 → 1.00/3.20 (blockrun #354 correction).
1710
1887
  id: "zai/glm-5",
1711
1888
  name: "GLM-5",
1712
1889
  version: "5",
1713
- inputPrice: 0.6,
1714
- outputPrice: 1.92,
1890
+ inputPrice: 1,
1891
+ outputPrice: 3.2,
1715
1892
  contextWindow: 2e5,
1716
1893
  maxOutput: 128e3,
1717
1894
  reasoning: true,
@@ -37866,10 +38043,9 @@ ${value.slice(-(scanLimit - prefixLength))}`;
37866
38043
  fallback: [
37867
38044
  "free/gpt-oss-20b",
37868
38045
  // FREE — smaller, faster
37869
- "free/deepseek-v4-flash",
37870
- // FREE — 1M ctx; slow (~10 tok/s, 07-28 probe) but completes
37871
- // seed-oss-36b sat here as the free coder until it EOL'd 2026-08-03 (HTTP 410).
37872
- // gpt-oss-120b/20b already head this chain, so the rung is dropped, not retargeted.
38046
+ // deepseek-v4-flash and seed-oss-36b sat here until NVIDIA EOL'd them
38047
+ // (410; 2026-08-12 and 2026-08-03 respectively). gpt-oss-120b/20b already
38048
+ // head this chain, so the rungs are dropped, not retargeted.
37873
38049
  "google/gemini-3.1-flash-lite",
37874
38050
  // $0.25/$1.50 — newest flash-lite
37875
38051
  "openai/gpt-5.4-nano",
@@ -92400,8 +92576,6 @@ var init_proxy = __esm({
92400
92576
  FREE_MODELS = /* @__PURE__ */ new Set([
92401
92577
  "free/gpt-oss-120b",
92402
92578
  "free/gpt-oss-20b",
92403
- "free/deepseek-v4-flash",
92404
- // 1M ctx; slow (~10 tok/s, 07-28 probe) but completes
92405
92579
  "free/mistral-nemotron",
92406
92580
  // strong instruction following
92407
92581
  "free/step-3.7-flash",
@@ -92498,6 +92672,8 @@ var init_proxy = __esm({
92498
92672
  sizes: { "1024x1024": 0.045, "2048x1024": 0.045, "2048x2048": 0.09 }
92499
92673
  },
92500
92674
  "google/nano-banana": { default: 0.05 },
92675
+ // Nano Banana 2 (Gemini 3.1 Flash imagegen, blockrun #329): $0.09/image at 1K.
92676
+ "google/nano-banana-2": { default: 0.09, sizes: { "1024x1024": 0.09 } },
92501
92677
  "google/nano-banana-pro": {
92502
92678
  default: 0.1,
92503
92679
  sizes: { "1024x1024": 0.1, "2048x2048": 0.1, "4096x4096": 0.15 }
@@ -92518,13 +92694,32 @@ var init_proxy = __esm({
92518
92694
  };
92519
92695
  VIDEO_PRICING = {
92520
92696
  "xai/grok-imagine-video": { pricePerSecond: 0.05, defaultDurationSeconds: 8 },
92521
- "bytedance/seedance-1.5-pro": { pricePerSecond: 0.0875, defaultDurationSeconds: 5 },
92697
+ // Seedance rates re-synced 2026-08-08 from blockrun's models.ts after the
92698
+ // family reprice (blockrun #351/#354). All three were carrying pre-reprice
92699
+ // numbers, which only ever skewed the usage log — the charge comes from the
92700
+ // x402 header, and estimateVideoCost is the fallback for when it is absent.
92701
+ "bytedance/seedance-1.5-pro": { pricePerSecond: 0.07, defaultDurationSeconds: 5 },
92522
92702
  "bytedance/seedance-2.0-fast": {
92523
- pricePerSecond: 0.22687,
92703
+ pricePerSecond: 0.165,
92524
92704
  defaultDurationSeconds: 5
92525
92705
  },
92526
92706
  "bytedance/seedance-2.0": {
92527
- pricePerSecond: 0.28358,
92707
+ pricePerSecond: 0.227,
92708
+ defaultDurationSeconds: 5
92709
+ },
92710
+ // Seedance 2.0 Mini (blockrun #366/#368, 2026-08-12): 720p + synced audio at
92711
+ // half the flagship rate, 480p/720p only, 4–15s. blockrun signs the 3dp-floored
92712
+ // per-second value (0.079, not the raw 0.0797) — mirror the signed number.
92713
+ "bytedance/seedance-2.0-mini": {
92714
+ pricePerSecond: 0.079,
92715
+ defaultDurationSeconds: 5
92716
+ },
92717
+ // Seedance 2.5: 720p with synced audio, up to 30s. Not a replacement for 2.0
92718
+ // Pro — that is still the one for 1080p/4K. No OpenRouter failover exists for
92719
+ // 2.5, so a token360 outage surfaces as an error instead of quietly rendering
92720
+ // on another model.
92721
+ "bytedance/seedance-2.5": {
92722
+ pricePerSecond: 0.315,
92528
92723
  defaultDurationSeconds: 5
92529
92724
  },
92530
92725
  // Sora 2 via Azure AI Foundry — flat $0.10/s for both t2v and i2v.
@@ -225799,7 +225994,9 @@ function buildVideoGenerationProvider() {
225799
225994
  "xai/grok-imagine-video",
225800
225995
  "bytedance/seedance-1.5-pro",
225801
225996
  "bytedance/seedance-2.0-fast",
225802
- "bytedance/seedance-2.0"
225997
+ "bytedance/seedance-2.0",
225998
+ "bytedance/seedance-2.0-mini",
225999
+ "bytedance/seedance-2.5"
225803
226000
  ],
225804
226001
  capabilities: {
225805
226002
  maxVideos: 1,
@@ -226299,7 +226496,7 @@ var init_index = __esm({
226299
226496
  const parsed = parseGenArgs(ctx.args ?? "");
226300
226497
  if (!parsed.prompt) {
226301
226498
  return {
226302
- text: "Usage: `/cr-imagegen <prompt> [--model=<alias>] [--size=1024x1024] [--n=1]`\n\nAliases: `nano-banana` (default), `banana-pro`, `dalle`, `gpt-image`, `flux`, `grok-imagine`, `grok-imagine-pro`, `cogview`."
226499
+ text: "Usage: `/cr-imagegen <prompt> [--model=<alias>] [--size=1024x1024] [--n=1]`\n\nAliases: `nano-banana` (default), `banana-2` (Gemini 3.1 Flash quality), `banana-pro`, `dalle`, `gpt-image`, `flux`, `grok-imagine`, `grok-imagine-pro`, `cogview`."
226303
226500
  };
226304
226501
  }
226305
226502
  const model = resolveModelAlias(parsed.model ?? "nano-banana");
@@ -226351,7 +226548,7 @@ ${errText}`
226351
226548
  const parsed = parseGenArgs(ctx.args ?? "");
226352
226549
  if (!parsed.prompt) {
226353
226550
  return {
226354
- text: "Usage: `/videogen <prompt> [--model=<alias>] [--duration=5|8|10]`\n\nAliases: `seedance` (1.5-pro, default \u2014 cheapest), `seedance-2-fast`, `seedance-2`, `grok-video`.\n\n\u23F1\uFE0F Generation takes 60\u2013180 seconds. Payment settles only on success."
226551
+ text: "Usage: `/videogen <prompt> [--model=<alias>] [--duration=5|8|10]`\n\nAliases: `seedance` (1.5-pro, default \u2014 cheapest), `seedance-2-fast`, `seedance-2`, `seedance-2-mini` (720p + audio, half the flagship rate), `seedance-2.5` (720p + synced audio, long-form), `grok-video`.\n\n\u23F1\uFE0F Generation takes 60\u2013180 seconds. Payment settles only on success."
226355
226552
  };
226356
226553
  }
226357
226554
  const model = resolveModelAlias(parsed.model ?? "seedance");
@@ -3008,10 +3008,9 @@ var DEFAULT_ROUTING_CONFIG = {
3008
3008
  fallback: [
3009
3009
  "free/gpt-oss-20b",
3010
3010
  // FREE — smaller, faster
3011
- "free/deepseek-v4-flash",
3012
- // FREE — 1M ctx; slow (~10 tok/s, 07-28 probe) but completes
3013
- // seed-oss-36b sat here as the free coder until it EOL'd 2026-08-03 (HTTP 410).
3014
- // gpt-oss-120b/20b already head this chain, so the rung is dropped, not retargeted.
3011
+ // deepseek-v4-flash and seed-oss-36b sat here until NVIDIA EOL'd them
3012
+ // (410; 2026-08-12 and 2026-08-03 respectively). gpt-oss-120b/20b already
3013
+ // head this chain, so the rungs are dropped, not retargeted.
3015
3014
  "google/gemini-3.1-flash-lite",
3016
3015
  // $0.25/$1.50 — newest flash-lite
3017
3016
  "openai/gpt-5.4-nano",
@@ -50,7 +50,7 @@ This is where you're paying for real value:
50
50
 
51
51
  ## The Solution: ClawRouter
52
52
 
53
- [ClawRouter](https://github.com/BlockRunAI/ClawRouter) is an open-source local proxy that sits between your app and <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> AI models. It saves you money in three ways: **smart routing**, **token optimization**, and **response caching**.
53
+ [ClawRouter](https://github.com/BlockRunAI/ClawRouter) is an open-source local proxy that sits between your app and <!-- br:models.chatVisible -->70<!-- /br:models.chatVisible --> AI models. It saves you money in three ways: **smart routing**, **token optimization**, and **response caching**.
54
54
 
55
55
  ```
56
56
  ┌─────────────┐ ┌──────────────────────────────┐ ┌──────────────────┐
@@ -31,7 +31,7 @@ This is exactly the problem [ClawRouter](https://github.com/BlockRunAI/ClawRoute
31
31
 
32
32
  ## ClawRouter: Smart Routing for Agents
33
33
 
34
- ClawRouter is an open-source local proxy that sits between your agent and <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> LLM models across 9 providers. It analyzes every request across 15 dimensions and routes it to the cheapest model that can handle it — in under 1ms, entirely locally.
34
+ ClawRouter is an open-source local proxy that sits between your agent and <!-- br:models.chatVisible -->70<!-- /br:models.chatVisible --> LLM models across 9 providers. It analyzes every request across 15 dimensions and routes it to the cheapest model that can handle it — in under 1ms, entirely locally.
35
35
 
36
36
  ```
37
37
  Your Agent → ClawRouter (localhost:8402) → Best model for the job
@@ -56,7 +56,7 @@ From 20,000+ production requests:
56
56
  | Free models (trivial tasks) | 12.8% | $0.00 |
57
57
  | Others | 13.8% | varies |
58
58
 
59
- **Result: <!-- br:savings.autoVsBaselinePct -->87<!-- /br:savings.autoVsBaselinePct -->% cheaper than pinning Claude Opus 5 for every request** — the published figure, priced on a stated workload mix rather than estimated.
59
+ **Result: <!-- br:savings.autoVsBaselinePct -->88<!-- /br:savings.autoVsBaselinePct -->% cheaper than pinning Claude Opus 5 for every request** — the published figure, priced on a stated workload mix rather than estimated.
60
60
 
61
61
  A typical user running 10K mixed requests/month:
62
62
 
@@ -74,7 +74,7 @@ Then point your agent at `http://localhost:8402/v1/` with any OpenAI-compatible
74
74
 
75
75
  - **No API keys to manage** — wallet-based cryptographic auth
76
76
  - **No subscriptions** — pay per request in USDC (Base or Solana)
77
- - **No vendor lock-in** — <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models, switch anytime
77
+ - **No vendor lock-in** — <!-- br:models.chatVisible -->70<!-- /br:models.chatVisible --> models, switch anytime
78
78
  - **You control your wallet** — non-custodial, funds never held by a third party
79
79
  - **Budget caps** — set a max spend per session, ClawRouter gracefully downgrades when budget runs low
80
80
  - **Token compression** — 7-layer pipeline reduces token costs by 7–40% before they hit any provider
@@ -135,7 +135,7 @@ Less context repeated = fewer tokens = lower cost. Agents that need to recall ea
135
135
 
136
136
  ### 7. x402 Micropayments — Wallet-Based Budget Control
137
137
 
138
- <p align="center"><img src="assets/blockrun-clawrouter-x402-usdc-micropayment-wallet-budget-control.png" alt="Budget limits enforced by physical construction — wallet loaded via Base/Solana, pay per call across <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models, balance hits zero and the valve shuts cleanly" width="720"></p>
138
+ <p align="center"><img src="assets/blockrun-clawrouter-x402-usdc-micropayment-wallet-budget-control.png" alt="Budget limits enforced by physical construction — wallet loaded via Base/Solana, pay per call across <!-- br:models.chatVisible -->70<!-- /br:models.chatVisible --> models, balance hits zero and the valve shuts cleanly" width="720"></p>
139
139
 
140
140
  ClawRouter pays for inference via [x402](https://x402.org/) USDC micropayments (Base or Solana). You load a wallet. Each inference call costs exactly what it costs. When the wallet runs low, requests stop cleanly.
141
141
 
@@ -222,7 +222,7 @@ OpenRouter doesn't always pass through provider-specific features correctly. Ima
222
222
 
223
223
  **Direct provider routing.** ClawRouter routes through BlockRun's API directly to providers — not through a second aggregator. One hop, not two. Provider-specific features work because there's no middleman translating them.
224
224
 
225
- ![Guaranteed Feature Parity & Direct Connectivity — Three-panel diagram: Vision (image_url auto-detected → vision-capable models only), Tool Calling (toolCalling flag → agentic models only), Catalog (curated <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models with automatic legacy-to-modern redirects). Direct provider routing means no dropped payloads.](./assets/clawrouter-feature-parity-direct-connectivity.png)
225
+ ![Guaranteed Feature Parity & Direct Connectivity — Three-panel diagram: Vision (image_url auto-detected → vision-capable models only), Tool Calling (toolCalling flag → agentic models only), Catalog (curated <!-- br:models.chatVisible -->70<!-- /br:models.chatVisible --> models with automatic legacy-to-modern redirects). Direct provider routing means no dropped payloads.](./assets/clawrouter-feature-parity-direct-connectivity.png)
226
226
 
227
227
  ---
228
228
 
@@ -240,7 +240,7 @@ When new models launch, OpenRouter's catalog lags. Users configure a model that
240
240
 
241
241
  ### How ClawRouter Solves This
242
242
 
243
- ClawRouter maintains a curated catalog of <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models across 9 providers (including 9 free models), updated with each release. Delisted models have automatic redirect aliases:
243
+ ClawRouter maintains a curated catalog of <!-- br:models.chatVisible -->70<!-- /br:models.chatVisible --> models across 9 providers (including 9 free models), updated with each release. Delisted models have automatic redirect aliases:
244
244
 
245
245
  ```typescript
246
246
  // Delisted models redirect automatically
@@ -268,10 +268,10 @@ No silent drops. No stale catalog. Models are benchmarked for speed, quality, an
268
268
  | **Rate limits** | Per-key, shared | Per-wallet, independent |
269
269
  | **Vision support** | Images sometimes dropped | Auto-detected, vision-only fallback |
270
270
  | **Tool calling** | Silent failures with some models | Flag-based filtering, guaranteed support |
271
- | **Model catalog** | Laggy, silent drops | Curated <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models, redirect aliases |
271
+ | **Model catalog** | Laggy, silent drops | Curated <!-- br:models.chatVisible -->70<!-- /br:models.chatVisible --> models, redirect aliases |
272
272
  | **Budget control** | Monthly invoice | Per-session cap (`maxCostPerRun`) |
273
273
  | **Setup** | Create account, paste key | Agent generates wallet, auto-configured |
274
- | **Average cost** | $25/M tokens (Opus direct) | auto-routed = **<!-- br:savings.autoVsBaselinePct -->87<!-- /br:savings.autoVsBaselinePct -->% savings** |
274
+ | **Average cost** | $25/M tokens (Opus direct) | auto-routed = **<!-- br:savings.autoVsBaselinePct -->88<!-- /br:savings.autoVsBaselinePct -->% savings** |
275
275
 
276
276
  ![The Engineering Matrix — Side-by-side feature comparison: OpenRouter vs ClawRouter across Routing, Authentication, Payment, Fallback, Model IDs, Empty Wallet, Vision/Tools, and Average Cost. ClawRouter wins on every dimension.](./assets/clawrouter-engineering-matrix-comparison.png)
277
277
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@blockrun/clawrouter",
3
- "version": "0.12.243",
4
- "description": "Smart LLM router — save 87% on inference costs. 71 models (6 free), one wallet, x402 micropayments.",
3
+ "version": "0.12.245",
4
+ "description": "Smart LLM router — save 88% on inference costs. 70 models (5 free), one wallet, x402 micropayments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -110,7 +110,7 @@
110
110
  }
111
111
  },
112
112
  "devDependencies": {
113
- "@blockrun/router-core": "https://codeload.github.com/BlockRunAI/router-core/tar.gz/6a790ebec60161825bbc8c4093fd221006b4e5fb",
113
+ "@blockrun/router-core": "https://codeload.github.com/BlockRunAI/router-core/tar.gz/18bf4abc7e34599e51595b90703c385f53d4f4a6",
114
114
  "@eslint/js": "^10.0.1",
115
115
  "eslint": "^10.2.0",
116
116
  "openclaw": "^2026.7.2-beta.7",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: clawrouter
3
- description: Hosted-gateway LLM router — save 87% on inference costs. A local proxy that forwards each request to the blockrun.ai gateway, which routes to the cheapest capable model across 71 models from OpenAI, Anthropic, Google, DeepSeek, xAI, NVIDIA, and more. 6 free NVIDIA models included. Also exposes realtime market data (global stocks, crypto, FX, commodities), Twitter/X intelligence, prediction-market data across Polymarket, Kalshi, Limitless, Opinion, Predict.Fun, dFlow + UMA oracle resolution + wallet identity & clustering, phone-number intelligence (carrier + SIM-swap fraud detection) plus AI-powered outbound voice calls (Twilio + Bland.ai), AND the Surf unified crypto data API (84 endpoints — CEX/DEX, on-chain SQL over 80+ ClickHouse tables, 100M+ labeled wallets, prediction markets, social/CT mindshare, news, VC fund intel) as built-in agent tools. Not a local-inference tool — prompts are sent to the blockrun.ai gateway.
3
+ description: Hosted-gateway LLM router — save 88% on inference costs. A local proxy that forwards each request to the blockrun.ai gateway, which routes to the cheapest capable model across 70 models from OpenAI, Anthropic, Google, DeepSeek, xAI, NVIDIA, and more. 5 free NVIDIA models included. Also exposes realtime market data (global stocks, crypto, FX, commodities), Twitter/X intelligence, prediction-market data across Polymarket, Kalshi, Limitless, Opinion, Predict.Fun, dFlow + UMA oracle resolution + wallet identity & clustering, phone-number intelligence (carrier + SIM-swap fraud detection) plus AI-powered outbound voice calls (Twilio + Bland.ai), AND the Surf unified crypto data API (84 endpoints — CEX/DEX, on-chain SQL over 80+ ClickHouse tables, 100M+ labeled wallets, prediction markets, social/CT mindshare, news, VC fund intel) as built-in agent tools. Not a local-inference tool — prompts are sent to the blockrun.ai gateway.
4
4
  triggers:
5
5
  - "clawrouter"
6
6
  - "claw router"
@@ -53,7 +53,7 @@ metadata:
53
53
 
54
54
  # ClawRouter
55
55
 
56
- Hosted-gateway LLM router that saves <!-- br:savings.autoVsBaselinePct -->87<!-- /br:savings.autoVsBaselinePct -->% on inference costs by forwarding each request to the blockrun.ai gateway, which picks the cheapest model capable of handling it across <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models from 9 providers (<!-- br:models.free -->6<!-- /br:models.free --> free NVIDIA models). All billing flows through one USDC wallet; you do not hold provider API keys.
56
+ Hosted-gateway LLM router that saves <!-- br:savings.autoVsBaselinePct -->88<!-- /br:savings.autoVsBaselinePct -->% on inference costs by forwarding each request to the blockrun.ai gateway, which picks the cheapest model capable of handling it across <!-- br:models.chatVisible -->70<!-- /br:models.chatVisible --> models from 9 providers (<!-- br:models.free -->5<!-- /br:models.free --> free NVIDIA models). All billing flows through one USDC wallet; you do not hold provider API keys.
57
57
 
58
58
  **This is not a local-inference tool.** ClawRouter is a thin local proxy. Your prompts are sent over HTTPS to the blockrun.ai gateway for model execution. If your workload requires inference that never leaves your machine, use a local runtime like Ollama — ClawRouter is not the right tool for that use case.
59
59
 
@@ -141,7 +141,7 @@ Rules handle ~~80% of requests in <1ms. Only ambiguous queries hit the LLM class
141
141
 
142
142
  ## Available Models
143
143
 
144
- <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models including: gpt-5.6-terra [balanced, stable default], gpt-5.6-sol [flagship], gpt-5.6-luna [cost-efficient], gpt-5.5, gpt-5.5-pro [max compute], chat-latest [ChatGPT Instant], gpt-5.4, gpt-4o, o3, claude-fable-5, claude-opus-5 [Anthropic flagship, 1M ctx], claude-opus-4.8, claude-opus-4.7, claude-opus-4.5, claude-sonnet-5, claude-sonnet-4.6, gemini-3.1-pro, gemini-2.5-flash, deepseek-v4-pro, deepseek-chat, grok-4.5, grok-4.3, grok-build-0.1, kimi-k3 [1M ctx flagship], kimi-k2.7, qwen3.7-max [Qwen flagship, 1M ctx], and 6 free NVIDIA models (deepseek-v4-flash [1M context], nemotron-3-nano-omni-30b-a3b-reasoning [vision], mistral-nemotron, step-3.7-flash, nemotron-nano-9b-v2, nemotron-nano-12b-v2-vl [vision]).
144
+ <!-- br:models.chatVisible -->70<!-- /br:models.chatVisible --> models including: gpt-5.6-terra [balanced, stable default], gpt-5.6-sol [flagship], gpt-5.6-luna [cost-efficient], gpt-5.6-sol/terra/luna-pro [pro reasoning tiers], gpt-5.5, gpt-5.5-pro [max compute], chat-latest [ChatGPT Instant], gpt-5.4, gpt-4o, o3, claude-fable-5, claude-opus-5 [Anthropic flagship, 1M ctx], claude-opus-4.8, claude-opus-4.7, claude-opus-4.5, claude-sonnet-5, claude-sonnet-4.6, gemini-3.1-pro, gemini-3.6-flash, gemini-3.5-flash-lite, gemini-2.5-flash, deepseek-v4-pro, deepseek-chat, grok-4.5, grok-4.3, grok-build-0.1, kimi-k3 [1M ctx flagship], kimi-k2.7, qwen3.7-max [Qwen flagship, 1M ctx], qwen3.7-plus, qwen3.7-flash, hy3 [Tencent], mimo [Xiaomi MiMo-V2.5 Pro, 1M ctx], and 5 free NVIDIA models (nemotron-3-nano-omni-30b-a3b-reasoning [vision], mistral-nemotron, step-3.7-flash, nemotron-nano-9b-v2, nemotron-nano-12b-v2-vl [vision]).
145
145
 
146
146
  ## Built-in Agent Tools
147
147