Assemble 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 flash) plus a real-logo PIL end card (base64-decoded from the brand SVG), center-crop 1:1 to 9:16, and explicit-map mux a music bed. Deterministic, FREE (PIL + FFmpeg), no paid calls, the real logo and spec typography stay pixel-crisp. The paid steps (the ONE Seedance i2v, the music) are separate capabilities; the recipe orchestrates them. Use for the product-hypermotion format.
npx gooseworks install --all # then, in Claude Code, Cursor, or Codex: /gooseworks use the render-hypermotion skill
Assembles a product-hypermotion + kinetic-typography ad: a vertical 9:16 sizzle (~20–30s) where ONE spectacular AI-gen hypermotion clip of the hero product carries the energy and punchy PIL-rendered spec cards carry the facts. Music-led, no VO — it reads as a high-production sizzle, not UGC.
The reusable IP is one-call-many-cuts + intercut: dice ONE 12–15s Seedance 2.0 hypermotion i2v into 5–6 segments (never a paid call per segment) and interleave PIL kinetic-typography spec cards between the cuts, capped by a real-logo end card, over a beat-driven music bed.
This capability ships the FREE, deterministic assembly — everything between the two paid
model calls. It is documentation-grade + config: the format has no runnable driver.
scripts/ carries the worked config + the step-by-step pipeline doc; the Soundboks
reference PIL impls (gen_kinetic_v6.py, gen_endcard_v10.py, assemble_v10.py) are
copied + adapted per run, not vendored.
config.json; never its creative values. Card
labels equal their text_cards keys (intro, spec_1..spec_N, cta) so
beat_structure.concat_order resolves to kinetic-movs/<key>.mp4.The calling recipe asks the user these before any paid step; this capability only assembles what they produced. The Soundboks values are a worked example, never defaults.
config.brand_voice, Seedance block 1, music.bpm (demo: party, 124 BPM).config.music.prompt (demo: bass-driven party banger).The assembly itself is choice-agnostic: segment cut points, card order and the end card read only from config.
-map 0:v -map 1:a
(the default mapping silently ships ~1 kbps garbage audio; verify ffprobe ≈ 192 kbps).# Phase 2 — FREE PIL cards (per config.text_cards + config.end_card)
# render each spec/CTA card + the real-logo end card, 1080x1920, frame-by-frame → mov
# Phase 3 — FREE dice + intercut + mux
# center-crop 1:1→9:16, dice into 5-6 segments, concat in beat_structure order,
# then explicit-map mux the music bed → master-final.mp4Output: master-final.mp4, 1080×1920, ≈20–30s (25s default) h264 (+ 192 kbps aac music) —
14 segments: intro + 6 hypermotion cuts + 5 spec cards + CTA + real-logo end card. All
FREE, $0.
config.brand_voice, Seedance block 1, music.bpm (demo: party, 124 BPM).Full video production sequence with script review, actual ingredient choices, controlled generation, editing, evidence-based quality review, polish, captions and delivery. A host binding supplies project storage, authentic approvals, provider access and billing.
Build a vox-pop street interview video ad. An interviewer with a handheld mic asks passers-by one question about the brand's product, they give blunt wrong guesses, one gives the real answer, and the cut lands on a branded end card. Generates the takes through the GooseWorks fal proxy (Seedance 2.0 with native voice), then grades, re-cuts, captions and gates them locally. Use for the street-interview format.
Write the words of a short-form video ad (voiceover, dialogue, chat bubbles, on-screen lines) the way performance creative teams do instead of from a blank page. Builds the script from the buyers' own words, the beat sheet of an ad that already works and three deliberately different angles, filters them with a rule check and a second non-Claude model, and takes the strongest into the review with the other two as one-line swaps. Use it in every video ad run before any paid step, and whenever the user asks to write, rewrite or improve a video ad script or says a script sounds generic or AI-written.