Skip to main content
Glama

setKeyframeVelocity

Adjust keyframe velocity curves in After Effects to set incoming/outgoing speed and influence, controlling animation easing and timing.

Instructions

Adjust the speed and influence velocity curves (Graph Editor curve) of a keyframe on a property

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
timeNoTimestamp in seconds to target nearest keyframe
presetNoPre-configured velocity curve preset ("dynamicSnap" = 75% influence modern snappy curve)
inSpeedNoIncoming speed (value change/second, default: 0)
compNameNoComposition name
keyIndexNoKeyframe index (1-based, defaults to 1 or matched by time)
outSpeedNoOutgoing speed (value change/second, default: 0)
layerNameNoLayer name
layerIndexNoLayer index (1-based)
inInfluenceNoIncoming influence percentage (0.1 to 100%, default: 33.33)
outInfluenceNoOutgoing influence percentage (0.1 to 100%, default: 33.33)
propertyNameYesProperty name to adjust (e.g. "Position", "Scale", "Opacity", "Rotation", or effect property)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it only restates the operation. It omits whether the target keyframe must pre-exist, what happens when time matches no keyframe, whether preset and the individual in/out values interact or override each other, and whether the change is undoable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. The parenthetical is mildly redundant but does help disambiguate 'velocity curves' for newcomers, so it still earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter mutation tool with no annotations and no output schema, the description is thin: it does not explain the preset-vs-manual-value interaction, the keyframe-targeting priority (time vs keyIndex), or error behavior. Schema documentation covers the field-level detail, keeping this adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with units and defaults spelled out for every parameter (e.g. inInfluence 0.1-100%, default 33.33; keyIndex 1-based). The description adds nothing beyond that, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Adjust) and resource (speed and influence velocity curves of a keyframe on a property), and parenthetically clarifies the Graph Editor concept. It is clearly a velocity/bezier-editing tool rather than a value-setting one, though it never names siblings like setLayerKeyframe to sharpen the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not-to-use, or alternative guidance is given. With siblings such as setLayerKeyframe, setEffectPropertyKeyframe, and setEffectProperties in the same namespace, an agent gets no help deciding which tool applies, nor any stated precondition that a keyframe must already exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.