@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 +27 -30
- package/dist/cli.js +85 -74
- package/dist/index.js +85 -74
- package/package.json +1 -1
- package/skills/clawrouter/SKILL.md +4 -4
- package/skills/imagegen/SKILL.md +9 -10
- package/src/top-models.json +6 -9
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
|
|
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 `
|
|
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 ~
|
|
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. `
|
|
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
|
|
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 |
|
|
213
|
-
| MEDIUM | gemini-3.1-flash-lite ($0.25/$1.50) | kimi-k2.
|
|
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 |
|
|
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
|
|
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
|
-
| `
|
|
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. **
|
|
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
|
-
|
|
|
394
|
-
|
|
|
395
|
-
|
|
|
396
|
-
|
|
|
397
|
-
|
|
|
398
|
-
|
|
|
399
|
-
|
|
|
400
|
-
|
|
|
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.
|
|
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
|
|
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
|
|
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,
|
|
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 (`
|
|
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/
|
|
33996
|
-
// FREE —
|
|
33997
|
-
"free/
|
|
33998
|
-
// FREE —
|
|
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/
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
34603
|
-
//
|
|
34604
|
-
//
|
|
34605
|
-
|
|
34606
|
-
|
|
34607
|
-
|
|
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
|
-
|
|
34613
|
-
"
|
|
34614
|
-
"free/nemotron-
|
|
34615
|
-
"free/
|
|
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/
|
|
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/
|
|
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/
|
|
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
|
-
//
|
|
34638
|
+
// explicit-ish pin — gateway redirects
|
|
34641
34639
|
"qwen3-next-80b": "free/qwen3-next-80b-a3b-instruct",
|
|
34642
|
-
"mistral-small": "free/
|
|
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
|
-
|
|
34660
|
-
|
|
34661
|
-
|
|
34662
|
-
"nemotron-
|
|
34663
|
-
"nemotron-
|
|
34664
|
-
"nemotron-
|
|
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
|
-
|
|
34689
|
-
|
|
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
|
-
|
|
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.
|
|
35675
|
-
//
|
|
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
|
|
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 || "
|
|
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
|
-
|
|
86130
|
-
|
|
86131
|
-
|
|
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
|
-
|
|
86135
|
-
|
|
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
|
-
"
|
|
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
|
|
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/
|
|
88007
|
-
//
|
|
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
|
-
"
|
|
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/
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
393
|
-
//
|
|
394
|
-
//
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
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
|
-
|
|
403
|
-
"
|
|
404
|
-
"free/nemotron-
|
|
405
|
-
"free/
|
|
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/
|
|
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/
|
|
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/
|
|
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
|
-
//
|
|
428
|
+
// explicit-ish pin — gateway redirects
|
|
431
429
|
"qwen3-next-80b": "free/qwen3-next-80b-a3b-instruct",
|
|
432
|
-
"mistral-small": "free/
|
|
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
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
"nemotron-
|
|
453
|
-
"nemotron-
|
|
454
|
-
"nemotron-
|
|
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
|
-
|
|
479
|
-
|
|
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
|
-
|
|
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.
|
|
1465
|
-
//
|
|
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
|
|
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/
|
|
35457
|
-
// FREE —
|
|
35458
|
-
"free/
|
|
35459
|
-
// FREE —
|
|
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 || "
|
|
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
|
-
|
|
85950
|
-
|
|
85951
|
-
|
|
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
|
-
|
|
85955
|
-
|
|
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
|
-
"
|
|
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
|
|
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/
|
|
87827
|
-
//
|
|
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
|
-
"
|
|
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: 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.
|
|
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 (
|
|
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-
|
|
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 —
|
|
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
|
|
package/skills/imagegen/SKILL.md
CHANGED
|
@@ -7,8 +7,7 @@ triggers:
|
|
|
7
7
|
- "clawrouter image"
|
|
8
8
|
- "generate image via blockrun"
|
|
9
9
|
- "blockrun ai art"
|
|
10
|
-
- "blockrun
|
|
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: ``
|
|
|
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
|
-
|
|
|
66
|
-
| `
|
|
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: ``
|
|
|
72
70
|
|
|
73
71
|
- Default → `nano-banana`
|
|
74
72
|
- "high res" / "large" → `banana-pro`
|
|
75
|
-
- "photorealistic" /
|
|
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 → `
|
|
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: `
|
|
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
|
-
-
|
|
143
|
-
- Image editing is only available with `gpt-image-1`; generation supports all
|
|
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
|
package/src/top-models.json
CHANGED
|
@@ -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/
|
|
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
|
]
|