PodcastMetadataGenerator.osx-x64 0.0.1

dotnet add package PodcastMetadataGenerator.osx-x64 --version 0.0.1
                    
NuGet\Install-Package PodcastMetadataGenerator.osx-x64 -Version 0.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PodcastMetadataGenerator.osx-x64" Version="0.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PodcastMetadataGenerator.osx-x64" Version="0.0.1" />
                    
Directory.Packages.props
<PackageReference Include="PodcastMetadataGenerator.osx-x64" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PodcastMetadataGenerator.osx-x64 --version 0.0.1
                    
#r "nuget: PodcastMetadataGenerator.osx-x64, 0.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package PodcastMetadataGenerator.osx-x64@0.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PodcastMetadataGenerator.osx-x64&version=0.0.1
                    
Install as a Cake Addin
#tool nuget:?package=PodcastMetadataGenerator.osx-x64&version=0.0.1
                    
Install as a Cake Tool

🎙️ Podcast Metadata Generator

Generate podcast metadata (titles, descriptions, chapters, SRT subtitles) from transcripts using AI powered by the GitHub Copilot SDK.

.NET License GitHub Copilot

✨ 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

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

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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

There are no supported framework assets in this package.

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 117 1/18/2026