summaryrefslogtreecommitdiff
path: root/internal/cli/flags.go
blob: 64575a082a1df3142fc9224eccacf80d81e1f8b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package cli

// Flags holds all command-line flag values
type Flags struct {
	// General flags
	CfgFile      string
	OutputDir    string
	AudioFormat  string
	ImageAPI     string
	BatchFile    string
	SkipAudio    bool
	SkipImages   bool
	GenerateAnki bool
	AnkiCSV      bool
	DeckName     string
	ListModels   bool
	AllVoices    bool
	GUIMode      bool

	// OpenAI flags
	OpenAIModel       string
	OpenAIVoice       string
	OpenAISpeed       float64
	OpenAIInstruction string

	// OpenAI Image flags
	OpenAIImageModel   string
	OpenAIImageSize    string
	OpenAIImageQuality string
	OpenAIImageStyle   string
}

// NewFlags creates a new Flags instance with default values
func NewFlags() *Flags {
	return &Flags{
		AudioFormat:        "mp3",
		ImageAPI:           "openai",
		DeckName:           "Bulgarian Vocabulary",
		OpenAIModel:        "gpt-4o-mini-tts",
		OpenAISpeed:        0.9,
		OpenAIImageModel:   "dall-e-3",
		OpenAIImageSize:    "1024x1024",
		OpenAIImageQuality: "standard",
		OpenAIImageStyle:   "natural",
	}
}