capabilities

Render Stopmotion Hand Swatch Cycle

Assemble a stop-motion hand-swatch-cycle product-demo ad from a config — a sequence of still PLATES (one hand swiping a single-barrel cosmetic across a cream skin-patch, the barrel + swatch changing per plate while the hand, background, crop, and lighting stay locked) is PNG→mp4 loop-encoded at each plate's own stop-motion hold (fast motion frames 150–250ms, per-shade ~380ms, hero beats 1100–1800ms), concat-demuxed with HARD cuts into a silent master, closed on a Playwright HTML-rendered branded end card (serif tagline + sans subtitle + real logo SVG over a hero BG, never AI-rendered text), and muxed with a pre-sourced music track playing under the end card with a fade tail (no VO). This is the FREE deterministic assembly stage (loop-encode + concat-demux + end-card render + music mux); the master-anchor plate, shade plates, and end-card BG come from create-image-gpt-image-fal and the track from create-music-elevenlabs. Use for the stopmotion-hand-swatch-cycle format.

Gooseby Athina AI
Install
Terminal
npx gooseworks install --all

# then, in Claude Code, Cursor, or Codex:
/gooseworks use the render-stopmotion-hand-swatch-cycle skill
About This Skill

render-stopmotion-hand-swatch-cycle

Assemble a stop-motion hand-swatch-cycle ad from a config: a fast, tactile product demo where a single hand swipes ONE cosmetic barrel across a cream "skin-patch" test surface, and the shade of the barrel AND the painted swatch stripe changes on every frame while the hand, background, crop, and lighting hold still — cycling the variant family so the viewer self-identifies their match, then a hero-pick payoff and a branded end card. This capability is the FREE, deterministic assembly — the per-plate PNG→mp4 loop encode, the concat-demux, the end-card render, and the music mux.

scripts/config.example.json is the worked example (DIBS Beauty "Pick Your Match", ~16.6s 1080×1920 9:16, ~24 cycle plates + finale beats + a 3s end card); scripts/PIPELINE.md maps every config block to its source step and scripts/README.md documents the free assembly.

Run

This is the FREE, deterministic assembly stage — it spends nothing. The paid inputs are separate capabilities — the master-anchor plate + the per-shade / motion / finale plates + the end-card hero BG (create-image-gpt-image-fal, gpt-image-2 EDIT mode, each plate anchored to the SAME master-anchor — never chained), and the music track (create-music-elevenlabs, or a brand-supplied mp3). Given the ordered plate PNGs + per-plate holds + the end-card hero BG + the brand logo SVG + the music track, render-stopmotion-hand-swatch-cycle loop-encodes each plate at its hold, concat-demuxes with hard cuts into a silent master, appends the HTML-rendered end card, and muxes the music under it → the master. Re-cuts (re-timed holds, a re-ordered cycle, a swapped end card) reuse the existing plates / track and cost $0.

