@blockrun/clawrouter 0.12.226 → 0.12.228

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 CHANGED
@@ -46,7 +46,7 @@ Every other LLM router was built for **human developers** — create an account,
46
46
 
47
47
  ClawRouter is built for the agent-first world:
48
48
 
49
- - **Starts at $0** — 8 NVIDIA models are free forever (incl. 675B Mistral Large 3, Qwen3.5 122B + a vision-capable Nemotron Omni)
49
+ - **Starts at $0** — 8 NVIDIA models are free forever (incl. 675B Mistral Large 3, 262K-context Qwen3-Next 80B + a vision-capable Nemotron Omni)
50
50
  - **No accounts** — a wallet is generated locally, no signup
51
51
  - **No API keys** — your wallet signature IS authentication
52
52
  - **No model selection** — 15-dimension scoring picks the right model automatically
@@ -78,7 +78,7 @@ This is the stack that lets agents operate autonomously: **x402 + USDC + local r
78
78
 
79
79
  ## Quick Start
80
80
 
81
- > **No wallet? 8 models work free out of the box.** Install, run, and pin `nvidia/gpt-oss-120b` (or any of the 8) — no crypto, no signup, no balance required. Add USDC later when you want paid models.
81
+ > **No wallet? 8 models work free out of the box.** Install, run, and pin `free/mistral-large-3-675b` (or any of the 8) — no crypto, no signup, no balance required. Add USDC later when you want paid models.
82
82
 
83
83
  ### Option A — OpenClaw Agent
84
84
 
@@ -101,7 +101,7 @@ clawrouter setup # finishes OpenClaw integration — REQUIRED
101
101
  openclaw gateway restart
102
102
  ```
103
103
 
104
- > ⚠️ **Skipping `clawrouter setup` will leave you broken.** Bare `npm install -g` only puts the package on disk; it does NOT register the plugin with OpenClaw, sync the models allowlist, or write the auth profile. Symptom: `/models` in your bot shows only ~7 entries (OpenClaw's hardcoded defaults) instead of the full ~38 BlockRun models. Run `clawrouter setup` to repair, or use path A1 to begin with.
104
+ > ⚠️ **Skipping `clawrouter setup` will leave you broken.** Bare `npm install -g` only puts the package on disk; it does NOT register the plugin with OpenClaw, sync the models allowlist, or write the auth profile. Symptom: `/models` in your bot shows only ~7 entries (OpenClaw's hardcoded defaults) instead of the full ~44 BlockRun models. Run `clawrouter setup` to repair, or use path A1 to begin with.
105
105
 
106
106
  ### Option B — Standalone (continue.dev, Cursor, VS Code, any OpenAI-compatible client)
107
107
 
@@ -118,7 +118,7 @@ npx @blockrun/clawrouter
118
118
  ```
119
119
 
120
120
  **2. Fund your wallet** — optional, skip for free tier
121
- Your wallet address is printed on first run. For paid models, send a few USDC on Base or Solana — $5 covers thousands of requests. To stay at $0, pin any of the 8 free models (e.g. `nvidia/gpt-oss-120b`) or use `/model free` inside OpenClaw.
121
+ Your wallet address is printed on first run. For paid models, send a few USDC on Base or Solana — $5 covers thousands of requests. To stay at $0, pin any of the 8 free models (e.g. `free/mistral-large-3-675b`) or use `/model free` inside OpenClaw.
122
122
 
123
123
  **3. Point your client at `http://localhost:8402`**
124
124
 
@@ -140,7 +140,7 @@ models:
140
140
  - apply
141
141
  ```
142
142
 
143
- To pin a specific model, replace `blockrun/auto` with any model from [blockrun.ai/models](https://blockrun.ai/models), e.g. `anthropic/claude-opus-4.8`, `xai/grok-4-0709`.
143
+ To pin a specific model, replace `blockrun/auto` with any model from [blockrun.ai/models](https://blockrun.ai/models), e.g. `anthropic/claude-opus-4.8`, `xai/grok-4.5`.
144
144
 
145
145
  Both `provider: openai` and `provider: clawrouter` work — just make sure `apiBase` ends with `/v1/`.
146
146
 
@@ -209,10 +209,10 @@ Request → Weighted Scorer (15 dimensions) → Tier → Best Model → Response
209
209
 
210
210
  | Tier | ECO Model | AUTO Model | PREMIUM Model |
211
211
  | --------- | ------------------------------------- | ------------------------------------- | ---------------------------- |
212
- | SIMPLE | nvidia/gpt-oss-120b (**FREE**) | gemini-2.5-flash ($0.30/$2.50) | kimi-k2.6 ($0.95/$4.00) |
213
- | MEDIUM | gemini-3.1-flash-lite ($0.25/$1.50) | kimi-k2.6 ($0.95/$4.00) | gpt-5.3-codex ($1.75/$14.00) |
212
+ | SIMPLE | free/mistral-large-3-675b (**FREE**) | gemini-2.5-flash ($0.30/$2.50) | kimi-k2.7 ($0.95/$4.00) |
213
+ | MEDIUM | gemini-3.1-flash-lite ($0.25/$1.50) | kimi-k2.7 ($0.95/$4.00) | gpt-5.3-codex ($1.75/$14.00) |
214
214
  | COMPLEX | gemini-3.1-flash-lite ($0.25/$1.50) | gemini-3.1-pro ($2/$12) | claude-opus-4.8 ($5/$25) |
215
- | REASONING | grok-4-1-fast-reasoning ($0.20/$0.50) | grok-4-1-fast-reasoning ($0.20/$0.50) | claude-sonnet-4.6 ($3/$15) |
215
+ | REASONING | deepseek-reasoner ($0.20/$0.40) | deepseek-reasoner ($0.20/$0.40) | claude-sonnet-4.6 ($3/$15) |
216
216
 
217
217
  **Blended average: $2.05/M** vs $25/M for Claude Opus = **92% savings**
218
218
 
@@ -224,7 +224,7 @@ Generate images directly from chat with `/cr-imagegen`:
224
224
 
225
225
  ```
226
226
  /cr-imagegen a dog dancing on the beach
227
- /cr-imagegen --model dall-e-3 a futuristic city at sunset
227
+ /cr-imagegen --model gpt-image-2 a futuristic city at sunset
228
228
  /cr-imagegen --model banana-pro --size 2048x2048 mountain landscape
