Skip to content

After Effects Automation is a powerful Python-based tool that automates the creation and rendering

License

Notifications You must be signed in to change notification settings

jhd3197/after-effects-automation

Repository files navigation

After Effects Automation

PyPI version License: MIT Python 3.7+ Downloads

au_automation

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


Why This Tool?

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.


Table of Contents


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


Capabilities

Python API

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

CLI

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 diagnose

Web Editor

A built-in browser-based interface for editing JSON configurations visually — no manual JSON editing required:

ae-automation editor config.json

Documentation

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

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

Tip

Starring this repo helps more developers discover after-effects-automation

after-effects-automation

Also check out my other project RepoGif – the tool I used to generate the GIF above!


Compatibility

Software Versions
After Effects 2024, 2025, 2026 (CC versions should work)
Python 3.7+
OS Windows, macOS, Linux (experimental)

How It Works

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]

Loading
  1. Python defines what you want to create
  2. JavaScript bridge sends commands to After Effects via a file-based queue
  3. After Effects builds the composition
  4. aerender renders the final video

Technical Details: See Process Management Guide


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

Troubleshooting

Common Issues

After Effects won't start?

  • Check .env has 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:

  1. Report bugs - GitHub Issues
  2. Share examples - Add to examples/ folder
  3. Improve docs - All .md files in repo
  4. 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


Made with care by the After Effects Automation community