aba96d5251
Follow-ups on top of the salvaged #82631 surface: - _select_surface: an unknown model id found in the live /images/models catalog now ROUTES to the dedicated Image API instead of only logging a hint — without this, a model picked from the live picker that postdates the curated snapshot would fall onto chat-completions and fail. Curated defaults stay pinned to chat (no behaviour change for existing setups); offline probes still fall back to chat. _HINTED_MODELS removed. - list_models (OpenRouter): union of the live GET /images/models catalog (43 models today) and the chat-completions image models, deduped, defaults first; curated metadata wins for known ids, API names for the rest. Nous Portal (no /images route) keeps its chat-only catalog. Offline fallback: static chain + curated Image API snapshot. - Tests updated/added: unknown-id routing (flipped from the hint-only pinning test), non-catalog id stays on chat, merged-picker union/dedupe/ order, Nous exclusion. - Docs: image-generation.md gains the OpenRouter Image API section and an editing-support row. Live-verified: picker lists 43 models; generation succeeded through the dedicated API on google/gemini-3.1-flash-lite-image and on the previously unreachable black-forest-labs/flux.2-klein-4b (config-selected, no kwarg).