Skip to main content
Inspiring
August 11, 2025
Answered

Add Keyframes to Adjustment Layers using Api

  • August 11, 2025
  • 2 replies
  • 496 views

Hi folks

 

Is the above possible? I get that adjustment layers are basically stills and don't have the same properties as clips, but I can't seem to add Keyframes to properties programmatically.

Seems to be an issue with finding the timecode or frame to add the keyframes to. It seems to adjust the value of the first frame over and over but not add a Keyframe.

 

Works fine on clips.

Thanks

 

 

 

Correct answer Bruce Bullis

I've sent you a snippet. When run on two clips in a timeline, it will read, manually added, keyframes from both clips, but the same code will only add keyframes to the media and not the AL

Thanks


I can reproduce the behavior. 
We're tracking it as DVAPR-4259779, and will keep you informed of any progress. 


It's unlikely we'll be fixing any ExtendScript issues; our extensibility efforts are focused on UXP extensibility. However, we will confirm whether this behavior is present in UXP, and (should it not be) will attempt to resolve the issue, there.

2 replies

Community Expert
August 11, 2025

you will have to keyframe Transform Effect values for ALs.

When it comes to coding and API related stuff, then better send 

the code to Bruce as requested.

R Neil Haugen
Legend
August 11, 2025

You're right that AL's are clips ... or 'media'.

 

They are simply a 'holder' for effects.

 

So you can keyframe effects in an AL, when on a timeline, but you can't add keyframes to an AL itself.

Everyone's mileage always varies ...
Inspiring
August 11, 2025

Thanks for your reply.

Just to confirm, I've added the AL to the timeline and I want to add keyframes either to one of the built in properties, eg scale, position, or to an effects property eg the transform effect.

 

I can adjust the values using ComponentParam.setValueAtKey(), but ComponentParam.addKey() doesn't work, and setValueAtKey() seems to just affect the first frame. I suspect it's because ComponentParam.setValueAtKey() takes a Time parameter, and the AL doesn't have the same time properties as clips.
Does that make sense, is there anyway around it?

 

Cheers

Bruce Bullis
Community Manager
Community Manager
August 11, 2025

Hi Imkindofabigdeal,

 

Can you send us a snippet of ExtendScript that demonstrates the issue?