A significant gap in the Premiere scripting API is the inability to read and write keyframe properties – specifically selection state, bezier tangents, and speed/influence values.
As the developer of Easify 3, a CEP extension that handles custom easing, I’ve built extensive workarounds to compensate for these missing capabilities. The tool’s popularity demonstrates clear demand from both developers and end-users for this functionality.
At minimum, two additions would have an outsized impact:
Read/write keyframe selection state – essential for targeting specific keyframes programmatically
Read/write easing properties (bezier tangents, speed/influence) – currently impossible
These are foundational capabilities for anyone scripting animations in Premiere. The demand is proven and the use case is straightforward. I’d strongly encourage prioritizing this in an upcoming API update.
Second this. I also ran into the same limitation. The workaround that I’ve had to implement is to fake easing curves by programmatically inserting many, many intermediate keyframes with a small enough step size that it interprets as a natural easing curve.
Also I have come across a bug where sometimes I will apply keyframes through UXP, and when you read them back through UXP it seems to work, however, on Premiere’s UI, the keyframes do not appear, nor do they apply to the video. I haven’t consistently been able to reproduce this bug nor find the conditions for which it appears. @Leyero have you come across this before?
Could you shed any light on whether keyframe API access is being considered for Premiere - specifically read/write for selection state and bezier/speed easing properties?
Even a rough sense of direction - whether it’s planned, under consideration, or not on the roadmap - would be genuinely helpful for the community to plan around.
The reason I’m asking is that these gaps directly affect UXP migration planning. The CEP workarounds that exist for keyframe easing don’t carry over to UXP that well. For example, there’s no clip’s nodeID that would allow to store keyframes data of that specific clip.
Could you shed any light on whether keyframe API access is being considered for Premiere - specifically read/write for selection state and bezier/speed easing properties?
Bezier/speed easing properties = setting interpolation type is already present.
Are you talking about the selection state of keyframes, within the ECP? No current plans.
For example, there’s no clip’s nodeID that would allow to store keyframes data of that specific clip.
Premiere stores the keyframe data for any given trackItem; it’s true that there’s no mechanism for attaching your own, non-keyframe data, to a given trackItem.