# motion-use: your coding agent writes the video as code

::video{src=https://img.leeguoo.com/media/429d8360-f719-4507-8462-27c887b12792/motion-use-en.mp4 poster=https://img.leeguoo.com/media/74cd9996-a0d2-463d-afb6-ecd794ffb5e6/motion-use-en-cover.png title="motion-use: your coding agent writes the video as code"}

motion-use lets a coding agent such as Claude Code or Codex make your videos. The agent writes exact-time drawing code, renders it on your machine, then decodes the finished MP4 and checks it.

The one-minute film above was made that way. Every film shown in it was made with motion-use, and the terminal shows real command output.

## The agent edits code, not a timeline

Each frame is a function of time. The 55-second iphone-use example in the film is 26 kilobytes of source, so changing a line of narration or moving a shot is a few lines of code and few tokens.

Each film gets a look of its own: felt 3D, whiteboard, kinetic type, charts.

## It checks its own output

After `motion-use render`, the MP4 is decoded and measured:

- whether enough moves, and whether there are long blank stretches;
- loudness;
- for vertical video, what a platform's buttons cover, so text stays clear of it;
- narration is transcribed and compared line by line with the script;
- text that runs off the frame, and two texts overlapping, are reported with times.

The last three came from mistakes in the iphone-use promo: the voice misread a word, a label ran off the right edge, and two captions overlapped during a crossfade.

## One source, four versions

The same source gives Chinese and English, landscape and vertical. `render --release` adds high-quality masters for each platform plus a manifest with hashes, so you can check you are posting the right cut.

Install:

```sh
curl -fsSL https://raw.githubusercontent.com/leeguooooo/motion-use/main/install.sh | sh
```

Code and examples are on [GitHub: leeguooooo/motion-use](https://github.com/leeguooooo/motion-use). The film's voice is synthetic.
