Project and application settings

Part of the settings skill: these tools appear once it is loaded — by ae_enable_skill with settings, or by find_tool when a search returns one of them.

ae_project_settings

The project settings as Project Settings shows them, read and set in one call: time display (timecode or frames, the start frame), colour depth, linear blending, working space and gamma, colour management and OCIO config, LUT interpolation, the expression engine, GPU acceleration (with what the machine offers), transparency grid thumbnails, the active tool. With colorProfiles the answer lists the colour profiles a working space can be.

only adds · repeat-safe · stays inside After Effects.

Parameter Type Required Default Description
timeDisplay string? — null TIMECODE or FRAMES.
displayStartFrame integer? — null The frame numbers start at 0 or 1.
framesCount string? — null FC_START_0, FC_START_1 or FC_TIMECODE_CONVERSION.
framesUseFeetFrames boolean? — null Count frames in feet and frames.
feetFramesFilm string? — null MM16 or MM35, for feet and frames.
footageTimecodeStart string? — null FTCS_START_0 or FTCS_USE_SOURCE_MEDIA: where footage timecode starts.
bitsPerChannel integer? — null Colour depth: 8, 16 or 32 bits per channel.
linearBlending boolean? — null Blend colours in linear light.
workingSpace string? — null The working colour space by profile name, as the colour profiles list spells it; empty for none.
workingGamma number? — null Working gamma, 2.2 or 2.4, where the colour management system has it.
linearizeWorkingSpace boolean? — null Linearize the working space.
compensateForSceneReferredProfiles boolean? — null Compensate for scene-referred profiles.
colorManagementSystem integer? — null Colour management system as After Effects numbers them, where the version has the setting.
ocioConfigurationFile string? — null Path of an OCIO configuration file; an empty string returns to the built-in one.
lutInterpolationMethod integer? — null LUT interpolation method as After Effects numbers them.
expressionEngine string? — null javascript-1.0 or extendscript.
gpuAccel string? — null METAL, CUDA, OPENCL, DIRECTX, VULKAN or SOFTWARE; the answer lists what this machine offers.
transparencyGridThumbnails boolean? — null Show thumbnails over a transparency grid.
tool string? — null The active tool, as ToolType names it (Tool_Arrow, Tool_Pen, Tool_TextH and so on).
colorProfiles boolean — false List the colour profiles the working space can be set to.
defaultImportFolder string? — null Folder the Import dialog opens in, on After Effects' machine.
JSON Schema
{
  "type": "object",
  "properties": {
    "timeDisplay": {
      "description": "TIMECODE or FRAMES.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "displayStartFrame": {
      "description": "The frame numbers start at 0 or 1.",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "framesCount": {
      "description": "FC_START_0, FC_START_1 or FC_TIMECODE_CONVERSION.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "framesUseFeetFrames": {
      "description": "Count frames in feet and frames.",
      "type": [
        "boolean",
        "null"
      ],
      "default": null
    },
    "feetFramesFilm": {
      "description": "MM16 or MM35, for feet and frames.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "footageTimecodeStart": {
      "description": "FTCS_START_0 or FTCS_USE_SOURCE_MEDIA: where footage timecode starts.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "bitsPerChannel": {
      "description": "Colour depth: 8, 16 or 32 bits per channel.",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "linearBlending": {
      "description": "Blend colours in linear light.",
      "type": [
        "boolean",
        "null"
      ],
      "default": null
    },
    "workingSpace": {
      "description": "The working colour space by profile name, as the colour profiles list spells it; empty for none.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "workingGamma": {
      "description": "Working gamma, 2.2 or 2.4, where the colour management system has it.",
      "type": [
        "number",
        "null"
      ],
      "default": null
    },
    "linearizeWorkingSpace": {
      "description": "Linearize the working space.",
      "type": [
        "boolean",
        "null"
      ],
      "default": null
    },
    "compensateForSceneReferredProfiles": {
      "description": "Compensate for scene-referred profiles.",
      "type": [
        "boolean",
        "null"
      ],
      "default": null
    },
    "colorManagementSystem": {
      "description": "Colour management system as After Effects numbers them, where the version has the setting.",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "ocioConfigurationFile": {
      "description": "Path of an OCIO configuration file; an empty string returns to the built-in one.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "lutInterpolationMethod": {
      "description": "LUT interpolation method as After Effects numbers them.",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "expressionEngine": {
      "description": "javascript-1.0 or extendscript.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "gpuAccel": {
      "description": "METAL, CUDA, OPENCL, DIRECTX, VULKAN or SOFTWARE; the answer lists what this machine offers.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "transparencyGridThumbnails": {
      "description": "Show thumbnails over a transparency grid.",
      "type": [
        "boolean",
        "null"
      ],
      "default": null
    },
    "tool": {
      "description": "The active tool, as ToolType names it (Tool_Arrow, Tool_Pen, Tool_TextH and so on).",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "colorProfiles": {
      "description": "List the colour profiles the working space can be set to.",
      "type": "boolean",
      "default": false
    },
    "defaultImportFolder": {
      "description": "Folder the Import dialog opens in, on After Effects\u0027 machine.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}

ae_replace_in_expressions

Replace text in every expression of the project, as After Effects does when it renames something: a layer name, a property name, a comp name that expressions refer to.

only adds · repeat-safe · stays inside After Effects.

Parameter Type Required Default Description
find string yes — Text to find in the expressions.
replace string — `` Text to put in its place; empty removes the text.
JSON Schema
{
  "type": "object",
  "properties": {
    "find": {
      "description": "Text to find in the expressions.",
      "type": "string"
    },
    "replace": {
      "description": "Text to put in its place; empty removes the text.",
      "type": "string",
      "default": ""
    }
  },
  "required": [
    "find"
  ]
}

ae_project_fonts

The fonts the project uses, each with the layers that use it, and the fonts that are missing or substituted on this machine.

read-only · repeat-safe · stays inside After Effects.

Takes no parameters.

JSON Schema
{
  "type": "object",
  "properties": {}
}

ae_replace_font

Replace one font with another across the project, by PostScript names as ae_text_fonts gives them.

only adds · repeat-safe · stays inside After Effects.

Parameter Type Required Default Description
from string yes — PostScript name of the font to replace.
to string yes — PostScript name of the font to use instead.
reloadMissing boolean — false Also reload footage whose fonts were missing.
JSON Schema
{
  "type": "object",
  "properties": {
    "from": {
      "description": "PostScript name of the font to replace.",
      "type": "string"
    },
    "to": {
      "description": "PostScript name of the font to use instead.",
      "type": "string"
    },
    "reloadMissing": {
      "description": "Also reload footage whose fonts were missing.",
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "from",
    "to"
  ]
}

ae_import_placeholder

Add a placeholder footage item of a size, frame rate and duration, to lay out a composition before the footage exists; ae_replace_footage swaps the file in later.

only adds · every call adds · stays inside After Effects.

Parameter Type Required Default Description
name string? — null Name of the placeholder.
width integer? — null Width in pixels; 1920 by default.
height integer? — null Height in pixels; 1080 by default.
frameRate number? — null Frame rate; 30 by default.
duration number? — null Duration in seconds; 10 by default.
folder string? — null Project folder to put it in, by name or id.
JSON Schema
{
  "type": "object",
  "properties": {
    "name": {
      "description": "Name of the placeholder.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "width": {
      "description": "Width in pixels; 1920 by default.",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "height": {
      "description": "Height in pixels; 1080 by default.",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "frameRate": {
      "description": "Frame rate; 30 by default.",
      "type": [
        "number",
        "null"
      ],
      "default": null
    },
    "duration": {
      "description": "Duration in seconds; 10 by default.",
      "type": [
        "number",
        "null"
      ],
      "default": null
    },
    "folder": {
      "description": "Project folder to put it in, by name or id.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}

ae_purge

Purge After Effects' caches: all, memory, images, snapshots or undo, as the Edit > Purge menu offers.

may overwrite or delete · repeat-safe · stays inside After Effects.

Parameter Type Required Default Description
target string — ALL_CACHES ALL_CACHES, ALL_MEMORY_CACHES, IMAGE_CACHES, SNAPSHOT_CACHES or UNDO_CACHES.
JSON Schema
{
  "type": "object",
  "properties": {
    "target": {
      "description": "ALL_CACHES, ALL_MEMORY_CACHES, IMAGE_CACHES, SNAPSHOT_CACHES or UNDO_CACHES.",
      "type": "string",
      "default": "ALL_CACHES"
    }
  }
}

ae_performance

Memory and multi-frame rendering of After Effects: the image cache and total memory percentages, and multi-frame rendering on or off with a CPU ceiling; the preferences the Performance pane holds.

only adds · repeat-safe · stays inside After Effects.

Parameter Type Required Default Description
imageCachePercent integer? — null Percent of memory for the image cache; goes with maxMemoryPercent.
maxMemoryPercent integer? — null Percent of memory After Effects may use in all.
multiFrameRendering boolean? — null Multi-frame rendering on or off.
maxCpuPercent integer? — null CPU percent multi-frame rendering may take, 1 to 100.
JSON Schema
{
  "type": "object",
  "properties": {
    "imageCachePercent": {
      "description": "Percent of memory for the image cache; goes with maxMemoryPercent.",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "maxMemoryPercent": {
      "description": "Percent of memory After Effects may use in all.",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "multiFrameRendering": {
      "description": "Multi-frame rendering on or off.",
      "type": [
        "boolean",
        "null"
      ],
      "default": null
    },
    "maxCpuPercent": {
      "description": "CPU percent multi-frame rendering may take, 1 to 100.",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    }
  }
}

ae_system_info

The machine After Effects runs on and the application itself: machine and user name, operating system and version, After Effects' version, build and language, memory in use, whether it is a render engine or a beta, the rendering and crash-saving flags, where its preferences live, and environment variables by name.

read-only · repeat-safe · stays inside After Effects.

Parameter Type Required Default Description
environment array? — null Environment variables to read on After Effects' machine, by name.
JSON Schema
{
  "type": "object",
  "properties": {
    "environment": {
      "description": "Environment variables to read on After Effects\u0027 machine, by name.",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "default": null
    }
  }
}

ae_set_application

Application-wide switches: rendering of previews off while scripts work, an error on missing footage frames, saving the project on a crash, writing the preferences on quit.

only adds · repeat-safe · stays inside After Effects.

Parameter Type Required Default Description
disableRendering boolean? — null Stop After Effects rendering previews while scripts run; speeds long batches.
reportErrorOnMissingFrame boolean? — null Stop and report when a frame of footage is missing, rather than render on.
saveProjectOnCrash boolean? — null Save the project when After Effects crashes.
savePreferencesOnQuit boolean? — null Write the preferences when After Effects quits.
JSON Schema
{
  "type": "object",
  "properties": {
    "disableRendering": {
      "description": "Stop After Effects rendering previews while scripts run; speeds long batches.",
      "type": [
        "boolean",
        "null"
      ],
      "default": null
    },
    "reportErrorOnMissingFrame": {
      "description": "Stop and report when a frame of footage is missing, rather than render on.",
      "type": [
        "boolean",
        "null"
      ],
      "default": null
    },
    "saveProjectOnCrash": {
      "description": "Save the project when After Effects crashes.",
      "type": [
        "boolean",
        "null"
      ],
      "default": null
    },
    "savePreferencesOnQuit": {
      "description": "Write the preferences when After Effects quits.",
      "type": [
        "boolean",
        "null"
      ],
      "default": null
    }
  }
}

ae_read_swatches

Read an Adobe swatch file (.ase or .aco) through After Effects: each swatch's name, colour space and values.

read-only · repeat-safe · reaches files or programs outside After Effects.

Parameter Type Required Default Description
path string yes — Path of the .ase or .aco swatch file on After Effects' machine.
JSON Schema
{
  "type": "object",
  "properties": {
    "path": {
      "description": "Path of the .ase or .aco swatch file on After Effects\u0027 machine.",
      "type": "string"
    }
  },
  "required": [
    "path"
  ]
}

ae_system_call

Run a shell command on After Effects' machine through After Effects and return its output; it waits for the command to finish. Script-scope work: a key without that scope is refused.

may overwrite or delete · every call adds · reaches files or programs outside After Effects.

Parameter Type Required Default Description
command string yes — The shell line to run.
JSON Schema
{
  "type": "object",
  "properties": {
    "command": {
      "description": "The shell line to run.",
      "type": "string"
    }
  },
  "required": [
    "command"
  ]
}

ae_preference

Read one After Effects preference by section and key, as the preferences file spells them (ae_system_info says where it is), read as a string, long, float or bool.

read-only · repeat-safe · stays inside After Effects.

Parameter Type Required Default Description
section string yes — The section in the preferences file, such as "Main Pref Section v2".
key string yes — The key within the section, such as "Pref_SCRIPTING_FILE_NETWORK_SECURITY".
kind string — string How the value is read or written: string, long, float or bool.
file string? — null Which preferences file: MACHINE_INDEPENDENT (the default), MACHINE_SPECIFIC, MACHINE_INDEPENDENT_RENDER, MACHINE_INDEPENDENT_OUTPUT, MACHINE_INDEPENDENT_COMPOSITION, MACHINE_SPECIFIC_TEXT, MACHINE_SPECIFIC_PAINT, MACHINE_SPECIFIC_EFFECTS, MACHINE_SPECIFIC_EXPRESSION_SNIPPETS or MACHINE_SPECIFIC_SCRIPT_SNIPPETS.
JSON Schema
{
  "type": "object",
  "properties": {
    "section": {
      "description": "The section in the preferences file, such as \u0022Main Pref Section v2\u0022.",
      "type": "string"
    },
    "key": {
      "description": "The key within the section, such as \u0022Pref_SCRIPTING_FILE_NETWORK_SECURITY\u0022.",
      "type": "string"
    },
    "kind": {
      "description": "How the value is read or written: string, long, float or bool.",
      "type": "string",
      "default": "string"
    },
    "file": {
      "description": "Which preferences file: MACHINE_INDEPENDENT (the default), MACHINE_SPECIFIC, MACHINE_INDEPENDENT_RENDER, MACHINE_INDEPENDENT_OUTPUT, MACHINE_INDEPENDENT_COMPOSITION, MACHINE_SPECIFIC_TEXT, MACHINE_SPECIFIC_PAINT, MACHINE_SPECIFIC_EFFECTS, MACHINE_SPECIFIC_EXPRESSION_SNIPPETS or MACHINE_SPECIFIC_SCRIPT_SNIPPETS.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "section",
    "key"
  ]
}

ae_set_preference

Write, remove, reload or save to disk After Effects' preferences by section and key; a value takes effect when the preference is read next, some only after a restart. Wrong keys create new entries, so read with ae_preference first.

may overwrite or delete · repeat-safe · stays inside After Effects.

Parameter Type Required Default Description
section string? — null The section in the preferences file, such as "Main Pref Section v2".
key string? — null The key within the section, such as "Pref_SCRIPTING_FILE_NETWORK_SECURITY".
value any — null The value to store, read as kind says.
kind string — string How the value is read or written: string, long, float or bool.
file string? — null Which preferences file: MACHINE_INDEPENDENT (the default), MACHINE_SPECIFIC, MACHINE_INDEPENDENT_RENDER, MACHINE_INDEPENDENT_OUTPUT, MACHINE_INDEPENDENT_COMPOSITION, MACHINE_SPECIFIC_TEXT, MACHINE_SPECIFIC_PAINT, MACHINE_SPECIFIC_EFFECTS, MACHINE_SPECIFIC_EXPRESSION_SNIPPETS or MACHINE_SPECIFIC_SCRIPT_SNIPPETS.
remove boolean — false Remove the preference instead of setting it.
saveToDisk boolean — false Write the preferences file to disk afterwards.
reload boolean — false Re-read the preferences file first, dropping unsaved changes.
JSON Schema
{
  "type": "object",
  "properties": {
    "section": {
      "description": "The section in the preferences file, such as \u0022Main Pref Section v2\u0022.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "key": {
      "description": "The key within the section, such as \u0022Pref_SCRIPTING_FILE_NETWORK_SECURITY\u0022.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "value": {
      "description": "The value to store, read as kind says.",
      "default": null
    },
    "kind": {
      "description": "How the value is read or written: string, long, float or bool.",
      "type": "string",
      "default": "string"
    },
    "file": {
      "description": "Which preferences file: MACHINE_INDEPENDENT (the default), MACHINE_SPECIFIC, MACHINE_INDEPENDENT_RENDER, MACHINE_INDEPENDENT_OUTPUT, MACHINE_INDEPENDENT_COMPOSITION, MACHINE_SPECIFIC_TEXT, MACHINE_SPECIFIC_PAINT, MACHINE_SPECIFIC_EFFECTS, MACHINE_SPECIFIC_EXPRESSION_SNIPPETS or MACHINE_SPECIFIC_SCRIPT_SNIPPETS.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "remove": {
      "description": "Remove the preference instead of setting it.",
      "type": "boolean",
      "default": false
    },
    "saveToDisk": {
      "description": "Write the preferences file to disk afterwards.",
      "type": "boolean",
      "default": false
    },
    "reload": {
      "description": "Re-read the preferences file first, dropping unsaved changes.",
      "type": "boolean",
      "default": false
    }
  }
}

ae_script_setting

Read a setting scripts keep between sessions in After Effects, by section and key: the key-value store of app.settings.

read-only · repeat-safe · stays inside After Effects.

Parameter Type Required Default Description
section string yes — The section, usually the script's or tool's name.
key string yes — The key within the section.
JSON Schema
{
  "type": "object",
  "properties": {
    "section": {
      "description": "The section, usually the script\u0027s or tool\u0027s name.",
      "type": "string"
    },
    "key": {
      "description": "The key within the section.",
      "type": "string"
    }
  },
  "required": [
    "section",
    "key"
  ]
}

ae_save_script_setting

Keep a text under a section and key in After Effects' script settings, where it survives restarts.

only adds · repeat-safe · stays inside After Effects.

Parameter Type Required Default Description
section string yes — The section, usually the script's or tool's name.
key string yes — The key within the section.
value string yes — The text to keep.
JSON Schema
{
  "type": "object",
  "properties": {
    "section": {
      "description": "The section, usually the script\u0027s or tool\u0027s name.",
      "type": "string"
    },
    "key": {
      "description": "The key within the section.",
      "type": "string"
    },
    "value": {
      "description": "The text to keep.",
      "type": "string"
    }
  },
  "required": [
    "section",
    "key",
    "value"
  ]
}

ae_quit

Quit After Effects: with unsaved changes it saves first or drops them as save says, and refuses when save is not given. The bridge returns once it is running again.

may overwrite or delete · repeat-safe · stays inside After Effects.

Parameter Type Required Default Description
save boolean? — null With unsaved changes: true saves the project first, false drops the changes; empty refuses to quit.
JSON Schema
{
  "type": "object",
  "properties": {
    "save": {
      "description": "With unsaved changes: true saves the project first, false drops the changes; empty refuses to quit.",
      "type": [
        "boolean",
        "null"
      ],
      "default": null
    }
  }
}