Changelog
New

Animate any value with keyframes

Position, scale, rotation, opacity, volume, a shape's colour and any numeric effect parameter take a list of keyframes, with 33 easings.

API SDK

A Ken Burns push-in used to be a start value and an end value, and that was all a compose timeline could animate. Anything else meant cutting the clip into pieces.

Any numeric field now takes a list instead of a value.

"transform": {
"scale": [
{ "time": "0%", "value": 1, "easing": "easeInOutSine" },
{ "time": "100%", "value": 1.12 }
]
}
  • time is seconds from the clip’s start, or a percent of its length, so "100%" is the last frame whether or not you know how long the clip is.
  • easing shapes the move from that keyframe into the next one. There are 33: step, linear, smooth, and the easeIn, easeOut and easeInOut families over Sine, Quad, Cubic, Quart, Quint, Expo, Circ, Back, Elastic and Bounce.
  • The same shape works on position, scale, rotate, opacity, volume, a shape’s color and radius, a box’s size, and every numeric effect parameter.

Ducking music under a voice is keyframes on volume. A focus pull is keyframes on a blur’s radius. Both are one clip.

Full reference in the compose docs.

The same release put every effect in one ordered list, and their parameters take these keyframes too.

Share