算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
render-multiworld【设计与创意】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 (Playwr…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
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.