Animated short from a blog post
The person picks one written post. You deliver a ~45 s vertical (1080×1920) animated short: narrated, stylized, with captions and a few motion-graphic cards in the publication's brand, plus the same cut without on-screen words.
Defaults unless the person says otherwise: a stylized look (paper-cut works well),
never photoreal; a fictional protagonist, never a real person; the product or
publication named in full in the narration, never as an acronym; words on screen only
from the compositor, never generated into a still or a clip. The job's notes (the
approved script, picks, the fix list) go in job-notes.md beside script.md; rounds
and deliverables follow the core skill.
Steps
- Read the post in full. Note its claim, its own examples, its key advice, and one detail of its world worth a nod (a city, a season, a light).
- Shot list and narration. 9 shots of about 5 s, about 110 words (≈44 s at a conversational pace). A shape that works: the post and its claim; 2–3 shots of the old pain played for gentle comedy; the turn; 2–3 shots built on the post's own examples; its key advice; a closing line that ties the video back to the post. One location, one fictional protagonist. Gate: a numbered list; nothing is made before a yes.
- Narrator and set, on one page. Three library voices auditioned on one passage of
the script (
guide-cast-a-voice,elevenlabs-tts-v4). The set (guide-design-a-set,nano-banana-design-empty-set): its description and palette, then two 9:16 2K takes on nano banana Pro. For paper-cut, replace the photographic style lines with: "every surface is visibly cut and layered paper with soft drop shadows between layers, torn and deckled edges, visible paper fibre and grain, slightly imperfect hand-cut shapes, like a handmade paper diorama … no photographic detail, no 3D render look, no vector-flat look. No lettering, words or logos anywhere." Gate: a voice and a set. - Full narration and character. Voice the whole script in one read
(
guide-voice-a-script, fixed seed) and transcribe it withwhisper-cli; check every word and note each shot's window. Spell names the way they sound, and tell the person where a pronunciation comes from. In parallel, two 2x2 character sheets on nano banana Pro edit with the picked set as the style reference, two different people; reject a sheet whose views disagree (hair up in one view only). Gate: the narration and a character. - Stills. Split the sheet into its views (
python-split-character-sheet). For tight shots, crop the 2K set plate and scale it back up before staging (nano-banana-stage-cast-in-set). One take a shot, all at once. A new location uses the set only as a style reference ("Do not copy the room in Image 1"). Contact-sheet them and zoom into every paper and screen: blank sheets come back with words on them; fix with "remove the word …, change nothing else" (nano-banana-targeted-fix). Gate: the stills. - Animate (
h3-max-image-to-video, prompts perh3-prompt-format): 1080P, each shot's duration its window up to the next shot's start, one seed, all nine at once, on a price. Keep every face "lips closed". Check a start, middle and end contact sheet per clip. - Cut. One ffmpeg pass: each clip scaled and cropped to 1080×1920, trimmed to its
window (
tpadclone if short), the clips' own sound at about 0.22 under the narration, loudness to −16 LUFS (ffmpeg-normalize-loudness), a 0.7 s hold at the end. Gate: the cut. - Word times:
whisper-clione word a segment on the narration (python-read-word-timings), with a small fix list for the transcriber's spellings (names, product names) before anything is built on them. - Brand (
guide-capture-a-brand): the publication's font, accent colour and logo. - Cards and captions (
guide-add-titles-and-motion-graphics): one compositor spec over the cut, its own audio as the spec's audio, built by a script from the word times.- Cards: 5–6 in the top third, over sky or wall, never the action: the
publication's masthead as the opener, then one per beat that has a number or a
named thing (a wait in weeks, the tools the post replaces struck through with a
drawn path, the result's time, the key advice as a small object), and a closing
card. Make them belong to the film; the paper-cut card style is in
references/paper-cut-cards.md. - Captions, calm: no pill and no bounce. Phrases of up to 6 words or 30
characters (a 0.45 s pause ends one), built word by word with
line_htmlfromhn4a-compositor-in-scene-titles, one layer a word so the words line up. Each word rises in 0.22 s from 0.05 s before it is said; the phrase holds until 0.05 s before the next and fades in 0.15 s. Key words in a lightened brand accent. - Stills at every card and a sheet of the caption band. Gate: the spec live on a
review page with the stills as refs. Render only after a yes; a later fix to a few
seconds re-renders with
--frames A:B --into.
- Cards: 5–6 in the top third, over sky or wall, never the action: the
publication's masthead as the opener, then one per beat that has a number or a
named thing (a wait in weeks, the tools the post replaces struck through with a
drawn path, the result's time, the key advice as a small object), and a closing
card. Make them belong to the film; the paper-cut card style is in
- Deliver per the core skill, with the cut without on-screen words beside it.
Choices this workflow makes
- One set, one take a still and a clip. Redoing a shot ($0.50–1.25) is cheaper than three takes of everything.
- 1080P for paper-cut. Paper fibre and deckled edges are the look, and they need the detail.
- Captions and cards live in the compositor spec, so they change and re-render in under a minute with no model spend.
- Gated: the script, voice, set, character, narration, stills, cut and the card and caption design; the animation batch goes on a price.
Dead ends
- A karaoke pill on the captions read as "too bouncy". Calm word-by-word phrases replaced it.
- Shorter caption phrases (4 words or 22 characters) left single words alone on screen.
- A name the TTS read wrong until it was respelled in the narration text.
- Blank paper in the stills came back with words written on it. Zoom in on every sheet and screen before animating.
- A logo placed by file path inside a text layer showed in the preview but came out
blank in the render (
hn4a-compositor-motion-graphics). - A pull-out showed the diorama's open black top; that shot was scaled up about 2.5%, cropping from the bottom.
Worked example
A 4-minute newsletter issue from Globex's newsletter, about planning a small garden with an app, became a 45.5 s paper-cut short, 1080×1920 at 24 fps: a one-person potting shed on a hillside, nine shots, a market-stall scene taken from the post's own example. Cards: the masthead, a "2 weeks" wait, a struck-out "Sketchbook / Spreadsheet / Calendar" stack of the tools the post replaces, a "20 min" result, and a seed-packet swatch for the post's key advice. Calm word-by-word captions in the newsletter's own font (Brand Sans) with key words in a lightened lavender accent.
| Step | Route |
|---|---|
| Voice | 3 library voices auditioned on one passage; one name respelled in the text |
| Set | nano banana Pro, 2 takes at 2K, 9:16 |
| Character | two 2x2 sheets on Pro edit, the set as style reference |
| Stills | 9 on Pro edit, one take each; words removed from blank sheets |
| Clips | 9 on H3 Max 1080P, one seed, all at once; one pull-out scaled up 2.5% |
| Captions | word by word, no pill, after a karaoke pill read as "too bouncy" |
Spend: $11.50 (stills $0.17 each, the nine clips about $8.70, voice and sets the rest). The graphics rendered locally in 35 s.


