---
title: "Ask for smooth motion and transitions"
sidebarTitle: "Motion and transitions"
description: "The words that change how a HyperFrames video moves: fix motion you don't like, ask for camera, overlap, depth and pace, and pick transitions between scenes."
---
import { DocsVideo } from "/snippets/docs-video.jsx";
Your agent already follows HyperFrames' motion rules: elements land and hold still, moves overlap, cuts happen mid-motion.
Use this page when you want to steer it: what to say when the motion feels wrong, and the ideas worth asking for by name.
## Fix motion you don't like
Watch the video once, then tell your agent what you see in plain words. These phrasings work:
| What you see | Say | What the agent changes |
| --- | --- | --- |
| Everything moves too fast | "Too fast. Slow the zooms and pans." | Slows every camera move to about 0.7× and leaves the rest alone |
| It drags | "Speed this up." | Shortens each beat along with its content, and moves later beats earlier |
| Titles keep floating or growing after they appear | "Land the titles, then hold them still." | Titles arrive, stop dead, and leave with the scene |
| It feels like slides | "It feels like slides. Carry one thing across each cut." | Enters the next scene through something on screen and cuts mid-move |
| Everything appears at once | "Bring things in one after another, on the voice." | Staggers entrances so each starts before the last has settled |
| It looks bouncy or cheap | "No bounce on text or UI." | Uses long, smooth slow-downs; keeps overshoot for physical objects |
| There's a jump at a cut | "There's a jump at 4.2 s." | Matches positions and speeds on both sides of that cut |
| A scene sits there with nothing happening | "Scene 3 is dead. Give it something to do." | Adds real action: the UI working, footage, the camera travelling to the next thing |
Give a timestamp when you can ("at 4.2 s"). Ask for one change at a time and watch again.
## Ideas worth asking for
Each idea below has a side-by-side film: the same scene built twice, where the only difference is one line of the prompt.
Left is without, right is with.
### Move only what is live
Once something lands, it holds still. What keeps moving is what is actually changing: a live number, a feed, a progress bar.
Don't ask for "subtle breathing" to make a scene feel alive; it reads as generated.
> The panel lands by 1.9 s. After that, only what the feed changes moves: a reading arrives every 300 ms, the last digits change, the sparkline extends one segment, `LAST SYNC` restamps. Nothing else moves.
*Left: the whole panel freezes at 2 s, so it looks like a dead connection. Right: only the readings move, and the rest is still.*
### Move the camera to get somewhere
A camera move earns its place by travelling between things, so the viewer sees they live in one space.
A slow creeping push-in for its own sake does not.
> Lay the five pipeline stages out 640 px apart, wider than the frame, and move the camera across the whole run. A packet runs the wire and lights each stage as it arrives.
*Left: five stages cross-fade in one spot. Right: you travel to each one, and the neighbours stay in view.*
### Overlap, don't queue
The next element starts while the last is still settling. Stagger things that happen in sequence. Things that already existed show up together.
> The rollout spreads outward from `us-east-1`, reaching each region 0.09 s apart in order of distance. Each region's 0.5 s ignite is still running when the next three begin.
*Left: twelve regions light on one frame, so you can't tell where it started. Right: it visibly spreads.*
### One idea per move
Combine properties only when they say the same thing. Rising and fading in says "arriving". Adding a spin and a zoom makes text unreadable mid-flight.
> The confirmation sheet rises 470 px over 1.2 s while fading in. Rotation, scale and blur are never touched.
*Same travel and timing. Left: "Payment confirmed" is a tilted smear. Right: readable the whole way up.*
### Weight for physical objects only
Overshoot says "this has mass". Use it on things that have weight, like flaps, cards and characters. Never use it on text, UI or numbers: a counter that flies past 42 and falls back shows a number that was never true.
> The split-flap plates swing past their rest position and settle; the housing recoils when they land. The gate number never overshoots 42.
### Depth: near things move faster
Far layers move slower than the camera and near ones faster. One blurred foreground object passing in front of the content is the strongest depth cue. A second one is clutter.
> The horizon row moves at a fifth of the room's rate, the racks at full rate, and one near column sweeps past at six times, blurred, crossing in front of the headline.
### Pace to the format
A showreel gives each idea 1–4 seconds; a product demo holds one framing for 7–10 seconds while the UI works. Stretching a 2-second idea to 8 seconds feels slow however well it moves.
> Showreel pace: 1.1 s per beat, cutting hard, all three beats delivered by 3.3 s.
## Handmade, still deterministic
For a stop-motion or hand-animated feel, ask for movement that steps between held positions, with the irregularity coming from a seed.
Every render must give the same frame at the same time, so unseeded randomness is not allowed.
> Paper-cutout shapes on visible wires, like stop-motion. Seed a random offset per element (same seed every render) and hold each position for exactly two frames, quantized on the frame index.
*Rendered from the prompt above, unedited. Two renders came back byte-identical.*
Say "two frames", not "0.067 seconds": a hold measured in seconds drifts into uneven one- and three-frame steps.
## Between scenes: transitions
A good transition is caused by something on screen: the camera zooms through a button into the next screen, a card grows until it becomes the next scene, the background floods a new colour while the subject stays.
Ask for that kind of handoff and the agent builds it. Use 3–5 kinds in a film, each where it fits, and never a dissolve between two unrelated scenes.
To pin a specific effect, name a block from the catalog and the seam it goes on:
> Six-scene SaaS explainer. Use [`whip-pan`](/catalog/blocks/whip-pan) between related points, and one [`cinematic-zoom`](/catalog/blocks/cinematic-zoom) into the final pricing reveal. About 0.4 s each.
power2.out
power4.out
back.out
elastic.out
expo.out
sine.inOut