create-image-fal
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent. image_urls…
Assemble a multi-scene GRWM beauty-demo ad from a config — a locked-identity creator applies ~5 products step by step while a SEPARATE ElevenLabs voiceover narrates and every scene cut is snapped to the VO's product-name word-starts (Whisper word-level timestamps), then ~5
$ npx -y skills add gooseworks-ai/goose-skills --skill render-glassy-matte-grwm --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/render-glassy-matte-grwmContext preview
The summary Claude sees to decide when to auto-load this skill.
Assemble a multi-scene GRWM beauty-demo ad from a config — a locked-identity creator applies ~5 products step by step while a SEPARATE ElevenLabs voiceover narrates and every scene cut is snapped to the VO's product-name word-starts (Whisper word-level timestamps), then ~5
name: render-glassy-matte-grwm description: Assemble a multi-scene GRWM beauty-demo ad from a config — a locked-identity creator applies ~5 products step by step while a SEPARATE ElevenLabs voiceover narrates and every scene cut is snapped to the VO's product-name word-starts (Whisper word-level timestamps), then ~5 Playwright product overlay cards (real PDP-verified taglines) are composited onto the master each on its product-NAME word-start, the SEPARATE VO is mixed on top of a ducked music bed at loudnorm I=-14, clean-white 3-words/cue captions are burned, and the video closes on a flat-lay end card. This is the FREE deterministic assembly stage (re-cut to the VO word-starts, hard-concat, Playwright card render + card composite, VO plus music mix, caption burn, flat-lay end card); the VO, scene clips, product cutouts, and music come from create-music-elevenlabs / create-image-gpt-image-fal / create-video-fal. Use for the glassy-matte-grwm format. status: active
Assemble a **multi-scene GRWM beauty-demo** ad from a config — a locked-identity creator applies ~5 makeup/skincare products step by step at a vanity, a **separate** ElevenLabs voiceover narrates the routine, and every scene cut is snapped to the VO's product-name word-starts, with ~5 Playwright product overlay cards on the product-name beats, a ducked music bed, burned captions, and a flat-lay end card. This capability is the **FREE, deterministic assembly** — the Whisper-driven re-cut + hard-concat, the Playwright card render + card composite, the VO + music mix, the caption burn, and the flat-lay end card.
This is the **multi-scene beauty demo**, distinct from the single-take apparel outfit-reveal (`ugc-grwm`, one Seedance reference-to-video call with native lip-sync and minimal post). Here the timeline is driven by a SEPARATE VO and the scenes are re-cut to its word-starts.
`scripts/config.example.json` is the worked example (DIBS Beauty "5-Step Glassy Matte Routine", ~32s 1080×1920 9:16, 12 VO-snapped cuts + 5 product cards); `scripts/PIPELINE.md` maps every config block to its source step and `scripts/README.md` documents the free assembly.
This is the **FREE, deterministic** assembly stage — it spends nothing. The paid inputs are separate capabilities — the SEPARATE narration VO (`create-music-elevenlabs`, or a user-supplied mp3; word-level Whisper timestamps set the timeline), ~7 Seedance scene clips one per product step (`create-video-fal`), the ~5 white-bg product cutouts + the flat-lay end-card still (`create-image-gpt-image-fal`), and the ducked music bed. Given the VO + `.words.json` + one clip per step + the ~5 product cutouts + the music bed, `render-glassy-matte-grwm` re-cuts each clip to its VO word-start window, hard-concats on the cut, renders + composites the product cards on the product-name beats, mixes the VO over the ducked music, burns the captions, and appends the flat-lay end card → the master. Re-cuts reuse the existing VO / clips / cutouts and cost **$0**.
(not a native take). Its word-level timestamps set every cut; the atempo'd VO ends shorter than the plan expects (a 1.15× VO landed ~27.5s), so time every window to the word-starts, never to a pre-planned grid.
the next product when its step is announced; the card animates in ~1s later when the NAME is spoken. Both happen. ~12 cuts over ~32s (cuts/10s ≈ 3.75).
concat `-c:v libx264 -crf 20` — `-c copy` corrupts the duration when zoompan/PNG clips are in the chain.
template at 2× scale (real white-bg cutout thumb + name + PDP tagline). The cutout must match the REAL product, not the Seedance scene's hallucinated barrel; the tagline is verified against the brand PDP (AI flat-lays hallucinate sublines). Composite each card onto the master snapped to its product-NAME word-start, 1s fade-in, held until the next product is named. **PNG overlay inputs need `-loop 1 -t <dur>`** — without it the PNG emits one frame at t=0 and the fade/enable filters silently no-op (cards go invisible).
lead), `loudnorm I=-14`. If the host ffmpeg lacks a filter, apad/atrim to length before the mix.
words, overridden to 3 words/cue, ~3.0% font, ~20% margin, NO pill, NO shadow (the default 5-words/4.5%/18% reads too dense). Burn last. If the host ffmpeg lacks libass, render the cues as timed PIL PNG overlays composited with ffmpeg `overlay=…:enable='between(t,st,en)'` at the same placement.
the ~5 products; do NOT trust its AI-rendered sublines for the card taglines.
the VO over the ducked music, burn the captions, append the end card → a 1080×1920 30fps h264+aac master (~32s). No paid calls, no keys.
Put your AI agent on the growth team. Research customers and competitors, analyze what is working, create the next campaign, and learn from the result.
Repo: gooseworks-ai/goose-skills
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent. image_urls…
Generate a single photoreal or designed image with OpenAI gpt-image via fal.ai. Supports gpt-image-1 (default, fixed sizes — the FAL fallback for Higgsfield's…
Generate an instrumental music bed via ElevenLabs Music, ROUTED THROUGH THE elevenlabs-proxy so it bills the Ads agent. Trims any sparse intro, loudnorm, fades…
Image-to-video (or text-to-video) via any FAL video model (Kling, Seedance, Veo), ROUTED THROUGH THE GooseWorks fal-proxy so the call bills the Ads agent. The…
Generate a voiceover (VO) clip via ElevenLabs text-to-speech, ROUTED THROUGH THE elevenlabs-proxy so it bills the Ads agent. Voice id + script text come from…
Scrape competitor ads from Google Ads by domain. Returns ad creatives, formats, and campaign details. Use for competitive ad research and messaging analysis.