Spaces:
Paused
Paused
import gradio as gr | |
import os | |
def fetch(url, name, audio_only): | |
filename = f"{name}.{'mp3' if audio_only else 'mp4'}" | |
if audio_only: | |
opts = f'-x --audio-format mp3 -o "{filename}"' | |
else: | |
opts = f'-o "{filename}"' | |
os.system(f'yt-dlp {opts} "{url}"') | |
return filename if os.path.exists(filename) else "Download failed." | |
with gr.Blocks() as demo: | |
gr.Markdown("Downloads video/audio from url as mp4 (or mp3). Simply a convenience wrapper around [yt-dlp](https://github.com/yt-dlp/yt-dlp) :)") | |
url = gr.Textbox(label="media URL") | |
name = gr.Textbox(label="output name", value="output") | |
audio_only = gr.Checkbox(label="audio only (mp3)", value=False) | |
button = gr.Button("download") | |
output = gr.File() | |
button.click(fetch, inputs=[url, name, audio_only], outputs=output) | |
demo.launch() |