Skip to content

Application

Application

The Application object represents the After Effects application. Attributes provide access to the project and application-level settings parsed from the binary file.

Example
from py_aep import parse

app = parse("project.aep")
print(app.version)

See: https://ae-scripting.docsforadobe.dev/general/application/

Attributes

active_viewer

active_viewer: Viewer | None

The Viewer object for the currently focused or active-focused viewer (Composition, Layer, or Footage) panel. Returns None if no viewers are open. Read-only.

app_name

app_name: str = 'After Effects'

The name of the application. Always "After Effects". Read-only.

build_name

build_name: str

A string indicating the version and build of After Effects, formatted as "{major}.{minor}x{build}" (e.g., "25.6x101"). Read / Write.

Alias for version.

Warning

This attribute is read-only in ExtendScript. Modifying it could cause issues when opening the file in After Effects.

build_number

build_number = ChunkField[int](
    "_head", "ae_build_number", validate=validate_u1
)

The build number of After Effects that last saved the project. Read / Write.

Warning

This attribute is read-only in ExtendScript. Modifying it could cause issues when opening the file in After Effects.

is_beta

is_beta = bool('_head', 'ae_version_beta_flag')

Indicates whether the After Effects version is a beta version. Read / Write.

Warning

This attribute is read-only in ExtendScript. Modifying it could cause issues when opening the file in After Effects.

preferences

preferences: Preferences

The Preferences object, providing access to the After Effects preference files (requires ae_preferences_dir to read values from disk; overrides work without it). Read-only.

project

project: Project

The project that is currently loaded. Read-only.

version

version = ChunkField[str](
    "_head",
    "version",
    validate=_validate_version,
    post_set=lambda obj: sync_file_format_version(),
)

The version of After Effects that last saved the project, formatted as "{major}.{minor}x{build}" (e.g., "25.6x101"). Read / Write.

Setting it also updates the file-format compatibility marker (which determines the oldest AE that can open the file, and the rules AE reads it with) to the one After Effects writes for that release, so the file claims to be openable by that AE. A major py_aep has no marker for (a release newer than 26, or one After Effects skipped) only changes the version: the marker is kept, so the file opens wherever it opened before. The major and the build must be at most 255, the minor at most 15.

Warning

Setting the version does not migrate the project structure: the version-gated chunks and features are left unchanged, so relabeling to an older version may produce a file that the older AE opens but whose newer content it cannot represent. A relabel across a change After Effects reads by the format version alone (the AE 23 layer record, the AE 17 Media Replacement folder id) raises ValueError, since no After Effects would open the result. To create a project faithfully targeting a specific AE version use py_aep.new; to convert an existing project, open and re-save it in the target AE.

This attribute is read-only in ExtendScript. Modifying it could cause issues when opening the file in After Effects.