Skip to content

fix(images): two aliases and the default pointed at models the gateway does not serve - #15

Merged
VickyXAI merged 1 commit into
mainfrom
fix/image-aliases-point-at-live-models
Jul 28, 2026
Merged

fix(images): two aliases and the default pointed at models the gateway does not serve#15
VickyXAI merged 1 commit into
mainfrom
fix/image-aliases-point-at-live-models

Conversation

@VickyXAI

Copy link
Copy Markdown
Contributor

Found while checking the one number I had said I could not verify — the imagegen skill's "5 models". The count was right. The models were not.

Broken paths

Input Resolved to Status
--model flux black-forest/flux-1.1-pro not in the gateway catalog at all
--model dalle openai/dall-e-3 available: false — delisted upstream
(no model given) openai/dall-e-3 same — this is the default

That last one is the serious one: every image request that does not name a model went to a delisted model. That includes every /imagegen call the skill generates.

Fix

  • flux dropped, with its pricing entry — the gateway never served it
  • dall-e-3 / dalle3 / dalle stay as alias keys so existing scripts keep working, redirected to gpt-image-2
  • default → google/nano-banana
  • added shorthands for four live models the proxy could already reach but had no alias for, including cogview — which the imagegen skill was already telling agents to use

The test caught the same bug in my own fix

src/image-aliases.test.ts pins the invariant: every alias target must be priced here, because a model this proxy cannot charge for is one it does not really support.

On first run it failed — I had aliased gpt-image-2 and seedream-5-pro before adding their prices. Prices then mirrored from the gateway catalog (pricePerImage / per-size).

It also asserts the default is priced, and that dall-e-3 never appears as a target again.

What it deliberately cannot catch

"Priced but retired upstream" — availability lives in the gateway catalog, not in this repo. blockrun's own model tests cover that side. Stated in the test so the next reader knows the boundary.

Verification

tsc clean · prettier clean · 511 tests pass

…y does not serve

`--model flux` resolved to black-forest/flux-1.1-pro, which is not in the
gateway catalog at all. `--model dalle` resolved to openai/dall-e-3, which is
available:false since it was delisted upstream. Both failed the call rather
than degrading.

Worse, dall-e-3 was also the DEFAULT: any image request that did not name a
model went to a delisted one. That is every /imagegen call from the skill.

flux is dropped, along with its pricing entry — the gateway never served it.
The dall-e-3 NAMES stay as aliases so existing scripts keep working, but they
now redirect to gpt-image-2. Default is nano-banana.

Also adds aliases for four live models the proxy could already reach but had no
shorthand for, including cogview — which the imagegen skill was already telling
agents to use.

src/image-aliases.test.ts pins the invariant: every alias target must be
priced here, because a model this proxy cannot charge for is one it does not
really support. Writing it caught the same bug in my own fix — I had aliased
gpt-image-2 and seedream-5-pro before adding their prices. Prices mirrored from
the gateway catalog.

The test cannot catch "priced but retired upstream"; availability lives in the
catalog, not here, and blockrun's own model tests cover that side.
@VickyXAI
VickyXAI merged commit 3a8a5c3 into main Jul 28, 2026
4 checks passed
@VickyXAI
VickyXAI deleted the fix/image-aliases-point-at-live-models branch July 28, 2026 04:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant