File size: 1,056 Bytes
72e36b0
0ebcd8e
 
 
 
 
 
 
 
 
 
 
 
 
 
72e36b0
 
0ebcd8e
 
 
 
 
 
 
 
 
 
 
 
72e36b0
 
 
0ebcd8e
72e36b0
 
 
0ebcd8e
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from flask import Flask, render_template
import gradio as gr
from scraper import scrape_url
from podcast_generator import PodcastGenerator
from tts import text_to_speech

app = Flask(__name__)

def generate_podcast(url):
    content = scrape_url(url)
    podcast_generator = PodcastGenerator()
    podcast_text = podcast_generator.generate_podcast(content)
    audio_file = text_to_speech(podcast_text)
    return audio_file

# Create Gradio interface
demo = gr.Interface(
    fn=generate_podcast,
    inputs=gr.Textbox(
        label="Website URL",
        placeholder="Enter the URL of the website you want to convert to a podcast"
    ),
    outputs=gr.Audio(label="Generated Podcast"),
    title="URL to Podcast Generator",
    description="Enter a URL to generate a podcast episode based on its content.",
    theme="huggingface",
    allow_flagging="never",
)

# Mount Gradio interface to Flask
app = gr.mount_gradio_app(app, demo, path="/")

if __name__ == "__main__":
    app.run(
        host="0.0.0.0",
        port=7860,
        debug=True
    )