229
229
  ```
230
230
 
@@ -234,9 +234,9 @@ Generate images directly from chat with `/cr-imagegen`:
234
234
  | ---------------------------- | --------------------- | ------------ | --------- |
235
235
  | `nano-banana` | Google Gemini Flash | $0.05/image | 1024x1024 |
236
236
  | `banana-pro` | Google Gemini Pro | $0.10/image | 4096x4096 |
237
- | `dall-e-3` | OpenAI DALL-E 3 | $0.04/image | 1792x1024 |
238
237
  | `gpt-image` | OpenAI GPT Image 1 | $0.02/image | 1536x1024 |
239
- | `flux` | Black Forest Flux 1.1 | $0.04/image | 1024x1024 |
238
+ | `gpt-image-2` | OpenAI GPT Image 2 | $0.06/image | 1536x1024 |
239
+ | `seedream` | ByteDance Seedream 5 | $0.045/image | 2848x1600 |
240
240
  | `xai/grok-imagine-image` | xAI Grok Imagine | $0.02/image | 1024x1024 |
241
241
  | `xai/grok-imagine-image-pro` | xAI Grok Imagine Pro | $0.07/image | 1024x1024 |
242
242
  | `zai/cogview-4` | Zhipu CogView-4 | $0.015/image | 1440x1440 |
@@ -382,22 +382,22 @@ No Surf account, no API key — settles directly to Surf's Base treasury in USDC
382
382
 
383
383
  ## Models & Pricing
384
384
 
385
- 55+ models across 9 providers, one wallet. **Starting at $0.0002/request.**
385
+ 55+ models across 9 providers, one wallet. **8 models are $0 — paid models start at fractions of a cent.**
386
386
 
387
- > **💡 "Cost per request"** = estimated cost for a typical chat message (~500 input + 500 output tokens).
387
+ > **💡 "Cost per request"** = estimated cost for a typical chat message (~500 input + 500 output tokens). Paid requests also carry a flat **$0.002/tx settlement fee** (covers on-chain gas; already included in the price the gateway quotes). Free models never pay it.
388
388
 
389
389
  ### Budget Models (under $0.001/request)
390
390
 
391
391
  | Model | Input $/M | Output $/M | ~$/request | Context | Features |
392
392
  | --------------------------------------------- | --------: | ---------: | ---------: | ------- | -------------------------------------------- |
393
- | nvidia/gpt-oss-120b | **FREE** | **FREE** | **$0** | 128K | default free model |
394
- | nvidia/gpt-oss-20b | **FREE** | **FREE** | **$0** | 128K | smaller, faster |
395
- | nvidia/mistral-large-3-675b | **FREE** | **FREE** | **$0** | 131K | 675B general flagship |
396
- | nvidia/qwen3.5-122b-a10b | **FREE** | **FREE** | **$0** | 131K | newest-gen Qwen, strong general |
397
- | nvidia/qwen3-next-80b-a3b-instruct | **FREE** | **FREE** | **$0** | 262K | reasoning + coding |
398
- | nvidia/llama-4-maverick | **FREE** | **FREE** | **$0** | 131K | reasoning |
399
- | nvidia/seed-oss-36b | **FREE** | **FREE** | **$0** | 131K | coding |
400
- | nvidia/nemotron-3-nano-omni-30b-a3b-reasoning | **FREE** | **FREE** | **$0** | 256K | reasoning, **vision** (text+img+video+audio) |
393
+ | free/mistral-large-3-675b | **FREE** | **FREE** | **$0** | 131K | 675B general flagship, default free model |
394
+ | free/deepseek-v4-flash | **FREE** | **FREE** | **$0** | 1M | reasoning + coding, huge context |
395
+ | free/seed-oss-36b | **FREE** | **FREE** | **$0** | 131K | coding |
396
+ | free/nemotron-3-nano-omni-30b-a3b-reasoning | **FREE** | **FREE** | **$0** | 256K | reasoning, **vision** (text+img+video+audio) |
397
+ | free/mistral-nemotron | **FREE** | **FREE** | **$0** | 131K | instruction following |
398
+ | free/step-3.7-flash | **FREE** | **FREE** | **$0** | 131K | reasoning |
399
+ | free/nemotron-nano-9b-v2 | **FREE** | **FREE** | **$0** | 131K | fast lightweight generalist |
400
+ | free/nemotron-nano-12b-v2-vl | **FREE** | **FREE** | **$0** | 131K | vision (text + image) |
401
401
  | openai/gpt-5-nano | $0.05 | $0.40 | $0.0002 | 128K | tools |
402
402
  | openai/gpt-4.1-nano | $0.10 | $0.40 | $0.0003 | 128K | tools |
403
403
  | google/gemini-2.5-flash-lite | $0.10 | $0.40 | $0.0003 | 1M | tools |
@@ -405,15 +405,12 @@ No Surf account, no API key — settles directly to Surf's Base treasury in USDC
405
405
  | xai/grok-4-fast | $0.20 | $0.50 | $0.0004 | 131K | tools |
406
406
  | xai/grok-4-fast-reasoning | $0.20 | $0.50 | $0.0004 | 131K | reasoning, tools |
407
407
  | xai/grok-4-1-fast | $0.20 | $0.50 | $0.0004 | 131K | tools |
408
- | xai/grok-4-1-fast-reasoning | $0.20 | $0.50 | $0.0004 | 131K | reasoning, tools |
409
- | xai/grok-4-0709 | $0.20 | $1.50 | $0.0009 | 131K | reasoning, tools |
410
408
  | openai/gpt-5-mini | $0.25 | $2.00 | $0.0011 | 200K | tools |
411
409
  | deepseek/deepseek-chat | $0.20 | $0.40 | $0.0003 | 1M | tools (V4 Flash chat) |
412
410
  | deepseek/deepseek-reasoner | $0.20 | $0.40 | $0.0003 | 1M | reasoning, tools (V4 Flash thinking) |
413
411
  | deepseek/deepseek-v4-pro | $0.435 | $0.87 | $0.0007 | 1M | reasoning, agentic, tools (V4 flagship) |
414
412
  | zai/glm-5 | $0.60 | $1.92 | $0.0013 | 200K | tools |
415
413
  | zai/glm-5-turbo | $1.20 | $4.00 | $0.0026 | 200K | tools |
416
- | xai/grok-3-mini | $0.30 | $0.50 | $0.0004 | 131K | tools |
417
414
  | minimax/minimax-m3 | $0.30 | $1.20 | $0.0008 | 1M | reasoning, agentic, tools |
418
415
  | minimax/minimax-m2.7 | $0.30 | $1.20 | $0.0008 | 205K | reasoning, agentic, tools |
419
416
  | minimax/minimax-m2.5 | $0.30 | $1.20 | $0.0008 | 205K | reasoning, agentic, tools |
@@ -422,7 +419,7 @@ No Surf account, no API key — settles directly to Surf's Base treasury in USDC
422
419
  | google/gemini-3.5-flash | $0.50 | $3.00 | $0.0018 | 1M | reasoning, vision, tools (thinking built-in) |
423
420
  | google/gemini-3-flash-preview | $0.50 | $3.00 | $0.0018 | 1M | vision |
424
421
  | moonshot/kimi-k2.5 | $0.60 | $3.00 | $0.0018 | 262K | reasoning, vision, agentic, tools |
425
- | moonshot/kimi-k2.6 | $0.95 | $4.00 | $0.0025 | 262K | reasoning, vision, agentic, tools |
422
+ | moonshot/kimi-k2.7 | $0.95 | $4.00 | $0.0025 | 262K | reasoning, vision, agentic, tools |
426
423
 
427
424
  ### Mid-Range Models ($0.001–$0.01/request)
428
425
 
@@ -437,6 +434,7 @@ No Surf account, no API key — settles directly to Surf's Base treasury in USDC
437
434
  | zai/glm-5.2 | $1.40 | $4.40 | $0.0029 | 1M | reasoning, coding, tools (flagship) |
438
435
  | zai/glm-5.1 | $1.40 | $4.40 | $0.0029 | 200K | reasoning, tools (promo ended 2026-06-05) |
439
436
  | xai/grok-4.3 | $1.50 | $4.00 | $0.0028 | 1M | reasoning, vision, agentic, tools |
437
+ | xai/grok-4.5 | $2.50 | $9.00 | $0.0058 | 500K | reasoning, vision, agentic, tools |
440
438
  | xai/grok-build-0.1 | $1.50 | $3.00 | $0.0023 | 256K | agentic coding, tools |
441
439
  | openai/gpt-5.2 | $1.75 | $14.00 | $0.0079 | 400K | reasoning, vision, agentic, tools |
442
440
  | openai/gpt-5.3 | $1.75 | $14.00 | $0.0079 | 128K | reasoning, vision, agentic, tools |
@@ -456,7 +454,6 @@ No Surf account, no API key — settles directly to Surf's Base treasury in USDC
456
454
  | --------------------------- | --------: | ---------: | ---------: | ------- | --------------------------------- |
457
455
  | anthropic/claude-sonnet-5 | $3.00 | $15.00 | $0.0090 | 1M | reasoning, vision, agentic, tools |
458
456
  | anthropic/claude-sonnet-4.6 | $3.00 | $15.00 | $0.0090 | 200K | reasoning, vision, agentic, tools |
459
- | xai/grok-3 | $3.00 | $15.00 | $0.0090 | 131K | reasoning, tools |
460
457
  | anthropic/claude-opus-4.8 | $5.00 | $25.00 | $0.0150 | 1M | reasoning, vision, agentic, tools |
461
458
  | openai/gpt-5.6-sol | $5.00 | $30.00 | $0.0175 | 1M | reasoning, vision, agentic, tools |
462
459
  | openai/gpt-5.5 | $5.00 | $30.00 | $0.0175 | 1M | reasoning, vision, agentic, tools |
@@ -464,7 +461,7 @@ No Surf account, no API key — settles directly to Surf's Base treasury in USDC
464
461
  | openai/gpt-5.2-pro | $21.00 | $168.00 | $0.0945 | 400K | reasoning, tools |
465
462
  | openai/gpt-5.4-pro | $30.00 | $180.00 | $0.1050 | 400K | reasoning, tools |
466
463
 
467
- > **Free tier:** several NVIDIA-hosted models cost nothing — `/model free` smart-routes across them, or pick one directly (e.g., `/model nemotron-omni` for vision, `/model qwen3-next` for 262K reasoning, `/model qwen-coder` for coding, `/model maverick`).
464
+ > **Free tier:** several NVIDIA-hosted models cost nothing — `/model free` smart-routes across them, or pick one directly (e.g., `/model nemotron-omni` for vision, `/model v4-flash` for 1M-context reasoning, `/model seed-oss` for coding, `/model mistral-large` for the 675B flagship).
468
465
  > **Best value:** `gpt-5-nano` and `gemini-2.5-flash-lite` deliver strong results at ~$0.0003/request.
469
466
 
470
467
  ---
@@ -541,7 +538,7 @@ For basic usage, no configuration needed. For advanced options:
541
538
  Block specific models from being routed to. Useful if a model doesn't follow your agent instructions or you want to control costs.
542
539
 
543
540
  ```bash
544
- /exclude add nvidia/gpt-oss-120b # Block the default free model
541
+ /exclude add free/mistral-large-3-675b # Block the default free model
545
542
  /exclude add grok-4 # Aliases work — blocks all grok-4 variants
546
543
  /exclude add gpt-5.4 # Skip expensive models
547
544
  /exclude # Show current exclusions
@@ -680,7 +677,7 @@ Python plugin that wraps the ClawRouter proxy for `hermes-agent`. Same 55+ model
680
677
  | ------------------------------------------------------ | ------------------------ |
