@blockrun/clawrouter 0.12.225 → 0.12.227

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 |
@@ -390,14 +390,14 @@ No Surf account, no API key — settles directly to Surf's Base treasury in USDC
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/qwen3-next-80b-a3b-instruct | **FREE** | **FREE** | **$0** | 262K | reasoning + coding |
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 qwen3-next` for 262K 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`, `qwen3-next-80b-a3b-instruct`, `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
@@ -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
34303
  "free/qwen3-next-80b-a3b-instruct",
34310
- "free/llama-4-maverick",
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
  });
@@ -34527,6 +34524,12 @@ var init_models = __esm({
34527
34524
  // redirect to its successor so pinned callers land on 3.1-pro, not an error.
34528
34525
  "google/gemini-3-pro-preview": "google/gemini-3.1-pro",
34529
34526
  "gemini-3-pro-preview": "google/gemini-3.1-pro",
34527
+ // Bare Pro shorthands — `gemini-3-pro` was never a real id (the 3-series Pro
34528
+ // shipped as the -preview above, then 3.1), but callers reach for it anyway.
34529
+ // Point them at the current Pro instead of a 400. (Thanks @0xCheetah1, #206.)
34530
+ "gemini-pro": "google/gemini-3.1-pro",
34531
+ "gemini-3-pro": "google/gemini-3.1-pro",
34532
+ "gemini-3.1-pro": "google/gemini-3.1-pro",
34530
34533
  gemini: "google/gemini-2.5-pro",
34531
34534
  flash: "google/gemini-2.5-flash",
34532
34535
  "gemini-3.1-pro-preview": "google/gemini-3.1-pro",
@@ -34679,15 +34682,17 @@ var init_models = __esm({
34679
34682
  // Note: auto, eco, premium are virtual routing profiles registered in BLOCKRUN_MODELS
34680
34683
  // They don't need aliases since they're already top-level model IDs
34681
34684
  // Image generation
34682
- dalle: "openai/dall-e-3",
34683
- "dall-e": "openai/dall-e-3",
34685
+ // dall-e-3 was delisted upstream 2026-05-25; legacy aliases point at its
34686
+ // OpenAI successor. flux (black-forest) has no gateway entry anymore.
34687
+ dalle: "openai/gpt-image-2",
34688
+ "dall-e": "openai/gpt-image-2",
34684
34689
  "gpt-image": "openai/gpt-image-1",
34690
+ "gpt-image-2": "openai/gpt-image-2",
34685
34691
  "nano-banana": "google/nano-banana",
34686
34692
  banana: "google/nano-banana",
34687
34693
  "banana-pro": "google/nano-banana-pro",
34688
34694
  "nano-banana-pro": "google/nano-banana-pro",
34689
- flux: "black-forest/flux-1.1-pro",
34690
- "flux-pro": "black-forest/flux-1.1-pro",
34695
+ seedream: "bytedance/seedream-5-pro",
34691
34696
  "grok-imagine": "xai/grok-imagine-image",
34692
34697
  "grok-imagine-pro": "xai/grok-imagine-image-pro",
34693
34698
  cogview: "zai/cogview-4",
@@ -85117,7 +85122,7 @@ async function startProxy(options) {
85117
85122
  let imgCost = 0;
85118
85123
  try {
85119
85124
  const parsed = JSON.parse(reqBody.toString());
85120
- imgModel = parsed.model || "openai/dall-e-3";
85125
+ imgModel = parsed.model || "google/nano-banana";
85121
85126
  const n = parsed.n || 1;
85122
85127
  imgCost = estimateImageCost(imgModel, parsed.size, n);
85123
85128
  } catch {
@@ -86120,17 +86125,22 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
86120
86125
  if (modelMatch) {
86121
86126
  const raw = modelMatch[1];
86122
86127
  const IMAGE_MODEL_ALIASES = {
86123
- "dall-e-3": "openai/dall-e-3",
86124
- dalle3: "openai/dall-e-3",
86125
- dalle: "openai/dall-e-3",
86128
+ // dall-e-3 delisted upstream 2026-05-25 — legacy aliases route to
86129
+ // the OpenAI successor instead of a guaranteed 400.
86130
+ "dall-e-3": "openai/gpt-image-2",
86131
+ dalle3: "openai/gpt-image-2",
86132
+ dalle: "openai/gpt-image-2",
86126
86133
  "gpt-image": "openai/gpt-image-1",
86127
86134
  "gpt-image-1": "openai/gpt-image-1",
86128
- flux: "black-forest/flux-1.1-pro",
86129
- "flux-pro": "black-forest/flux-1.1-pro",
86135
+ "gpt-image-2": "openai/gpt-image-2",
86136
+ seedream: "bytedance/seedream-5-pro",
86130
86137
  banana: "google/nano-banana",
86131
86138
  "nano-banana": "google/nano-banana",
86132
86139
  "banana-pro": "google/nano-banana-pro",
86133
- "nano-banana-pro": "google/nano-banana-pro"
86140
+ "nano-banana-pro": "google/nano-banana-pro",
86141
+ "grok-imagine": "xai/grok-imagine-image",
86142
+ "grok-imagine-pro": "xai/grok-imagine-image-pro",
86143
+ cogview: "zai/cogview-4"
86134
86144
  };
86135
86145
  imageModel = IMAGE_MODEL_ALIASES[raw] ?? raw;
86136
86146
  imagePrompt = imagePrompt.replace(/--model\s+\S+/, "").trim();
@@ -86151,13 +86161,15 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
86151
86161
  "Models:",
86152
86162
  " nano-banana Google Gemini Flash \u2014 $0.05/image",
86153
86163
  " banana-pro Google Gemini Pro \u2014 $0.10/image (up to 4K)",
86154
- " dall-e-3 OpenAI DALL-E 3 \u2014 $0.04/image",
86155
86164
  " gpt-image OpenAI GPT Image 1 \u2014 $0.02/image",
86156
- " flux Black Forest Flux 1.1 Pro \u2014 $0.04/image",
86165
+ " gpt-image-2 OpenAI GPT Image 2 \u2014 $0.06/image",
86166
+ " seedream ByteDance Seedream 5 Pro \u2014 $0.045/image",
86167
+ " grok-imagine xAI Grok Imagine \u2014 $0.02/image",
86168
+ " cogview Zhipu CogView-4 \u2014 $0.015/image",
86157
86169
  "",
86158
86170
  "Examples:",
86159
86171
  " /cr-imagegen a cat wearing sunglasses",
86160
- " /cr-imagegen --model dall-e-3 a futuristic city at sunset",
86172
+ " /cr-imagegen --model gpt-image-2 a futuristic city at sunset",
86161
86173
  " /cr-imagegen --model banana-pro --size 2048x2048 mountain landscape",
86162
86174
  "",
86163
86175
  "Note: `/imagegen` is still accepted in chat for backward compatibility."
@@ -88087,10 +88099,6 @@ var init_proxy = __esm({
88087
88099
  THINKING_BLOCK_RE = /<\s*(?:think(?:ing)?|thought|antthinking|antml:thinking)\b[^>]*>[\s\S]*?<\s*\/\s*(?:think(?:ing)?|thought|antthinking|antml:thinking)\s*>/gi;
88088
88100
  BLOCKRUN_MODEL_BY_ID = new Map(BLOCKRUN_MODELS.map((m) => [m.id, m]));
88089
88101
  IMAGE_PRICING = {
88090
- "openai/dall-e-3": {
88091
- default: 0.04,
88092
- sizes: { "1024x1024": 0.04, "1792x1024": 0.08, "1024x1792": 0.08 }
88093
- },
88094
88102
  "openai/gpt-image-1": {
88095
88103
  default: 0.02,
88096
88104
  sizes: { "1024x1024": 0.02, "1536x1024": 0.04, "1024x1536": 0.04 }
@@ -88099,7 +88107,10 @@ var init_proxy = __esm({
88099
88107
  default: 0.06,
88100
88108
  sizes: { "1024x1024": 0.06, "1536x1024": 0.12, "1024x1536": 0.12 }
88101
88109
  },
88102
- "black-forest/flux-1.1-pro": { default: 0.04 },
88110
+ "bytedance/seedream-5-pro": {
88111
+ default: 0.045,
88112
+ sizes: { "1024x1024": 0.045, "2048x1024": 0.045, "2048x2048": 0.09 }
88113
+ },
88103
88114
  "google/nano-banana": { default: 0.05 },
88104
88115
  "google/nano-banana-pro": {
88105
88116
  default: 0.1,
@@ -220209,22 +220220,46 @@ Cache Stats
220209
220220
  }
220210
220221
  async function cmdSetup() {
220211
220222
  const { execFileSync, execSync } = await import("child_process");
220223
+ const { existsSync: existsSync5 } = await import("fs");
220224
+ const { dirname: dirname5, join: join17 } = await import("path");
220225
+ const { homedir: homedir14 } = await import("os");
220212
220226
  const { injectModelsConfig: injectModelsConfig2, injectAuthProfile: injectAuthProfile2, syncAgentModelCache: syncAgentModelCache2, VISIBLE_OPENCLAW_MODELS: VISIBLE_OPENCLAW_MODELS2 } = await Promise.resolve().then(() => (init_index(), index_exports));
220213
220227
  console.log("\u{1F99E} ClawRouter setup\n");
220214
- let openclawPath;
220215
- try {
220216
- openclawPath = execSync("command -v openclaw", {
220217
- encoding: "utf8",
220218
- stdio: ["ignore", "pipe", "ignore"]
220219
- }).trim();
220220
- if (!openclawPath) throw new Error("not found");
220221
- console.log(` \u2713 Found openclaw at ${openclawPath}`);
220222
- } catch {
220228
+ const openclawPath = (() => {
220229
+ const candidates = [];
220230
+ try {
220231
+ const onPath = execSync("command -v openclaw", {
220232
+ encoding: "utf8",
220233
+ stdio: ["ignore", "pipe", "ignore"]
220234
+ }).trim();
220235
+ if (onPath) candidates.push(onPath);
220236
+ } catch {
220237
+ }
220238
+ if (process.env.npm_config_prefix) {
220239
+ candidates.push(join17(process.env.npm_config_prefix, "bin", "openclaw"));
220240
+ }
220241
+ try {
220242
+ const npmRoot = execSync("npm root -g", {
220243
+ encoding: "utf8",
220244
+ stdio: ["ignore", "pipe", "ignore"]
220245
+ }).trim();
220246
+ if (npmRoot) candidates.push(join17(dirname5(dirname5(npmRoot)), "bin", "openclaw"));
220247
+ } catch {
220248
+ }
220249
+ candidates.push(
220250
+ join17(homedir14(), ".npm-global", "bin", "openclaw"),
220251
+ join17(homedir14(), ".local", "bin", "openclaw"),
220252
+ "/usr/local/bin/openclaw"
220253
+ );
220254
+ return candidates.find((candidate) => existsSync5(candidate)) ?? "";
220255
+ })();
220256
+ if (!openclawPath) {
220223
220257
  console.error(" \u2717 openclaw not found on PATH");
220224
220258
  console.error(" Install OpenClaw first: npm install -g openclaw");
220225
220259
  console.error(" Then re-run: clawrouter setup");
220226
220260
  process.exit(1);
220227
220261
  }
220262
+ console.log(` \u2713 Found openclaw at ${openclawPath}`);
220228
220263
  console.log("\n\u2192 Registering ClawRouter with OpenClaw...");
220229
220264
  let installOk = false;
220230
220265
  try {
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
93
  "free/qwen3-next-80b-a3b-instruct",
100
- "free/llama-4-maverick",
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
  });
@@ -317,6 +314,12 @@ var init_models = __esm({
317
314
  // redirect to its successor so pinned callers land on 3.1-pro, not an error.
318
315
  "google/gemini-3-pro-preview": "google/gemini-3.1-pro",
319
316
  "gemini-3-pro-preview": "google/gemini-3.1-pro",
317
+ // Bare Pro shorthands — `gemini-3-pro` was never a real id (the 3-series Pro
318
+ // shipped as the -preview above, then 3.1), but callers reach for it anyway.
319
+ // Point them at the current Pro instead of a 400. (Thanks @0xCheetah1, #206.)
320
+ "gemini-pro": "google/gemini-3.1-pro",
321
+ "gemini-3-pro": "google/gemini-3.1-pro",
322
+ "gemini-3.1-pro": "google/gemini-3.1-pro",
320
323
  gemini: "google/gemini-2.5-pro",
321
324
  flash: "google/gemini-2.5-flash",
322
325
  "gemini-3.1-pro-preview": "google/gemini-3.1-pro",
@@ -469,15 +472,17 @@ var init_models = __esm({
469
472
  // Note: auto, eco, premium are virtual routing profiles registered in BLOCKRUN_MODELS
470
473
  // They don't need aliases since they're already top-level model IDs
471
474
  // Image generation
472
- dalle: "openai/dall-e-3",
473
- "dall-e": "openai/dall-e-3",
475
+ // dall-e-3 was delisted upstream 2026-05-25; legacy aliases point at its
476
+ // OpenAI successor. flux (black-forest) has no gateway entry anymore.
477
+ dalle: "openai/gpt-image-2",
478
+ "dall-e": "openai/gpt-image-2",
474
479
  "gpt-image": "openai/gpt-image-1",
480
+ "gpt-image-2": "openai/gpt-image-2",
475
481
  "nano-banana": "google/nano-banana",
476
482
  banana: "google/nano-banana",
477
483
  "banana-pro": "google/nano-banana-pro",
478
484
  "nano-banana-pro": "google/nano-banana-pro",
479
- flux: "black-forest/flux-1.1-pro",
480
- "flux-pro": "black-forest/flux-1.1-pro",
485
+ seedream: "bytedance/seedream-5-pro",
481
486
  "grok-imagine": "xai/grok-imagine-image",
482
487
  "grok-imagine-pro": "xai/grok-imagine-image-pro",
483
488
  cogview: "zai/cogview-4",
@@ -84937,7 +84942,7 @@ async function startProxy(options) {
84937
84942
  let imgCost = 0;
84938
84943
  try {
84939
84944
  const parsed = JSON.parse(reqBody.toString());
84940
- imgModel = parsed.model || "openai/dall-e-3";
84945
+ imgModel = parsed.model || "google/nano-banana";
84941
84946
  const n = parsed.n || 1;
84942
84947
  imgCost = estimateImageCost(imgModel, parsed.size, n);
84943
84948
  } catch {
@@ -85940,17 +85945,22 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
85940
85945
  if (modelMatch) {
85941
85946
  const raw = modelMatch[1];
85942
85947
  const IMAGE_MODEL_ALIASES = {
85943
- "dall-e-3": "openai/dall-e-3",
85944
- dalle3: "openai/dall-e-3",
85945
- dalle: "openai/dall-e-3",
85948
+ // dall-e-3 delisted upstream 2026-05-25 — legacy aliases route to
85949
+ // the OpenAI successor instead of a guaranteed 400.
85950
+ "dall-e-3": "openai/gpt-image-2",
85951
+ dalle3: "openai/gpt-image-2",
85952
+ dalle: "openai/gpt-image-2",
85946
85953
  "gpt-image": "openai/gpt-image-1",
85947
85954
  "gpt-image-1": "openai/gpt-image-1",
85948
- flux: "black-forest/flux-1.1-pro",
85949
- "flux-pro": "black-forest/flux-1.1-pro",
85955
+ "gpt-image-2": "openai/gpt-image-2",
85956
+ seedream: "bytedance/seedream-5-pro",
85950
85957
  banana: "google/nano-banana",
85951
85958
  "nano-banana": "google/nano-banana",
85952
85959
  "banana-pro": "google/nano-banana-pro",
85953
- "nano-banana-pro": "google/nano-banana-pro"
85960
+ "nano-banana-pro": "google/nano-banana-pro",
85961
+ "grok-imagine": "xai/grok-imagine-image",
85962
+ "grok-imagine-pro": "xai/grok-imagine-image-pro",
85963
+ cogview: "zai/cogview-4"
85954
85964
  };
85955
85965
  imageModel = IMAGE_MODEL_ALIASES[raw] ?? raw;
85956
85966
  imagePrompt = imagePrompt.replace(/--model\s+\S+/, "").trim();
@@ -85971,13 +85981,15 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
85971
85981
  "Models:",
85972
85982
  " nano-banana Google Gemini Flash \u2014 $0.05/image",
85973
85983
  " banana-pro Google Gemini Pro \u2014 $0.10/image (up to 4K)",
85974
- " dall-e-3 OpenAI DALL-E 3 \u2014 $0.04/image",
85975
85984
  " gpt-image OpenAI GPT Image 1 \u2014 $0.02/image",
85976
- " flux Black Forest Flux 1.1 Pro \u2014 $0.04/image",
85985
+ " gpt-image-2 OpenAI GPT Image 2 \u2014 $0.06/image",
85986
+ " seedream ByteDance Seedream 5 Pro \u2014 $0.045/image",
85987
+ " grok-imagine xAI Grok Imagine \u2014 $0.02/image",
85988
+ " cogview Zhipu CogView-4 \u2014 $0.015/image",
85977
85989
  "",
85978
85990
  "Examples:",
85979
85991
  " /cr-imagegen a cat wearing sunglasses",
85980
- " /cr-imagegen --model dall-e-3 a futuristic city at sunset",
85992
+ " /cr-imagegen --model gpt-image-2 a futuristic city at sunset",
85981
85993
  " /cr-imagegen --model banana-pro --size 2048x2048 mountain landscape",
85982
85994
  "",
85983
85995
  "Note: `/imagegen` is still accepted in chat for backward compatibility."
@@ -87907,10 +87919,6 @@ var init_proxy = __esm({
87907
87919
  THINKING_BLOCK_RE = /<\s*(?:think(?:ing)?|thought|antthinking|antml:thinking)\b[^>]*>[\s\S]*?<\s*\/\s*(?:think(?:ing)?|thought|antthinking|antml:thinking)\s*>/gi;
87908
87920
  BLOCKRUN_MODEL_BY_ID = new Map(BLOCKRUN_MODELS.map((m) => [m.id, m]));
87909
87921
  IMAGE_PRICING = {
87910
- "openai/dall-e-3": {
87911
- default: 0.04,
87912
- sizes: { "1024x1024": 0.04, "1792x1024": 0.08, "1024x1792": 0.08 }
87913
- },
87914
87922
  "openai/gpt-image-1": {
87915
87923
  default: 0.02,
87916
87924
  sizes: { "1024x1024": 0.02, "1536x1024": 0.04, "1024x1536": 0.04 }
@@ -87919,7 +87927,10 @@ var init_proxy = __esm({
87919
87927
  default: 0.06,
87920
87928
  sizes: { "1024x1024": 0.06, "1536x1024": 0.12, "1024x1536": 0.12 }
87921
87929
  },
87922
- "black-forest/flux-1.1-pro": { default: 0.04 },
87930
+ "bytedance/seedream-5-pro": {
87931
+ default: 0.045,
87932
+ sizes: { "1024x1024": 0.045, "2048x1024": 0.045, "2048x2048": 0.09 }
87933
+ },
87923
87934
  "google/nano-banana": { default: 0.05 },
87924
87935
  "google/nano-banana-pro": {
87925
87936
  default: 0.1,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blockrun/clawrouter",
3
- "version": "0.12.225",
3
+ "version": "0.12.227",
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], qwen3-next-80b-a3b-instruct, 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
39
  "free/qwen3-next-80b-a3b-instruct",
46
- "free/llama-4-maverick",
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
  ]