Command · Move Keyframes
keyframes.move
Moves several keyframes of one parameter together by a timeline distance, keeping their spacing.
- v1
- Capability EditSequence
- Tool
keyframes_move
Request
{
"command": "keyframes.move",
"params": {
"clip": 42,
"delta": "00:00:00:12",
"keys": [
1,
2
],
"param": "motion.scale"
}
}Parameters
clipinteger | object (1..)Required- The clip. A clip id, or {"track", "time"} for the clip there.
deltainteger | stringRequired- How far they move; positive = later. Signed timecode ("-00:00:00:05") or ticks.
effectinteger (1..)- For an effect parameter: The effect instance id (clip.details lists them).
keys(integer (0..))[]- The keys to move. Default: all of them.
paramstringRequired- The parameter: a clip parameter (motion.position.x, motion.position.y, motion.scale, motion.rotation, motion.anchor.x, motion.anchor.y, opacity.opacity, volume.level, panner.balance), or with "effect" a parameter key of that effect (see effect.list).
sequenceinteger (1..)- Sequence id; only needed when the project has several.
Discussion
Moves several keyframes of one parameter together by a timeline distance, keeping their spacing. The distance is clamped so the keys stay within the clip (keys already outside it do not move further out); a moved key landing on another key replaces it. Returns the moved keys' new indices.
Run it with wabcut-cli cmd <project> --json, from an MCP client as keyframes_move, or from an extension. See Edit commands for requests, references and results.
See also
keyframes.*
- keyframes.setInterpolation
Set Keyframe Interpolation. Sets the interpolation (hold, linear, bezier, easeIn, easeOut, easeInOut) of several keyframes of one parameter at once.