og-assets · git:20260904.14d2e37 · 2026-09-04 · sha256 ec5618e49bd7732d

og-assets git:20260904.14d2e37A

Immutable. This exact content is served forever at /api/v1/blob/ec5618e49bd7732d.

---
name: og-assets
description: Use when the user wants OG images, link-preview assets, or README GIFs for any product - e.g. "/og-assets".
---

# OG Assets

**REQUIRED BACKGROUND:** marketing-studio skill. Work in `C:/Projects/animations`.

Produces: `out/<brand>/og.mp4` (8s seamless 1200x630 loop), `og.gif`, `readme.gif`
(600x315), optionally backed by a ComfyUI AI hero texture.

## Recipe

1. Toolchain + brand check per marketing-studio. Background loop staged for the brand
   (Blender `background_loop` scene; PLAYBOOK seam rules) — or run with it null.
2. Optional AI hero: `node feeders/comfy/client.mjs hero [--seed N]` (needs ComfyUI
   Desktop up + a checkpoint; exit 2 = fine, procedural fallback is spec-compliant).
   Read the hero PNG: dark, on-brand hue, no text/people/off-brand colors; re-roll
   seeds until it passes. Prompt lives in the client; adapt per brand.
3. `node scripts/render-statics.mjs` (extend per brand: props tagline/CTA + hero path).
   The AnimatedOG loop is SEAMLESS by construction — if you touch the template, every
   animated value must stay periodic over the full duration (PLAYBOOK loop rules).
4. Verify one still (lockup sharp, CTA in the brand's positive color) + readme.gif
   legibility (extract frame 0 via ffmpeg if the gif exceeds Read limits).
5. Size check: GIFs are heavy; prefer og.mp4 for social embeds. For READMEs going to
   GitHub keep the gif under ~10MB (`--every-nth-frame=3`, lower `--scale`).
6. Deliver per marketing-studio.