From df87a6af7bf1beea8dcc8bbeb5f299025cb2e8f4 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 6 Apr 2026 16:15:53 +0300 Subject: feat: --narrate opt-in narration, panel variety mandate, v0.23.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- internal/cli/command.go | 3 +++ 1 file changed, 3 insertions(+) (limited to 'internal/cli/command.go') 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") -- cgit v1.2.3