from moviepy.editor import *
from PIL import Image
import numpy as np
# Load the image
image_path = "/mnt/data/file-2zE1LqJZzYxSwHd1c6jpmr"
image = Image.open(image_path)
# Convert the image to a format MoviePy can use
image_array = np.array(image)
# Create a clip from the image with zoom effect
duration = 30 # 30 seconds
clip = ImageClip(image_array).set_duration(duration)
# Apply a slow zoom-in effect (Ken Burns style)
zoom_factor = 1.1 # slight zoom
zoomed_clip = clip.fx(vfx.zoom_in, final_scale=zoom_factor, duration=duration)
# Add chill background music (use a placeholder sine wave if no file)
# Since we can't use external audio files directly, generate simple chill tone
audio = AudioClip(lambda t: 0.1 * np.sin(2 * np.pi * 220 * t), duration=duration, fps=44100)
# Set audio to the video
final_clip = zoomed_clip.set_audio(audio)
# Write the final video to a file
output_path = "/mnt/data/chill_zoom_video.mp4"
final_clip.write_videofile(output_path, fps=24)