Contract (the free assembly)

  • Still plates, not i2v — held for tuned durations. Each plate is a static PNG loop-encoded (ffmpeg -loop 1 -t <pose_hold_ms>) to 1080×1920 @ 30fps crf18. This is stop-motion — discrete held frames, no camera moves, no character animation. Do not animate the plates.
  • Fast stop-motion cadence, HARD cuts. Motion / half-painted plates hold 150–250ms, per-shade plates ~380ms (or ~1000ms for a slower cycle), hero / bookend beats 1100–1800ms; average ~380ms. Concat-demux the plate mp4s in order with hard cuts (ffmpeg -f concat) — NO dissolves. The frame-swap tactility is the whole point; a crossfade erases it.
  • Concat-demux, not filter_complex. The plates are silent stills, so the concat demuxer over the ordered plate list is correct and cheapest. (filter_complex is only needed when clips carry mismatched audio — these don't.)
  • The music carries it — no VO. A pre-sourced brand instrumental (128–130 BPM works well), volume ≈0.4, fade in/out. Do not add a spoken voiceover or a second bed.
  • End card via Playwright HTML from the real logo SVG — never AI-render brand text. A serif tagline + sans subtitle + the real logo SVG composited over a hero product/swatch BG by an HTML template (Chromium headless), rendered to a silent ~3s clip. A diffusion model garbles a wordmark.
  • Music plays UNDER the end card with a fade tail — no silent tail. Mux the track over the whole video including the end card, fade over the last ~0.5s so the video ends WITH the music.
  • FFmpeg composite, deterministic, FREE. Loop-encode each plate, concat-demux on hard cuts, append the end card, mux the music with a fade tail → a 1080×1920 h264+aac master (~16.6s). No paid calls, no keys (beyond the Playwright/Chromium the end-card render needs).

What's included

·
Still plates, not i2v — held for tuned durations.* Each plate is a static PNG loop-encoded
·
Fast stop-motion cadence, HARD cuts.* Motion / half-painted plates hold 150–250ms, per-shade
·
Concat-demux, not filter_complex.* The plates are silent stills, so the concat demuxer over
·
The music carries it — no VO.* A pre-sourced brand instrumental (128–130 BPM works well),
·
End card via Playwright HTML from the real logo SVG — never AI-render brand text.* A serif
You Might Also Like

Render VO Anchored Motion Listicle

Assemble an expert/educator motion-graphic LISTICLE video ad from a config — a spoken authoritative voiceover carries a numbered listicle while N web-animated hyperframe beats (HTML plus the Web Animations API, one branded design system of alternating tiles, big hero numerals, and glass-pill callouts) are rendered frame-by-frame via Playwright and anchored to the VO's word-level timestamps, periodic color-graded B-roll windows give visual breath, and captions burn ONLY inside those B-roll windows (2-word chunks, ASS Format header carrying a Name field so none drop) with the VO mixed under a low music bed. This is the FREE deterministic assembly stage (Playwright beat render plus ffmpeg concat plus window-masked caption burn plus VO-and-music mix plus final composite) — the VO, the music bed, and the stock B-roll come from create-vo-elevenlabs, create-music-elevenlabs, and media-proxy. Use for the vo-anchored-motion-listicle format.

Render Split Screen Creator

Assemble a split-screen creator ad from a config — a two-zone vertical composite where a supplied AI-creator lip-sync take fills the BOTTOM ~48% while real 16:9 product/demo clips run uncropped in the TOP ~52%, each top clip contain-fit with a darkened blurred cover-scale fill of the same clip (never black bars), a 3px brand-color divider between the zones, the creator slice cover-fit per the per-scene VO timing, scenes hard-concatenated with the body audio being the concatenated creator VO slices, an end card held on the last sharp frame ~3s, then the ASSEMBLED cut transcribed with local Whisper (not the raw VO — concat drops inter-scene silence) and word-level captions burned in the chosen style. This is the FREE deterministic assembly + caption stage (two-zone composite + blurred fill + divider + hard-concat + end card + captions); the VO comes from create-vo-elevenlabs, the anchor from create-image-gpt-image-fal, and the whole-VO lip-sync from a paid VEED Fabric 1.0 take (a no-atom upstream input). Use for the split-screen-creator format.

Render Narrated UGC Wardrobe Stitch

Assemble a narrated-UGC "stitch reply" ad from a config — a single spoken VO carries a verbatim testimonial while ~30 per-cut i2v clips (one creator across ~5 wardrobes in ~3 worlds, plus product B-roll) are each trimmed to their EDL window built from the VO's Whisper word boundaries and hard-concatenated via filter_complex concat (never the demuxer, which drops audio on a duration mismatch), the VO mixed over an optional sidechain-ducked instrumental bed (−20dB, 20 to 1) so the VO stays on top, karaoke-pop captions burned on every word throughout (VEED Whisper preset, re-spelled against the locked script), a landing-page scroll rendered as FFmpeg zoompan over a Playwright PNG (not i2v), and closed on the brand's real end-card PNG — never AI-rendered text. This is the FREE deterministic assembly stage (trim-to-EDL + filter_complex concat + VO and music mix + karaoke captions + landing-page zoompan + end-card append); the VO, creator, start-frames, and clips come from create-vo-elevenlabs / create-image-gpt-image-fal / create-image-fal / create-video-fal. Use for the narrated-ugc-wardrobe-stitch format.

Newsletter

Learn to build Growth systems with AI

2-3 compounding systems per week using Claude Code, OpenClaw, and more.