mp3tomp4 / app.py
RaoMamoon's picture
Create app.py
452fc48 verified
import gradio as gr
from moviepy.editor import AudioFileClip, ImageClip
def convert_mp3_to_mp4(mp3_file, image_file):
if mp3_file is None:
return "Please upload an MP3 file."
# Load the audio
audio = AudioFileClip(mp3_file)
# Use a default or uploaded image
if image_file is None:
image_file = "default.jpg" # Provide a default image path
# Create a video clip from the image and set duration to match audio
image = ImageClip(image_file, duration=audio.duration)
image = image.set_audio(audio)
# Set the final output size
image = image.resize(height=720) # Resize for better compatibility
# Output file
output_path = "output.mp4"
image.write_videofile(output_path, fps=1)
return output_path
iface = gr.Interface(
fn=convert_mp3_to_mp4,
inputs=[gr.File(label="Upload MP3"), gr.File(label="Upload Image (optional)")],
outputs=gr.File(label="Download MP4"),
title="MP3 to MP4 Converter",
description="Convert an MP3 file to an MP4 video with a static image."
)
iface.launch()