Settings exposes a field labeled "Google (Gemini) API Key" (env GOOGLE_API_KEY), and resources/backend/moodboard-backend/_internal/ai/google_provider.py ships four media model definitions: Nano Banana 2 [Google API] (google/gemini-2.5-flash-image), Pro Edit [Google API] (google/gemini-3-pro-image-preview), Veo 3.1 [Google API], and Veo 3.1 i2v. After saving a valid Google AI Studio key and restarting the app, none of those models ever appear in the Generation panel picker, which shows "No models found".
GET /api/ai/models returns an empty array and GET /api/keys/status reports hasGenerateKeys:false, even with the Google key saved. Calling POST /api/ai/generate directly with google/gemini-2.5-flash-image returns 400 "Model not found", which is the registry-lookup failure rather than the provider's own "GOOGLE_API_KEY is not configured" path. That indicates GoogleProvider is never registered into the AI registry at all, so the saved key is never consulted.
Note that GoogleProvider.get_models() returns GOOGLE_MODELS unconditionally with no key gating, so if the provider were registered these models would list regardless of key state. The empty registry is the failure, not the key.
Timing rules out a stale-restart explanation: the settings file was written at 09:44:14.8 and the backend logged "Server startup complete. AI providers registered." at 09:44:30.2, so the backend came up 16 seconds after the key was saved and still registered zero generation providers.
The agent/chat side is unaffected and healthy – hasVibeKeys:true, and /api/ai/prompt-enhancer/models correctly returns the OpenAI models.
CLARIFICATION REQUESTED: Is the Google provider intended to be wired into the generation registry in 9.5.0? If Google is deliberately chat/agents-only for media generation, could the "Google (Gemini) API Key" field be documented or labeled to say so? As it stands the app collects a Google key and ships Google media model definitions, which reads as a promise that Google image and video generation will work in the Generate bar. The documentation provider matrix lists image generation as WaveSpeed, SnapGen and Kling with Google absent, so the UI and the docs disagree.
Steps to reproduce
1. Install 9.5.0 on Windows 11 (upgrade over 8.1.0 via the GitHub release installer).
2. Open Settings, paste a valid Google AI Studio API key (free tier) into the "Google (Gemini) API Key" field, save.
3. Fully restart the app.
4. Open the Generation panel and click the model picker in the bottom bar.
Expected
The four Google models defined in ai/google_provider.py appear in the Generate bar picker, at minimum Nano Banana 2 [Google API], which is available on the Gemini API free tier.
Actual
Picker shows "No models found". /api/ai/models returns []. /api/keys/status reports hasGenerateKeys:false. Direct generate call fails at registry lookup with "Model not found".
Error output
GET /api/ai/models
-> 200 []
GET /api/keys/status
-> 200 {"hasGenerateKeys": false, "hasVibeKeys": true}
POST /api/ai/generate
{"model_id":"google/gemini-2.5-flash-image","params":{"prompt":"diagnostic ping"}}
-> 400 {"detail":"Model not found: google/gemini-2.5-flash-image"}
GET /api/ai/prompt-enhancer/models
-> 200 {"models":[{"id":"gpt-5.6-sol","provider":"openai",...}]} (works)
Context
Feature area: AI media generation / Generation panel model picker. Provider: google. Relevant file: resources/backend/moodboard-backend/_internal/ai/google_provider.py. No board-specific state involved; reproduces on any board. Platform: Windows 11.
Environment
App version: 9.5.0
Platform: Windows 11 (AMD64)
Response