make_waveform / app.py
1littlecoder's picture
Update app.py
7abead3 verified
raw
history blame
987 Bytes
import gradio as gr
from moviepy.editor import AudioFileClip, ImageClip
def create_video(image, audio):
# Load the audio file
audio_clip = AudioFileClip(audio)
# Load the image file and set it to the duration of the audio
image_clip = ImageClip(image).set_duration(audio_clip.duration)
# Set the audio to the image clip
video_clip = image_clip.set_audio(audio_clip)
# Save the video to a temporary file
output_path = "/tmp/output_video.mp4"
video_clip.write_videofile(output_path, fps=30)
return output_path
# Create Gradio interface
iface = gr.Interface(
fn=create_video,
inputs=[
gr.Image(type="filepath", label="Upload Image"),
gr.Audio(type="filepath", label="Upload Audio")
],
outputs=gr.Video(label="Output Video"),
title="Image + Audio to Video Converter",
description="Upload an image and an audio file to generate a video with the image and audio combined."
)
iface.launch()