‹ 首页

render-photo-grid-card

@gooseworks-ai · 收录于 1 周前 · 上游提交 今天

Render a 'photo-grid promo card' video from a config — a real-DOM card with a FIXED header/footer and a CONTINUOUSLY SCROLLING 2-row grid of MIXED tiles (video clips, product/lifestyle stills, big-serif %-OFF, dark promo-code or CTA) + feature chips, frame-stepped via Playwright with real-time <video> playback and encoded with FFmpeg — deterministic assembly, FREE (the clips + music come from create-video-fal + create-music-elevenlabs), text stays pixel-crisp. Use for the photo-grid-promo-card format.

适合你,如果需要批量生成带视频和动画的促销卡片视频

/ 通过 npx 安装 校验哈希
npx oh-my-skill add gooseworks-ai/goose-skills/render-photo-grid-card
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- gooseworks-ai/goose-skills/render-photo-grid-card
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify gooseworks-ai/goose-skills/render-photo-grid-card
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
1019GitHub stars
~535最小装载
~535含声明引用
~4.6K文本包总量
索引托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · 8cffdbb

render-photo-grid-card

Render the 'photo-grid promo card' format from a config. The signature of this format is a continuously scrolling 2-row grid (NOT a static card) under a fixed header (brand wordmark + big headline + sub) and fixed feature chips. The grid-viewport scrolls left across the whole ~10s, edge-faded with a CSS mask, and its tiles are mixed media: video clips playing inside tiles, band-product/photo stills, big-serif pct/off type tiles, and a dark code (promo code) or cta tile.

The renderer itself is FREE/deterministic (Playwright frame-step + FFmpeg). The paid inputs are separate capabilities: the tile clips come from create-video-fal (i2v of the product heroes, or clips extracted from the brand's own ad corpus) and the music from create-music-elevenlabs. Text (wordmark, %, code) is real DOM — never AI-rendered.

Run

build_card.py --config config.json --out hyperframe.html ; render.py --config config.json --html hyperframe.html --out master-silent.mp4 — 1080x1920, scrolling grid, deterministic, $0.

Clip tiles are driven by FRAME-SWAP, not <video>: render.py pre-extracts each clip to PNG frames with ffmpeg, preloads them, and swaps each <img class="vidframe">'s src per output frame. This is because Playwright's bundled Chromium can't decode <video> H.264 over file:// (open-source build, no proprietary codecs) — it hangs on canplay. Letting ffmpeg decode makes it codec-independent AND deterministic. Provide clips longer than the master (or the swap just loops them); a subtle setpts-slow reads as cinematic.

Contract
  • Deterministic + FREE (Playwright frame-step + FFmpeg); no paid calls in this capability.
  • Tiles-per-row = grid columns (cols), NOT total tiles; the grid fills row-major.
  • The template recipe (DB) supplies the config; clips + music are separate capabilities.
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。