$npx -y skills add gooseworks-ai/goose-skills --skill render-hypermotionAssemble the FREE steps of the product-hypermotion + kinetic-typography video format — dice ONE Seedance 2.0 hypermotion clip into 5-6 segments and intercut them with PIL kinetic-typography spec/CTA cards (italic skew, 1.08x outline echo, 3D extrusion, slam-with-shake, inversion
| 1 | # render-hypermotion |
| 2 | |
| 3 | Assembles a product-hypermotion + kinetic-typography ad: a vertical 9:16 sizzle (~20–30s) |
| 4 | where ONE spectacular AI-gen hypermotion clip of the hero product carries the energy and |
| 5 | punchy PIL-rendered spec cards carry the facts. Music-led, no VO — it reads as a |
| 6 | high-production sizzle, not UGC. |
| 7 | |
| 8 | The reusable IP is **one-call-many-cuts + intercut**: dice ONE 12–15s Seedance 2.0 |
| 9 | hypermotion i2v into 5–6 segments (never a paid call per segment) and interleave PIL |
| 10 | kinetic-typography spec cards between the cuts, capped by a real-logo end card, over a |
| 11 | 124 BPM bass bed. |
| 12 | |
| 13 | This capability ships the FREE, deterministic assembly — everything between the two paid |
| 14 | model calls. It is **documentation-grade + config**: the format has no runnable driver. |
| 15 | `scripts/` carries the worked config + the step-by-step pipeline doc; the Soundboks |
| 16 | reference PIL impls (`gen_kinetic_v6.py`, `gen_endcard_v10.py`, `assemble_v10.py`) are |
| 17 | copied + adapted per run, not vendored. |
| 18 | |
| 19 | - **config.example.json** — the Soundboks worked example: hero product, 5 spec callouts, |
| 20 | the 5-block Seedance prompt, per-card treatments, beat structure, end-card spec, music |
| 21 | brief, dims. Copy to `config.json` and edit. |
| 22 | - **PIPELINE.md** — the full config-field → step map: Phase 0 assets → Phase 1 PAID |
| 23 | Seedance + music (parallel, gated) → Phase 2 FREE PIL cards → Phase 3 FREE |
| 24 | dice/intercut/concat/mux → Phase 4 watch/QC. Names the atom/tool each step uses, plus |
| 25 | 20s/25s/30s beat-structure variants. |
| 26 | - **README.md** — documents the FREE assembly (below). |
| 27 | |
| 28 | ## The FREE assembly |
| 29 | |
| 30 | - **PIL kinetic-typography spec/CTA cards** — full-frame 1080×1920 clips rendered |
| 31 | frame-by-frame on a dark grain BG with the static Space Grotesk Bold TTF: italic skew |
| 32 | (~6°), outline echo at 1.08× (bleed-safe), 3D extrusion (hero stat + CTA, side = brand |
| 33 | accent), slam-with-shake, and color/inversion flash. No VO — the cards carry every fact. |
| 34 | - **Real-logo PIL end card** — the brand's **actual logo PNG** (base64-decoded out of the |
| 35 | SVG, never typeset) with a slam-motion-blur entry, settle, continuous micro-motion (±1% |
| 36 | scale + ±3px drift for the full hold — never freeze), an inversion flash at ~60%, and a |
| 37 | cascade reveal of the spec-dot subtitle + CTA. |
| 38 | - **FFmpeg dice + intercut** — center-crop the ONE hypermotion clip 1:1 → 9:16, dice into |
| 39 | 5–6 decreasing-length segments at Seedance's natural beats (crash-zoom → orbit → settle), |
| 40 | then concat in the fixed intercut order: open on the intro card, alternate segment ↔ spec |
| 41 | card, end on the CTA + brand end card. |
| 42 | - **Explicit-map mux** — mux the music bed as a SEPARATE pass with `-map 0:v -map 1:a` |
| 43 | (the default mapping silently ships ~1 kbps garbage audio; verify `ffprobe` ≈ 192 kbps). |
| 44 | |
| 45 | ## Run |
| 46 | |
| 47 | ``` |
| 48 | # Phase 2 — FREE PIL cards (per config.text_cards + config.end_card) |
| 49 | # render each spec/CTA card + the real-logo end card, 1080x1920, frame-by-frame → mov |
| 50 | # Phase 3 — FREE dice + intercut + mux |
| 51 | # center-crop 1:1→9:16, dice into 5-6 segments, concat in beat_structure order, |
| 52 | # then explicit-map mux the music bed → master-final.mp4 |
| 53 | ``` |
| 54 | |
| 55 | Output: `master-final.mp4`, 1080×1920, ≈20–30s (25s default) h264 (+ 192 kbps aac music) — |
| 56 | 14 segments: intro + 6 hypermotion cuts + 5 spec cards + CTA + real-logo end card. All |
| 57 | FREE, $0. |
| 58 | |
| 59 | ## Contract |
| 60 | |
| 61 | - Deterministic + FREE (PIL + FFmpeg); no paid calls, no AI-rendered logo or spec text. |
| 62 | - ONE hypermotion clip, diced into 5–6 segments — never a paid call per segment (cheaper |
| 63 | AND identity-consistent: same camera/grade/subject in one call). |
| 64 | - The end card is the brand's **real logo PNG**, base64-decoded from the SVG — never |
| 65 | typeset; it must micro-move for the full hold (never freeze). |
| 66 | - Spec cards carry every fact (no VO); outline echoes stay ≤1.08× so nothing bleeds off |
| 67 | frame; use the static Space Grotesk Bold TTF (variable renders as Regular in PIL). |
| 68 | - The paid steps — the ONE Seedance 2.0 hypermotion i2v (5-block prompt with the mandatory |
| 69 | ABSOLUTE CONSTRAINTS block, or the geometry drifts) + the ElevenLabs 124 BPM bass bed — |
| 70 | are separate capabilities (create-video-fal, create-music-elevenlabs); the recipe |
| 71 | orchestrates them and gates the spend. |