Skip to main content

Intelligent Podcast & Youtube Transcription & Understanding AI Agent

Project description

๐ŸŽง PodLens - Free Podwise: Podcast & Youtube Transcription & Summary AI Agent

๐Ÿง  For knowledge-seekers who want to learn from audio content more effectively.

๐Ÿค– Now with 24x7 automation service & ๐Ÿ“ง smart email digest & ๐Ÿ“’ sync to Notion!

A fast & cost-free & AI-powered tool that:

  • ๐ŸŽ™๏ธ transcribes audio content from Apple Podcast and YouTube platforms
  • ๐Ÿ“ summarizes
  • ๐Ÿ“Š visualizes
  • ๐ŸŒ features bilingual Chinese/English interface

ไธญๆ–‡็‰ˆ README | English README

Terminal Demo

โœจ Key Features

  • ๐Ÿค– 24x7 Intelligent Automation: Set-and-forget service monitors your favorite podcasts and YouTube channels, automatically processing new episodes hourly - autopodlens
  • ๐Ÿ“ง Smart Email Digest: Daily automated email summaries with AI-generated insights and processed content overview
  • ๐Ÿ“ Sync to Notion: Automatically sync processed content to Notion with your own Notion page and token
  • ๐ŸŽฏ Interactive Manual Mode: On-demand processing with intuitive command-line interface for immediate transcription and analysis of specific episodes - podlens
  • โšก Ultra-Fast Smart Transcription: Multiple AI-powered methods (Groq API for speed, MLX Whisper for large files) with intelligent fallback chain
  • ๐ŸŽ Apple Podcast & YouTube Integration: Seamless content extraction from both major platforms with smart episode detection
  • ๐Ÿง  AI-Powered Analysis: Generate intelligent summaries and insights using Google Gemini AI with structured topic analysis
  • ๐ŸŽจ Interactive Visual Stories: Transform content into beautiful, responsive HTML visualizations with data charts and modern UI
  • ๐ŸŒ Bilingual Support: Full Chinese/English interface with smart language detection and switching
  • ๐Ÿ—‚๏ธ Smart Organization: Episode-based folder structure with automatic file management and duplicate detection

๐Ÿ“ฆ Installation

pip install podlens

๐Ÿ”ง Configuration

1. Create .env Configuration File

Create a .env file in your working directory:

# .env file content
GROQ_API_KEY=your_groq_api_key_here
GEMINI_API_KEY=your_gemini_api_key_here
MODEL=gemini-2.5-flash-lite

2. Get API Keys & Configure Model

Groq API (Recommended - Ultra-fast transcription):

  • Visit: https://console.groq.com/
  • Register and get free API key
  • Benefits: Extremely fast Whisper large-V3 processing, generous free quota

Gemini API (AI Summary):

Gemini Model (Required - AI Model Configuration):

  • Must be configured in your .env file
  • Available models:
    • gemini-2.5-flash-lite (Recommended - Fast and cost-effective)
    • gemini-1.5-pro (More powerful, higher quality)
    • gemini-2.5-flash-preview-05-20 (Preview version)
  • The tool will display which model is being used on startup
  • If not configured, the tool will show an error and exit

Notion API (Sync to Notion):

  • Visit: https://www.notion.so/my-integrations
  • Click "+ New integration"
  • Fill in the information:
    • Name: Markdown Uploader (or any name)
    • Workspace: Select your workspace
    • Type: Internal integration
  • Click "Submit"
  • Get Notion token: Copy the generated "Internal Integration Secret" (starts with secret_)
  • Get Notion page id: Copy the page id after pagename- in the URL of your Notion page: https://www.notion.so/pagename-

๐Ÿš€ Usage

Interactive Mode

# English version
podlens

# Chinese version  
pod

Automation Service (NEW!)

# English version 24x7 automation service
autopodlens

# Chinese version 24x7 automation service  
autopod

# Check automation status
autopodlens --status  # English version
autopod --status      # Chinese version

Email Service (NEW!)

# Email notification setup
autopod(or autopodlens) --email your@email.com --time 08:00,18:00

# Email time setup
autopod(or autopodlens) --time 08:00,18:00

# Check email service status  
autopod(or autopodlens) --email-status

# Sync email configuration
autopod(or autopodlens) --email-sync

# Disable email service
autopod(or autopodlens) --email-disable

Notion Sync Service (NEW!)

# Notion token and page id setup
autopod(or autopodlens) --notiontoken <your_notion_token> --notionpage <your_notion_page_id>

# Upload to Notion
autopod(or autopodlens) --notion

You can also change the email service & Notion sync settings in the .podlens/setting file, then use '--email-sync' to sync the settings.

Configuration Files (Auto-Generated)

  • my_pod.md - Configure monitored podcasts (created automatically)
  • my_tube.md - Configure monitored YouTube channels (created automatically)
  • .podlens/setting - Automation frequency and monitoring settings (created automatically)
  • .podlens/status.json - Service status and processed episodes tracking (created automatically)

When you first run the automation service, PodLens will automatically create configuration files:

.podlens/setting - Automation frequency and monitoring settings (created automatically)

