podcaster / README.md
marks
Added huggingface config
5c2f492
|
raw
history blame
2.67 kB
metadata
title: URL to Podcast Generator
emoji: πŸŽ™οΈ
colorFrom: indigo
colorTo: purple
sdk: gradio
sdk_version: 3.50.2
app_file: app.py
pinned: false

Gradio Podcast Generator

This project is a Gradio application that generates a podcast episode based on content scraped from a provided URL. It utilizes various components to scrape the content, generate a podcast script, and convert the script into audio format.

Project Structure

gradio-podcast-generator
β”œβ”€β”€ src
β”‚   β”œβ”€β”€ app.py               # Entry point of the Gradio application
β”‚   β”œβ”€β”€ scraper.py           # Contains the scraping logic
β”‚   β”œβ”€β”€ podcast_generator.py  # Generates the podcast episode
β”‚   └── tts.py               # Converts text to speech
β”œβ”€β”€ requirements.txt         # Lists project dependencies
└── README.md                # Project documentation

Setup Instructions

  1. Clone the repository:

    git clone https://github.com/yourusername/gradio-podcast-generator.git
    cd gradio-podcast-generator
    
  2. Install the required dependencies:

    pip install -r requirements.txt
    

Flask Configuration

The application uses Flask with Gradio integration. Here's how to set it up and run it:

  1. Install the requirements:
pip install flask gradio
  1. Configure the environment:
export FLASK_APP=app.py
export FLASK_ENV=development  # For development mode
  1. Run the application:
python app.py

The server will start on http://0.0.0.0:7860 with the following configuration:

  • Host: 0.0.0.0 (accessible from any IP)
  • Port: 7860
  • Debug mode: Enabled
  • Gradio interface: Mounted at root path '/'

Usage

To run the Gradio application, execute the following command in your terminal:

python src/app.py

Once the application is running, you can input a URL into the Gradio interface. The application will scrape the content from the URL, generate a podcast episode, and provide an audio output.

Functionality

  • Scraping: The application uses the scraper.py module to extract relevant text from the provided URL.
  • Podcast Generation: The podcast_generator.py module utilizes the eva-unit-01/eva-llama-3.33-70b model to create a podcast script that is no longer than 3 minutes.
  • Text-to-Speech: The tts.py module converts the generated podcast script into audio using the ElevenLabs TTS API.

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue for any enhancements or bug fixes.

License

This project is licensed under the MIT License. See the LICENSE file for more details.