Skip to main content

A unified video automation platform for Adobe After Effects

Project description

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]
  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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

after_effects_automation-0.1.6.tar.gz (170.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

after_effects_automation-0.1.6-py3-none-any.whl (184.1 kB view details)

Uploaded Python 3

File details

Details for the file after_effects_automation-0.1.6.tar.gz.

File metadata

  • Download URL: after_effects_automation-0.1.6.tar.gz
  • Upload date:
  • Size: 170.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for after_effects_automation-0.1.6.tar.gz
Algorithm Hash digest
SHA256 991736ef6a9feafe20767cf7df49e8c9c366ff33c1c40b5fa47c54df72509dbc
MD5 4fd247de13d10320be25f5179a16f5b4
BLAKE2b-256 d2d44dbe2e65f503a3625cb6817e19074acde8bd190ab55da993ec5d42dcaed7

See more details on using hashes here.

File details

Details for the file after_effects_automation-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for after_effects_automation-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 69a838ed6664cc1bf5d84f706df65f279f7279a3a5a0ad1aa40064b2ada0c349
MD5 556f1a70c49c0f4065ba68aba1c99fa8
BLAKE2b-256 e196461778ca4a91ee8b9e2172e743658b136a8b3cc1dbbe22ba34f2669fea67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page