Assemble a silent, music-led 3-world product-tour ad — trim and hard-cut-concat the per-world WIDE-arrival + top-down-macro clips, composite the HTML/Playwright brand end card (approved headline + handwritten product labels + arrows) over an AI flat-lay background, and mux one music bed into a 720x1280 web master. FREE, deterministic assembly (Playwright + PIL/HTML + FFmpeg); the recipe supplies the config and gates the paid clip/background/music calls. Use for the multiworld-product-tour format.
npx gooseworks install --all # then, in Claude Code, Cursor, or Codex: /gooseworks use the render-multiworld skill
Assemble a silent, music-led "multi-world product tour" ad (≈27s, 9:16) — a tour of three distinct "third-place" worlds (chosen per video), one per product/variant, that lands on a Pinterest-style brand end card. Each world is a two-shot pair: a ~4.5s WIDE kinetic-calm ARRIVAL (the environment dominates, the product stays small) hard-cutting to a ~3.5s top-down MACRO product MOMENT (the sealed product nested with its companion prop). Variant identity is carried by the world + companion prop, not by product color. No VO, no captions in the scenes — one music bed carries the whole thing.
This capability is the FREE, deterministic assembler. The paid steps — the six per-world clips, the AI flat-lay end-card background, the ElevenLabs music bed — are separate capabilities (see the gap below for the clips); the recipe orchestrates and gates them.
The calling recipe asks the user these before any paid step; this capability only assembles what they produced. The worked example (Primally Pure) values are examples, never defaults.
config.worlds, config.scene_grid (demo: pilates
studio / spa anteroom / farmers market).config.visual_style, worlds[*].palette,
end_card.nb2_prompt (demo: sunlit-natural / handmade).config.music.prompt (demo: warm acoustic-pop).Nothing in the assembly keys on world slugs or names: clips are ordered by
scene_grid[].scene, and the end-card copy is whatever end_card.overlay holds.
scene_grid[].duration_sec
(arrival 4.5 / macro 3.5), re-encode to the master spec (720×1280, 24fps, yuv420p,
scale+pad, audio stripped). Trimming the macro so the top-down portion dominates also
hides any label misrender at the clip's upright tilt extreme.end_card.html over the AI flat-lay
BACKGROUND, then FFmpeg-encode to a dwell_sec (3.0s) static clip. Headline
(overlay.headline, approved brand copy — the demo's was "FIND YOUR DAILY."; Inter 900),
one handwritten Caveat product label + hand-drawn SVG arrow per product, Playfair
wordmark + URL. End-card text is HTML, NEVER AI-rendered —
the AI step produces the background only.afade in/out + loudnorm I=-16:TP=-1.5:LRA=11, AAC 192k, clamped to
27.0s, explicit single-audio map so no silent scene-track leaks in → the H.264 (+ AAC)
720×1280 master.create-image-fal (nano_banana_2
keyframe edit grounded on the real product_image) → create-video-fal (Kling 3.0 i2v),
so the gap below only applies to reproducing the demo's Higgsfield build exactly.marketing_studio_video/product_showcase) grounded on imported product UUIDs, with the
sealed-bottle safety block front-loaded on every prompt. create-video-fal is a FAL i2v
proxy — a different provider and job shape — so it cannot serve this step. Wiring the clip
step to templates-as-data requires a create-video-higgsfield proxy (Marketing Studio
product_showcase, imported-product grounding, per-prompt safety block) that does not
exist yet. Until it lands, the clips are generated via the Higgsfield Marketing Studio
path directly (CLI/MCP) and that step is not a fetchable capability.See scripts/PIPELINE.md for the full config-field → source-step map and scripts/README.md
for the FREE-assembly detail.
config.worlds, config.scene_grid (demo: pilatesconfig.visual_style, worlds[*].palette,config.music.prompt (demo: warm acoustic-pop).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.