Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Python library for video editing, presentation video generation, motion graphics, shader art coding, and other video production tasks
| Date | Stars |
|---|---|
| 2026-07-24 | 484 |
| 2026-07-25 | 484 |
| 2026-07-28 | 483 |
| 2026-07-30 | 483 |
| 2026-08-06 | 483 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day

# Movis: Video Editing as a Code
[](https://www.python.org)
[](https://pypi.python.org/pypi/movis)
[](https://github.com/rezoo/movis)


[**Docs**](https://rezoo.github.io/movis/)
| [**Overview**](https://rezoo.github.io/movis/overview.html)
| [**Install Guide**](https://rezoo.github.io/movis/install.html)
| [**Examples**](https://github.com/rezoo/movis/tree/main/examples)
| [**API Reference**](https://rezoo.github.io/movis/reference/index.html)
| [**Contribution Guide**](https://rezoo.github.io/movis/contribution.html)
## ✅ What is Movis?
Movis is an engine written in Python, purposed for video production tasks.
This library allows users to generate various types of videos,
including but not limited to presentation videos, motion graphics,
shader art coding, and game commentary videos, through Python.
[](https://colab.research.google.com/github/rezoo/movis/blob/main/docs/Quickstart.ipynb)
## 🚀 Main Features
* Easy and intuitive video editing (including scene cut, transition, crop, concatenation, inserting images and texts, etc.)
* Inserting text layers containing multiple outlines
* Simple audio editing (including fade-in and fade-out effects)
* Support for a variety of video and audio formats using ffmpeg
The following features are not found in other Python libraries for video editing:
* Layer transformation (position, scale, and rotation) with sub-pixel precision
* Support for a variety of Photoshop-level blending modes
* Keypoint and easing-based animation engine
* Nested compositions
* Support for rendering at 1/2 quality and 1/4 quality for drafts
* Fast rendering using cache mechanism
* Adding user-defined layers, effects, and animations without using inheritance
* Layer effects (drop shadow, grow, blur, chromakey, etc.)
To put it simply, Movis is a library for complex video editing that includes several features found in proprietary software.
## 💻 Installation
Movis is a pure Python library and can be installed via the [Python Package Index](https://pypi.org/):
```bash
$ pip install movis
```
We have confirmed that it works with Python 3.9 to 3.11.
## ⭐️ Code Overview
### Creating Video with Compositions
Similar to other video editing software,
Movis employs the concept of *"compositions"* as the fundamental unit for video editing.
Within a composition, users can include multiple layers and manipulate
these layers' attributes over a time scale to produce a video.
Effects can also be selectively applied to these layers as needed.
Here's some example code:
```python
import movis as mv
scene = mv.layer.Composition(size=(1920, 1080), duration=5.0)
scene.add_layer(mv.layer.Rectangle(scene.size, color='#fb4562')) # Set background
pos = scene.size[0] // 2, scene.size[1] // 2
scene.add_layer(
mv.layer.Text('Hello World!', font_size=256, font_family='Helvetica', color='#ffffff'),
name='text', # The layer item can be accessed by name
offset=1.0, # Show the text after one second
position=pos, # The layer is centered by default, but it can also be specified explicitly
anchor_point=(0.0, 0.0),
opacity=1.0, scale=1.0, rotation=0.0, # anchor point, opacity, scale, and rotation are also supported
blending_mode='normal') # Blending mode can be specified for each layer.
scene['text'].add_effect(mv.effect.DropShadow(offset=10.0)) # Multiple effects can be added.
scene['text'].scale.enable_motion().extend(
keyframes=[0.0, 1.0], values=[0.0, 1.0], easings=['ease_in_out'])
# Fade-in effect. It means thExcerpt of 10,852 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:287f170037995c36, topic:video-editing, topic:animation, desc:video generation