# PodLens Automation Settings
# Run frequency (hours), supports decimals, e.g. 0.5 means every 30 minutes
run_frequency = 1.0

# Monitor Apple Podcast (my_pod.md)
monitor_podcast = true

# Monitor YouTube (my_tube.md)
monitor_youtube = true

# Email notification settings
email_function = true
user_email = example@gmail.com
notification_times = 08:00,18:00

my_pod.md (auto-generated with examples):

# PodLens Podcast Subscription List
# This file manages the podcast channels you want to automatically process.

## How to Use
# - One podcast name per line
# - Supports podcast names searchable on Apple Podcast
# - Lines starting with `#` are comments and will be ignored
# - Empty lines will also be ignored

## Example Podcasts
thoughts on the market
# or: thoughts on the market - morgan stanley

## Business Podcasts


## Tech Podcasts

my_tube.md (auto-generated with examples):

# YouTube Channel Subscription List

# This file manages the YouTube channels you want to automatically process.

## How to Use
# - One channel name per line (no @ symbol needed)
# - Channel name is the part after @ in YouTube URL
# - Example: https://www.youtube.com/@Bloomberg_Live/videos โ†’ fill in Bloomberg_Live
# - Lines starting with `#` are comments and will be ignored
# - Empty lines will also be ignored

## Example Channels
Bloomberg_Live


## Business Channels


## Tech Channels

Simply edit these files to add or remove your preferred podcasts and YouTube channels.

Interactive Interface:

๐ŸŽง๐ŸŽฅ Media Transcription & Summary Tool
==================================================
Supports Apple Podcast and YouTube platforms
==================================================

๐Ÿ“ก Please select information source:
1. Apple Podcast
2. YouTube  
0. Exit

Please enter your choice (1/2/0): 1

๐ŸŽง You selected Apple Podcast
Please enter the podcast channel name: thoughts on the market

๐Ÿ“ฅ Downloading: Episode Title...
โšก๏ธ Ultra-fast transcription...
๐Ÿง  Summarizing...
๐ŸŽจ Visual Story Generation?(y/n): 

Automation Service Example

# Start the automation service
$ autopodlens
๐Ÿค– Starting PodLens 24x7 Intelligent Automation Service

โฐ Running frequency: hourly
๐ŸŽง Monitoring podcasts: 1
๐Ÿ“บ Monitoring YouTube channels: 1
Press Ctrl+Z to stop service

โฐ Starting hourly check
๐Ÿ” Checking podcast: thoughts on the market
๐Ÿ“ฅ Processing new episode: Standing by Our Outlook...
โœ… thoughts on the market processing complete
๐Ÿ” Checking YouTube channel: @Bloomberg_Live
๐Ÿ“ฅ Processing new video: Jennifer Doudna on Future of Gene Editing \u0026 I...
โœ… @Bloomberg_Live processing complete
โœ… Check complete - Podcasts: 1/1, YouTube: 1/1

Notion Sync Service Example

๐Ÿ“’ Writing to your Notion...
โœ… Jennifer_Doudna_on_Future_of_G...: 100%|โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 2/2 [00:29<00:00, 14.52s/files]
โœ… Import successful!

๐Ÿ“‹ Workflow Example

Apple Podcast Workflow

  1. Search Channel: Enter podcast name (e.g., "thoughts on the market")
  2. Select Channel: Choose from search results
  3. Browse Episodes: View recent episodes
  4. Select Episodes: Choose episodes for processing
  5. Auto Processing: Automatic download, transcription and AI summary
  6. Create Visualization: Optional interactive HTML stories with modern UI and data visualizations

YouTube Workflow

  1. Input Source:
    • Channel name (e.g., "Bloomberg_Live")
    • Direct video URL
    • Transcript text file
  2. Select Episodes: Choose videos to process
  3. Auto Processing: Automatic transcript extraction and AI summary
  4. Create Visualization: Optional interactive HTML stories with modern UI and data visualizations

Automation Workflow (NEW!)

  1. Launch Service: Run autopodlens (English) or autopod (Chinese) - configuration files auto-created
  2. Configure: Edit the auto-generated my_pod.md and my_tube.md with your subscriptions
  3. 24x7 Monitoring: Service checks for new content every hour
  4. Auto Processing: New episodes automatically transcribed and summarized
  5. Smart Deduplication: Already processed content is skipped automatically

๐Ÿ“ Output Structure

your-project/
โ”œโ”€โ”€ outputs/           # Episode-based organized content
โ”‚   โ””โ”€โ”€ [Channel Name]/
โ”‚       โ””โ”€โ”€ [Date]/
โ”‚           โ””โ”€โ”€ [Episode Title]/
โ”‚               โ”œโ”€โ”€ audio.mp3        # Downloaded audio file (will be deleted after processing)
โ”‚               โ”œโ”€โ”€ Transcript_[Details].md    # Transcription
โ”‚               โ”œโ”€โ”€ Summary_[Details].md       # AI-generated summary
โ”‚               โ””โ”€โ”€ Visual_[Details].html      # Interactive visualization
โ”œโ”€โ”€ .podlens/         # Automation configuration
โ”‚   โ”œโ”€โ”€ setting       # Service frequency and monitoring settings
โ”‚   โ””โ”€โ”€ status.json   # Processed episodes tracking
โ”œโ”€โ”€ my_pod.md         # Monitored podcasts configuration
โ”œโ”€โ”€ my_tube.md        # Monitored YouTube channels configuration
โ””โ”€โ”€ .env              # Your API keys

