Keyfast
Script
Free

Fade Out From Playhead

By Jack Vaughan
Updated 11/1/2025

About

Fades out selected layers over 30 frames starting from the current playhead position.

Code

// Cavalry Script: Keyfast - Fade Out from Playhead
// For each selected layer, animates opacity from 100 to 0 over 30 frames
var selectedLayers = api.getSelection();
if (selectedLayers.length === 0) {
console.warn("No layers are selected. Please select some layers first.");
} else {
var currentFrame = api.getFrame();
var frameOffset = 30; // Number of frames for the animation
var secondFrame = currentFrame + frameOffset;
console.info("Animating opacity on " + selectedLayers.length + " selected layer(s)...");
for (var i = 0; i < selectedLayers.length; i++) {
var layerId = selectedLayers[i];
var layerName = api.getNiceName(layerId);
try {
if (api.hasAttribute(layerId, "opacity")) {
// Keyframe 1: opacity 100 at current frame
var opacity1 = 100;
// Keyframe 2: opacity 0 at current+30
var opacity2 = 0;
// Set keyframe at current frame (opacity 100)
api.keyframe(layerId, currentFrame, {"opacity": opacity1});
// Set keyframe at current+30 (opacity 0)
api.keyframe(layerId, secondFrame, {"opacity": opacity2});
console.log("✓ " + layerName + ": Keyframed opacity from " + opacity1 + " to " + opacity2 + " (frames " + currentFrame + " → " + secondFrame + ")");
} else {
console.warn("✗ " + layerName + ": No opacity attribute");
}
} catch (error) {
console.error("✗ Error processing " + layerName + ": " + error);
}
}
}