from moviepy.editor import *
from moviepy.video.fx.all import fadein, fadeout, resize
from PIL import Image
import numpy as np
# Load the image and convert to 1080p
image = Image.open("red_ball_image.png").convert("RGB")
image = image.resize((1920, 1080))
image_np = np.array(image)
# Create a 10-second clip
clip = ImageClip(image_np).set_duration(10)
# Add slow zoom-in effect
def zoom_effect(get_frame, t):
zoom = 1 + 0.02 * t # Adjust zoom intensity
return resize(ImageClip(get_frame(t)), zoom).get_frame(t)
zoomed_clip = clip.fl(zoom_effect)
# Add fade in and out
final_clip = fadein(zoomed_clip, 1).fadeout(1)
final_clip = final_clip.set_audio(None)
# Export to MP4
final_clip.write_videofile("the_red_ball_intro.mp4", fps=24)