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() |