---
name: "paper_collage_explainer_video"
description: "Produce a paper collage explainer or ad video end to end, tool neutral: break the script into visual beats, build the full cutout asset list before animating, set layered collage keyframes with stepped stop motion moves synced to sound, fit voiceover and music to the cuts, and run a render check for edges, flicker, and readable text. Use when someone asks for a paper collage, cutout, or scrapbook style explainer, ad, or social video, or wants that handmade layered look instead of smooth vector animation."
metadata: { "includeInPrompt": true }
---

# Paper Collage Explainer Video

## Purpose
Take a script to a finished paper collage explainer or ad: beats first, assets built before any animation, stepped keyframe moves that read as real paper, sound fitted to the cuts, and a render QA pass that catches fringe edges, flicker, and text that leaves too fast. Tool neutral throughout. The method works the same in After Effects, DaVinci Resolve, Blender, CapCut, Canva, or a frame by frame editor, and for digital cutouts or photographed real paper.

## Workflow
1. **Lock the goal and the clock.** One sentence: after this video, the viewer understands X and does Y. Pick one master format and a runtime target. Explainer narration runs at 130 to 150 words per minute, so a 60 second video is 130 to 160 words and a 90 second video is 195 to 240 words. Write to the lower end. Pauses for the picture to land are part of the runtime.
2. **Break the script into beats.** One beat is one visual idea with one main move. A new idea means a new beat. Write the beats into a CSV with the columns in `assets/example-beats.csv`: beat, vo_text, on_screen_text, assets (one entry per movable cutout piece, separated by semicolons), move. The worked example in that file is a complete 4 beat, 24 second video.
3. **Generate the plan before building anything.** Run `python3 scripts/collage_plan.py assets/example-beats.csv --out plan.md` (point it at your own CSV). It prints per beat start and end times, frame numbers on a 24 fps timeline, unique pose counts on twos, the deduplicated asset build list, and timing flags. Fix every flag now: SHORT_HOLD means the on-screen text cannot be read in the beat, FAST_BEAT means merge the beat, NO_ASSET means the build list is incomplete, LONG_BEAT means split it or add a second move. Copy the output into `assets/beat-to-asset-worksheet.md`.
4. **Make one style frame.** Build the busiest beat at full finish: paper colours (3 to 5 stocks plus one background), texture, shadow direction, and the single typeface for on-screen text. Every asset after this matches the style frame. Get sign-off here, where changes are still cheap.
5. **Build every asset before animating.** Work `references/asset-discipline.md`: one transparent PNG per movable piece, jointed pieces split at the joint, built at 2x largest on-screen size, extra paper padding past every pivot so joints do not gap, backgrounds in at least three depth layers, file names matching the build list. An asset discovered missing mid animation means the beat plan was skipped, not that animation found a surprise.
6. **Record and lock the real voiceover.** Word count estimates set the plan, the recorded read sets the final timing. Re-run the planner with the pace of the actual read if it differs, and shift beat boundaries to the recording before setting keyframes. Never animate to a scratch read and hope the final voice lands in the same places.
7. **Set keyframes in layers, stepped.** Work `references/keyframe-motion.md`. Timeline at 24 fps, animate on twos (one new pose every two frames, 12 unique poses per second), Hold or constant interpolation on position, rotation, and scale so values jump pose to pose instead of gliding. Parent jointed pieces in body order (hand to forearm to upper arm to torso) with anchors on the marked pivots. One shadow per piece, same offset for the whole scene. Follow the worked pattern in the reference: stillness, the move in about 3 poses, one overshoot pose, back to rest, then a dead hold to the end of the beat. Entrances land their contact frame on the stressed word of the line. Exits run faster than entrances.
8. **Fit music and paper sounds to the cuts.** Choose music after the voice is locked, and mark cut points on musical beats where a beat change can land on one. Place paper sounds (slide, tap, pop, rustle, thump) on the exact contact frames marked during animation. Check sync at full playback speed, not by scrubbing.
9. **Render and run the full QA.** Work `references/qa-checks.md` on the full render at full size: edge check at 200 percent zoom for fringe, gaps, and soft pieces; flicker check on held backgrounds, measured with ffmpeg signalstats YAVG when the eye is unsure; text check against the planner hold rule and at phone size for vertical cuts; motion and sync watch at full speed with sound on; loudness measured with ffmpeg loudnorm, pass at -14 to -16 LUFS integrated and true peak at or below -1 dBTP; delivery confirmed with ffprobe (H.264, yuv420p, 24 fps, 48 kHz audio). Log every fail as beat plus frame, fix the cause, re-render, recheck that section.

## Output Contract
- One beats CSV and the generated plan: per beat timing, frame numbers, pose counts, and flags all resolved.
- One asset build list with every asset built, named to match, and checked against `references/asset-discipline.md`.
- One style frame that the finished video matches.
- One locked final voiceover file that the keyframes were timed against.
- One finished render that passed every check in `references/qa-checks.md`, with the measured loudness, true peak, and flicker result written into the worksheet log.

## Operating Rules
1. No animation before the asset build list is complete. Building pieces mid animation breaks naming, sizing, and pivot discipline, and it is where inconsistent edges and missing joints come from.
2. Stepped is the style. If a move glides, a keyframe lost its Hold or constant setting. Fix the interpolation, do not add motion blur to hide it.
3. Fix asset faults at the asset. A gapping joint, a fringed edge, or a soft piece is never patched with keyframes, scale tricks, or a blur.
4. The voiceover sets the clock. Beat timing comes from the recorded read, and any script change after lock means re-timing the affected beats before more animation.
5. One main move per beat. A second competing move splits attention and usually means the beat is really two beats.
6. Verify claims about the subject like any other production: numbers, dates, names, and prices in voiceover and on-screen text get checked against a real source before the render, because baked-in collage text costs a re-render to fix.
7. Plain voice in scripts and on-screen text: no em dashes, no marketing filler. Short sentences written for the ear.