๐Ÿ› ๏ธ Advanced Features

Episode-based File Organization

  • Dedicated Folders: Each episode gets its own folder for clean organization
  • Consistent Structure: All related files (audio, transcript, summary, visualization) in one place

24x7 Automation Service

  • Smart Monitoring: Automatic tracking of podcasts and YouTube channels via my_pod.md and my_tube.md configuration files
  • Intelligent Deduplication: Already processed episodes are automatically skipped based on .podlens/status.json tracking
  • Hourly Processing: Service checks for new content every hour and processes automatically
  • Channel Format: YouTube channels use simple names (e.g., Bloomberg_Live for @Bloomberg_Live)
  • Episode Organization: Date-based folder structure with detailed file naming for easy navigation
  • Status Tracking: View service status and processing history with --status flag

Smart Email Digest Service

  • Daily Summaries: Automated email reports with AI-generated insights
  • Flexible Scheduling: Multiple daily notification times (e.g., 08:00, 18:00)
  • Rich HTML Format: Beautiful email layout with channel groupings and key insights
  • Intelligent Content: AI-powered daily digest highlighting important information
  • Easy Management: Simple commands for setup, status check, and configuration

Notion Sync Service

  • Automatic Sync: Automatically sync processed content to Notion with your own Notion page and token
  • Smart Deduplication: Already processed episodes are automatically skipped based on .podlens/status.json tracking

PodLens Email Example

Smart Transcription Logic

  • Small files (<25MB): Groq API ultra-fast transcription
  • Large files (>25MB): Automatic compression + fallback to MLX Whisper
  • Fallback chain: Groq โ†’ MLX Whisper โ†’ Error handling

PodLens Transcription Example

AI Summary Features

  • Sequential analysis: Topic outline in order
  • Key insights: Important takeaways and quotes
  • Technical terms: Jargon explanation
  • Critical thinking: First-principles analysis

PodLens Summary Example View Example Summary

Interactive Visualization Features

  • Modern Web Design: Beautiful, responsive HTML pages using Tailwind CSS
  • Data Visualizations: Automatic charts and graphs for numerical content (percentages, metrics, comparisons)
  • Interactive Elements: Smooth animations, collapsible sections, and real-time search powered by Alpine.js
  • Professional Styling: Glassmorphism effects, gradient accents, and Apple-inspired clean design
  • Content Intelligence: AI automatically identifies and visualizes key data points from transcripts and summaries
  • Dual Input Support: Generate visualizations from either transcripts or summaries

PodLens Visual Story Example View Example Visual Story

๐Ÿ“„ License

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

๐Ÿ™ Acknowledgements

This project stands on the shoulders of giants. We are deeply grateful to the following open source projects, technologies, and communities that made PodLens possible:

Core AI Technologies

  • OpenAI Whisper - The foundational automatic speech recognition model that revolutionized audio transcription
  • MLX Whisper - Apple's MLX-optimized implementation enabling fast local transcription on Apple Silicon
  • Groq - Ultra-fast AI inference platform providing lightning-speed Whisper transcription via API
  • Google Gemini - Advanced AI model powering our intelligent summarization features

Media Processing & Extraction

  • yt-dlp - Powerful YouTube video/audio downloader, successor to youtube-dl
  • youtube-transcript-api - Elegant Python library for extracting YouTube video transcripts

๐ŸŒŸ Star this repo if you find it helpful!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

podlens-1.2.21.tar.gz (11.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

podlens-1.2.21-py3-none-any.whl (161.2 kB view details)

Uploaded Python 3

File details

Details for the file podlens-1.2.21.tar.gz.

File metadata

  • Download URL: podlens-1.2.21.tar.gz
  • Upload date:
  • Size: 11.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.3

File hashes

Hashes for podlens-1.2.21.tar.gz
Algorithm Hash digest
SHA256 4c3f2cb205b3f1074d1b07314957a0513b8538c2c4af21d84f3a416fb1c169bd
MD5 45b0ad6a8618960818a1c6ed9c664981
BLAKE2b-256 144a223a18df1bb50e887ed64cc9b267d2655328e6385990c6f124514823458c

See more details on using hashes here.

File details

Details for the file podlens-1.2.21-py3-none-any.whl.

File metadata

  • Download URL: podlens-1.2.21-py3-none-any.whl
  • Upload date:
  • Size: 161.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.3

File hashes

Hashes for podlens-1.2.21-py3-none-any.whl
Algorithm Hash digest
SHA256 b85953e90bc1ea0726628a6de60c38f2bb2121b73bf46a0fa0b0ea46e9a81a03
MD5 ce2dad52455f4da6c9351558c4d67150
BLAKE2b-256 7b7af78d4c362c3a9b70f790ed279716b84b2d0430fe88a1c7738646f3d65677

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page