Effects
Camtasia effects — thin wrappers over effect dicts.
-
class camtasia.effects.Effect(data)[source]
Bases: object
Thin wrapper around a Camtasia effect dict.
Effects are stored in a clip’s effects array as dicts with keys:
effectName, bypassed, category, parameters.
Each parameter is a nested dict like:
{"type": "double", "defaultValue": 16.0, "interp": "linr"}
- Parameters:
data (dict[str, Any]) – The raw effect dict from the project JSON.
-
property data: _EffectData
The underlying raw dict.
-
property name: str
Effect name identifier.
-
property bypassed: bool
Whether the effect is bypassed (disabled).
-
property category: str
Effect category string.
-
property metadata: dict
Top-level metadata dict for this effect.
-
property parameters: dict[str, Any]
Effect parameters dict.
-
get_parameter(name)[source]
Get a parameter’s default value by name.
- Parameters:
name (str) – The parameter key inside the parameters dict.
- Return type:
Any
- Returns:
The defaultValue of the parameter, or the scalar value directly.
- Raises:
KeyError – If the parameter does not exist.
-
set_parameter(name, value)[source]
Set a parameter’s default value by name.
- Parameters:
-
- Raises:
KeyError – If the parameter does not exist.
- Return type:
None
-
property start: int | None
Effect start time in ticks, or None if not time-bounded.
-
property duration: int | None
Effect duration in ticks, or None if not time-bounded.
-
property is_time_bounded: bool
Whether this effect has explicit start/duration.
-
property left_edge_mods: list[dict[str, Any]]
Left edge modifications (fade-in, etc.).
-
property right_edge_mods: list[dict[str, Any]]
Right edge modifications (fade-out, etc.).
-
class camtasia.effects.EffectSchema[source]
Bases: object
Stub for legacy marshmallow-based EffectSchema.
Install marshmallow and marshmallow-oneofschema to use
the full schema-based serialization.
-
camtasia.effects.effect_from_dict(data)[source]
Create the appropriate Effect subclass from a raw effect dict.
- Parameters:
data (dict[str, Any]) – A dict with at least an effectName key.
- Return type:
Effect
- Returns:
An instance of the matching Effect subclass, or a generic
Effect if no specific class is registered.
-
class camtasia.effects.RoundCorners(data)[source]
Bases: Effect
Round corners effect.
- Parameters:
radius
topLeft
topRight
bottomLeft
bottomRight
-
property radius: float
Corner radius in pixels.
-
property top_left: bool
Whether the top-left corner is rounded.
-
property top_right: bool
Whether the top-right corner is rounded.
-
property bottom_left: bool
Whether the bottom-left corner is rounded.
-
property bottom_right: bool
Whether the bottom-right corner is rounded.
-
class camtasia.effects.DropShadow(data)[source]
Bases: Effect
Drop shadow effect.
- Parameters:
angle (RGBA via separate keys)
offset (RGBA via separate keys)
blur (RGBA via separate keys)
opacity (RGBA via separate keys)
color (RGBA via separate keys)
-
property angle: float
Shadow angle in radians.
-
property enabled: int
-
property offset: float
Shadow offset distance in pixels.
-
property blur: float
Shadow blur radius.
-
property opacity: float
Shadow opacity from 0.0 (transparent) to 1.0 (opaque).
-
property color: tuple[float, float, float, float]
RGBA color as (red, green, blue, alpha) floats.
-
class camtasia.effects.MotionBlur(data)[source]
Bases: Effect
Motion blur effect.
- Parameters:
intensity
-
property intensity: float
Blur intensity level.
-
class camtasia.effects.Mask(data)[source]
Bases: Effect
Mask effect.
- Parameters:
mask-shape
mask-opacity
mask-blend
mask-invert
mask-rotation
:param :
:param mask-width:
:param mask-height:
:param mask-positionX:
:param mask-positionY:
:param mask-cornerRadius.:
Width, height, and position parameters may be keyframed (dict with
keyframes array) or simple scalar values.
-
property mask_shape: int
Mask shape identifier.
-
property mask_opacity: float
Mask opacity from 0.0 (transparent) to 1.0 (opaque).
-
property mask_blend: float
Mask edge blend (feather) amount.
-
property mask_invert: int
Whether the mask is inverted (1) or normal (0).
-
property mask_rotation: float
Mask rotation angle in radians.
-
property mask_width: float | dict
Mask width, scalar or keyframed dict.
-
property mask_height: float | dict
Mask height, scalar or keyframed dict.
-
property mask_position_x: float | dict
Mask horizontal position, scalar or keyframed dict.
-
property mask_position_y: float | dict
Mask vertical position, scalar or keyframed dict.
-
property mask_corner_radius: float
Mask corner radius.
-
class camtasia.effects.BlurRegion(data)[source]
Bases: Effect
Blur region effect.
Warning
This effect is registered but has not been verified against any
TechSmith sample project. Parameter names and semantics may differ
from what Camtasia actually produces.
- Parameters:
sigma
mask-cornerRadius
mask-invert
color-alpha
-
property sigma: float
Gaussian blur sigma value.
-
property mask_corner_radius: float
Corner radius of the blur region mask.
-
property mask_invert: int
Whether the blur region mask is inverted (1) or normal (0).
-
property color_alpha: float
Alpha channel of the blur region overlay color.
-
class camtasia.effects.Glow(data)[source]
Bases: Effect
Bloom/glow post-processing effect.
- Parameters:
-
-
property radius: float
Glow spread radius.
-
property intensity: float
Glow intensity level.
-
class camtasia.effects.CursorMotionBlur(data)[source]
Bases: Effect
Cursor motion blur effect.
- Parameters:
intensity
-
property intensity: float
Blur intensity level.
-
class camtasia.effects.CursorPhysics(data)[source]
Bases: Effect
Cursor physics effect.
- Parameters:
-
-
property intensity: float
Physics effect intensity.
-
property tilt: float
Cursor tilt amount.
-
class camtasia.effects.CursorShadow(data)[source]
Bases: Effect
Cursor shadow effect.
- Parameters:
angle (RGBA)
offset (RGBA)
blur (RGBA)
opacity (RGBA)
color (RGBA)
-
property angle: float
Shadow angle in radians.
-
property offset: float
Shadow offset distance in pixels.
-
property blur: float
Shadow blur radius.
-
property opacity: float
Shadow opacity from 0.0 (transparent) to 1.0 (opaque).
-
property color: tuple[float, float, float, float]
RGBA color as (red, green, blue, alpha) floats.
-
class camtasia.effects.LeftClickScaling(data)[source]
Bases: Effect
Left-click cursor scaling effect.
- Parameters:
-
-
property scale: float
Click scale factor.
-
property speed: float
Scaling animation speed.
-
class camtasia.effects.SourceEffect(data)[source]
Bases: Effect
Source effect for shader video parameters.
- Parameters:
-
-
property color0: tuple[float, float, float, float]
First shader color as RGBA floats.
-
property color1: tuple[float, float, float, float]
Second shader color as RGBA floats.
-
property color2: tuple[float, float, float, float] | None
Third shader color as RGBA floats, or None if not present.
-
property color3: tuple[float, float, float, float] | None
Fourth shader color as RGBA floats, or None if not present.
-
property mid_point: tuple[float, float] | float
Mid point position. Returns (x, y) tuple for four-corner gradients or a single float for radial gradients.
-
property speed: float
Shader animation speed.
-
property source_file_type: str
Source file type identifier for the shader.
-
set_shader_colors(*colors)[source]
Set shader colours from 0-255 RGB tuples.
Accepts 2 colors (radial gradient) or 4 colors (four-corner gradient).
Alpha is set to 1.0 for all colours.
- Parameters:
colors (tuple[int, int, int]) – (r, g, b) tuples with values 0–255.
- Return type:
None
-
class camtasia.effects.BehaviorPhase(data)[source]
Bases: object
Wraps a single behavior phase dict (in, center, or out).
Each phase has attributes controlling character-level animation
timing and physics, plus parameters for direction/style keyframes.
- Parameters:
data (dict[str, Any]) – The raw phase dict from the behavior effect.
-
property data: _BehaviorPhaseData
The underlying raw dict.
-
property name: str
Behavior name (e.g. 'reveal', 'none').
-
property phase_type: int
0 = whole-object, 1 = per-character.
- Type:
Animation granularity
-
property character_order: int
Order in which characters animate (e.g. left-to-right, random).
-
property offset_between_characters: int
Delay between characters in ticks.
-
property suggested_duration_per_character: int
Suggested duration per character in ticks.
-
property overlap_proportion: int | float | str
Overlap proportion — may be int, float, or string fraction (e.g. '1/2').
-
property movement: int
Movement enum for animation direction/style.
-
property spring_damping: float
Spring damping coefficient for bounce animations.
-
property spring_stiffness: float
Spring stiffness coefficient for bounce animations.
-
property bounce_bounciness: float
Bounciness factor for bounce animations.
-
property parameters: dict[str, Any]
Raw parameters dict (direction keyframes, etc.).
-
class camtasia.effects.GenericBehaviorEffect(data)[source]
Bases: object
Wraps a GenericBehaviorEffect dict — Camtasia’s text behavior system.
Unlike regular effects, behavior effects have a _type field set to
'GenericBehaviorEffect' and contain three animation phases
(in, center, out) instead of flat parameters.
- Parameters:
data (dict[str, Any]) – The raw behavior effect dict from the project JSON.
-
property data: _BehaviorEffectData
The underlying raw dict.
-
property effect_name: str
Effect name identifier.
-
property bypassed: bool
Whether the effect is bypassed (disabled).
-
property start: int
Start time in ticks.
-
property duration: int
Duration in ticks.
-
property entrance: BehaviorPhase
The in (entrance) phase.
-
property center: BehaviorPhase
The center (sustain/loop) phase.
-
property exit: BehaviorPhase
The out (exit) phase.
-
property preset_name: str
Preset name from metadata (e.g. 'Reveal').
Base effect class wrapping Camtasia effect dicts.
-
class camtasia.effects.base.Effect(data)[source]
Bases: object
Thin wrapper around a Camtasia effect dict.
Effects are stored in a clip’s effects array as dicts with keys:
effectName, bypassed, category, parameters.
Each parameter is a nested dict like:
{"type": "double", "defaultValue": 16.0, "interp": "linr"}
- Parameters:
data (dict[str, Any]) – The raw effect dict from the project JSON.
-
property data: _EffectData
The underlying raw dict.
-
property name: str
Effect name identifier.
-
property bypassed: bool
Whether the effect is bypassed (disabled).
-
property category: str
Effect category string.
-
property metadata: dict
Top-level metadata dict for this effect.
-
property parameters: dict[str, Any]
Effect parameters dict.
-
get_parameter(name)[source]
Get a parameter’s default value by name.
- Parameters:
name (str) – The parameter key inside the parameters dict.
- Return type:
Any
- Returns:
The defaultValue of the parameter, or the scalar value directly.
- Raises:
KeyError – If the parameter does not exist.
-
set_parameter(name, value)[source]
Set a parameter’s default value by name.
- Parameters:
-
- Raises:
KeyError – If the parameter does not exist.
- Return type:
None
-
property start: int | None
Effect start time in ticks, or None if not time-bounded.
-
property duration: int | None
Effect duration in ticks, or None if not time-bounded.
-
property is_time_bounded: bool
Whether this effect has explicit start/duration.
-
property left_edge_mods: list[dict[str, Any]]
Left edge modifications (fade-in, etc.).
-
property right_edge_mods: list[dict[str, Any]]
Right edge modifications (fade-out, etc.).
-
camtasia.effects.base.register_effect(name)[source]
Class decorator to register an Effect subclass for factory dispatch.
- Return type:
Callable[[type[Effect]], type[Effect]]
-
camtasia.effects.base.effect_from_dict(data)[source]
Create the appropriate Effect subclass from a raw effect dict.
- Parameters:
data (dict[str, Any]) – A dict with at least an effectName key.
- Return type:
Effect
- Returns:
An instance of the matching Effect subclass, or a generic
Effect if no specific class is registered.
Visual effects: RoundCorners, DropShadow.
-
class camtasia.effects.visual.RoundCorners(data)[source]
Bases: Effect
Round corners effect.
- Parameters:
radius
topLeft
topRight
bottomLeft
bottomRight
-
property radius: float
Corner radius in pixels.
-
property top_left: bool
Whether the top-left corner is rounded.
-
property top_right: bool
Whether the top-right corner is rounded.
-
property bottom_left: bool
Whether the bottom-left corner is rounded.
-
property bottom_right: bool
Whether the bottom-right corner is rounded.
-
class camtasia.effects.visual.DropShadow(data)[source]
Bases: Effect
Drop shadow effect.
- Parameters:
angle (RGBA via separate keys)
offset (RGBA via separate keys)
blur (RGBA via separate keys)
opacity (RGBA via separate keys)
color (RGBA via separate keys)
-
property angle: float
Shadow angle in radians.
-
property enabled: int
-
property offset: float
Shadow offset distance in pixels.
-
property blur: float
Shadow blur radius.
-
property opacity: float
Shadow opacity from 0.0 (transparent) to 1.0 (opaque).
-
property color: tuple[float, float, float, float]
RGBA color as (red, green, blue, alpha) floats.
-
class camtasia.effects.visual.MotionBlur(data)[source]
Bases: Effect
Motion blur effect.
- Parameters:
intensity
-
property intensity: float
Blur intensity level.
-
class camtasia.effects.visual.Mask(data)[source]
Bases: Effect
Mask effect.
- Parameters:
mask-shape
mask-opacity
mask-blend
mask-invert
mask-rotation
:param :
:param mask-width:
:param mask-height:
:param mask-positionX:
:param mask-positionY:
:param mask-cornerRadius.:
Width, height, and position parameters may be keyframed (dict with
keyframes array) or simple scalar values.
-
property mask_shape: int
Mask shape identifier.
-
property mask_opacity: float
Mask opacity from 0.0 (transparent) to 1.0 (opaque).
-
property mask_blend: float
Mask edge blend (feather) amount.
-
property mask_invert: int
Whether the mask is inverted (1) or normal (0).
-
property mask_rotation: float
Mask rotation angle in radians.
-
property mask_width: float | dict
Mask width, scalar or keyframed dict.
-
property mask_height: float | dict
Mask height, scalar or keyframed dict.
-
property mask_position_x: float | dict
Mask horizontal position, scalar or keyframed dict.
-
property mask_position_y: float | dict
Mask vertical position, scalar or keyframed dict.
-
property mask_corner_radius: float
Mask corner radius.
-
class camtasia.effects.visual.Glow(data)[source]
Bases: Effect
Bloom/glow post-processing effect.
- Parameters:
-
-
property radius: float
Glow spread radius.
-
property intensity: float
Glow intensity level.
-
class camtasia.effects.visual.BlurRegion(data)[source]
Bases: Effect
Blur region effect.
Warning
This effect is registered but has not been verified against any
TechSmith sample project. Parameter names and semantics may differ
from what Camtasia actually produces.
- Parameters:
sigma
mask-cornerRadius
mask-invert
color-alpha
-
property sigma: float
Gaussian blur sigma value.
-
property mask_corner_radius: float
Corner radius of the blur region mask.
-
property mask_invert: int
Whether the blur region mask is inverted (1) or normal (0).
-
property color_alpha: float
Alpha channel of the blur region overlay color.
Cursor effects: CursorMotionBlur, CursorShadow, CursorPhysics, LeftClickScaling.
-
class camtasia.effects.cursor.CursorMotionBlur(data)[source]
Bases: Effect
Cursor motion blur effect.
- Parameters:
intensity
-
property intensity: float
Blur intensity level.
-
class camtasia.effects.cursor.CursorShadow(data)[source]
Bases: Effect
Cursor shadow effect.
- Parameters:
angle (RGBA)
offset (RGBA)
blur (RGBA)
opacity (RGBA)
color (RGBA)
-
property angle: float
Shadow angle in radians.
-
property offset: float
Shadow offset distance in pixels.
-
property blur: float
Shadow blur radius.
-
property opacity: float
Shadow opacity from 0.0 (transparent) to 1.0 (opaque).
-
property color: tuple[float, float, float, float]
RGBA color as (red, green, blue, alpha) floats.
-
class camtasia.effects.cursor.CursorPhysics(data)[source]
Bases: Effect
Cursor physics effect.
- Parameters:
-
-
property intensity: float
Physics effect intensity.
-
property tilt: float
Cursor tilt amount.
-
class camtasia.effects.cursor.LeftClickScaling(data)[source]
Bases: Effect
Left-click cursor scaling effect.
- Parameters:
-
-
property scale: float
Click scale factor.
-
property speed: float
Scaling animation speed.
Source effects for shader videos.
-
class camtasia.effects.source.SourceEffect(data)[source]
Bases: Effect
Source effect for shader video parameters.
- Parameters:
-
-
property color0: tuple[float, float, float, float]
First shader color as RGBA floats.
-
property color1: tuple[float, float, float, float]
Second shader color as RGBA floats.
-
property color2: tuple[float, float, float, float] | None
Third shader color as RGBA floats, or None if not present.
-
property color3: tuple[float, float, float, float] | None
Fourth shader color as RGBA floats, or None if not present.
-
property mid_point: tuple[float, float] | float
Mid point position. Returns (x, y) tuple for four-corner gradients or a single float for radial gradients.
-
property speed: float
Shader animation speed.
-
property source_file_type: str
Source file type identifier for the shader.
-
set_shader_colors(*colors)[source]
Set shader colours from 0-255 RGB tuples.
Accepts 2 colors (radial gradient) or 4 colors (four-corner gradient).
Alpha is set to 1.0 for all colours.
- Parameters:
colors (tuple[int, int, int]) – (r, g, b) tuples with values 0–255.
- Return type:
None
GenericBehaviorEffect — Camtasia’s text animation/behaviors system.
-
class camtasia.effects.behaviors.BehaviorPhase(data)[source]
Bases: object
Wraps a single behavior phase dict (in, center, or out).
Each phase has attributes controlling character-level animation
timing and physics, plus parameters for direction/style keyframes.
- Parameters:
data (dict[str, Any]) – The raw phase dict from the behavior effect.
-
property data: _BehaviorPhaseData
The underlying raw dict.
-
property name: str
Behavior name (e.g. 'reveal', 'none').
-
property phase_type: int
0 = whole-object, 1 = per-character.
- Type:
Animation granularity
-
property character_order: int
Order in which characters animate (e.g. left-to-right, random).
-
property offset_between_characters: int
Delay between characters in ticks.
-
property suggested_duration_per_character: int
Suggested duration per character in ticks.
-
property overlap_proportion: int | float | str
Overlap proportion — may be int, float, or string fraction (e.g. '1/2').
-
property movement: int
Movement enum for animation direction/style.
-
property spring_damping: float
Spring damping coefficient for bounce animations.
-
property spring_stiffness: float
Spring stiffness coefficient for bounce animations.
-
property bounce_bounciness: float
Bounciness factor for bounce animations.
-
property parameters: dict[str, Any]
Raw parameters dict (direction keyframes, etc.).
-
class camtasia.effects.behaviors.GenericBehaviorEffect(data)[source]
Bases: object
Wraps a GenericBehaviorEffect dict — Camtasia’s text behavior system.
Unlike regular effects, behavior effects have a _type field set to
'GenericBehaviorEffect' and contain three animation phases
(in, center, out) instead of flat parameters.
- Parameters:
data (dict[str, Any]) – The raw behavior effect dict from the project JSON.
-
property data: _BehaviorEffectData
The underlying raw dict.
-
property effect_name: str
Effect name identifier.
-
property bypassed: bool
Whether the effect is bypassed (disabled).
-
property start: int
Start time in ticks.
-
property duration: int
Duration in ticks.
-
property entrance: BehaviorPhase
The in (entrance) phase.
-
property center: BehaviorPhase
The center (sustain/loop) phase.
-
property exit: BehaviorPhase
The out (exit) phase.
-
property preset_name: str
Preset name from metadata (e.g. 'Reveal').