moviepy

Edit, composite, and render videos programmatically in Python using MoviePy and FFmpeg.

3|1|Updated Apr 8, 2026
One-click install
npx skills add https://github.com/ever-just/agentskills --skill moviepy-ever-just
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: moviepy
Source: https://github.com/ever-just/agentskills/tree/main/skills/moviepy
Command: npx skills add https://github.com/ever-just/agentskills --skill moviepy-ever-just

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires moviepy, numpy, matplotlib.

What problem does it solve? Writing video editing logic by hand with raw FFmpeg commands is error-prone and hard to maintain. This Skill provides a complete Python reference for cutting, concatenating, compositing, and rendering videos with MoviePy, including text overlays, audio tracks, effects, and frame-by-frame animation. ## Core Features & Use Cases - Programmatic Video Editing: Trim, crop, resize, rotate, and change playback speed of video clips with simple Python calls. - Compositing and Text Overlays: Layer multiple clips, position overlays, and add styled text with fonts, strokes, and durations. - Custom Frame Animation: Generate frames with NumPy or Matplotlib to build animated charts and data visualizations rendered to MP4 or GIF. - Use Case: Batch-process a folder of product videos by trimming each to 15 seconds, adding a watermark logo in the corner, overlaying a title card, and exporting them as MP4 files with background music. ## Quick Start Ask the agent to write a MoviePy script that trims input.mp4 to the first 10 seconds, adds centered title text, and exports it as output.mp4 at 30 fps.

Frequently Asked Questions about moviepy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I trim a video in Python with MoviePy?▼

Load the file with VideoFileClip and call .subclipped(start, end) with times in seconds, then write the result with write_videofile. For example, VideoFileClip("input.mp4").subclipped(5, 15) keeps seconds 5 through 15.

How do I add text overlay to a video in MoviePy?▼

Create a TextClip with text, font_size, color, and stroke parameters, set its duration and position, then combine it with the video using CompositeVideoClip. The text renders on top of the video layer for the specified duration.

Does MoviePy require FFmpeg to be installed?▼

Yes, MoviePy depends on FFmpeg for reading and writing video files. Install it separately, for example with brew install ffmpeg on macOS, alongside pip install moviepy for the Python library.

Can MoviePy create animated charts with Matplotlib?▼

Yes, define a make_frame(t) function that draws a Matplotlib figure, converts the canvas to a NumPy RGB array, and pass it to VideoClip. MoviePy calls the function for each frame and renders the result to video.

Why does MoviePy subclip give a deprecation warning?▼

MoviePy v2 renamed .subclip() to .subclipped() and similar methods like .resize() to .resized(). Update your code to the new method names to remove the warnings and stay compatible with current releases.