Skip to content

jhd3197/after-effects-automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

After Effects Automation

ae_automation

Automate After Effects from Python. Talk to it with AI.

JSON config in, video out. No manual AE interaction required.

English | Español | 中文版 | Português


Windows After Effects Python

PyPI Downloads License GitHub Stars


Quick Start · AI Chat · Features · CLI · Architecture · Roadmap · Contributing


🚀 Quick Start

pip install after-effects-automation
python install_ae_runner.py
ae-automation run config.json

No config needed. Auto-detects every AE version on your machine and picks the latest. Works from 2020 to 2026+ — no hardcoded paths, no .env required.

from ae_automation import Client
Client().startBot("config.json")

🤖 AI Chat Panel

Control After Effects with natural language — right inside AE. Powered by Prompture.

python install_extension.py        # install the AE panel
ae-automation chat                  # start backend
# In AE: Window > Extensions > AE Automation Chat
You say AE does
"Create a 1080p comp called Intro, 10 seconds" Creates the composition
"Change the title text to Product Launch 2025" Updates the text layer
"Set the background color to #1A1A2E" Applies the color
"List all compositions" Returns project structure

Returns clickable action buttons that execute directly in AE. Works with any LLM — OpenAI, Claude, Ollama, Groq, and more.


🎯 Features

Automation

JSON-Driven — Describe your video in a config, the platform handles everything else

10 Action Types — Update properties, swap layers, add resources, nest comps, apply templates, transitions, markers

Batch Rendering — Generate hundreds of video variations from data

Built-in Templates — Tutorial, social media, product showcase, slideshow, event promo

Smart Detection

Auto-Discovery — Scans your system for every AE version, always picks the latest. No hardcoded years

Version Compatibility — Knowledge base tracks which scripts work on which AE versions. Scripts that would freeze are blocked before execution with workaround suggestions

Cross-Platform — Windows supported, macOS in progress. Paths, data dirs, and CEP install all adapt to your OS

AI & Tools

Chat Panel — CEP extension with Prompture backend (any LLM provider)

Web Editor — Browser-based visual config editor with undo/redo

40+ ExtendScript Files — Direct AE manipulation via file-based command queue


🖥️ CLI

Command Description
ae-automation run config.json Run the full automation pipeline
ae-automation chat Start the AI chat panel backend
ae-automation batch *.json Run multiple configs sequentially
ae-automation editor config.json Launch the visual web editor
ae-automation generate --template tutorial Generate .aep from built-in template
ae-automation export --template social-media Generate + render in one step
ae-automation plugins list List, install, search, run community plugins
ae-automation test Run compatibility tests
ae-automation diagnose Check AE installation and scripting setup

🏗️ Architecture

Python Config (JSON) → JS Bridge → ExtendScript in AE → Composition → aerender → MP4

The Client class composes seven mixins:

Mixin Responsibility
afterEffectMixin Core: launching AE, scripting, compositions, rendering
botMixin JSON config loading and pipeline orchestration
ChatPanelMixin AI chat backend with Prompture
ProcessManagerMixin AE process detection, readiness, crash handling
TemplateGeneratorMixin Programmatic .aep project creation
VideoEditorAppMixin Flask web editor with REST API
ToolsMixin Utilities (hex to RGBA, slug, file ops)
Layer Technology
Backend Python 3.9+, Flask, Flask-CORS
AI Prompture (any LLM provider)
AE Bridge ExtendScript (JSX), file-based command queue
Web Editor React 18, Vite, Zustand
CEP Panel HTML/CSS/JS, CSInterface
Rendering aerender (Adobe CLI)
Compatibility
Software Versions
After Effects 2020 – 2026+ (auto-detected)
Python 3.9+
OS Windows, macOS
from ae_automation.settings import get_discovery_report
print(get_discovery_report())  # see all detected AE installs

from ae_automation.compat import get_incompatible_scripts
print(get_incompatible_scripts(2020))  # check what won't work
Documentation
Guide Description
Installation Full setup: Python, CLI, AE bridge, environment
Quick Start End-to-end walkthrough
CLI Guide Command reference
Examples Working automation examples
Process Management AE process lifecycle
Troubleshooting Common issues and fixes
Troubleshooting

AE not detected? Run ae-automation diagnose or set AFTER_EFFECT_FOLDER in .env

Scripts not executing? Enable scripting in AE: Edit > Preferences > Scripting & Expressions

Chat panel not connecting? Start the backend: ae-automation chat


🗺️ Roadmap

  • Core automation — Python to ExtendScript to AE to render
  • JSON config pipeline — templates, custom actions, resources
  • CLI — run, chat, editor, generate, export, test, diagnose
  • AI chat panel — CEP extension with Prompture backend
  • Auto-discovery — version detection and compatibility layer
  • Web editor — visual config editing
  • Built-in templates — 5 ready-to-use templates
  • macOS support — cross-platform abstraction layer
  • Real-time render progress — live progress bar in chat panel
  • Batch queue — sequential multi-video processing with status tracking
  • Plugin marketplace — community templates and actions with install/search/run

🤝 Contributing

fork → feature branch → commit → push → pull request

Priority areas: macOS support, new templates, batch rendering, chat panel improvements.

Report Bug · Request Feature


⭐ Star History

Star History Chart

Tip

Also check out RepoGif — the tool used to generate the banner GIF!


License

MIT License — see LICENSE for details.

Adobe After Effects is a trademark of Adobe Inc. This project is not affiliated with, endorsed by, or sponsored by Adobe Inc.

This is an automation and middleware tool that translates Python commands into Adobe-supported ExtendScript instructions. It does not modify, crack, or bypass Adobe software. It does not distribute Adobe assets or binaries. It does not enable use of After Effects without a license. A valid Adobe Creative Cloud license is required. We do not support or condone software piracy in any form.


After Effects Automation — JSON in, video out.

Made with care by Juan Denis

About

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

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors