[go: nahoru, domu]

Skip to content

simonepstein/pdf-to-podcast

 
 

Repository files navigation

PDF to Podcast

Overview

This project provides a tool to convert any PDF document into a podcast episode! Using OpenAI's text-to-speech models and Google Gemini, this tool processes the content of a PDF, generates a natural dialogue suitable for an audio podcast, and outputs it as an MP3 file.

Features

  • Convert PDF to Podcast: Upload a PDF and convert its content into a podcast dialogue.
  • Engaging Dialogue: The generated dialogue is designed to be informative and entertaining.
  • User-friendly Interface: Simple interface using Gradio for easy interaction.

Installation

To set up the project, follow these steps:

  1. Clone the repository:

    git clone https://github.com/knowsuchagency/pdf-to-podcast.git
    cd pdf-to-podcast
  2. Create a virtual environment and activate it:

    python -m venv .venv
    source .venv/bin/activate
  3. Install the required packages:

    pip install -r requirements.txt

Usage

  1. Set up API Key(s): Ensure you have an Google Gemini API key. You can get yours at https://aistudio.google.com/app/apikey. Use it as the value to GEMINI_API_KEY. You'll also need an api key for OpenAI which you can either pass through the interface or set as the OPENAI_API_KEY environment variable.

    Gemini flash is used as the LLM and OpenAI is used for text-to-speech.

  2. Run the application:

    python main.py

    This will launch a Gradio interface in your web browser.

  3. Upload a PDF: Upload the PDF document you want to convert into a podcast.

  4. Enter OpenAI API Key: Provide your OpenAI API key in the designated textbox.

  5. Generate Audio: Click the button to start the conversion process. The output will be an MP3 file containing the podcast dialogue.

License

This project is licensed under the Apache 2.0 License. See the LICENSE file for more information.

About

Convert any PDF into a podcast episode!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 79.3%
  • HTML 18.5%
  • Dockerfile 2.2%