PodcastMetadataGenerator.win-x64
0.0.1
dotnet add package PodcastMetadataGenerator.win-x64 --version 0.0.1
NuGet\Install-Package PodcastMetadataGenerator.win-x64 -Version 0.0.1
<PackageReference Include="PodcastMetadataGenerator.win-x64" Version="0.0.1" />
<PackageVersion Include="PodcastMetadataGenerator.win-x64" Version="0.0.1" />
<PackageReference Include="PodcastMetadataGenerator.win-x64" />
paket add PodcastMetadataGenerator.win-x64 --version 0.0.1
#r "nuget: PodcastMetadataGenerator.win-x64, 0.0.1"
#:package PodcastMetadataGenerator.win-x64@0.0.1
#addin nuget:?package=PodcastMetadataGenerator.win-x64&version=0.0.1
#tool nuget:?package=PodcastMetadataGenerator.win-x64&version=0.0.1
🎙️ Podcast Metadata Generator
Generate podcast metadata (titles, descriptions, chapters, SRT subtitles) from transcripts using AI powered by the GitHub Copilot SDK.
✨ Features
- 🎯 Title Generation - Get multiple creative title suggestions for your episode
- 📝 Description Generation - Create short, medium, and long descriptions optimized for different platforms
- 📑 Chapter Generation - Auto-generate YouTube-compatible chapter markers with timestamps
- 🎬 SRT Conversion - Convert transcripts to valid SRT subtitle format
- 🔄 Multiple Transcript Formats - Support for Zencastr, time-range, SRT formats, and plain text
- 📂 File Browser - Built-in file browser or drag-and-drop support
- ⚡ Streaming Responses - Watch AI responses generate in real-time
- 🤖 Model Selection - Choose from multiple AI models (GPT-5, Claude, Gemini)
- ⚙️ Configurable Settings - Customize generation parameters and save preferences
📋 Prerequisites
- .NET 10.0 SDK or later
- GitHub Copilot CLI installed and authenticated
Installing GitHub Copilot CLI
# Using GitHub CLI extension
gh extension install github/gh-copilot
# Or via npm
npm install -g @github/copilot-cli
Then authenticate:
copilot
# Type /login and follow the prompts
🚀 Installation
As a .NET Tool (Recommended)
dotnet tool install -g PodcastMetadataGenerator
From Source
git clone https://github.com/jamesmontemagno/podcast-metadata-generator.git
cd podcast-metadata-generator
dotnet build
📖 Usage
Interactive Mode
# If installed as a tool:
podcast-metadata
# Or from source:
dotnet run
With a Transcript File
podcast-metadata /path/to/transcript.txt
# Or from source:
dotnet run -- /path/to/transcript.txt
🎯 Supported Transcript Formats
Zencastr Format
00:00.00 Speaker 1: Hello and welcome to the show.
00:15.50 Speaker 2: Thanks for having me!
Time-Range Format
00:00:00 - 00:00:15
Hello and welcome to the show.
00:00:15 - 00:00:30
Thanks for having me!
SRT Format
1
00:00:00,000 --> 00:00:15,000
Hello and welcome to the show.
2
00:00:15,000 --> 00:00:30,000
Thanks for having me!
Plain Text
Any text file without timestamps will be processed as plain text. Note: Chapter generation and SRT conversion require timestamps.
📁 Output Files
When you save results, the following files are generated:
| File | Description |
|---|---|
titles.txt |
List of generated title suggestions |
description-short.txt |
Short description (~50 words) |
description-medium.txt |
Medium description (~150 words) |
description-long.txt |
Long description (~300 words) |
chapters.txt |
YouTube-compatible chapter markers |
subtitles.srt |
SRT subtitle file |
manifest.json |
JSON manifest with all metadata |
⚙️ Configuration
Access settings from the main menu to configure:
General Settings
- AI Model - Select from available Copilot models (dynamically fetched from CLI)
- Output Directory - Default location for saved files
- Podcast Name - Your podcast name (used in prompts for better context)
- Host Names - Host names (used in prompts)
- Episode Context - Add guest names, topics, or other context to improve generation
Generation Settings
- Title Count - Number of title suggestions to generate (default: 5)
- Title Max Words - Maximum words per title (default: 10)
- Description Lengths - Word counts for short/medium/long descriptions (default: 50/150/300)
- Chapter Range - Min/max chapters to generate (default: 3-12)
- Chapters per 30 min - Target density of chapters (default: 5)
- Chapter Title Words - Max words per chapter title (default: 8)
Settings are automatically saved to ~/.config/podcast-metadata-generator/settings.json.
🏗️ Project Structure
podcast-metadata-generator/
├── Models/
│ ├── AppSettings.cs # Configuration and generation settings
│ ├── GenerationResult.cs # Results container
│ ├── Manifest.cs # JSON manifest structure
│ └── Transcript.cs # Transcript and segment models
├── Services/
│ ├── CopilotAuthService.cs # CLI authentication checks
│ ├── MetadataGenerator.cs # AI generation via Copilot SDK
│ ├── OutputService.cs # File output handling
│ ├── SettingsService.cs # Settings persistence
│ ├── SrtConverter.cs # SRT format conversion
│ └── TranscriptParser.cs # Multi-format transcript parsing
├── Prompts/
│ └── PromptTemplates.cs # AI prompt templates
├── UI/
│ ├── AppWorkflow.cs # Main application workflow
│ └── ConsoleUI.cs # Spectre.Console UI helpers
└── Program.cs # Entry point
🤝 Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- GitHub Copilot SDK for AI integration
- Spectre.Console for the beautiful terminal UI
- Inspired by jamesmontemagno/app-podcast-assistant
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.0.1 | 129 | 1/18/2026 |