What you need
npm install -g @anthropic-ai/claude-codeuv installs everything on the fly, so there's no setup beyond FFmpeg.The workflow
The big lesson: don't ask code to draw a person, and don't ask a video model to move him. Let an image model draw the frames, and let code do everything that moves.
Design the character
One sheet with turnarounds and emotions. Every later drawing uses it as a reference, so he looks the same in every shot.
Draw the world
Make the main room first and approve it. Then every scene is generated with two references, the character sheet and the room, so nothing drifts.
Also ask for one or two prop sheets on plain paper: a storm cloud, a box, a paper bird, a phone, sticky notes. Claude cuts them out with code so they can fly around the scenes.


The room every scene references, and one of the prop sheets.
Record the voice first
Every cut, caption and effect lands on a word, so the voice comes before any animation. I used the voice "Katherine – Calm Luxury Narrator" on Eleven v4, with direction tags in brackets:
Then have Claude get the timing of every word and check the take against the script:
Build the film in code
This is where the stills become a film. A virtual camera moves over each drawing, and everything alive is code.
Animate the character
Like classic 2D animation: the image model redraws only the part that moves (the mug lifted, the hand pulled back), using the original plate as the reference. Code then lines each drawing up exactly with the plate, keeps only the changed area, and swaps the drawings on the beat.
Score, render, record
For the reel: play the film full-screen on your laptop in a dark room and film the screen with your phone.
What it cost
Real numbers from this film.
| Character sheet + 24 scene plates + 2 retakes (2K images) | ≈ $3.80 |
| 26 pose drawings for the animation | ≈ $3.50 |
| Narration, 2 takes (ElevenLabs Eleven v4) | ≈ 2,100 credits |
| Camera, effects, handwriting, music, sound, render | $0 · code |
The script
Exactly as narrated, plus the 21-shot list the film was built from.
- Extreme close-up of his eye, a cursor blinking in the reflection · he blinks
- Wide: the studio at sunrise, dust in the light · he types
- The task appears on the desk as a glowing box
- Close-up: a sip of coffee, a small nod
- Whip-pan montage: watering the plant, wiping a clean desk, moving sticky notes, scrolling
- A storm cloud forms over his head · his hand creeps toward the laptop and flinches on the lightning
- "Boredom. Doubt. The fear…" written inside the storm
- He looks away · the cloud lifts, warm light floods back, a long exhale
- The phone glows like a reward
- The loop drawn by hand: task → storm → look away → relief
- Time-lapse: noon, afternoon, dusk · the cloud grows in the corner
- Night: his reflection in the window is an older, tired him
- The room floods, rain indoors · he rocks, head in his hands
- The clock frozen at 9:00, raindrops stopped mid-air · "It's a feeling problem."
- "AFRAID" written on a sticky note
- He crumples yesterday's list · a paper bird flies out of the window
- The glowing box shrinks to a tiny cube: "open the doc"
- A note on the laptop: "Tomorrow · 9:00 · this desk"
- The first keystroke sends a ring of warm light
- Golden hour, the plant in bloom · he types and smiles
- Torn paper and an orange sticky note: Comment "FILM"
If something looks off
| The character looks different in every shot | Generate every scene with the character sheet AND the room as reference images, and approve those two before anything else. |
| Animated poses flicker or the room shimmers | Only paste back the part that moved. Align each drawing to the plate and keep everything outside the moving box from the original. |
| Ghost hands or a doubled sleeve | The redrawn arm doesn't line up with the original shoulder. Shrink the box to the hands, drop that drawing, or move the original fingers in code instead. |
| Two captions overlap for a moment | Make each caption finish fading out (~0.3 s) before the next one starts writing. |
| Bright orange looks salmon | Lower the exposure of that shot. Bright warm colours wash out first. |
This is what I do. Check out my work.
I make content, websites and AI tools for brands, with the same kind of AI tools you just saw.
See my portfolio →







