Skip to content

Syntax Reference ​

This section documents the complete Compdown syntax — every property, type, and option available. Compdown syntax is YAML-based, but you can think of it as plain text instructions for After Effects.

Document structure ​

A Compdown document has five optional top-level keys:

yaml
_timeline:     # Add, update, or remove layers in the active composition timeline
_selected:     # Update or remove currently selected layers
folders:       # Project folder structure
files:         # Imported footage and assets
compositions:  # Compositions with layers

At least one must be present.

Targets first, then actions ​

Recommended reading order:

  1. Targets — where actions run (_timeline, _selected)
  2. Actions — what to do in that target (add, set, remove)
  3. Inheritance — how _id and _extends reuse base objects

Creation order ​

When Compdown processes a document, it creates items in this order:

  1. Folders — Project panel folders
  2. Files — Imported footage (placed in folders)
  3. Compositions — Comps (placed in folders)
  4. Layers — Inside each composition

This order matters because:

  • Files need folders to exist first
  • Compositions need folders to exist first
  • Layers can reference files (via file:) or other compositions (via composition:)

Parsing notes ​

Compdown handles some YAML edge cases automatically:

Null type layers ​

yaml
type: null  # Works as-is (normally YAML parses this as null value)

All-digit colors ​

yaml
color: 000000  # Works as-is (normally YAML parses this as number)

You don't need extra quotes around these values.

Tab indentation ​

Compdown normalizes leading tab indentation to spaces before parsing.

This means content like this still works:

yaml
compositions:
	- name: Main
	  layers:
	    - name: Title
	      type: text
	      text: Hello

Forcing string type ​

Use quotes when a value should stay a string even if it looks like another data type:

yaml
text: "123"     # not a number
id: "001"       # preserves leading zeros
text: "true"    # not a boolean
text: "null"    # not a null value

Schema sections ​

  • Targets — Destination blocks and default behavior
  • Folders — Project folder structure
  • Files — Importing footage and assets
  • Compositions — Comp settings and structure
  • Layers — All layer types and properties
  • Transform — Position, scale, rotation, keyframes
  • Effects — Applying and animating effects
  • Shapes — Parametric shape layers
  • Essential Graphics — MOGRT properties
  • Markers — Composition markers
  • Actions — Add, update, and remove behavior in _timeline
  • Inheritance — Reusable templates with _id and _extends

Released under the MIT License.