SuperAPI AI Directory

meta-ads-generator

Marketing & growth

View repository

Updated 10-16 05:42

About this skill

Meta Ads Generator

End-to-end pipeline: product URL → brand guidelines → psychology pillar map → 4 finished ad creatives in the brand's own style.

Backend-agnostic: works with Higgsfield MCP, kie.ai, OpenAI, or any OpenAI-compatible image API the user prefers.


First-run check

Before doing anything, look for a config.json in this skill's directory.

  • If it exists, read it and proceed.
  • If it does not exist, open setup.md and run the setup wizard. Do not attempt to generate images until config is written.

Inputs (ask once at start)

  1. Product URL (required) — the actual landing/product page.
  2. Ad goal (required, default = purchase) — purchase, lead, install, demo, etc.
  3. Primary audience (optional — infer from page if skipped).
  4. Output folder (optional — default ~/meta-ads-generator-output/<brand-slug>/).

If the user just drops a URL, assume goal = purchase and proceed. Don't interrogate.


Pipeline

Step 1 — Extract brand guidelines

Use WebFetch (or the clone-website / crawl skill if installed) on the product URL. Pull:

  • Copy samples — headlines, subheads, CTAs, body voice
  • Tone — formal/casual, technical/playful, fear/aspiration
  • Color palette — dominant + accent (sample from CSS or screenshots)
  • Typography — font families used
  • Product imagery — download all hero/product shots to <output>/assets/product/
  • Logo — pull SVG/PNG to <output>/assets/logo/

Save to <output>/brand-guidelines.md with sections: Voice, Palette (hex), Fonts, Visual motifs, Do/Don't.

Step 2 — Competitor + customer research

Run in parallel:

  • Competitors — use WebSearch for "[product category] facebook ads" and Meta Ad Library lookups. Pull 5-10 active competitor ads in the same category. Note: hooks used, formats, claims, visual patterns. (If the competitive-ads-extractor skill is installed, use it.)
  • Customer reviews — scrape Trustpilot / Google reviews / Amazon / G2 / app store reviews via WebSearch + WebFetch (or tavily-research / crawl if installed). Pull 30-50 reviews minimum. Capture verbatim phrases.

Save raw findings to <output>/research/competitors.md and <output>/research/reviews.md.

Step 3 — Psychology pillar map

Synthesize Step 2 into 4-6 psychology pillars — the emotional/rational drivers behind why this audience buys. Each pillar gets:

  • Name (e.g. "Status anxiety", "Time scarcity", "Insider knowledge")
  • Trigger — the underlying fear/desire
  • Customer phrase — verbatim quote from reviews proving it exists
  • Competitor angle — how rivals address it (or miss it)
  • Ad angle for us — how this brand should hit it differently

Save to <output>/pillar-map.md.

Step 4 — Generate 4 ad concepts

Pick the top 4 pillars (highest emotional charge × least covered by competitors). For each, draft:

  • Hook (3-7 words, on-screen text)
  • Headline (the typeset focal line)
  • Subhead/proof (one short line)
  • CTA
  • Visual direction (composition, product placement, palette use, mood)

Save to <output>/ad-concepts.md. Show the user — wait for approval or edits before generating images.

Step 5 — Generate creatives (backend-routed)

Read config.json. Route to the correct backend doc:

  • backend: "higgsfield" → follow backends/higgsfield.md
  • backend: "kie" → follow backends/kie.md
  • backend: "openai" → follow backends/openai.md
  • backend: "custom" → follow backends/custom.md

Reference ads injection: before calling the backend, list any image files in the user's reference_ads_folder (set during setup). For each backend, pass these as visual reference inputs (Higgsfield: media_upload + media_confirm; OpenAI gpt-image-1: image[] parameter; kie / custom: per their schema). If a backend doesn't support image refs, summarize the references in plain language ("the user's saved reference ads tend to use [X] composition, [Y] color, [Z] type treatment") and prepend that to the prompt.

Universal prompt template (each backend's doc shows how to wrap it in the right request shape):

On-brand Meta ad in {brand} style.
Palette: {hex primary} dominant with {hex accent} accent.
Typography mood: {brand font feeling}.
Composition: {visual direction from concept}.
Headline (typeset prominently): "{headline}"
Subhead (smaller): "{subhead}"
CTA pill: "{cta}"
Product: use the uploaded product image as the hero element.
Logo: small, top-left or bottom-right.
1080×1350 safe zone — keep top 100px and bottom 100px clear of critical text.
Match the design language of the user's reference ads (provided as visual references).
NO purple-on-white gradient. NO Inter / Roboto / Arial. NO AI-generated faces unless the brand uses photography of real people.

Run one image generation call at a time (parallel calls time out on most providers).

Step 6 — Review + save

Save all 4 to <output>/. On macOS run open -a Preview <output>/*.png so the user can scan them. Stage approved ones in <output>/keepers/.

If the user wants to launch directly to Meta, they need the Meta Ads CLI or Meta Ads MCP installed and authenticated separately — this skill stops at creative generation.


Hard rules

  • No em dashes in any ad copy.
  • One image generation call at a time.
  • Always present concepts before generating images. Don't burn API spend on unapproved directions.
  • Brand voice over user voice. This skill writes in the client's / product's voice, not the operator's.
  • Cite sources in pillar map. Every pillar needs a real customer quote — no fabricated psychology.
  • Safe zones — 1080×1350 output, keep 100px top/bottom clear.
  • Reference ads matter. If the user has saved reference ads in their reference_ads_folder, always include them. They're the strongest signal of what the user considers a "good ad."

Built by @tenfoldmarc. Follow for daily AI automation builds — real systems, not theory.