Keyfast
Script
Free
Select Opacity Keyframes
By Jack Vaughan
Updated 11/1/2025
About
Selects only opacity keyframes on selected layers. Useful for quickly isolating opacity animation when editing keyframes.
Code
// Cavalry Script: Keyfast - Select opacity keyframes(function selectOpacityKeyframes() {var OP_ATTRS = ["opacity", "shapeOpacity"]; // common variantsvar isOpacityAttr = function(attrPath) {if (!attrPath || typeof attrPath !== "string") return false;var a = ("" + attrPath).toLowerCase();if (a === "opacity") return true;if (a.indexOf(".opacity") !== -1) return true; // e.g., material.opacityif (a.indexOf("shapeopacity") !== -1) return true;return false;};var uniq = function(arr) { var m = {}; var out = []; for (var i=0;i<arr.length;i++){ var v=arr[i]; if(!m[v]){ m[v]=true; out.push(v);} } return out; };var listOpacityAttributes = function(layerId) {var attrs = [];try { var animated = (typeof api.getAnimatedAttributes === "function") ? (api.getAnimatedAttributes(layerId) || []) : []; for (var i=0;i<animated.length;i++) if (isOpacityAttr(animated[i])) attrs.push(animated[i]); } catch (_) {}for (var j=0;j<OP_ATTRS.length;j++) if (attrs.indexOf(OP_ATTRS[j]) === -1) attrs.push(OP_ATTRS[j]);return attrs;};var getOpacityKeyIdsForLayer = function(layerId) {var ids = [];var opAttrs = listOpacityAttributes(layerId);for (var i=0;i<opAttrs.length;i++) {var attr = opAttrs[i];try {var kIds = (typeof api.getKeyframeIdsForAttribute === "function") ? (api.getKeyframeIdsForAttribute(layerId, attr) || []) : [];for (var k=0;k<kIds.length;k++) ids.push(kIds[k]);} catch (_) {}}return ids;};var selectedKeyIds = [];try { selectedKeyIds = api.getSelectedKeyframeIds() || []; } catch (_) { selectedKeyIds = []; }