1 unstable release

0.1.6 Mar 2, 2022

#897 in Graphics APIs

Used in after-effects


91 lines


Current version: 0.1.5

Raw After Effects® (Ae) API bindings via bindgen.

This is WIP – only tested on macOS. Will likely require additional work to build on Windows.


Download the Adobe AfterEffects SDK.

Note that the SDK published by Adobe is outdated if you are using the 3D Artisan API to write your own 3D renderer plug-in. Also see Features below for more information.

Ignore this if you just want to develop 2D plugins (which still have access to 3D data).

Define the AESDK_ROOT environment variable that contains the path to your Ae SDK. Typically the directory structure will look like this:

├── After_Effects_SDK_Guide.pdf
├── Examples
    ├── AEGP
    ├── Effect
    ├── ...

Crate version 0.1.5 was tested with the Ae SDK from October 2021.


The build.rs specifically looks into some of the folders under $AESDK_ROOT/Examples.

The wrapper.hpp file contains the headers you need to build your Ae plugin. Modify as needed. If the header is some (new) SDK folder that build.rs does not yet list, add it.


  • artisan-2-api – Use the 2nd generation Artisan 3D API. This is not included in the official SDK. Specifically it requires:

    • AE_Scene3D_Private.h
    • PR_Feature.h

    Contact the Ae SDK team and ask nicely and they may send you theses headers.


The build.rs contains Clang arguments to find neccessary system headers. This is configured for macOS 10.15 (Catalina).

You may need to edit this if you are targeting older system headers.


TBD. Help wanted!


Until this is published it is suggested to use a link to this repository:

cargo add after-effects-sys.

## License

Apache-2.0 OR BSD-3-Clause OR MIT OR Zlib at your option.

No runtime deps

~30K SLoC