Demo Forge
Turn a one-off After Effects demo into a template you can reuse.
Working Available to download. Below, a browser demo on sample data.
The problem
A demo made for one client is full of their name, text and colors, spread across many layers. Reusing it means hunting each one down.
What I built
A script that turns the project into a template: one control comp drives every headline, call to action and brand color, without breaking anything that already moves.
- One place to edit text and colors
- Animation that already moves is left alone
- Makes a backup first, only adds
Download for After EffectsTry the browser demo
Features and limits
Built and tested
- Finds editable text by layer name (Headline, Body, CTA, Brand name). The name rules are data, so a team can add its own.
- Builds the palette from the colors themselves: darkest is Ink, lightest is Surface, the most saturated of the rest is Accent.
- Layers with the same role and the same text share one control; different texts get their own (Headline 2).
- Plans one control comp with text controls and color controls, and links the original layers to them with expressions.
- Never overwrites a keyframed property or an existing expression, and says which ones it left alone and why.
- Every plan starts with a backup and contains only additive steps; removing or replacing anything is not an allowed step.
- Brand-neutral defaults (“Your headline here”) with the original wording kept in the audit. Preview-only mode changes nothing.
- Edit a control and watch every linked layer change in the preview. Export the plan as JSON.
Limits
- Tested in After Effects 26.5.0 on macOS 27.0.1 on a copy of a fictional project; not yet on Windows.
- Roles come from layer names; a layer called “Text 3” needs a rule or a rename.
- Media is listed, not swapped. Fonts are not changed.
Planned
Profiles instead of hard-coded comp names, configurable role matching and preview-only mode.
How to use
- Read the left side: roles found, palette, media kept and items left alone.
- Edit the controls on the right; both preview frames update through the template links.
- Untick Brand-neutral defaults to keep the original wording as the defaults.
- Tick Preview only to see the plan without applying it. Export plan JSON to keep it.
How it works
- Plan steps: backup, create-comp, add-text-control, add-color-controls, link, mark-media. Anything else is refused, in the browser and in the script.
- Links are plain expressions: comp("CTRL_Template").layer("Headline").text.sourceText and an effect color reference.
- The same apply and resolve functions check the template in tests: one control edit must reach every linked layer, and protected layers must keep their own values.
- The script saves, copies the saved file to a backup, and only then changes the project; it refuses to run on an unsaved project.
Tested versions & limits
- Pass Unit: text roles, palette from the colors, media Node 22, Linux
- Pass Unit: keyframed and expression-driven properties never overwritten Node 22, Linux
- Pass Unit: plan starts with a backup, only adds; every layer and keyframe kept Node 22, Linux
- Pass Unit: one control edit reaches every linked layer; defaults brand-neutral Node 22, Linux
- Pass Unit: preview-only changes nothing; rules configurable Node 22, Linux
- Pass Host script: compiles; backup copy precedes the first change; no removal calls (static) Node 22, Linux
- Pass Browser: controls drive the preview, preview-only, plan export Chromium (Playwright), 1280px
- Pass Host: apply a plan to a real project copy inside After Effects After Effects 26.5.0, macOS 27.0.1
Last verified 2026-10-31.
Scan, plan and template checks tested. The script ran in After Effects 26.5.0 on macOS 27.0.1 on a copy of a fictional project: backup first, 24 steps, all structural checks passed. Evidence: labs/host-tests/results/2026-10-31.
Details
- Input
- AE demo project
- Output
- Reusable template project and audit
- Runs in
- Installs as an After Effects script (tested in After Effects 26.5.0 on macOS 27.0.1). The scan, plan and template preview run in your browser.
- Source
- Original, rebuilt from scratch