Text Layer
TextLayer
¶
TextLayer(
enabled: bool,
match_name: str,
name: str,
property_depth: int,
properties: list[Property | PropertyGroup],
auto_orient: AutoOrientType,
comment: str,
containing_comp: CompItem,
frame_in_point: int,
frame_out_point: int,
frame_start_time: int,
id: int,
in_point: float,
label: Label,
layer_type: str,
locked: bool,
null_layer: bool,
out_point: float,
_parent_id: int,
start_time: float,
shy: bool,
solo: bool,
stretch: float,
time: float,
adjustment_layer: bool,
audio_enabled: bool,
blending_mode: BlendingMode,
collapse_transformation: bool,
effects_active: bool,
environment_layer: bool,
frame_blending: bool,
frame_blending_type: FrameBlendingType,
guide_layer: bool,
motion_blur: bool,
preserve_transparency: bool,
quality: LayerQuality,
sampling_quality: LayerSamplingQuality,
three_d_layer: bool,
three_d_per_char: bool,
track_matte_type: TrackMatteType,
_source_id: int,
_matte_layer_id: int,
)
Bases: AVLayer
The TextLayer object represents a text layer within a composition.
Example
Info
TextLayer is a subclass of AVLayer object. All methods and
attributes of AVLayer are available when working with TextLayer.
See: https://ae-scripting.docsforadobe.dev/layer/textlayer/
Attributes¶
active
¶
active: bool
When True, the layer is active at the current time.
Overrides PropertyBase.active to evaluate active_at_time at time.
audio_enabled
¶
audio_enabled: bool
When True, the layer's audio is enabled. This value corresponds to the audio toggle switch in the Timeline panel.
auto_orient
¶
auto_orient: AutoOrientType
The type of automatic orientation to perform for the layer.
can_set_collapse_transformation
¶
can_set_collapse_transformation: bool
True if it is possible to set the
collapse_transformation value.
Returns True for pre-composition layers and solid layers.
can_set_enabled
¶
can_set_enabled: bool
True if the enabled attribute value can be set.
This is True for all layers, effect property groups, shape
vector groups, and text path options.
can_set_time_remap_enabled
¶
can_set_time_remap_enabled: bool
True if it is possible to enable time remapping on this layer.
Time remapping can be enabled when the layer's source has a non-zero duration (i.e. it is not a still image or text layer).
collapse_transformation
¶
collapse_transformation: bool
True if collapse transformation is on for this layer.
containing_comp
¶
The composition that contains this layer. Set after parsing when the full project structure is available.
effects
¶
effects: PropertyGroup | None
Contains a layer's effects.
This is the Effects PropertyGroup (match name ADBE Effect Parade).
Each child in properties is itself a
PropertyGroup representing one effect. None when the layer has no
effects.
effects_active
¶
effects_active: bool
True if the layer's effects are active, as indicated by the
elided
¶
When True, the property is not shown in the UI. An elided property is
still present in the timeline but hidden from view.
environment_layer
¶
environment_layer: bool
True if this is an environment layer in a Ray-traced 3D composition.
frame_blending_type
¶
frame_blending_type: FrameBlendingType
The type of frame blending to perform when frame blending is enabled for the layer.
frame_in_point
¶
frame_in_point: int
The "in" point of the layer, expressed in composition time (frames). This
is the first frame where the layer becomes visible. The binary format
stores this relative to start_time; parsed value is absolute composition
time.
frame_out_point
¶
frame_out_point: int
The "out" point of the layer, expressed in composition time (frames). This is the first frame where the layer is no longer visible. Clamped to composition duration to match ExtendScript behavior.
frame_start_time
¶
frame_start_time: int
The start time of the layer, expressed in composition time (frames). This determines where the layer's first frame of content appears in the composition timeline.
has_track_matte
¶
has_track_matte: bool
True if this layer has track matte. When true, this layer's track_matte_type
value controls how the matte is applied.
has_video
¶
has_video: bool
True if the layer has a video component.
An AVLayer has video when its source has video, or when the
layer has no external source (text and shape layers always render
video).
height
¶
height: int
The height of the layer in pixels.
Returns the source item's height if available, otherwise falls back to the containing composition's height (matches ExtendScript behavior for source-less layers like text and shape layers).
id
¶
id: int
Unique and persistent identification number used internally to identify a Layer between sessions.
in_point
¶
in_point: float
The "in" point of the layer, expressed in composition time (seconds). This
is the time at which the layer starts being visible in the composition.
The binary format stores this relative to start_time as a signed integer;
parsed value is absolute composition time.
index
¶
index: int
The 0-based index position of the layer in its containing comp.
Warning
Unlike ExtendScript (1-based), this uses Python's 0-based
convention so that comp.layers[layer.index] works directly.
is_effect
¶
When True, this property is an effect PropertyGroup.
is_mask
¶
When True, this property is a mask PropertyGroup.
is_modified
¶
is_modified: bool
True if any child property is modified.
For indexed groups (such as Effects or Masks parades), the group is considered modified when it has any children - adding items to an indexed group is itself a modification.
is_name_from_source
¶
is_name_from_source: bool
True if the layer has no expressly set name, but contains a named source.
In this case, layer.name has the same value as layer.source.name. False if the layer has an expressly set name, or if the layer does not have a source.
label
¶
label: Label
The label color. Colors are represented by their number (0 for None, or 1 to 16 for one of the preset colors in the Labels preferences).
layer_type
¶
layer_type: str
The type of layer. Matches ExtendScript layerType values:
"AVLayer", "LightLayer", "CameraLayer", or "Layer".
locked
¶
locked: bool
When True, the layer is locked. This corresponds to the lock toggle in
the Layer panel.
marker
¶
marker: Property | None
The layer's marker property.
A Property with
match_name="ADBE Marker" whose keyframes hold marker values.
None when the layer has no markers.
markers
¶
markers: list[MarkerValue]
A flat list of MarkerValue objects for this layer.
Shortcut for accessing marker data without navigating the property tree. Returns an empty list when the layer has no markers.
masks
¶
masks: PropertyGroup | None
Contains a layer's masks.
This is the Masks PropertyGroup (match name ADBE Mask Parade).
Each child in properties is itself a
PropertyGroup representing one mask. None when the layer has no
masks.
match_name
¶
match_name: str
A special name for the property used to build unique naming paths. The match name is not displayed, but you can refer to it in scripts. Every property has a unique match-name identifier.
num_properties
¶
num_properties: int
The number of child properties in this group.
Equivalent to ExtendScript PropertyGroup.numProperties.
out_point
¶
out_point: float
The "out" point of the layer, expressed in composition time (seconds).
This is the time at which the layer stops being visible in the composition.
Clamped to composition duration to match ExtendScript API behavior (a
layer's out_point cannot exceed its containing composition's duration).
The binary format stores this relative to start_time.
parent_property
¶
parent_property: PropertyGroup | None = field(
init=False, default=None, repr=False
)
The parent PropertyGroup of this property, or None for top-level
layer property groups.
preserve_transparency
¶
preserve_transparency: bool
True if preserve transparency is enabled for the layer.
property_depth
¶
property_depth: int
The number of levels of parent groups between this property and the containing layer. The value is 0 for a layer.
property_index
¶
property_index: int | None
The 0-based position of this property within its parent group.
Returns None for layers (property depth 0).
Warning
Unlike ExtendScript (1-based), this uses Python's 0-based
convention so that group.properties[prop.property_index]
works directly.
property_type
¶
property_type: PropertyType = field(
init=False, default=NAMED_GROUP
)
The type of this property. One of PropertyType.PROPERTY,
PropertyType.NAMED_GROUP, or PropertyType.INDEXED_GROUP.
shy
¶
shy: bool
When True, the layer is "shy", meaning that it is hidden in the Layer
panel if the composition's "Hide all shy layers" option is toggled on.
start_time
¶
start_time: float
The start time of the layer, expressed in composition time (seconds).
stretch
¶
stretch: float
The layer's time stretch, expressed as a percentage. A value of 100 means no stretch. Values between 0 and 1 are set to 1, and values between -1 and 0 (not including 0) are set to -1.
three_d_per_char
¶
three_d_per_char: bool
True if this layer has the Enable Per-character 3D switch set, allowing
its characters to be animated off the plane of the text layer. Applies
only to text layers.
track_matte_layer
¶
track_matte_layer: AVLayer | None
The track matte layer for this layer. Returns None if this layer has no track matte layer.
transform
¶
transform: PropertyGroup
Contains a layer's transform properties.
This is the Transform PropertyGroup (match name
ADBE Transform Group). Individual transform properties (Position,
Scale, Rotation, etc.) are accessible via
properties.
width
¶
width: int
The width of the layer in pixels.
Returns the source item's width if available, otherwise falls back to the containing composition's width (matches ExtendScript behavior for source-less layers like text and shape layers).
Functions¶
active_at_time
¶
Return whether the layer is active at the given time.
For this method to return True, three conditions must be met:
- The layer must be
enabled. - No other layer in the containing_comp may be soloed unless this layer is also solo.
- time must fall between in_point (inclusive) and out_point (exclusive).
Parameters: