> For the complete documentation index, see [llms.txt](https://help.intangible.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.intangible.ai/overview/how-to/animate-an-object.md).

# Animate an object

You authored the placement in Build mode. Now you need the object to move. Animation in Intangible is keyframe-based; all keyframes live on the scene timeline. Set the start, scrub forward, set the next state, pick how the motion gets between them. Two minutes of work for a clean move.

This page covers the mechanic on an object. Cameras animate the same way; see [Animation](/compose/animation.md) for camera-specific notes.

{% hint style="info" %}
**On multi-object shots, animate the action before the camera.** Key the subject's motion across the shot first, then frame and animate the camera around it. Working the other way leads to camera moves that don't line up with a path the subject hasn't taken yet.
{% endhint %}

## Set the shot active first

Animation only records inside a shot. Switch to Compose mode and click a shot thumbnail in the storyboard. The active shot's timeline appears at the bottom of the viewport. If you skip this step and start moving objects, the move applies globally to the scene's Build-state instead of recording as a keyframe. The trap is documented in [Animation and shot time](/overview/concepts/animation-and-shot-time.md); avoid it by always checking the storyboard before you touch an object.

## Drop the first keyframe

Park the playhead at frame 0 and place the object where it should start. Then scrub forward to where the next keyframe should land and edit the object: drag, rotate, scale. A keyframe drops on the active track at the playhead's position.

![Selecting an object at the end of the shot timeline and dropping the first keyframe](/files/dnDvt3UT57GvTg5DbSWj)

The shot's default duration is around two seconds. Extend it from the Scene Timeline by dragging the right edge of the shot's track bar.

## Choose the interpolation

Each keyframe carries an interpolation choice that controls how the value travels to the next keyframe. Five options:

* **Easing.** The default. Motion accelerates out of the keyframe and decelerates into the next. Use it for most cinematic camera moves and organic subject motion.
* **Smooth.** Similar arc to Easing but with a different curve shape. Two adjacent Smooth keyframes produce real curvature – the object's path bends into the move and out of it.
* **Linear.** Constant speed between this keyframe and the next. Use it for mechanical motion or any move that should read as deliberate and uninflected.
* **Ease In / Ease Out.** One-sided versions of Easing – the motion eases only at entry or only at exit, not both.
* **Step.** Snap to the next keyframe with no in-between. The value holds, then jumps. Use it for hard state changes, stop-motion looks, or moments where the motion should be discrete rather than continuous.

![Three keyframes set to linear, smooth, and step, played back side by side to show the difference in motion](/files/4Uemn7RnLTwSNnfRINOB)

Interpolation is per keyframe, not per track. A single track can mix modes: Easing out of frame 0, Linear into frame 60, Step at frame 90. Each segment of the timeline bar reflects its choice visually, so the curve shape is readable at a glance.

Keyframes inserted mid-segment always default to Easing. Mixing modes creates small velocity bumps at the transition point; keep that in mind when blending Easing and Linear segments.

The arc you get from two smooth keyframes is real curvature, not just easing. If both keyframes on a position track are set to smooth, the object's path bends into the move and out of it. Two linear keyframes give you a straight line at constant speed.

![Two keyframes set to smooth, producing arcing motion as the object moves between them](/files/6xuc9jobtNW7tMb86m2t)

## Refine the motion

Once the start and end are keyed, three operations sharpen the move.

{% hint style="info" %}
**On shots with multiple animated objects, set every key to Linear first.** Linear keeps every track moving at a constant rate, so the subject stays in frame as you scrub and time-align across objects. Once the timing reads right end to end, switch individual keys back to Smooth or Step where you want curvature or a hold. Mixing interpolation modes too early causes the camera and subject to drift apart mid-shot.
{% endhint %}

**Insert a keyframe mid-segment.** Scrub the playhead to a frame between two existing keyframes and edit the object. A new keyframe lands at the playhead, splitting the segment in two. Each half gets its own interpolation choice. This is how you correct an in-between value without re-keying either end.

![Inserting a third keyframe in the middle of an existing segment, with the new break inheriting a fresh interpolation choice](/files/2LpgUSyvwAQ1fw6yWWsc)

**Retime a beat.** Grab a keyframe and drag it along its track. The surrounding interpolation segments stretch or compress to match. Use this to slow a beat down or speed past one without redoing the keyframes themselves.

![Dragging a keyframe along the timeline to shift when its value lands](/files/Q7JBOdY83m8gVO8Dk1fX)

**Delete a keyframe.** Select it and delete it. The motion reverts to whatever the surrounding keyframes describe. If you deleted the only keyframe between frame 0 and the end of the shot, the object holds its frame-0 state for the rest of the shot.

![Selecting a keyframe and deleting it, with the object reverting to its prior path](/files/NGWPI7rCJGSbZyOJtevL)

## Common mistakes

{% hint style="warning" %}
**Authoring motion in Build mode and expecting it to animate.** Build-mode transforms commit to the scene's permanent state. Only Compose-mode transforms with a shot active become keyframes. If your render came back static, this is almost always why.
{% endhint %}

* **No keyframe at frame 0.** A single keyframe at frame 30 with nothing at frame 0 means the starting state is whatever the scene happened to be in when you last touched the object, not "at the start of this shot". Always key the start.
* **Choosing linear when you meant easing.** Linear at constant speed often reads as robotic on character motion or camera moves. The default Easing exists because most cinematic motion wants it.

## What's next

The keyframes you just set are the input to a video model. Two ways to go from here:

* [**Generate video**](/visualize/generate-video.md) – pick a video model and generate. Most models read your animation and follow it within their own interpretation.
* [**Video (From Animation)**](/visualize/video-from-animation.md) – a dedicated visualizer mode that uses your keyframes as the explicit motion source. Tighter fidelity to what you authored. Includes [Direct Render](/visualize/direct-render.md) for a non-AI wireframe capture.

## Related

* [Animation](/compose/animation.md) – reference for the animation system, including camera-aim and pose animation.
* [Animation and shot time](/overview/concepts/animation-and-shot-time.md) – how the scene timeline works and why Build-mode moves don't animate.
* [Shots](/compose/shots.md) – creating, duplicating, and ordering shots.
* [Timeline](/compose/timeline.md) – the Sequence view for arranging shots into an edit.
* [Video (From Animation)](/visualize/video-from-animation.md) – where your keyframes go to become video.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.intangible.ai/overview/how-to/animate-an-object.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
