summaryrefslogtreecommitdiff
path: root/internal/cli
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-06 16:15:53 +0300
committerPaul Buetow <paul@buetow.org>2026-04-06 16:15:53 +0300
commitdf87a6af7bf1beea8dcc8bbeb5f299025cb2e8f4 (patch)
treeb21627409c7778a6e70a60f3f2b312f68df44a47 /internal/cli
parent85fd2a50049ae9e7efad6ef0b45d3f2a754fe340 (diff)
feat: --narrate opt-in narration, panel variety mandate, v0.23.0v0.23.0
- Add --narrate flag (default false); narration is now opt-in to save TTS quota - Add VARIETY MANDATE to story page prompts: each panel must differ in camera angle, pose, location, lighting, and foreground — prevents repeated compositions - Wire NarrateEnabled through RunnerConfig and main.go - Update README: --narrate flag, updated output file table, narrator voice examples Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/cli')
-rw-r--r--internal/cli/command.go3
-rw-r--r--internal/cli/flags.go1
2 files changed, 4 insertions, 0 deletions
diff --git a/internal/cli/command.go b/internal/cli/command.go
index c9dd889..ad62272 100644
--- a/internal/cli/command.go
+++ b/internal/cli/command.go
@@ -75,6 +75,9 @@ func setupFlags(cmd *cobra.Command, flags *Flags) {
cmd.Flags().StringVar(&flags.NarratorVoice, "narrator-voice", "",
"Gemini voice for cinematic story narration (default: random from cinematic pool). "+
"Valid values: Charon, Fenrir, Enceladus, Algieba, Aoede, Schedar")
+ cmd.Flags().BoolVar(&flags.NarrateEnabled, "narrate", false,
+ "Generate a cinematic MP3 narration of the story after --story completes (default false). "+
+ "Requires GOOGLE_API_KEY. Use --narrator-voice to pick a specific voice.")
cmd.Flags().BoolVar(&flags.VideoEnabled, "video", flags.VideoEnabled,
"Prompt to generate Veo videos after comic generation (default true; use --video=false to skip)")
cmd.Flags().BoolVar(&flags.SkipAudio, "skip-audio", false, "Skip audio generation")
diff --git a/internal/cli/flags.go b/internal/cli/flags.go
index 678b8ab..7e1cdbc 100644
--- a/internal/cli/flags.go
+++ b/internal/cli/flags.go
@@ -26,6 +26,7 @@ type Flags struct {
StoryNoUltraRealistic bool // --no-ultra-realistic: disable photorealistic rendering requirement
StorySlug string // --story-slug: force a specific output slug/directory (empty = auto from title)
NarratorVoice string // --narrator-voice: Gemini voice for cinematic narration (empty = random)
+ NarrateEnabled bool // --narrate: generate cinematic MP3 narration after --story (default false)
VideoEnabled bool // --video: whether to prompt for Veo video generation after --story completes
SkipAudio bool
SkipImages bool