| name | source-brand-assets |
| description | scrape a company's visual brand assets (logos + hero/product reference photos) from the public web into a structured `brand-assets/` folder. Use when starting creative work for a new brand and you need real reference imagery before generating product photos, end cards, or ad mocks. Provider-agnostic; uses web search + curl. Not for collecting written brand guidelines — use `source-brand-guidelines` for that. |
source-brand-assets
Purpose
Bootstrap a creative project for any company by collecting real reference photographs of their product(s) and their official logo into a structured brand-assets/ folder. Downstream skills like create-product-images-higgsfield-product-photoshoot and create-product-images-nanobanana take these references as input and produce on-brand generated stills.
Captures the exact reference set required to keep generated imagery faithful to a real product (e.g. Amex Platinum metal card, a specific SKU, a packaged consumer good, a software UI). Without grounded references, downstream image generation drifts off-brand.
Inputs
- Company name (required) — e.g.
American Express, Liquid Death, Nothing, Peloton.
- Product or campaign focus (required when the company has multiple SKUs) — e.g.
Platinum card, Mountain Water sparkling, Phone (2). If omitted and the company has a flagship product, infer from the most prominent product on the homepage.
- Output directory (default:
<project>/brand-assets/) — the skill writes into card-photos/ (or <product>-photos/) and logos/ subdirectories under this path.
- Minimum asset count (default: 3 product photos, 1 logo SVG + 1 high-res PNG). Aim for 4–6 product photos when available — one clean front-on hero plus 2–3 lifestyle/contextual shots.
Workflow
1. Create the folder structure
mkdir -p <out>/<product>-photos <out>/logos
Use card-photos/, bottle-photos/, device-photos/, etc. — whatever names the actual product type. For broad brand asset collection without a single SKU, use product-photos/.
2. Find logo files
The most reliable public source is Wikimedia Commons. Search:
"<Company> logo" site:commons.wikimedia.org
Look for the official 2018+ wordmark file. Fetch the file description page to extract both the SVG upload.wikimedia.org/wikipedia/commons/... URL and the highest-resolution PNG render (/thumb/.../<width>px-....svg.png, usually up to 3840px).
Fallbacks if Wikimedia is thin:
brandfetch.com/<domain> — has SVG/PNG variants for most brands.
logo.wine — clean SVG/PNG downloads.
- The company's own
/press, /brand, or /newsroom page — these often link a brand-assets zip.
Download with curl -sSL -A "Mozilla/5.0" -o <name>.svg <url> — many sites 403 on default curl UA. Never scrape from sites that explicitly forbid asset redistribution; surface a note in the output README pointing to the official press kit instead.
3. Find product / hero photographs
The official press kit is the gold standard but most major brand newsroom pages 403 WebFetch requests. Plan B sources, in order of typical reliability:
- Wikimedia Commons — search
Category:<Company> and any product sub-categories (e.g. Category:Credit cards). Direct upload.wikimedia.org URLs are CDN-fetchable.
- Specialist editorial — for finance, The Points Guy, NerdWallet, CNBC Select; for consumer tech, The Verge, MKBHD; for FMCG, Trendhunter, Dieline; for fashion, Hypebeast, Highsnobiety. These embed press kit images at their own CDN with no auth.
- Image stock aggregators (last resort, watermark risk) — Shutterstock/Getty/Alamy/iStock surface preview URLs you can sometimes lift, but they will be small and watermarked. Use only for layout reference, never for downstream generation input.
- Official press CDN by guess — many brands run their press images on
runway-media-production.global.ssl.fastly.net, s7d2.scene7.com, or similar Scene7/Akamai endpoints discoverable in editorial article HTML.
Search pattern that works:
"<Company> <Product>" official product image press release
"<Company> <Product>" press kit hi-res
"<Company> <Product>" site:commons.wikimedia.org
For each candidate URL: curl -sSL -A "Mozilla/5.0" -o <name>.<ext> <url> and then Read the file to verify it's actually the right product (not a competitor, not a similar SKU, not a watermarked thumbnail).
4. Verify
Open every downloaded image with the Read tool and confirm:
- The product is the exact SKU requested (e.g. silver Platinum, not Centurion black; iPhone 15 Pro, not iPhone 15).
- No visible watermarks (
Shutterstock, Getty, Alamy overlay).
- Resolution is usable: ≥ 1000px on the longest edge for hero references, ≥ 600px for lifestyle.
- For logos, both vector (SVG) and a large raster (PNG ≥ 2048px) are present.
Delete and replace anything that fails. Never ship a brand asset folder without visual verification — wrong-SKU references silently poison every downstream generation.
5. Write <out>/README.md
One section per subfolder listing every file with:
- Source URL (so the asset is reproducible/auditable)
- One-line description of what it depicts
- Era/edition note when relevant (e.g. "2025 mirror edition", "post-Sept refresh")
Include a usage-rights footer pointing to the official press kit URL — these scraped assets are for creative development, not redistribution.
Output
<out>/
README.md # index + provenance + rights note
logos/
<company>-logo.svg # current wordmark
<company>-logo-<width>.png # ≥ 2048px PNG render
<company>-logo-old.svg # optional legacy mark
<product>-photos/
<product>-<source>-<note>.png # 4–6 verified product photos
...
Plus, if running under test conventions, a manifest.json listing every file, its source URL, resolution, file size, and verification status (verified | watermarked | rejected).
Quality Checks
- Every product photo shows the same SKU as requested.
- No watermarks on any retained file.
- At least one clean hero product shot (subject isolated, neutral or product-press background) suitable as a primary reference image for downstream generation.
- At least one lifestyle/contextual shot showing the product in real-world use.
- Logo present in both SVG and ≥ 2048px PNG.
README.md exists and lists every file with its source URL.
- No file > 20 MB without explicit reason (raw press TIFFs can be re-encoded to PNG).
Failure Modes
- Brand press site 403s WebFetch — common for Amex, Nike, Apple. Fall back to Wikimedia + specialist editorial CDNs. Do not waste cycles retrying the official site.
- Wikimedia category has no product shots — only logos / building exteriors. Pivot to editorial-CDN scrapes (e.g.
runway-media-production...fastly.net/...amex-plat-mirror-consumer.jpg).
- All candidates are watermarked stock previews — surface the gap explicitly in
README.md and recommend a manual press-kit request from the brand.
- Wrong SKU collected — easy to grab Centurion when asked for Platinum, or iPhone Pro Max when asked for Pro. Visual verification step is non-optional; do not skip even when filenames look right.
- Mirror / limited edition shipped as the default reference — flag the era explicitly in the README so downstream generation doesn't accidentally use a one-off design as the canonical product.
- No vector logo available — accept high-res PNG and note in README that an SVG is missing; do not try to vectorise a raster.
References
Workflow battle-tested on:
- Amex Platinum (Sept 2025 refresh) — Wikimedia commons had logo but no card photo; press kit 403'd; recovered hero shots from Upgraded Points + TPG + runway-media CDN.
- Coca-Cola, Peloton, Gooseworks ad runs in this repo (see sibling project folders).
Pair with:
source-brand-guidelines — written voice/visual rules
understand-brand-assets — turn collected assets into a reusable brand brief
create-product-images-higgsfield-product-photoshoot — hero/end-card generation from these references
create-product-images-nanobanana — lifestyle/everyday-setting generation from these references