681
678
  | [Documentation](https://blockrun.ai/docs) | Full docs |
682
679
  | [Model Pricing](https://blockrun.ai/models) | All models & prices |
683
- | [Image Generation & Editing](docs/image-generation.md) | API examples, 5 models |
680
+ | [Image Generation & Editing](docs/image-generation.md) | API examples, 8 models |
684
681
  | [Routing Profiles](docs/routing-profiles.md) | ECO/AUTO/PREMIUM details |
685
682
  | [Architecture](docs/architecture.md) | Technical deep dive |
686
683
  | [Configuration](docs/configuration.md) | Environment variables |
@@ -723,7 +720,7 @@ ClawRouter works with any tool that makes OpenAI-compatible API calls — point
723
720
 
724
721
  ### Is ClawRouter free?
725
722
 
726
- ClawRouter itself is free and MIT licensed. You pay only for the LLM API calls routed through it — and several NVIDIA-hosted models (`gpt-oss-120b`, `gpt-oss-20b`, `mistral-large-3-675b`, `qwen3.5-122b-a10b`, `qwen3-next-80b-a3b-instruct`, `llama-4-maverick`, `seed-oss-36b`, `nemotron-3-nano-omni-30b-a3b-reasoning`) are completely free. Use `/model free` to smart-route across them, or pick any by name.
723
+ ClawRouter itself is free and MIT licensed. You pay only for the LLM API calls routed through it — and several NVIDIA-hosted models (`mistral-large-3-675b`, `deepseek-v4-flash`, `seed-oss-36b`, `nemotron-3-nano-omni-30b-a3b-reasoning`, `mistral-nemotron`, `step-3.7-flash`, `nemotron-nano-9b-v2`, `nemotron-nano-12b-v2-vl`) are completely free. Use `/model free` to smart-route across them, or pick any by name.
727
724
 
728
725
  ---
729
726
 
package/dist/cli.js CHANGED
@@ -33992,10 +33992,10 @@ var init_config = __esm({
33992
33992
  // FREE — smaller, faster
33993
33993
  "free/mistral-large-3-675b",
33994
33994
  // FREE — 675B general flagship (re-featured 2026-06-14)
33995
- "free/qwen3.5-122b-a10b",
33996
- // FREE — newest-gen Qwen, strong general
33997
- "free/qwen3-next-80b-a3b-instruct",
33998
- // FREE — 262K ctx, strong general (deepseek-v4-flash retired)
33995
+ "free/deepseek-v4-flash",
33996
+ // FREE — 1M ctx, recovered in blockrun's 2026-07-17 re-probe
33997
+ "free/seed-oss-36b",
33998
+ // FREE — live coder (qwen3.5-122b + qwen3-next died 2026-07)
33999
33999
  "google/gemini-3.1-flash-lite",
34000
34000
  // $0.25/$1.50 — newest flash-lite
34001
34001
  "openai/gpt-5.4-nano",
@@ -34288,9 +34288,6 @@ var init_top_models = __esm({
34288
34288
  "google/gemini-3-flash-preview",
34289
34289
  "xai/grok-4.5",
34290
34290
  "xai/grok-4.3",
34291
- "xai/grok-4-0709",
34292
- "xai/grok-4-1-fast-reasoning",
34293
- "xai/grok-3",
34294
34291
  "xai/grok-build-0.1",
34295
34292
  "zai/glm-5.2",
34296
34293
  "zai/glm-5.1",
@@ -34302,14 +34299,14 @@ var init_top_models = __esm({
34302
34299
  "deepseek/deepseek-v4-pro",
34303
34300
  "deepseek/deepseek-chat",
34304
34301
  "deepseek/deepseek-reasoner",
34305
- "free/gpt-oss-120b",
34306
- "free/gpt-oss-20b",
34307
34302
  "free/mistral-large-3-675b",
34308
- "free/qwen3.5-122b-a10b",
34309
- "free/qwen3-next-80b-a3b-instruct",
34310
- "free/llama-4-maverick",
34303
+ "free/deepseek-v4-flash",
34311
34304
  "free/seed-oss-36b",
34312
- "free/nemotron-3-nano-omni-30b-a3b-reasoning"
34305
+ "free/nemotron-3-nano-omni-30b-a3b-reasoning",
34306
+ "free/mistral-nemotron",
34307
+ "free/step-3.7-flash",
34308
+ "free/nemotron-nano-9b-v2",
34309
+ "free/nemotron-nano-12b-v2-vl"
34313
34310
  ];
34314
34311
  }
34315
34312
  });
@@ -34573,14 +34570,12 @@ var init_models = __esm({
34573
34570
  "gpt-20b": "free/gpt-oss-20b",
34574
34571
  "nvidia/gpt-oss-120b": "free/gpt-oss-120b",
34575
34572
  "nvidia/gpt-oss-20b": "free/gpt-oss-20b",
34573
+ // deepseek family → v4-flash, matching blockrun's 2026-07-17 redirect map
34574
+ // (v4-flash recovered in the live re-probe; v3.2/v4-pro stay dead upstream).
34576
34575
  "nvidia/deepseek-v3.2": "free/deepseek-v4-flash",
34577
- // v3.2 → v4-flash (v4-pro NVIDIA hung 2026-04-30)
34578
34576
  "free/deepseek-v3.2": "free/deepseek-v4-flash",
34579
- // local pin redirect
34580
34577
  "nvidia/deepseek-v4-pro": "free/deepseek-v4-flash",
34581
- // V4 Pro NVIDIA hung 2026-04-30
34582
34578
  "free/deepseek-v4-pro": "free/deepseek-v4-flash",
34583
- // V4 Pro delisted — redirect pinned callers
34584
34579
  "nvidia/deepseek-v4-flash": "free/deepseek-v4-flash",
34585
34580
  "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning": "free/nemotron-3-nano-omni-30b-a3b-reasoning",
34586
34581
  // qwen3-coder-480b retired (NVIDIA EOL 2026-06-14) → redirects to seed-oss-36b
@@ -34588,58 +34583,62 @@ var init_models = __esm({
34588
34583
  // resolves them), but point the generic coding shorthands at the live successor.
34589
34584
  "nvidia/qwen3-coder-480b": "free/qwen3-coder-480b",
34590
34585
  "qwen/qwen3-coder-480b-a35b-instruct": "free/qwen3-coder-480b",
34591
- "nvidia/glm-4.7": "free/seed-oss-36b",
34586
+ // glm-4.7 pin keeps the real id — blockrun redirects it server-side (→ gpt-oss-120b).
34587
+ "nvidia/glm-4.7": "free/glm-4.7",
34592
34588
  "nvidia/llama-4-maverick": "free/llama-4-maverick",
34593
- // qwen3-next thinking variant retired; live sibling is the instruct model
34589
+ // qwen3-next: both variants died in the 2026-07-17 re-probe; pins keep the id
34590
+ // (blockrun redirects them server-side to gpt-oss-120b).
34594
34591
  "nvidia/qwen3-next-80b-a3b-thinking": "free/qwen3-next-80b-a3b-instruct",
34595
- // New live free models from the 2026-06-14 BlockRun free-tier refresh
34596
34592
  "nvidia/qwen3-next-80b-a3b-instruct": "free/qwen3-next-80b-a3b-instruct",
34597
34593
  "nvidia/seed-oss-36b": "free/seed-oss-36b",
34598
34594
  "nvidia/mistral-nemotron": "free/mistral-nemotron",
34599
34595
  "nvidia/step-3.7-flash": "free/step-3.7-flash",
34600
34596
  "nvidia/nemotron-nano-9b-v2": "free/nemotron-nano-9b-v2",
34601
34597
  "nvidia/nemotron-nano-12b-v2-vl": "free/nemotron-nano-12b-v2-vl",
34602
- "nvidia/mistral-small-4-119b": "free/llama-4-maverick",
34603
- // NVIDIA upstream timing out — hidden + redirected server-side 2026-06-08
34604
- // Retired free IDs → successors (mirror server-side redirects)
34605
- "nvidia/nemotron-ultra-253b": "free/llama-4-maverick",
34606
- "nvidia/nemotron-3-super-120b": "free/llama-4-maverick",
34607
- "nvidia/nemotron-super-49b": "free/llama-4-maverick",
34598
+ // nvidia/mistral-small-4-119b: no local redirect — recovered in the 2026-07-17
34599
+ // re-probe and blockrun removed its server redirect, so pinned callers reach the
34600
+ // real model again (upstream fallbackModel + health gate cover a relapse).
34601
+ // Retired free IDs → successors (mirror blockrun's 2026-07-17 redirect map:
34602
+ // ultra-253b redirects to gpt-oss-120b; the two supers have NO server redirect —
34603
+ // they stay hidden-but-routable, so their pins pass through to the real ids).
34604
+ "nvidia/nemotron-ultra-253b": "free/gpt-oss-120b",
34608
34605
  // mistral-large-3-675b un-retired 2026-06-14: BlockRun re-featured it (available,
34609
34606
  // NVIDIA upstream recovered) so it's a real free catalog entry again.
34610
34607
  "nvidia/mistral-large-3-675b": "free/mistral-large-3-675b",
34611
34608
  "nvidia/qwen3.5-122b-a10b": "free/qwen3.5-122b-a10b",
34612
- "nvidia/devstral-2-123b": "free/seed-oss-36b",
34613
- "free/nemotron-ultra-253b": "free/llama-4-maverick",
34614
- "free/nemotron-3-super-120b": "free/llama-4-maverick",
34615
- "free/nemotron-super-49b": "free/llama-4-maverick",
34616
- "free/devstral-2-123b": "free/seed-oss-36b",
34609
+ // devstral-2-123b died upstream; blockrun redirects it to gpt-oss-120b (2026-07-17 map)
34610
+ "nvidia/devstral-2-123b": "free/gpt-oss-120b",
34611
+ "free/nemotron-ultra-253b": "free/gpt-oss-120b",
34612
+ "free/devstral-2-123b": "free/gpt-oss-120b",
34617
34613
  // New blockrun-featured free models (2026-06-14 catalog sweep)
34618
34614
  "mistral-large": "free/mistral-large-3-675b",
34619
34615
  "mistral-large-3-675b": "free/mistral-large-3-675b",
34620
34616
  "qwen3.5-122b": "free/qwen3.5-122b-a10b",
34621
34617
  "qwen3-122b": "free/qwen3.5-122b-a10b",
34622
- // Free model shorthand aliases
34618
+ // Free model shorthand aliases (v4-flash recovered 2026-07-17 — live again)
34623
34619
  "deepseek-free": "free/deepseek-v4-flash",
34624
- // V4 Pro NVIDIA hung 2026-04-30 → flash
34625
34620
  "deepseek-v4-pro": "free/deepseek-v4-flash",
34626
- // free shorthand → flash (pro hung)
34621
+ // free shorthand → flash (pro still hung)
34627
34622
  "deepseek-v4-flash": "free/deepseek-v4-flash",
34628
34623
  "v4-pro": "free/deepseek-v4-flash",
34629
34624
  // V4 Pro NVIDIA hung → flash
34630
34625
  "v4-flash": "free/deepseek-v4-flash",
34631
- "mistral-free": "free/llama-4-maverick",
34626
+ "mistral-free": "free/mistral-large-3-675b",
34627
+ // was llama-4-maverick (died 2026-07) — live Mistral flagship
34632
34628
  "glm-free": "free/seed-oss-36b",
34633
34629
  // qwen3-coder retired → live coder successor
34634
- "llama-free": "free/llama-4-maverick",
34630
+ "llama-free": "free/gpt-oss-120b",
34631
+ // no live free Llama left (maverick died 2026-07)
34635
34632
  "qwen-coder": "free/seed-oss-36b",
34636
34633
  // qwen3-coder-480b retired → seed-oss-36b
34637
34634
  "qwen-coder-free": "free/seed-oss-36b",
34638
- "qwen-thinking": "free/qwen3-next-80b-a3b-instruct",
34635
+ "qwen-thinking": "free/gpt-oss-120b",
34636
+ // qwen3-next died 2026-07-17; no live free Qwen left
34639
34637
  "qwen3-next": "free/qwen3-next-80b-a3b-instruct",
34640
- // now a live model (instruct)
34638
+ // explicit-ish pin — gateway redirects
34641
34639
  "qwen3-next-80b": "free/qwen3-next-80b-a3b-instruct",
34642
- "mistral-small": "free/llama-4-maverick",
34640
+ "mistral-small": "free/mistral-nemotron",
34641
+ // closest live Mistral-family free model
34643
34642
  // New live free models (2026-06-14 BlockRun free-tier refresh)
34644
34643
  "seed-oss": "free/seed-oss-36b",
34645
34644
  "seed-oss-36b": "free/seed-oss-36b",
@@ -34655,16 +34654,19 @@ var init_models = __esm({
34655
34654
  "nemotron-omni": "free/nemotron-3-nano-omni-30b-a3b-reasoning",
34656
34655
  "nano-omni": "free/nemotron-3-nano-omni-30b-a3b-reasoning",
34657
34656
  "vision-free": "free/nemotron-3-nano-omni-30b-a3b-reasoning",
34658
- // Retired shorthand aliases redirect to successors
34659
- nemotron: "free/llama-4-maverick",
34660
- "nemotron-ultra": "free/llama-4-maverick",
34661
- "nemotron-253b": "free/llama-4-maverick",
34662
- "nemotron-super": "free/llama-4-maverick",
34663
- "nemotron-49b": "free/llama-4-maverick",
34664
- "nemotron-120b": "free/llama-4-maverick",
34657
+ // Retired shorthand aliases redirect to live successors (2026-07-17 map:
34658
+ // llama-4-maverick died, so the old catch-all target moved to gpt-oss-120b)
34659
+ nemotron: "free/nemotron-3-nano-omni-30b-a3b-reasoning",
34660
+ // strongest live Nemotron
34661
+ "nemotron-ultra": "free/gpt-oss-120b",
34662
+ "nemotron-253b": "free/gpt-oss-120b",
34663
+ "nemotron-super": "free/gpt-oss-120b",
34664
+ "nemotron-49b": "free/gpt-oss-120b",
34665
+ "nemotron-120b": "free/gpt-oss-120b",
34665
34666
  devstral: "free/seed-oss-36b",
34666
34667
  "devstral-2": "free/seed-oss-36b",
34667
34668
  maverick: "free/llama-4-maverick",
34669
+ // explicit-ish pin — gateway redirects
34668
34670
  free: "free/gpt-oss-120b",
34669
34671
  // MiniMax (minimax → current flagship: M3)
34670
34672
  minimax: "minimax/minimax-m3",
@@ -34685,15 +34687,17 @@ var init_models = __esm({
34685
34687
  // Note: auto, eco, premium are virtual routing profiles registered in BLOCKRUN_MODELS
34686
34688
  // They don't need aliases since they're already top-level model IDs
34687
34689
  // Image generation
34688
- dalle: "openai/dall-e-3",
34689
- "dall-e": "openai/dall-e-3",
34690
+ // dall-e-3 was delisted upstream 2026-05-25; legacy aliases point at its
34691
+ // OpenAI successor. flux (black-forest) has no gateway entry anymore.
34692
+ dalle: "openai/gpt-image-2",
34693
+ "dall-e": "openai/gpt-image-2",
34690
34694
  "gpt-image": "openai/gpt-image-1",
34695
+ "gpt-image-2": "openai/gpt-image-2",
34691
34696
  "nano-banana": "google/nano-banana",
34692
34697
  banana: "google/nano-banana",
34693
34698
  "banana-pro": "google/nano-banana-pro",
34694
34699
  "nano-banana-pro": "google/nano-banana-pro",
34695
- flux: "black-forest/flux-1.1-pro",
34696
- "flux-pro": "black-forest/flux-1.1-pro",
34700
+ seedream: "bytedance/seedream-5-pro",
34697
34701
  "grok-imagine": "xai/grok-imagine-image",
34698
34702
  "grok-imagine-pro": "xai/grok-imagine-image-pro",
34699
34703
  cogview: "zai/cogview-4",
@@ -35591,6 +35595,8 @@ var init_models = __esm({
35591
35595
  // V4 Flash: 284B / 13B active MoE, 1M context. ~5x faster than V4 Pro.
35592
35596
  // Strong on chat/summarization (MMLU-Pro 86.2). Caveat: weaker factual
35593
35597
  // recall (SimpleQA 34% vs Pro's 58%) — pick V4 Pro for fact-heavy loops.
35598
+ // Recovered in blockrun's 2026-07-17 live re-probe (3.2s both passes) —
35599
+ // un-hidden upstream and back in the advertised free 8.
35594
35600
  id: "free/deepseek-v4-flash",
35595
35601
  name: "[Free] DeepSeek V4 Flash",
35596
35602
  version: "v4-flash",
@@ -35671,10 +35677,12 @@ var init_models = __esm({
35671
35677
  },
35672
35678
  // 2026-06-16: BlockRun's 2026-06-14 free-tier refresh (self-healing health gate
35673
35679
  // + probe-verified lineup, blockrun commit 5817ecd) added these live NVIDIA free
35674
- // models. qwen3-coder-480b was retired (NVIDIA EOL 2026-06-14) and now redirects
35675
- // server-side to seed-oss-36b; deepseek-v4-flash/glm-4.7 stay catalog-only.
35680
+ // models. Status per blockrun's 2026-07-17 live re-probe: qwen3-coder-480b and
35681
+ // glm-4.7 stay dead (server-redirected); deepseek-v4-flash recovered (see above).
35676
35682
  {
35677
- // Qwen3-Next 80B (A3B active MoE): 262K context, strong reasoning + coding.
35683
+ // Qwen3-Next 80B (A3B active MoE): 262K context. DIED in the 2026-07-17
35684
+ // re-probe (">60s / DEGRADED") — hidden upstream, gateway redirects pinned
35685
+ // callers to gpt-oss-120b. Entry kept so pins stay routable; off the picker.
35678
35686
  id: "free/qwen3-next-80b-a3b-instruct",
35679
35687
  name: "[Free] Qwen3-Next 80B Instruct",
35680
35688
  version: "next-80b-a3b",
@@ -84553,6 +84561,7 @@ function estimateAmount(modelId, bodyLength, maxTokens) {
84553
84561
  const estimatedOutputTokens = maxTokens || model.maxOutput || 4096;
84554
84562
  costUsd = estimatedInputTokens / 1e6 * model.inputPrice + estimatedOutputTokens / 1e6 * model.outputPrice;
84555
84563
  }
84564
+ if (costUsd > 0) costUsd += 2e-3;
84556
84565
  const amountMicros = Math.max(1e3, Math.ceil(costUsd * 1.2 * 1e6));
84557
84566
  return amountMicros.toString();
84558
84567
  }
@@ -85123,7 +85132,7 @@ async function startProxy(options) {
85123
85132
  let imgCost = 0;
85124
85133
  try {
85125
85134
  const parsed = JSON.parse(reqBody.toString());
85126
- imgModel = parsed.model || "openai/dall-e-3";
85135
+ imgModel = parsed.model || "google/nano-banana";
85127
85136
  const n = parsed.n || 1;
85128
85137
  imgCost = estimateImageCost(imgModel, parsed.size, n);
85129
85138
  } catch {
@@ -86126,17 +86135,22 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
86126
86135
  if (modelMatch) {
86127
86136
  const raw = modelMatch[1];
86128
86137
  const IMAGE_MODEL_ALIASES = {
86129
- "dall-e-3": "openai/dall-e-3",
86130
- dalle3: "openai/dall-e-3",
86131
- dalle: "openai/dall-e-3",
86138
+ // dall-e-3 delisted upstream 2026-05-25 — legacy aliases route to
86139
+ // the OpenAI successor instead of a guaranteed 400.
86140
+ "dall-e-3": "openai/gpt-image-2",
86141
+ dalle3: "openai/gpt-image-2",
86142
+ dalle: "openai/gpt-image-2",
86132
86143
  "gpt-image": "openai/gpt-image-1",
86133
86144
  "gpt-image-1": "openai/gpt-image-1",
86134
- flux: "black-forest/flux-1.1-pro",
86135
- "flux-pro": "black-forest/flux-1.1-pro",
86145
+ "gpt-image-2": "openai/gpt-image-2",
86146
+ seedream: "bytedance/seedream-5-pro",
86136
86147
  banana: "google/nano-banana",
86137
86148
  "nano-banana": "google/nano-banana",
86138
86149
  "banana-pro": "google/nano-banana-pro",
86139
- "nano-banana-pro": "google/nano-banana-pro"
86150
+ "nano-banana-pro": "google/nano-banana-pro",
86151
+ "grok-imagine": "xai/grok-imagine-image",
86152
+ "grok-imagine-pro": "xai/grok-imagine-image-pro",
86153
+ cogview: "zai/cogview-4"
86140
86154
  };
86141
86155
  imageModel = IMAGE_MODEL_ALIASES[raw] ?? raw;
86142
86156
  imagePrompt = imagePrompt.replace(/--model\s+\S+/, "").trim();
@@ -86157,13 +86171,15 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
86157
86171
  "Models:",
86158
86172
  " nano-banana Google Gemini Flash \u2014 $0.05/image",
86159
86173
  " banana-pro Google Gemini Pro \u2014 $0.10/image (up to 4K)",
86160
- " dall-e-3 OpenAI DALL-E 3 \u2014 $0.04/image",
86161
86174
  " gpt-image OpenAI GPT Image 1 \u2014 $0.02/image",
86162
- " flux Black Forest Flux 1.1 Pro \u2014 $0.04/image",
86175
+ " gpt-image-2 OpenAI GPT Image 2 \u2014 $0.06/image",
86176
+ " seedream ByteDance Seedream 5 Pro \u2014 $0.045/image",
86177
+ " grok-imagine xAI Grok Imagine \u2014 $0.02/image",
86178
+ " cogview Zhipu CogView-4 \u2014 $0.015/image",
86163
86179
  "",
86164
86180
  "Examples:",
86165
86181
  " /cr-imagegen a cat wearing sunglasses",
86166
- " /cr-imagegen --model dall-e-3 a futuristic city at sunset",
86182
+ " /cr-imagegen --model gpt-image-2 a futuristic city at sunset",
86167
86183
  " /cr-imagegen --model banana-pro --size 2048x2048 mountain landscape",
86168
86184
  "",
86169
86185
  "Note: `/imagegen` is still accepted in chat for backward compatibility."
@@ -88003,12 +88019,8 @@ var init_proxy = __esm({
88003
88019
  "free/gpt-oss-20b",
88004
88020
  "free/mistral-large-3-675b",
88005
88021
  // 675B general flagship (re-featured 2026-06-14)
88006
- "free/qwen3.5-122b-a10b",
88007
- // newest-gen Qwen, strong general
88008
- "free/qwen3-next-80b-a3b-instruct",
88009
- // 262K ctx, strong reasoning + coding
88010
- "free/llama-4-maverick",
88011
- // BlockRun's primary free fallback
88022
+ "free/deepseek-v4-flash",
88023
+ // 1M ctx, recovered 2026-07-17 (3.2s probe)
88012
88024
  "free/seed-oss-36b",
88013
88025
  // live coder (successor to retired qwen3-coder-480b)
88014
88026
  "free/mistral-nemotron",
@@ -88093,10 +88105,6 @@ var init_proxy = __esm({
88093
88105
  THINKING_BLOCK_RE = /<\s*(?:think(?:ing)?|thought|antthinking|antml:thinking)\b[^>]*>[\s\S]*?<\s*\/\s*(?:think(?:ing)?|thought|antthinking|antml:thinking)\s*>/gi;
88094
88106
  BLOCKRUN_MODEL_BY_ID = new Map(BLOCKRUN_MODELS.map((m) => [m.id, m]));
88095
88107
  IMAGE_PRICING = {
88096
- "openai/dall-e-3": {
88097
- default: 0.04,
88098
- sizes: { "1024x1024": 0.04, "1792x1024": 0.08, "1024x1792": 0.08 }
88099
- },
88100
88108
  "openai/gpt-image-1": {
88101
88109
  default: 0.02,
88102
88110
  sizes: { "1024x1024": 0.02, "1536x1024": 0.04, "1024x1536": 0.04 }
@@ -88105,7 +88113,10 @@ var init_proxy = __esm({
88105
88113
  default: 0.06,
88106
88114
  sizes: { "1024x1024": 0.06, "1536x1024": 0.12, "1024x1536": 0.12 }
88107
88115
  },
88108
- "black-forest/flux-1.1-pro": { default: 0.04 },
88116
+ "bytedance/seedream-5-pro": {
88117
+ default: 0.045,
88118
+ sizes: { "1024x1024": 0.045, "2048x1024": 0.045, "2048x2048": 0.09 }
88119
+ },
88109
88120
  "google/nano-banana": { default: 0.05 },
88110
88121
  "google/nano-banana-pro": {
88111
88122
  default: 0.1,
package/dist/index.js CHANGED
@@ -78,9 +78,6 @@ var init_top_models = __esm({
78
78
  "google/gemini-3-flash-preview",
79
79
  "xai/grok-4.5",
80
80
  "xai/grok-4.3",
81
- "xai/grok-4-0709",
82
- "xai/grok-4-1-fast-reasoning",
83
- "xai/grok-3",
84
81
  "xai/grok-build-0.1",
85
82
  "zai/glm-5.2",
86
83
  "zai/glm-5.1",
@@ -92,14 +89,14 @@ var init_top_models = __esm({
92
89
  "deepseek/deepseek-v4-pro",
93
90
  "deepseek/deepseek-chat",
94
91
  "deepseek/deepseek-reasoner",
95
- "free/gpt-oss-120b",
96
- "free/gpt-oss-20b",
97
92
  "free/mistral-large-3-675b",
98
- "free/qwen3.5-122b-a10b",
99
- "free/qwen3-next-80b-a3b-instruct",
100
- "free/llama-4-maverick",
93
+ "free/deepseek-v4-flash",
101
94
  "free/seed-oss-36b",
102
- "free/nemotron-3-nano-omni-30b-a3b-reasoning"
95
+ "free/nemotron-3-nano-omni-30b-a3b-reasoning",
96
+ "free/mistral-nemotron",
97
+ "free/step-3.7-flash",
98
+ "free/nemotron-nano-9b-v2",
99
+ "free/nemotron-nano-12b-v2-vl"
103
100
  ];
104
101
  }
105
102
  });
@@ -363,14 +360,12 @@ var init_models = __esm({
363
360
  "gpt-20b": "free/gpt-oss-20b",
364
361
  "nvidia/gpt-oss-120b": "free/gpt-oss-120b",
365
362
  "nvidia/gpt-oss-20b": "free/gpt-oss-20b",
363
+ // deepseek family → v4-flash, matching blockrun's 2026-07-17 redirect map
364
+ // (v4-flash recovered in the live re-probe; v3.2/v4-pro stay dead upstream).
366
365
  "nvidia/deepseek-v3.2": "free/deepseek-v4-flash",
367
- // v3.2 → v4-flash (v4-pro NVIDIA hung 2026-04-30)
368
366
  "free/deepseek-v3.2": "free/deepseek-v4-flash",
369
- // local pin redirect
370
367
  "nvidia/deepseek-v4-pro": "free/deepseek-v4-flash",
371
- // V4 Pro NVIDIA hung 2026-04-30
372
368
  "free/deepseek-v4-pro": "free/deepseek-v4-flash",
373
- // V4 Pro delisted — redirect pinned callers
374
369
  "nvidia/deepseek-v4-flash": "free/deepseek-v4-flash",
375
370
  "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning": "free/nemotron-3-nano-omni-30b-a3b-reasoning",
376
371
  // qwen3-coder-480b retired (NVIDIA EOL 2026-06-14) → redirects to seed-oss-36b
@@ -378,58 +373,62 @@ var init_models = __esm({
378
373
  // resolves them), but point the generic coding shorthands at the live successor.
379
374
  "nvidia/qwen3-coder-480b": "free/qwen3-coder-480b",
380
375
  "qwen/qwen3-coder-480b-a35b-instruct": "free/qwen3-coder-480b",
381
- "nvidia/glm-4.7": "free/seed-oss-36b",
376
+ // glm-4.7 pin keeps the real id — blockrun redirects it server-side (→ gpt-oss-120b).
377
+ "nvidia/glm-4.7": "free/glm-4.7",
382
378
  "nvidia/llama-4-maverick": "free/llama-4-maverick",
383
- // qwen3-next thinking variant retired; live sibling is the instruct model
379
+ // qwen3-next: both variants died in the 2026-07-17 re-probe; pins keep the id
380
+ // (blockrun redirects them server-side to gpt-oss-120b).
384
381
  "nvidia/qwen3-next-80b-a3b-thinking": "free/qwen3-next-80b-a3b-instruct",
385
- // New live free models from the 2026-06-14 BlockRun free-tier refresh
386
382
  "nvidia/qwen3-next-80b-a3b-instruct": "free/qwen3-next-80b-a3b-instruct",
387
383
  "nvidia/seed-oss-36b": "free/seed-oss-36b",
388
384
  "nvidia/mistral-nemotron": "free/mistral-nemotron",
389
385
  "nvidia/step-3.7-flash": "free/step-3.7-flash",
390
386
  "nvidia/nemotron-nano-9b-v2": "free/nemotron-nano-9b-v2",
391
387
  "nvidia/nemotron-nano-12b-v2-vl": "free/nemotron-nano-12b-v2-vl",
392
- "nvidia/mistral-small-4-119b": "free/llama-4-maverick",
393
- // NVIDIA upstream timing out — hidden + redirected server-side 2026-06-08
394
- // Retired free IDs → successors (mirror server-side redirects)
395
- "nvidia/nemotron-ultra-253b": "free/llama-4-maverick",
396
- "nvidia/nemotron-3-super-120b": "free/llama-4-maverick",
397
- "nvidia/nemotron-super-49b": "free/llama-4-maverick",
388
+ // nvidia/mistral-small-4-119b: no local redirect — recovered in the 2026-07-17
389
+ // re-probe and blockrun removed its server redirect, so pinned callers reach the
390
+ // real model again (upstream fallbackModel + health gate cover a relapse).
391
+ // Retired free IDs → successors (mirror blockrun's 2026-07-17 redirect map:
392
+ // ultra-253b redirects to gpt-oss-120b; the two supers have NO server redirect —
393
+ // they stay hidden-but-routable, so their pins pass through to the real ids).
394
+ "nvidia/nemotron-ultra-253b": "free/gpt-oss-120b",
398
395
  // mistral-large-3-675b un-retired 2026-06-14: BlockRun re-featured it (available,
399
396
  // NVIDIA upstream recovered) so it's a real free catalog entry again.
400
397
  "nvidia/mistral-large-3-675b": "free/mistral-large-3-675b",
401
398
  "nvidia/qwen3.5-122b-a10b": "free/qwen3.5-122b-a10b",
402
- "nvidia/devstral-2-123b": "free/seed-oss-36b",
403
- "free/nemotron-ultra-253b": "free/llama-4-maverick",
404
- "free/nemotron-3-super-120b": "free/llama-4-maverick",
405
- "free/nemotron-super-49b": "free/llama-4-maverick",
406
- "free/devstral-2-123b": "free/seed-oss-36b",
399
+ // devstral-2-123b died upstream; blockrun redirects it to gpt-oss-120b (2026-07-17 map)
400
+ "nvidia/devstral-2-123b": "free/gpt-oss-120b",
401
+ "free/nemotron-ultra-253b": "free/gpt-oss-120b",
402
+ "free/devstral-2-123b": "free/gpt-oss-120b",
407
403
  // New blockrun-featured free models (2026-06-14 catalog sweep)
408
404
  "mistral-large": "free/mistral-large-3-675b",
409
405
  "mistral-large-3-675b": "free/mistral-large-3-675b",
410
406
  "qwen3.5-122b": "free/qwen3.5-122b-a10b",
411
407
  "qwen3-122b": "free/qwen3.5-122b-a10b",
412
- // Free model shorthand aliases
408
+ // Free model shorthand aliases (v4-flash recovered 2026-07-17 — live again)
413
409
  "deepseek-free": "free/deepseek-v4-flash",
414
- // V4 Pro NVIDIA hung 2026-04-30 → flash
415
410
  "deepseek-v4-pro": "free/deepseek-v4-flash",
416
- // free shorthand → flash (pro hung)
411
+ // free shorthand → flash (pro still hung)
417
412
  "deepseek-v4-flash": "free/deepseek-v4-flash",
418
413
  "v4-pro": "free/deepseek-v4-flash",
419
414
  // V4 Pro NVIDIA hung → flash
420
415
  "v4-flash": "free/deepseek-v4-flash",
421
- "mistral-free": "free/llama-4-maverick",
416
+ "mistral-free": "free/mistral-large-3-675b",
417
+ // was llama-4-maverick (died 2026-07) — live Mistral flagship
422
418
  "glm-free": "free/seed-oss-36b",
423
419
  // qwen3-coder retired → live coder successor
424
- "llama-free": "free/llama-4-maverick",
420
+ "llama-free": "free/gpt-oss-120b",
421
+ // no live free Llama left (maverick died 2026-07)
425
422
  "qwen-coder": "free/seed-oss-36b",
426
423
  // qwen3-coder-480b retired → seed-oss-36b
427
424
  "qwen-coder-free": "free/seed-oss-36b",
428
- "qwen-thinking": "free/qwen3-next-80b-a3b-instruct",
425
+ "qwen-thinking": "free/gpt-oss-120b",
426
+ // qwen3-next died 2026-07-17; no live free Qwen left
429
427
  "qwen3-next": "free/qwen3-next-80b-a3b-instruct",
430
- // now a live model (instruct)
428
+ // explicit-ish pin — gateway redirects
431
429
  "qwen3-next-80b": "free/qwen3-next-80b-a3b-instruct",
432
- "mistral-small": "free/llama-4-maverick",
430
+ "mistral-small": "free/mistral-nemotron",
431
+ // closest live Mistral-family free model
433
432
  // New live free models (2026-06-14 BlockRun free-tier refresh)
434
433
  "seed-oss": "free/seed-oss-36b",
435
434
  "seed-oss-36b": "free/seed-oss-36b",
@@ -445,16 +444,19 @@ var init_models = __esm({
445
444
  "nemotron-omni": "free/nemotron-3-nano-omni-30b-a3b-reasoning",
446
445
  "nano-omni": "free/nemotron-3-nano-omni-30b-a3b-reasoning",
447
446
  "vision-free": "free/nemotron-3-nano-omni-30b-a3b-reasoning",
448
- // Retired shorthand aliases redirect to successors
449
- nemotron: "free/llama-4-maverick",
450
- "nemotron-ultra": "free/llama-4-maverick",
451
- "nemotron-253b": "free/llama-4-maverick",
452
- "nemotron-super": "free/llama-4-maverick",
453
- "nemotron-49b": "free/llama-4-maverick",
454
- "nemotron-120b": "free/llama-4-maverick",
447
+ // Retired shorthand aliases redirect to live successors (2026-07-17 map:
448
+ // llama-4-maverick died, so the old catch-all target moved to gpt-oss-120b)
449
+ nemotron: "free/nemotron-3-nano-omni-30b-a3b-reasoning",
450
+ // strongest live Nemotron
451
+ "nemotron-ultra": "free/gpt-oss-120b",
452
+ "nemotron-253b": "free/gpt-oss-120b",
453
+ "nemotron-super": "free/gpt-oss-120b",
454
+ "nemotron-49b": "free/gpt-oss-120b",
455
+ "nemotron-120b": "free/gpt-oss-120b",
455
456
  devstral: "free/seed-oss-36b",
456
457
  "devstral-2": "free/seed-oss-36b",
457
458
  maverick: "free/llama-4-maverick",
459
+ // explicit-ish pin — gateway redirects
458
460
  free: "free/gpt-oss-120b",
459
461
  // MiniMax (minimax → current flagship: M3)
460
462
  minimax: "minimax/minimax-m3",
@@ -475,15 +477,17 @@ var init_models = __esm({
475
477
  // Note: auto, eco, premium are virtual routing profiles registered in BLOCKRUN_MODELS
476
478
  // They don't need aliases since they're already top-level model IDs
477
479
  // Image generation
478
- dalle: "openai/dall-e-3",
479
- "dall-e": "openai/dall-e-3",
480
+ // dall-e-3 was delisted upstream 2026-05-25; legacy aliases point at its
481
+ // OpenAI successor. flux (black-forest) has no gateway entry anymore.
482
+ dalle: "openai/gpt-image-2",
483
+ "dall-e": "openai/gpt-image-2",
480
484
  "gpt-image": "openai/gpt-image-1",
485
+ "gpt-image-2": "openai/gpt-image-2",
481
486
  "nano-banana": "google/nano-banana",
482
487
  banana: "google/nano-banana",
483
488
  "banana-pro": "google/nano-banana-pro",
484
489
  "nano-banana-pro": "google/nano-banana-pro",
485
- flux: "black-forest/flux-1.1-pro",
486
- "flux-pro": "black-forest/flux-1.1-pro",
490
+ seedream: "bytedance/seedream-5-pro",
487
491
  "grok-imagine": "xai/grok-imagine-image",
488
492
  "grok-imagine-pro": "xai/grok-imagine-image-pro",
489
493
  cogview: "zai/cogview-4",
@@ -1381,6 +1385,8 @@ var init_models = __esm({
1381
1385
  // V4 Flash: 284B / 13B active MoE, 1M context. ~5x faster than V4 Pro.
1382
1386
  // Strong on chat/summarization (MMLU-Pro 86.2). Caveat: weaker factual
1383
1387
  // recall (SimpleQA 34% vs Pro's 58%) — pick V4 Pro for fact-heavy loops.
1388
+ // Recovered in blockrun's 2026-07-17 live re-probe (3.2s both passes) —
1389
+ // un-hidden upstream and back in the advertised free 8.
1384
1390
  id: "free/deepseek-v4-flash",
1385
1391
  name: "[Free] DeepSeek V4 Flash",
1386
1392
  version: "v4-flash",
@@ -1461,10 +1467,12 @@ var init_models = __esm({
1461
1467
  },
1462
1468
  // 2026-06-16: BlockRun's 2026-06-14 free-tier refresh (self-healing health gate
1463
1469
  // + probe-verified lineup, blockrun commit 5817ecd) added these live NVIDIA free
1464
- // models. qwen3-coder-480b was retired (NVIDIA EOL 2026-06-14) and now redirects
1465
- // server-side to seed-oss-36b; deepseek-v4-flash/glm-4.7 stay catalog-only.
1470
+ // models. Status per blockrun's 2026-07-17 live re-probe: qwen3-coder-480b and
1471
+ // glm-4.7 stay dead (server-redirected); deepseek-v4-flash recovered (see above).
1466
1472
  {
1467
- // Qwen3-Next 80B (A3B active MoE): 262K context, strong reasoning + coding.
1473
+ // Qwen3-Next 80B (A3B active MoE): 262K context. DIED in the 2026-07-17
1474
+ // re-probe (">60s / DEGRADED") — hidden upstream, gateway redirects pinned
1475
+ // callers to gpt-oss-120b. Entry kept so pins stay routable; off the picker.
1468
1476
  id: "free/qwen3-next-80b-a3b-instruct",
1469
1477
  name: "[Free] Qwen3-Next 80B Instruct",
1470
1478
  version: "next-80b-a3b",
@@ -35453,10 +35461,10 @@ var init_config = __esm({
35453
35461
  // FREE — smaller, faster
35454
35462
  "free/mistral-large-3-675b",
35455
35463
  // FREE — 675B general flagship (re-featured 2026-06-14)
35456
- "free/qwen3.5-122b-a10b",
35457
- // FREE — newest-gen Qwen, strong general
35458
- "free/qwen3-next-80b-a3b-instruct",
35459
- // FREE — 262K ctx, strong general (deepseek-v4-flash retired)
35464
+ "free/deepseek-v4-flash",
35465
+ // FREE — 1M ctx, recovered in blockrun's 2026-07-17 re-probe
35466
+ "free/seed-oss-36b",
35467
+ // FREE — live coder (qwen3.5-122b + qwen3-next died 2026-07)
35460
35468
  "google/gemini-3.1-flash-lite",
35461
35469
  // $0.25/$1.50 — newest flash-lite
35462
35470
  "openai/gpt-5.4-nano",
@@ -84373,6 +84381,7 @@ function estimateAmount(modelId, bodyLength, maxTokens) {
84373
84381
  const estimatedOutputTokens = maxTokens || model.maxOutput || 4096;
84374
84382
  costUsd = estimatedInputTokens / 1e6 * model.inputPrice + estimatedOutputTokens / 1e6 * model.outputPrice;
84375
84383
  }
84384
+ if (costUsd > 0) costUsd += 2e-3;
84376
84385
  const amountMicros = Math.max(1e3, Math.ceil(costUsd * 1.2 * 1e6));
84377
84386
  return amountMicros.toString();
84378
84387
  }
@@ -84943,7 +84952,7 @@ async function startProxy(options) {
84943
84952
  let imgCost = 0;
84944
84953
  try {
84945
84954
  const parsed = JSON.parse(reqBody.toString());
84946
- imgModel = parsed.model || "openai/dall-e-3";
84955
+ imgModel = parsed.model || "google/nano-banana";
84947
84956
  const n = parsed.n || 1;
84948
84957
  imgCost = estimateImageCost(imgModel, parsed.size, n);
84949
84958
  } catch {
@@ -85946,17 +85955,22 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
85946
85955
  if (modelMatch) {
85947
85956
  const raw = modelMatch[1];
85948
85957
  const IMAGE_MODEL_ALIASES = {
85949
- "dall-e-3": "openai/dall-e-3",
85950
- dalle3: "openai/dall-e-3",
85951
- dalle: "openai/dall-e-3",
85958
+ // dall-e-3 delisted upstream 2026-05-25 — legacy aliases route to
85959
+ // the OpenAI successor instead of a guaranteed 400.
85960
+ "dall-e-3": "openai/gpt-image-2",
85961
+ dalle3: "openai/gpt-image-2",
85962
+ dalle: "openai/gpt-image-2",
85952
85963
  "gpt-image": "openai/gpt-image-1",
85953
85964
  "gpt-image-1": "openai/gpt-image-1",
85954
- flux: "black-forest/flux-1.1-pro",
85955
- "flux-pro": "black-forest/flux-1.1-pro",
85965
+ "gpt-image-2": "openai/gpt-image-2",
85966
+ seedream: "bytedance/seedream-5-pro",
85956
85967
  banana: "google/nano-banana",
85957
85968
  "nano-banana": "google/nano-banana",
85958
85969
  "banana-pro": "google/nano-banana-pro",
85959
- "nano-banana-pro": "google/nano-banana-pro"
85970
+ "nano-banana-pro": "google/nano-banana-pro",
85971
+ "grok-imagine": "xai/grok-imagine-image",
85972
+ "grok-imagine-pro": "xai/grok-imagine-image-pro",
85973
+ cogview: "zai/cogview-4"
85960
85974
  };
85961
85975
  imageModel = IMAGE_MODEL_ALIASES[raw] ?? raw;
85962
85976
  imagePrompt = imagePrompt.replace(/--model\s+\S+/, "").trim();
@@ -85977,13 +85991,15 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
85977
85991
  "Models:",
85978
85992
  " nano-banana Google Gemini Flash \u2014 $0.05/image",
85979
85993
  " banana-pro Google Gemini Pro \u2014 $0.10/image (up to 4K)",
85980
- " dall-e-3 OpenAI DALL-E 3 \u2014 $0.04/image",
85981
85994
  " gpt-image OpenAI GPT Image 1 \u2014 $0.02/image",
85982
- " flux Black Forest Flux 1.1 Pro \u2014 $0.04/image",
85995
+ " gpt-image-2 OpenAI GPT Image 2 \u2014 $0.06/image",
85996
+ " seedream ByteDance Seedream 5 Pro \u2014 $0.045/image",
85997
+ " grok-imagine xAI Grok Imagine \u2014 $0.02/image",
85998
+ " cogview Zhipu CogView-4 \u2014 $0.015/image",
85983
85999
  "",
85984
86000
  "Examples:",
85985
86001
  " /cr-imagegen a cat wearing sunglasses",
85986
- " /cr-imagegen --model dall-e-3 a futuristic city at sunset",
86002
+ " /cr-imagegen --model gpt-image-2 a futuristic city at sunset",
85987
86003
  " /cr-imagegen --model banana-pro --size 2048x2048 mountain landscape",
85988
86004
  "",
85989
86005
  "Note: `/imagegen` is still accepted in chat for backward compatibility."
@@ -87823,12 +87839,8 @@ var init_proxy = __esm({
87823
87839
  "free/gpt-oss-20b",
87824
87840
  "free/mistral-large-3-675b",
87825
87841
  // 675B general flagship (re-featured 2026-06-14)
87826
- "free/qwen3.5-122b-a10b",
87827
- // newest-gen Qwen, strong general
87828
- "free/qwen3-next-80b-a3b-instruct",
87829
- // 262K ctx, strong reasoning + coding
87830
- "free/llama-4-maverick",
87831
- // BlockRun's primary free fallback
87842
+ "free/deepseek-v4-flash",
87843
+ // 1M ctx, recovered 2026-07-17 (3.2s probe)
87832
87844
  "free/seed-oss-36b",
87833
87845
  // live coder (successor to retired qwen3-coder-480b)
87834
87846
  "free/mistral-nemotron",
@@ -87913,10 +87925,6 @@ var init_proxy = __esm({
87913
87925
  THINKING_BLOCK_RE = /<\s*(?:think(?:ing)?|thought|antthinking|antml:thinking)\b[^>]*>[\s\S]*?<\s*\/\s*(?:think(?:ing)?|thought|antthinking|antml:thinking)\s*>/gi;
87914
87926
  BLOCKRUN_MODEL_BY_ID = new Map(BLOCKRUN_MODELS.map((m) => [m.id, m]));
87915
87927
  IMAGE_PRICING = {
87916
- "openai/dall-e-3": {
87917
- default: 0.04,
87918
- sizes: { "1024x1024": 0.04, "1792x1024": 0.08, "1024x1792": 0.08 }
87919
- },
87920
87928
  "openai/gpt-image-1": {
87921
87929
  default: 0.02,
87922
87930
  sizes: { "1024x1024": 0.02, "1536x1024": 0.04, "1024x1536": 0.04 }
@@ -87925,7 +87933,10 @@ var init_proxy = __esm({
87925
87933
  default: 0.06,
87926
87934
  sizes: { "1024x1024": 0.06, "1536x1024": 0.12, "1024x1536": 0.12 }
87927
87935
  },
87928
- "black-forest/flux-1.1-pro": { default: 0.04 },
87936
+ "bytedance/seedream-5-pro": {
87937
+ default: 0.045,
87938
+ sizes: { "1024x1024": 0.045, "2048x1024": 0.045, "2048x2048": 0.09 }
87939
+ },
87929
87940
  "google/nano-banana": { default: 0.05 },
87930
87941
  "google/nano-banana-pro": {
87931
87942
  default: 0.1,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blockrun/clawrouter",
3
- "version": "0.12.226",
3
+ "version": "0.12.228",
4
4
  "description": "Smart LLM router — save 85% on inference costs. 55+ models (8 free), one wallet, x402 micropayments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: clawrouter
3
- description: Hosted-gateway LLM router — save 67% on inference costs. A local proxy that forwards each request to the blockrun.ai gateway, which routes to the cheapest capable model across 55+ models from OpenAI, Anthropic, Google, DeepSeek, xAI, NVIDIA, and more. 7 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 67% on inference costs. A local proxy that forwards each request to the blockrun.ai gateway, which routes to the cheapest capable model across 55+ models from OpenAI, Anthropic, Google, DeepSeek, xAI, NVIDIA, and more. 8 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 67% on inference costs by forwarding each request to the blockrun.ai gateway, which picks the cheapest model capable of handling it across 55+ models from 9 providers (7 free NVIDIA models). All billing flows through one USDC wallet; you do not hold provider API keys.
56
+ Hosted-gateway LLM router that saves 67% on inference costs by forwarding each request to the blockrun.ai gateway, which picks the cheapest model capable of handling it across 55+ models from 9 providers (8 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
 
@@ -135,7 +135,7 @@ Rules handle ~~80% of requests in <1ms. Only ambiguous queries hit the LLM class
135
135
 
136
136
  ## Available Models
137
137
 
138
- 55+ 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.4, gpt-4o, o3, claude-opus-4.8, claude-opus-4.7, claude-opus-4.6, 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.3, grok-build-0.1, kimi-k2.7, kimi-k2.6, and 8 free NVIDIA models (gpt-oss-120b [default], gpt-oss-20b, mistral-large-3-675b, qwen3.5-122b-a10b, qwen3-next-80b-a3b-instruct, llama-4-maverick, seed-oss-36b [coding], nemotron-3-nano-omni-30b-a3b-reasoning [vision]).
138
+ 55+ 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.4, gpt-4o, o3, claude-fable-5, 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-k2.7, and 8 free NVIDIA models (mistral-large-3-675b [default, 675B flagship], deepseek-v4-flash [1M context], seed-oss-36b [coding], nemotron-3-nano-omni-30b-a3b-reasoning [vision], mistral-nemotron, step-3.7-flash, nemotron-nano-9b-v2, nemotron-nano-12b-v2-vl [vision]).
139
139
 
140
140
  ## Built-in Agent Tools
141
141
 
@@ -158,7 +158,7 @@ Realtime prices and historical OHLC across every asset class. The agent should c
158
158
 
159
159
  | Tool | Purpose | Price |
160
160
  | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------- |
161
- | `blockrun_image_generation` | 8 image models — DALL-E 3, Nano Banana / Pro, Flux, Grok Imagine, CogView-4 | $0.015–$0.15 / image |
161
+ | `blockrun_image_generation` | 8 image models — GPT Image 1/2, Nano Banana / Pro, Seedream 5 Pro, Grok Imagine / Pro, CogView-4 | $0.015–$0.15 / image |
162
162
  | `blockrun_image_edit` | Edit / inpaint existing image (openai/gpt-image-1) | $0.02–$0.04 / image |
163
163
  | `blockrun_video_generation` | Grok Imagine + ByteDance Seedance (1.5-pro / 2.0-fast / 2.0) at 720p with synced audio (t2v default), 5–10s, + OpenAI Sora 2 via Azure (`azure/sora-2`, 4/8/12s, t2v + i2v, rejects human faces in reference images). Seedance is token-priced upstream (~20,256 tokens/sec at the 720p+audio default — 2× the prior 480p rate); `image_url` (image-to-video) costs the same as t2v since 2026-06-01. Seedance 2.0 variants accept optional `real_face_asset_id` (`ta_…`) for BytePlus RealFace character-consistency — mutually exclusive with `image_url`. | $0.05/s (Grok); $0.10/s (Sora 2); Seedance ~$0.46–$1.49 per 5s clip |
164
164
 
@@ -7,8 +7,7 @@ triggers:
7
7
  - "clawrouter image"
8
8
  - "generate image via blockrun"
9
9
  - "blockrun ai art"
10
- - "blockrun dall-e"
11
- - "blockrun flux"
10
+ - "blockrun seedream"
12
11
  - "blockrun nano banana"
13
12
  - "blockrun cogview"
14
13
  - "blockrun grok imagine"
@@ -60,10 +59,9 @@ Display inline: `![generated image](http://localhost:8402/images/abc123.png)`
60
59
  | ------------------ | ---------------------------- | ------------ | ------------------------------- | ---------------------------------------------------------------- |
61
60
  | `nano-banana` | `google/nano-banana` | $0.05 | 1024×1024, 1216×832, 1024×1792 | Default — fast, cheap, good quality |
62
61
  | `banana-pro` | `google/nano-banana-pro` | $0.10–$0.15 | up to 4096×4096 | High-res, large format |
63
- | `dalle` | `openai/dall-e-3` | $0.04–$0.08 | 1024×1024, 1792×1024, 1024×1792 | Photorealistic, complex scenes |
64
62
  | `gpt-image` | `openai/gpt-image-1` | $0.02–$0.04 | 1024×1024, 1536×1024, 1024×1536 | Budget option; supports editing |
65
- | — | `openai/gpt-image-2` | $0.06–$0.12 | 1024×1024, 1536×1024, 1024×1536 | Reasoning-driven, text rendering (slow — proxy polls up to 5min) |
66
- | `flux` | `black-forest/flux-1.1-pro` | $0.04 | 1024×1024, 1216×832, 832×1216 | Artistic styles, fewer restrictions |
63
+ | `gpt-image-2` | `openai/gpt-image-2` | $0.06–$0.12 | 1024×1024, 1536×1024, 1024×1536 | Photorealistic, reasoning-driven, text rendering (slow — proxy polls up to 5min); legacy `dalle` alias routes here |
64
+ | `seedream` | `bytedance/seedream-5-pro` | $0.045–$0.09 | up to 2848×1600 / 2304×1728 | Flagship quality, reference-image support |
67
65
  | `grok-imagine` | `xai/grok-imagine-image` | $0.02 | 1024×1024 | xAI Grok image style |
68
66
  | `grok-imagine-pro` | `xai/grok-imagine-image-pro` | $0.07 | 1024×1024 | Grok high-quality |
69
67
  | `cogview` | `zai/cogview-4` | $0.015–$0.02 | 512×512 to 1440×1440 | Cheapest — Zhipu CogView |
@@ -72,17 +70,18 @@ Display inline: `![generated image](http://localhost:8402/images/abc123.png)`
72
70
 
73
71
  - Default → `nano-banana`
74
72
  - "high res" / "large" → `banana-pro`
75
- - "photorealistic" / "dall-e" → `dalle`
73
+ - "photorealistic" / complex scenes → `gpt-image-2`
74
+ - "flagship quality" / reference image → `seedream`
76
75
  - "budget" / "cheap" → `cogview`
77
76
  - "editable" / "inpainting" → `gpt-image` (only edit-capable model)
78
- - "artistic" / flexible content → `flux`
77
+ - "artistic" / flexible content → `grok-imagine`
79
78
  - "grok style" → `grok-imagine` or `grok-imagine-pro`
80
79
 
81
80
  **Choosing a size:**
82
81
 
83
82
  - Default: `1024x1024`
84
83
  - Portrait: `1024x1792`
85
- - Landscape: `1792x1024` (dall-e-3) or `1216x832` (nano-banana / flux)
84
+ - Landscape: `1536x1024` (gpt-image / gpt-image-2) or `1216x832` (nano-banana)
86
85
  - High-res: `2048x2048` or `4096x4096` with `banana-pro` only
87
86
 
88
87
  ---
@@ -139,5 +138,5 @@ Response is identical to generation:
139
138
  - Payment is automatic via x402 — deducted from the user's BlockRun wallet
140
139
  - If the call fails with a payment error, tell the user to fund their wallet at [blockrun.ai](https://blockrun.ai)
141
140
  - Google models may return base64 internally — ClawRouter uploads automatically and returns a hosted URL
142
- - DALL-E 3 enforces OpenAI content policy; use `flux` or `nano-banana` for more flexibility
143
- - Image editing is only available with `gpt-image-1`; generation supports all 5 models
141
+ - OpenAI image models enforce OpenAI content policy; use `nano-banana` or `grok-imagine` for more flexibility
142
+ - Image editing is only available with `gpt-image-1`; generation supports all listed models
@@ -24,9 +24,6 @@
24
24
  "google/gemini-3-flash-preview",
25
25
  "xai/grok-4.5",
26
26
  "xai/grok-4.3",
27
- "xai/grok-4-0709",
28
- "xai/grok-4-1-fast-reasoning",
29
- "xai/grok-3",
30
27
  "xai/grok-build-0.1",
31
28
  "zai/glm-5.2",
32
29
  "zai/glm-5.1",
@@ -38,12 +35,12 @@
38
35
  "deepseek/deepseek-v4-pro",
39
36
  "deepseek/deepseek-chat",
40
37
  "deepseek/deepseek-reasoner",
41
- "free/gpt-oss-120b",
42
- "free/gpt-oss-20b",
43
38
  "free/mistral-large-3-675b",
44
- "free/qwen3.5-122b-a10b",
45
- "free/qwen3-next-80b-a3b-instruct",
46
- "free/llama-4-maverick",
39
+ "free/deepseek-v4-flash",
47
40
  "free/seed-oss-36b",
48
- "free/nemotron-3-nano-omni-30b-a3b-reasoning"
41
+ "free/nemotron-3-nano-omni-30b-a3b-reasoning",
42
+ "free/mistral-nemotron",
43
+ "free/step-3.7-flash",
44
+ "free/nemotron-nano-9b-v2",
45
+ "free/nemotron-nano-12b-v2-vl"
49
46
  ]