算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
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 product across a test surface, 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–250…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Assemble a stop-motion hand-swatch-cycle ad from a config: a fast, tactile product demo where a single hand swipes ONE product barrel across a 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. The hand, background color, test surface, hero variant and music are the recipe's user choices; this capability only assembles the plates it is given. 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 — reference only, never the default (DIBS
Beauty "Pick Your Match": a fair hand, bubblegum-pink background, cream skin-patch; ~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.
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.
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.ffmpeg -f concat) — NO dissolves. The
frame-swap tactility is the whole point; a crossfade erases it.concat demuxer over
the ordered plate list is correct and cheapest. (filter_complex is only needed when clips carry
mismatched audio — these don't.)