Picked image model now reaches xAI generation; OpenRouter picker lists all live image models (salvage #55893) - #89890
Merged
Merged
Conversation
…t model; xAI edits honor dispatched model - plugins/image_gen/openrouter: list_models() now queries the endpoint's /models catalog filtered to output_modalities containing "image" (per-backend 5-min cache, 10s timeout, static 2-model chain as offline fallback; openrouter/auto* router pseudo-models excluded). Every image model OpenRouter serves — including future releases — is selectable in `hermes tools` with no code change. Applies to Nous Portal too via the shared provider class. - plugins/image_gen/xai: forward the dispatched model kwarg into _resolve_edit_model() so an explicitly selected edit-capable model is honored on /images/edits (extends the salvaged #55893 fix to the edit path; text-only models still fall back to quality). - Tests: OpenRouter live-catalog filtering/exclusions/order, offline fallback, cache single-fetch; xAI edit-kwarg forwarding incl. the text-only-hijack negative case. Live-verified against openrouter.ai: 9 image-output models returned and rendered, matching the public models?output_modalities=image listing.
This was referenced Aug 19, 2026
Closed
Merged
12 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The image model a user picks in
hermes toolsnow actually reaches xAI generation (salvage #55893 by @srojk34), and the OpenRouter/Nous image picker lists every image-output model the endpoint serves live — so new models (like the openrouter.ai/models?output_modalities=image set) are selectable the day they release, with no code change.Follow-up to #89841, which introduced the live xAI catalog; this extends live-catalog treatment to OpenRouter/Nous and closes the model-selection propagation gap.
Changes
plugins/image_gen/xai:_resolve_model()accepts the dispatchedmodelkwarg at top precedence (salvaged fix(xai): forward image_gen.model kwarg to _resolve_model in generate() #55893, rebased onto the live-catalog resolver; validation now against the merged live+static catalog); edit path (_resolve_edit_model) honors the same kwarg when the model is image-input capableplugins/image_gen/openrouter:list_models()fetches the endpoint's/modelsfiltered tooutput_modalities∋image(per-backend 5-min cache, 10s timeout,openrouter/auto*pseudo-models excluded, static 2-model chain offline fallback); shared class means Nous Portal gets it tooValidation
image_gen.modelfromhermes toolsInfographic