UNPKG

@yuchida-tamu/podcast-gen

Version:

AI-Powered Monologue Podcast Generator

37 lines 1.44 kB
#!/usr/bin/env node import { Command } from 'commander'; import dotenv from 'dotenv'; import { readFileSync } from 'fs'; import { generatePodcast } from './orchestrator.js'; import { handleError } from './utils/errors.js'; import { showError } from './utils/progress.js'; // Read version from package.json const packageJson = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')); // CLI setup - runs when this file is executed directly dotenv.config(); const program = new Command(); program .name('podcast-gen') .description('AI-Powered Monologue Podcast Generator') .version(packageJson.version); program .argument('<topic>', 'Topic for the monologue podcast') .option('-d, --duration <minutes>', 'Duration in minutes (5 or 10)', '5') .option('-o, --output <path>', 'Output directory', './output') .option('-s, --script <script>', 'Script path for audio synthesis', '') .option('--openai-key <key>', 'OpenAI API key (alternatively set OPENAI_API_KEY env var)') .action(async (topic, options) => { try { // Set OpenAI API key from CLI flag if provided if (options.openaiKey) { process.env.OPENAI_API_KEY = options.openaiKey; } await generatePodcast(topic, options); } catch (error) { showError('Failed to generate podcast'); handleError(error); } }); program.parse(); //# sourceMappingURL=cli.js.map