meta.sui · Behind the reel · OPUS

No camera. No editing app.
Here's how I made it.

Claude Code, an AI agent, animated, scored and rendered that 72-second reel from my script and notes. The prompt comes first, ready to copy. Then the pipeline, live demos, and what went wrong.

Get the prompt ↓
72 seconds4,323 frames rendered117 sound cues0 stock music
01 · The prompt

First, the prompt

Paste it into Claude Code, swap the red part for your own script, and answer its questions. It's the brief I'd give it now, after one full run. The prerequisites are right below; without them this won't work.

PROMPT · CLAUDE CODE
Make a 9:16 explainer reel (1080×1920), about 60 seconds, from the script below.

Visuals: build them in code. One HTML page with a render(t) function that draws the exact frame at time t. Capture it frame by frame with Playwright at 60 fps, blend each pair of frames for motion blur, encode at 30 fps with ffmpeg.

Voice: generate it with ElevenLabs using the with-timestamps endpoint, so every word has a start and end time. Drive the captions and every animation cue from those timestamps.

Look: dark background, one warning red. When a screen has only a few words, set them huge and bold. Spring-based motion, nothing linear. A thin red progress bar along the top.

Rhythm: a steady beat (120 BPM). The background pulses on each kick. Drop the music for one beat before each big reveal.

Sound: synthesize the music and sound effects in code, no stock files. Put each effect on the same frame as its visual event. Duck the music under the voice.

Captions: on by default. Hide them only when a full-screen headline, or a card sitting where the captions are, already says the same words.

Before you render the whole thing, show me a contact sheet of the key scenes so I can judge them.

Script:
[paste your script here]

It works because of three things

  1. Claude Code on your own computer. It has to run Node, Python, Playwright and ffmpeg itself. A chat window can only describe the video; it can't render it.
  2. A voice account. I used ElevenLabs. Read its terms: the free plan doesn't allow commercial use and needs a credit in the title.
  3. A script you've already approved, with a source for every claim. The AI builds what you hand it. If the facts aren't checked first, it will animate the mistakes beautifully.

Without the first one you'll get a storyboard, not a video.

02 · The pipeline

Five pieces, one timeline

Everything reads the same word timestamps, so picture, captions and sound can't drift apart.

1

Script → voice

ElevenLabs reads the script and returns the audio plus the start and end time of every word (243 words).

2

Timestamps → animation

An HTML page with render(t). Give it a time, it draws that exact frame. Scenes, captions and camera hits are all keyed to words.

3

Frames → video

Playwright opens the page and screenshots it 4,323 times at 60 fps. ffmpeg blends pairs into 30 fps, which is where the motion blur comes from.

4

Cue list → music and effects

The page exports 117 sound cues. A Python script synthesizes a 120 BPM score and every whoosh and hit on those exact times.

5

Mix → master

The music ducks under the voice, the effects go on top, and loudness is set for Instagram.

03 · Play with it

Three things that made it feel alive

These are live, not recordings.

LINEARSPRING

Springs, not timers

The red dot moves on a spring: it overshoots a little and settles, like a real object. Every pop in the reel works this way.

Captions that land on the word

Each word appears when it's spoken; the key words turn red. That only works because the voice came with timestamps.

120

A beat you can see

120 BPM. The background flashes on each kick, so the picture keeps time even with the sound off. This one makes sound.

04 · My 8 notes

What I actually told it

The AI did the work; these notes did the deciding. Translated from Chinese, in the order I said them.

Why did the hook get so weak? I feel it should be punchy.

A question with a soft answer became three beats: grab, break the belief, promise.

The script can't use ellipses. The whole emotion goes wrong, there's no rhythm, it drags and it's flat, and the phrasing is strange.

Pauses moved from punctuation into the script itself.

Faster. Make his speed come from talking fast and feeling urgent. Not from you speeding it up.

The voice model reads faster itself now. No editing of the audio.

Music and sound effects, and smooth motion design.

Springs, motion blur, and a cue for every hit.

Don't hold back. Go all out. This animation has to be the viral kind: eye-catching, the kind people don't want to scroll past.
It needs rhythm.

A steady 120 BPM, with silence before each reveal.

You should show me every key scene first, laid out on one contact sheet, so I can judge.

Judging 18 stills takes a minute. Re-rendering takes much longer.

Where there are only a few words, you can go with bolder type. … When a title card and the caption say the same words, take the caption away, or it repeats.

Big type replaces the caption only when it already says the same thing.

05 · What went wrong

Honestly: not right the first time

  • The voice sounded choppy. To speed it up, the AI cut the pauses out of the audio and sped it up, and clipped the end of every word. Fixed by having the voice read faster itself.
  • “REAL” slammed in 7 seconds early. The animation looked for the second time the word “real” was spoken and found the wrong one. Every word count was rechecked.
  • The AI can't hear. It measured pauses, speed and loudness from the timestamps, but whether it sounded right was my call each time.
  • Captions said the same thing twice. Big headline on screen, same words underneath. Now one gives way to the other.

The tools did the work. Deciding whether it was good was still on me.

06 · FAQ

You might be wondering

Can I do this in ChatGPT or a normal chat window?

You'll get a plan and a storyboard. To get a video, the AI has to run the rendering tools on a computer, which is what Claude Code does.

Do I need to know how to code?

I didn't write any of the code. But you do need to read results and give specific notes, like the eight in chapter 04.

How long did it take?

One long working session, most of it going back and forth on the script and the voice. A full render takes about six minutes.

What about the music license?

There's no license to worry about: the music and effects were generated by code for this video.

Finally

If you'd rather learn to work this way yourself, directing an AI agent instead of collecting prompts, I'm putting together a Claude workshop.

One day you won't need an AI workshop.

Including mine. The workshop is about getting you there: directing an agent yourself, and trusting your own judgment on what it makes.

Send WAITLIST and I'll tell you when it opens.

— Sui

S
Claude workshop · waitlist
Send “WAITLIST” to @asksui.ai on Instagram
Message on Instagram →
Wasksui.ai communityWhatsApp group · free tools · stuck? ask hereCome in →
created by@metasui
Shared via miinideck