Skip to main content
Annual billing

EveryGen AI annual plans cost about 50% less than 12 monthly payments

Save
All tutorials
Tutorial

opus 5.5 video guide: Create a Pop-Up Book Adventure that Leaps Off the Page

Explore LemoLab’s Pip pop-up adventure through paper cards, hinges, page turns, narration, and source-based rendering checks.

Start here: open EveryGen AI Opus for dimensional paper-story films.

Watch Pip’s Paper Adventure, the released pop-up-book film. The supplied 133.013-second release opens a tabletop book, carries Pip through paper landscapes, and ends beyond the page with “Hello, big world!” LemoLab’s account of agent-written films attributes production to Claude Opus 5.5. We have not independently verified those sessions or performed this reproduction.

Original Pip film frame. Credit: LemoLab; the tabletop is part of the rendered scene.

Original Pip film frame. Credit: LemoLab; the tabletop is part of the rendered scene.

1. Separate paper characters from their surroundings

Read the pop-up materials and camera specification. Canvas-drawn paper art sits on flat cards within a Three.js scene. Hinges, cutout shadows, shallow focus, and page turns create the illusion; this is not recorded physical puppetry.

Inspect book.js, actors.js, sets.js, story.js, and main.js. Preserve Pip’s appearance, the chapter mechanisms, and the transition beyond the book. Keep actor/card contact and readable faces through turns rather than treating each chapter as an unrelated generated image.

2. Restore the actual assets

A local terminal needs Git, Node 20+, Python 3.11–3.13 or uv, FFmpeg/ffprobe, and zsh:

git clone https://github.com/lemomo-ai/lemo-opuscar.git pip-study
cd pip-study
export LEMO_OPUSCAR_HOME="$PWD"
sh plugin/skills/lemo-opuscar/scripts/setup.sh deps voice
D=styles/paper-popup/demo
PY="$PWD/.venv/bin/python"
mkdir -p evidence
git rev-parse HEAD > evidence/commit.txt

(cd "$D" && node fetch_fonts.mjs)

Follow the paper adventure’s asset manifest to restore the Poly Haven HDRI, walnut textures, and GLTF prop bundles at the exact paths in main.js, including dependent textures/buffers. Obtain the three credited Kevin MacLeod tracks and place them in music/ as Dreamy_Flashback.mp3, Jaunty_Gumption.mp3, and Heartwarming.mp3.

Keep the MP4, assets, license notices, and dependency versions. A clone does not guarantee all large media files are present.

3. Use this new reconstruction brief

A newly written prompt, not the author’s original conversation:

Reproduce Pip's Paper Adventure from the supplied release and paper-popup
source. Inspect the actual commit, locks, STYLE.md, DEMO.md, CREDITS, loaders,
render.mjs and mux.sh. Check assets and supported runtime before processing.
Proceed through the documented steps when inputs exist; report missing files.
Preserve the tabletop book, Pip, paper chapters, page mechanisms, journey
beyond the page and closing greeting. Keep creator credits. Do not replace
the case with a new story or external image/video generation.
Check the source's 133-second picture at 60 fps against the 133.013-second
release container. Keep absolute render(t), stable seeds, reproducible seeks,
flat character cards, hinge contacts and alpha-shaped shadows. Keep the
speaker readable and speech-bubble tails attached. Test page-turn boundaries
and the transition from page coordinates to the tabletop.
Regenerate/check voice with existing scripts, listen, then reconcile durations
and word cues with story.js. Use the credited music edit and event-driven mix.
Use this demo's positional render commands and zsh mux, not another style's
build.sh. Inspect backend/HTTP errors rather than assuming GPU success.
Save source, versions, prompts, real model/provider/effort/session records,
changes and output checks. Do not publish or invent successful execution.

Another original-film frame; check continuity in the moving paper sequence.

Another original-film frame; check continuity in the moving paper sequence.

4. Build voice, music, and frames

The documented pop-up build sequence uses separate scripts, not a one-command build.sh. From the repository root:

for F in Dreamy_Flashback Jaunty_Gumption Heartwarming; do
ffmpeg -i "$D/music/$F.mp3" -ar 48000 -ac 2 "$D/music/$F.wav"
done
"$PY" "$D/tts/gen.py" af_bella
"$PY" "$D/asr.py"
"$PY" "$D/words.py"

Listen and reconcile story.js with actual voice durations before continuing; ASR is not listening approval.

"$PY" "$D/music/edit.py"
node "$D/render.mjs" events
"$PY" "$D/mix.py"
node "$D/render.mjs" stills 6.5 30 61.8 82.6 118

FPS=60 node "$D/render.mjs" video 2

zsh "$D/mux.sh"
node "$D/make_srt.mjs"

Here 2 is the worker count. For clipped shadows, inspect alpha depth materials; for disappearing characters, check card orientation. For blurred obstruction, adjust foreground placement rather than masking the actor.

Repair only the observed contact, shadow, focus, or audio-cue defect. Preserve
the story and timing. Show the source diff and new adjacent frames, then replay
the affected transition with sound. Do not conceal defects with unrelated cuts.

5. Accept the complete export

OUT=styles/paper-popup/paper-popup.mp4
ffprobe -v error -count_frames -show_streams -show_format -of json "$OUT"
ffmpeg -v error -i "$OUT" -f null -

Expect 7,980 picture frames at 60 fps for unchanged source settings. Check audio tails separately: the mux uses -shortest, and render completion alone does not certify encoder success. Watch and listen through Pip’s landing, greeting, and credits.

Author-release frame, not evidence of a new EveryGen AI render.

Author-release frame, not evidence of a new EveryGen AI render.

Archive the editable project and checks. MIT code licensing does not replace the manifest’s CC BY 4.0 music attribution, OFL fonts, voice licenses, and CC0 scene-asset notices. Keep all credits with the reproduction.