A unified video automation platform for Adobe After Effects. Define compositions in JSON, drive them from Python or the command line, and render at scale.
PyPI Package: pypi.org/project/after-effects-automation
Most After Effects scripting workflows involve running individual scripts from a menu, managing files by hand, and manually triggering renders. After Effects Automation takes a different approach: you describe what you want in a JSON configuration, and the platform handles everything else — launching AE, building compositions, updating properties, and rendering the final video — in a single automated pipeline.
The entire workflow is configuration-driven. A JSON config file defines your project structure, timeline, scenes, and custom actions. Python reads that config and orchestrates every step through a JavaScript bridge into After Effects. No manual AE interaction required.
You get three ways to work: a Python API for full programmatic control, a CLI for running configs and managing projects from the terminal, and a built-in Web Editor for visually editing configurations without touching JSON directly.
Under the hood, the platform provides intelligent process management — automatic AE launching, window readiness detection, crash dialog handling, and responsiveness verification — so your automation runs reliably from start to finish without babysitting.
- Quick Start
- Capabilities
- Documentation
- Examples
- How It Works
- Compatibility
- CLI & Web Editor
- Troubleshooting
# 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
Full programmatic control over the automation pipeline:
from ae_automation import Client
client = Client()
client.startBot("config.json")- Build AE templates programmatically
- Update text layers with dynamic content
- Assemble complex timelines from template compositions
- Access all After Effects features via ExtendScript
- Render final video output
Run automation, launch the editor, and diagnose issues from the terminal:
# Run automation from a config file
ae-automation run config.json
# Launch the visual config editor
ae-automation editor config.json
# Test your setup
ae-automation test --verbose
# Run diagnostics
ae-automation diagnoseA built-in browser-based interface for editing JSON configurations visually — no manual JSON editing required:
ae-automation editor config.json| Guide | Description |
|---|---|
| Installation | Full setup: Python package, CLI, AE bridge, and environment configuration |
| Quick Start | End-to-end walkthrough from install to rendered video |
| Examples | Complete automation pipeline examples with config and output |
| CLI Guide | Command-line interface reference for all ae-automation subcommands |
| Troubleshooting | Common issues, diagnostics, and platform-specific fixes |
| Process Management | How the platform manages the After Effects process lifecycle |
Create a video with intro and outro in ~2 minutes:
cd examples/basic_composition
python run.py
Multi-layer text with dynamic content:
cd examples/text_animation
python run.py
Quickly render existing .aep files:
cd examples/render_only
python render.py
More Examples: See examples/README.md
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!
| Software | Versions |
|---|---|
| After Effects | 2024, 2025, 2026 (CC versions should work) |
| Python | 3.7+ |
| OS | Windows, macOS, Linux (experimental) |
Your Python code (or a JSON config) describes the desired video. The platform translates that into ExtendScript commands, sends them to After Effects through a file-based command queue, and renders the final output — all without manual intervention.
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 via a file-based queue
- After Effects builds the composition
- aerender renders the final video
Technical Details: See Process Management Guide
Run automation from a config file using the command line:
ae-automation config.json
Prefer a GUI? Launch the visual editor to modify your configs without touching JSON.
ae-editor config.json
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
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
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.
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.
- PyPI Package - pypi.org/project/after-effects-automation
- Documentation - Guides in the repository root (see Documentation table above)
- Examples - Working code in
examples/folder - Issues - GitHub Issues
- Discussions - GitHub Discussions
Made with care by the After Effects Automation community

