Module 4

Motion

Module 4. Your approved frames become shots. Same file, same shot ids, one queue, and the expensive part runs while you sleep instead of while you watch.

4 · Claude Code for Filmmakers1 / 14

The only shots that move are the ones you approved

images/approved/ and status: approved in shots.json. That is the whole input.

Nothing gets animated on a maybe. Video is the most expensive generation you will run, in credits, in minutes, and in the attention it costs to review.

If you skipped Module 3 and you are animating straight from text, this is where that bill arrives.

4 · Claude Code for Filmmakers2 / 14

What actually changes at this step

You stop describing a scene and start describing a movement.

The frame is already decided. The only new information is what moves, and how the camera behaves while it does.

4 · Claude Code for Filmmakers3 / 14

Camera language it can hold

Your prompts get a second field. Keep it short and physical:

VagueSurvives the round trip
"cinematic"slow push in, 20mm, handheld micro-drift
"dynamic"whip pan left to right, motion blur
"emotional"static, subject turns toward camera, everything else still

Physical beats poetic. A model can execute "slow push in". It cannot execute "cinematic". It can only guess what you meant, differently each time.

"Add a motion field to every approved shot in shots.json. Write it from that shot's camera field in physical terms: what moves, which direction, how fast. Flag any shot where the camera note is too vague to execute."
4 · Claude Code for Filmmakers4 / 14

The queue

4 · Claude Code for Filmmakers5 / 14

The job that should never have your attention

A video generation takes minutes. Twelve of them takes an evening, an evening most people in this market spend watching a progress bar and pasting the next prompt.

"Build a queue from every approved shot: submit, poll until done, download to video/<shot_id>/v<n>.mp4, log prompt, model, seed and duration to video/log.jsonl, then take the next one. Keep going until the queue is empty."

Start it and leave. This is the "works at 3am" line from Module 1, cashed in. It is also the first thing in this course that is genuinely unattended.

4 · Claude Code for Filmmakers6 / 14

Build it to survive the night

A queue that dies at shot 4 and reports success is worse than no queue. Ask for the boring parts explicitly:

  • Retry on failure, a fixed number of times, then move on and note it
  • Never resubmit a shot that already has a file: a re-run costs nothing and re-renders nothing
  • Write to the log as it goes, not at the end, so a crash still leaves a record
  • Finish with a report: what succeeded, what failed, what was skipped and why

Then kill it halfway and run it again. If it picks up where it stopped, it is real. If it starts from shot 1, you found out now instead of at 3am.

4 · Claude Code for Filmmakers7 / 14

Know what the night costs before you start it

Unattended and unbounded are different things. The queue spends real money while you are asleep, so it gets told the number:

"Before you submit anything, price the queue: how many shots, how many seconds, what that costs at my rate. Show me the total and wait. Then stop at that ceiling and report, even if the queue is not empty."

A ceiling and a dry run, every time. The expensive mistake is not a bad generation. It is forty of them, made correctly, from a prompt you would have fixed in one line at shot two.

4 · Claude Code for Filmmakers8 / 14

What "verify" means at this step

The limit from Module 1 has not moved. It cannot watch the video.

It can tell you the file exists, its duration, its resolution, its codec, whether every approved shot produced one. It cannot tell you the hands are wrong or the face swims.

"Check every approved shot has a video. Report anything missing, zero-length, under-duration, or the wrong resolution. Then build me a contact sheet: first frame, middle frame, last frame, per shot."

It checks what is checkable, then hands you the looking.

4 · Claude Code for Filmmakers9 / 14

The re-run is the point

Shot 7 came back wrong. You do not start over. You change one row.

"Shot 7's motion is too fast. Change motion on that row to a slow push, regenerate that shot only, keep the old take as v1 and file the new one as v2."

One row, one regeneration, both takes kept.

This is the compounding difference between a pipeline and a session. A client note on Thursday costs you one row, not a lost afternoon reconstructing what you did on Monday.

4 · Claude Code for Filmmakers10 / 14

Do it now

4 · Claude Code for Filmmakers11 / 14

The exercise

Your approved frames from Module 3. Start it before dinner.

  1. *"Add a motion field to every approved shot, physical terms, from the camera field. Flag

the vague ones."*

  1. Fix the flags. This is the creative work and it is about six minutes.
  2. *"Build the queue: submit, poll, download to video/<shot_id>/, log everything, retry twice,

skip anything already downloaded."*

  1. "Run it on shots 1 and 2 only, so I can watch it work once."
  2. Watch it. Then: "Now run the rest." Leave.
  3. Later: "Report: what succeeded, what failed, what is missing."
  4. "Contact sheet, first / middle / last frame per shot."

Step 4 is not optional. Watch a queue do two shots before you trust it with twenty.

4 · Claude Code for Filmmakers12 / 14

What you should have now

  • shots.json carrying motion notes alongside the prompts: one file, the whole shot
  • video/<shot_id>/: every take, versioned, never overwritten
  • video/log.jsonl: prompt, model, seed and duration for every second of footage you own
  • A queue you can re-run any time, that skips what is done
  • A report telling you exactly what is missing

You have footage, and you were not in the room when most of it arrived.

4 · Claude Code for Filmmakers13 / 14

Next: Module 5

Consistency. Holding the face, the coat and the light across every shot, and what to do with the ones that drifted, without regenerating the whole film.

Verified against Claude Code 2.1.220 · 2026-07-30.

4 · Claude Code for Filmmakers14 / 14
Keys space next  ·  back
Or click the arrows, the sides of the frame, or the bar along the bottom
Home / End first / last
S presenter notes
A scroll-all view, then ⌘P to make a PDF
F fullscreen  ·  ? this help
NextConsistencyContinue ›