opus 5.5 video guide: Animate Five Swiss Design Rules into a Concert Poster
Study LemoLab’s Swiss poster animation through five design rules, aligned typography, whitespace, and a shared visual and musical score.
Start here: open EveryGen AI Opus for grid-led poster animation.
Watch Five Rules for a Poster, the original typographic film. The supplied 44.000-second case builds a concert poster from black-and-white typography and a red circular accent. The LemoLab collection’s authorship note attributes the code-made films to Claude Opus 5.5. We have not independently verified its model sessions or run this reproduction; the entry page does not establish local-terminal access.

Original poster-film frame. Credit: LemoLab.
1. Follow the rules as the source states them
Read the Swiss grid-and-motion specification. The design uses a grid, one principal typeface, whitespace, scale contrast, and one signal color. Precision matters: movements land without springy overshoot, and the exceptional red element gains meaning because everything else follows the system.
The spoken rules are: build a grid, use one typeface, leave space, align everything, and break one rule. Hierarchy emerges from the composition; do not replace “leave space” with a different spoken rule. In the source, score.json drives both poster bars and music, making the poster-as-score reveal an actual implementation relationship.
2. Prepare the source, fonts, and instruments
Use Git, Node 20+, FFmpeg/ffprobe, and Python 3.11–3.13 or uv. Keep a separate working copy and preserve the downloaded author film. These commands have not been executed here.
git clone https://github.com/lemomo-ai/lemo-opuscar.git poster-study
cd poster-study
export LEMO_OPUSCAR_HOME="$PWD"
sh plugin/skills/lemo-opuscar/scripts/setup.sh deps voice
sh tools/fetch.sh instruments freepats
sh tools/fetch.sh instruments vcsl
D=styles/swiss-motion/demo
mkdir -p evidence
git rev-parse HEAD > evidence/commit.txt
Check Archivo and the credited demonstration fonts, narration assets, and instrument banks. Read score.json, film.js, ease.js, main.js, and tools/words.py; keep lockfiles and resolved package versions. Font substitution can break alignment.
3. Paste the reproduction instructions
New prompt for this guide—not the author’s original conversation:
Reproduce Five Rules for a Poster from the existing swiss-motion source and
supplied author MP4. Inspect the actual commit, lockfiles, STYLE.md, DEMO.md,
CREDITS, core APIs, build.sh, score.json and voice lines. Resolve missing inputs;
otherwise execute the documented sequence without adding approval checkpoints.
Keep the five source rules: grid, one typeface, leave space, alignment, then
break only one rule. Preserve the black/white layout, red-circle exception,
concert-poster result, and attribution. No invented venue, historical-poster
copy, product claims, new stock imagery, or external media-generation calls.
Use the source's 44 seconds, 1920x1080, 24 fps. Preserve score.json as the shared
picture/music source. Keep precise easing, optical left alignment, clipped text
reveals, whitespace and reading holds. Load every required font weight before
measuring. During the score reveal, rotate first, stop, then introduce labels.
Compute state from absolute render(t), with stable random seeds where needed.
Test arbitrary/reverse seeks, bar onsets, label bounds, and the final poster.
Use build.sh, review regenerated speech and word alignment, and preserve intended
silence. Record actual model/provider/effort/session details, prompts, edits,
dependency versions, checks and complete output. No publishing or false success.

Original-film frame; inspect hierarchy and spacing alongside the spoken rule.
4. Build, then review the exception
sh "$D/build.sh"
node core/render/still.mjs "$D" 4.5 12.5 22.5 33.4 43.5 \
--out evidence/poster-review
The script generates narration, checks words, builds music/events/mix, asserts subtitle holds, renders at 24 fps with three workers, and muxes without added grain. Listen to speech rather than assuming an ASR pass proves timing.
If bars show hairline seams, inspect their shared edges. If labels become unreadable during rotation, separate movement from reading. If another poster leaks into a shot, constrain its visibility to the appropriate scene. Use this correction prompt:
Fix only the observed seam, alignment, or timing defect. Preserve the rules,
shared score and red exception. Correct font measurements or draw bounds;
do not add bounce or decorative effects. Show the diff and fresh adjacent
frames, then replay the reveal with its actual music and narration.
5. Verify the final poster film
OUT=styles/swiss-motion/swiss-motion.mp4
ffprobe -v error -count_frames -show_streams -show_format -of json "$OUT"
ffmpeg -v error -i "$OUT" -f null -
At 44 seconds and 24 fps, expect 1,056 frames. Verify dimensions, complete audio, readable captions, score synchronization, and final layout. Watch the entire export; a technically valid MP4 can still contain misaligned typography.

Author-release frame. Preserve its original source credit.
Archive source, lockfiles, prompts, session records, edits, checks and MP4. Lemo code is MIT; the poster case’s font and music licenses separately cover OFL typefaces, CC0 instruments, and CC BY 4.0 drums. Retain those notices and attribute the reproduced film.
EveryGen AI