summaryrefslogtreecommitdiff
path: root/internal/gui/app.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-02 07:56:31 +0300
committerPaul Buetow <paul@buetow.org>2026-04-02 07:56:31 +0300
commitb7302580d840fc3d7e3d127df49d79ef12d79d9c (patch)
tree458132230aa1337be76701cb7af6f8c26b3e0d55 /internal/gui/app.go
parent0f2b16d1ccf461b706dd426727ed188c4ea3b60a (diff)
Align GUI and CLI provider wiring
Diffstat (limited to 'internal/gui/app.go')
-rw-r--r--internal/gui/app.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/internal/gui/app.go b/internal/gui/app.go
index 7c9ecd7..a69b178 100644
--- a/internal/gui/app.go
+++ b/internal/gui/app.go
@@ -24,6 +24,7 @@ import (
"codeberg.org/snonux/totalrecall/internal/anki"
"codeberg.org/snonux/totalrecall/internal/archive"
"codeberg.org/snonux/totalrecall/internal/audio"
+ "codeberg.org/snonux/totalrecall/internal/image"
"codeberg.org/snonux/totalrecall/internal/phonetic"
"codeberg.org/snonux/totalrecall/internal/translation"
)
@@ -114,6 +115,10 @@ type Config struct {
ImageProvider string
OpenAIKey string
GoogleAPIKey string
+ // NanoBananaModel selects the Gemini image model for Nano Banana generation.
+ NanoBananaModel string
+ // NanoBananaTextModel selects the Gemini text model for Nano Banana prompt generation.
+ NanoBananaTextModel string
// GeminiTTSModel selects the Gemini TTS model when Gemini audio is active.
GeminiTTSModel string
// GeminiVoice selects a specific Gemini voice; empty uses the model default.
@@ -139,6 +144,8 @@ func DefaultConfig() *Config {
OutputDir: outputDir,
AudioFormat: audioDefaults.OutputFormat,
AudioProvider: audioDefaults.Provider,
+ NanoBananaModel: image.DefaultNanoBananaModel,
+ NanoBananaTextModel: image.DefaultNanoBananaTextModel,
GeminiTTSModel: audioDefaults.GeminiTTSModel,
ImageProvider: imageProviderNanoBanana,
TranslationProvider: translation.ProviderOpenAI,
@@ -170,6 +177,12 @@ func New(config *Config) *Application {
if config.ImageProvider == "" {
config.ImageProvider = defaults.ImageProvider
}
+ if config.NanoBananaModel == "" {
+ config.NanoBananaModel = defaults.NanoBananaModel
+ }
+ if config.NanoBananaTextModel == "" {
+ config.NanoBananaTextModel = defaults.NanoBananaTextModel
+ }
if config.GeminiTTSModel == "" {
config.GeminiTTSModel = defaults.GeminiTTSModel
}