# Feature Request: Please Add Keyfrmae Class/Object

**URL:** <https://forums.creativeclouddeveloper.com/t/feature-request-please-add-keyfrmae-class-object/12290>\
**Category:** After Effects\
**Tags:** feature-request, uxp\
**Created:** [October 10, 2026, 4:19am UTC](https://forums.creativeclouddeveloper.com/t/feature-request-please-add-keyfrmae-class-object/12290 "2026-10-10T04:19:57Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![dongxi](https://avatars.discourse-cdn.com/v4/letter/d/cdc98d/32.png) [@dongxi](https://forums.creativeclouddeveloper.com/u/dongxi)\
**Post date:** [October 10, 2026, 4:19am UTC](https://forums.creativeclouddeveloper.com/t/feature-request-please-add-keyfrmae-class-object/12290/1 "2026-10-10T04:19:57Z")

</div>

Looking through AE UXP API, it’s pretty much the same with what we have in ExtrendScript.  
In terms of keyframe handling, we can only use `property.keyInSpatialTangent()`, `property.keyOutSpatialTangent()`, ect. Which is not so convenient to use when I need to copy/move the keyframe to another position in time.

To do this, you have to do a lot of things. You have to check all those properties and values in your old keyframe, then create a new keyframe and apply thoes properties and values to your new keyframe, which is a lot of works. And this method also comes with limitation, you can not work with CUSTOM\_VALUE\_PROPERTY, because you can not read and write its value.

So I am wondering, if we can get a Keyframe Class/Object, `const key = new Keyframe(property, index)` and on this class, we have `key.moveTo(time)`, `key.copyTo(time)`, etc. Such a class would be a great welcome, it saves lots of work and can go beyond the limitation I metioned before.

So, can we expect to have such features in uxp?

---

<div class="post-metadata">

**Author:** ![MikeSevigny](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/mikesevigny/32/5206_2.png) [@MikeSevigny](https://forums.creativeclouddeveloper.com/u/MikeSevigny)\
**Post date:** [October 10, 2026, 3:17pm UTC](https://forums.creativeclouddeveloper.com/t/feature-request-please-add-keyfrmae-class-object/12290/2 "2026-10-10T15:17:55Z")

</div>

A Keyframe object would definitely be useful, although I could see potential conflicts when moving a keyframe to a time where another keyframe already exists.

I’d also propose adding these methods:

- valuesAtTimes(times, preExpression)
- removeKeysAtTimes(times)

We already have `setValuesAtTimes()` which saves a lot of API calls, but it would be great to retrieve values in bulk with `valuesAtTimes()`. Removing keyframes also requires looping individual keyframes so `removeKeysAtTimes()` would be very useful.

Calling `valueAtTime()` 1000 times can leave After Effects unresponsive until it finishes, even in UXP. A bulk `valuesAtTimes()` method could significantly improve performance and avoid UI freezes.

A Keyframe object would still be useful for preserving interpolation, easing, tangents, and other keyframe attributes when moving or copying keyframes.

---

<div class="post-metadata">

**Author:** ![dongxi](https://avatars.discourse-cdn.com/v4/letter/d/cdc98d/32.png) [@dongxi](https://forums.creativeclouddeveloper.com/u/dongxi)\
**Post date:** [October 12, 2026, 1:45am UTC](https://forums.creativeclouddeveloper.com/t/feature-request-please-add-keyfrmae-class-object/12290/3 "2026-10-12T01:45:31Z")

</div>

> when moving a keyframe to a time where another keyframe already exists

In this situation, I think it’s fine to overwrite the existing keyframe.

And methods you proposed are also great, hope they can be implemented as well.

---

<div class="post-metadata">

**Author:** ![harsha\_ravi](https://avatars.discourse-cdn.com/v4/letter/h/aeb1de/32.png) [@harsha\_ravi](https://forums.creativeclouddeveloper.com/u/harsha_ravi)\
**Post date:** [October 12, 2026, 10:57pm UTC](https://forums.creativeclouddeveloper.com/t/feature-request-please-add-keyfrmae-class-object/12290/4 "2026-10-12T22:57:04Z")

</div>

Thanks for raising the feature request, @MikeSevigny and @dongxi !

We will consider this request for our roadmap and will get back to you if we are able to prioritize it. 🙌

---

<div class="post-metadata">

**Author:** ![dongxi](https://avatars.discourse-cdn.com/v4/letter/d/cdc98d/32.png) [@dongxi](https://forums.creativeclouddeveloper.com/u/dongxi)\
**Post date:** [October 13, 2026, 1:31am UTC](https://forums.creativeclouddeveloper.com/t/feature-request-please-add-keyfrmae-class-object/12290/5 "2026-10-13T01:31:46Z")

</div>

Thanks！Very glad to hear that!
