A Python tool for automating Adobe After Effects workflows
Project description
๐ฌ After Effects Automation
Automate Adobe After Effects with Python - Create, modify, and render AE compositions programmatically.
Perfect for batch video production, template-based workflows, and automated content creation.
๐ฆ PyPI Package: pypi.org/project/after-effects-automation
[!TIP] Starring this repo helps more developers discover after-effects-automation โจ
๐ฅ Also check out my other project RepoGif โ the tool I used to generate the GIF above!
๐ Table of Contents
- โก Quick Start
- โจ Features
- ๐ Documentation
- ๐ฏ Examples
- โ๏ธ How It Works
- ๐ ๏ธ CLI & Web Editor
- ๐ Troubleshooting
โก Quick Start
# 1. Install from PyPI
pip install after-effects-automation
# 2. Setup After Effects integration
python install_ae_runner.py
# 3. Run an example
cd examples/basic_composition
python run.py
That's it! A 10-second video will be created automatically.
๐ฆ PyPI: pypi.org/project/after-effects-automation ๐ Need more help? See the Quick Start Guide
โจ What Can It Do?
- ๐จ Template Creation - Build AE templates programmatically
- ๐ Text Automation - Update text layers with dynamic content
- โก Batch Processing - Render hundreds of variations automatically
- ๐ฌ Scene Management - Assemble complex timelines from templates
- ๐ง Full AE Control - Access all After Effects features via Python
- ๐ Fast Workflow - Batch system speeds up multi-scene projects
๐ Documentation
| Guide | Description |
|---|---|
| Installation | Complete installation and setup |
| Quick Start | Get started in 5 minutes |
| Examples | Practical working examples |
| CLI Guide | Command-line usage |
| Troubleshooting | Common issues and fixes |
| Process Management | Understanding the automation flow |
๐ฏ Examples
Basic Composition
Create a video with intro and outro in ~2 minutes:
cd examples/basic_composition
python run.py
Text Animation
Multi-layer text with dynamic content:
cd examples/text_animation
python run.py
Render Only
Quickly render existing .aep files:
cd examples/render_only
python render.py
๐ More Examples: See examples/README.md
๐ฅ๏ธ Compatibility
| Software | Versions |
|---|---|
| After Effects | 2024, 2025, 2025 Beta (CC versions should work) |
| Python | 3.7+ |
| OS | Windows, macOS, Linux (experimental) |
โ๏ธ How It Works
graph LR
A[Python Script] -->|JSON Commands| B(JS Bridge)
B -->|ExtendScript| C{After Effects}
C -->|Builds| D[Composition]
D -->|aerender| E[Final Video]
- Python defines what you want to create
- JavaScript bridge sends commands to After Effects
- After Effects builds the composition
- aerender renders the final video
๐ Technical Details: See Process Management Guide
๐ Features Detail
Core Features
- โ Automated composition creation & Timeline manipulation
- โ Text layer updates & Property keyframing
- โ Resource management & Batch rendering
Advanced Features
- โ Batch Script Execution - Multiple commands in single operation
- โ Smart Defaults - Intelligent composition detection
- โ Process Management - Efficient AE instance handling
- โ Real-time Communication - File-based command queue
Recent Improvements (v0.0.4+)
- ๐ Fixed Batch System - Black video bug resolved
- ๐ Render-Only Mode - Quick .aep file rendering
- ๐ UTF-8 Support - Proper Unicode handling on Windows
- ๐ Smart Composition Defaults - Auto-detects correct composition
๐ ๏ธ CLI Tools
Automation
Run automation from a config file using the command line:
ae-automation config.json
Web Editor (Visual Interface)
Prefer a GUI? Launch the visual editor to modify your configs without touching JSON.
ae-editor config.json
(Note: Replace this link with your actual screenshot link)
๐ Troubleshooting
Common Issues
After Effects won't start?
- Check
.envhas correct AE path - Verify AE version matches path (2024 vs 2025)
Scripts not executing?
- Enable scripting:
Edit > Preferences > Scripting & Expressions - Install startup script:
python install_ae_runner.py
Empty/black video?
- Update to latest version:
pip install --upgrade after-effects-automation - This was a bug in the batch system (now fixed)
๐ More Solutions: See Troubleshooting Guide
๐ค Contributing
Contributions welcome! Here's how:
- Report bugs - GitHub Issues
- Share examples - Add to
examples/folder - Improve docs - All
.mdfiles in repo - Submit PRs - Bug fixes and features
๐ License
This project is licensed under the MIT License. See the LICENSE file for full details.
Adobe After Effects is a trademark of Adobe Inc. This project is not affiliated with, endorsed by, or sponsored by Adobe Inc.
Disclaimer
This project is an automation and middleware tool for Adobe After Effects. It requires a valid Adobe Creative Cloud license to use.
The tool works by translating Python commands into Adobe-supported ExtendScript (JavaScript) instructions that After Effects already supports natively.
- It does not modify, crack, patch, or bypass Adobe software
- It does not distribute Adobe assets or binaries
- It does not enable use of After Effects without a license
We do not support or condone software piracy in any form.
By using this project, you confirm that you have obtained Adobe After Effects through official channels at https://www.adobe.com/products/aftereffects.html.
๐ Get Help
- ๐ฆ PyPI Package - pypi.org/project/after-effects-automation
- ๐ Documentation - Read the guides in
/docsfolder - ๐ก Examples - Working code in
examples/folder - ๐ Issues - GitHub Issues
- ๐ฌ Discussions - GitHub Discussions
Made with โค๏ธ by the After Effects Automation community
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file after_effects_automation-0.1.4.tar.gz.
File metadata
- Download URL: after_effects_automation-0.1.4.tar.gz
- Upload date:
- Size: 168.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee86485062283dbe2644ae17dfe4a2a9615cb707b89661b740a553b58ef1296c
|
|
| MD5 |
68c09f9f07550b18e6c2a9e510f5493b
|
|
| BLAKE2b-256 |
f2ec992cfb8eb667fffffed630906a79a7d223cdd2a181fc98f69cc2221de190
|
File details
Details for the file after_effects_automation-0.1.4-py3-none-any.whl.
File metadata
- Download URL: after_effects_automation-0.1.4-py3-none-any.whl
- Upload date:
- Size: 182.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c78e9267a72d9830fc66eff936a05d405cc00ca2f1a3745cf9a966a27e20e0a9
|
|
| MD5 |
db34ebf09d77cf13725e0c07b534e5cf
|
|
| BLAKE2b-256 |
57d5990f35384b60a484e42158ea180c1859a6386e06e93a3f95da2fb9e2800e
|