Files
patchy631--ai-engineering-hub/ai-podcast-generator

AI Podcast Generator

Transform any web article or blog post into an engaging podcast between two speakers using Minimax M2.1 and Minimax Speech 2.6's state of the art capabilities.

Overview

AI Podcast Generator is an intelligent tool that converts written content into natural-sounding podcast dialogues. Simply provide a URL, and the system will:

  • Scrape and extract clean content from any webpage
  • Generate an engaging two-host podcast script with natural conversation flow
  • Converts the text script into audio segments for the podcast
  • Merge all segments into a complete, ready-to-listen podcast

Tech Stack

  • Minimax-M2.1 for intelligent script generation and dialogue conversion
  • Minimax Speech 2.6 for natural-sounding text-to-speech with multiple voice options
  • Firecrawl for robust web scraping and content extraction
  • Streamlit for an intuitive and interactive web interface

How It Works

  1. Content Extraction: Firecrawl scrapes the provided URL and extracts clean, structured content
  2. Script Generation: Minimax-M2.1 analyzes the content and creates an engaging podcast dialogue between two hosts
  3. Audio Synthesis: Each dialogue segment is converted to speech using Minimax's advanced TTS models
  4. Merging: All audio segments are seamlessly combined into a single podcast file
  5. Delivery: Users can listen to, download, and share their AI-generated podcast

Installation & Setup

Prerequisites: Python 3.12+

  1. Install dependencies: First, install uv and set up the environment:

    # MacOS/Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # Windows
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    

    Install dependencies:

    # Create a new directory for our project
    uv init ai-podcast-generator
    cd ai-podcast-generator
    
    # Create virtual environment and activate it
    uv venv
    source .venv/bin/activate  # MacOS/Linux
    
    .venv\Scripts\activate     # Windows
    
    # Install dependencies
    uv sync
    
  2. Set up environment variables: Create a .env file with your API keys as specified in .env.example file:

    MINIMAX_API_KEY=<YOUR_MINIMAX_API_KEY>
    FIRECRAWL_API_KEY=<YOUR_FIRECRAWL_API_KEY>
    OPENROUTER_API_KEY=<YOUR_OPENROUTER_API_KEY>
    
  3. Get your API keys:

    You can enter these keys directly in the app's sidebar when you run it.

Usage

Running the Web Application

streamlit run app.py

The app will open at http://localhost:8501

Using the Application

  1. Enter API Keys: Input your Firecrawl, OpenRouter, and Minimax API keys in the left sidebar
  2. Provide URL: Enter the URL of the article or blog post you want to convert
  3. Generate: Click "Generate Podcast" and watch the magic happen
  4. Listen & Download: Once complete, listen to your podcast or download it for later

📬 Stay Updated with Our Newsletter!

Get a FREE Data Science eBook 📖 with 150+ essential lessons in Data Science when you subscribe to our newsletter! Stay in the loop with the latest tutorials, insights, and exclusive resources. Subscribe now!

Daily Dose of Data Science Newsletter


Contribution

Contributions are welcome! Please fork the repository and submit a pull request with your improvements.