muapi-ad-creative
Generate a high-converting ad creative set — hero image, ad copy variations, and platform-optimized crops for Meta, Google Display, and LinkedIn.
Paste into Claude, ChatGPT or Cursor.
Read the source79 lines
| 1 | |
| 2 | slug muapi-ad-creative |
| 3 | name muapi-ad-creative |
| 4 | version "1.0.0" |
| 5 | description Generate a high-converting ad creative set — hero image, ad copy variations, and platform-optimized crops for Meta, Google Display, and LinkedIn. |
| 6 | acceptLicenseTerms true |
| 7 | |
| 8 | |
| 9 | |
| 10 | # Ad Creative Set |
| 11 | |
| 12 | **Generate a high-converting ad creative set — hero image, ad copy variations, and platform-optimized crops for Meta, Google Display, and LinkedIn.** |
| 13 | |
| 14 | ## Inputs |
| 15 | |
| 16 | | Name | Type | Required | Default | Description | |
| 17 | |:---|:---|:---|:---|:---| |
| 18 | | `product_or_service` | text | yes | — | What is being advertised (e.g. "SaaS project management tool for remote teams"). | |
| 19 | | `target_audience` | text | yes | — | Who the ad is for (e.g. "startup founders aged 25–40, tech-savvy"). | |
| 20 | | `campaign_goal` | text | no | awareness | Campaign objective — "awareness", "consideration", or "conversion". | |
| 21 | | `tone` | text | no | professional, clean, modern | Creative tone and visual style (e.g. "bold and disruptive", "luxury minimal", "friendly and approachable"). | |
| 22 | | `product_image` | image_url | no | — | Optional product or brand image URL already in the session. | |
| 23 | |
| 24 | |
| 25 | ## Steps |
| 26 | |
| 27 | This skill has TWO phases. Phase A creates the hero concept for approval; Phase B fans out to platform formats. |
| 28 | |
| 29 | ### Phase A — Hero image + Ad copy |
| 30 | |
| 31 | Submit ONE the plan with: |
| 32 | |
| 33 | **Hero image** — `muapi image generate` (model=nano-banana-pro) or `muapi image edit` (model=nano-banana-pro-edit) if `{{product_image}}` is provided: |
| 34 | Aspect ratio: 1:1 (universal starting point). |
| 35 | Prompt must capture: product/service benefit, target audience lifestyle cue, campaign tone. |
| 36 | Style: `{{tone}}, advertising photography, clean background, product focus, ultra detailed, commercial quality`. |
| 37 | Tier: quality. |
| 38 | |
| 39 | After the plan executes, present the hero asset and 3 ad copy variations: |
| 40 | **Variation A** — Problem-aware hook: "Tired of X? [Product] fixes that." |
| 41 | **Variation B** — Benefit-led: "[Feature] → [Outcome] for [Audience]." |
| 42 | **Variation C** — Social proof / urgency: "X teams already use [Product]." |
| 43 | Each variation includes: Headline (6 words max), Body (20–30 words), CTA button text. |
| 44 | |
| 45 | Ask which copy variation to use for Phase B. Wait for user confirmation. |
| 46 | |
| 47 | ### Phase B — Platform crops |
| 48 | |
| 49 | Once the user picks a copy direction, submit a SECOND the plan with parallel crops: |
| 50 | |
| 51 | `muapi image edit` → 1:1 (Facebook/Instagram feed, 1080×1080) |
| 52 | `muapi image edit` → 9:16 (Story/Reels, 1080×1920) |
| 53 | `muapi image edit` → 1.91:1 (Facebook feed wide, 1200×628) |
| 54 | `muapi image edit` → 1:1 (LinkedIn feed, same as FB) |
| 55 | |
| 56 | For each crop: |
| 57 | Prompt: "Reframe for [platform] ad format. Keep product/subject centered and uncropped. Maintain original palette and tone. Leave headroom/footroom for text overlays." |
| 58 | All crops run in parallel. |
| 59 | |
| 60 | Return one asset per format with the recommended copy overlay placement for each. |
| 61 | |
| 62 | ## Notes |
| 63 | If `campaign_goal` is "conversion", emphasize urgency and direct CTA in copy. |
| 64 | If `campaign_goal` is "awareness", prioritize visual impact over text density. |
| 65 | Reference `product_image` via `$nX.url` syntax in Phase B nodes to ensure consistency. |
| 66 | Do NOT auto-confirm Phase B without user picking a copy variation. |
| 67 | |
| 68 | ## Trigger Keywords |
| 69 | |
| 70 | `ad creative`, `advertisement`, `facebook ad`, `meta ad`, `google ad`, `linkedin ad`, `paid ad`, `ad banner`, `display ad` |
| 71 | |
| 72 | |
| 73 | |
| 74 | |
| 75 | ## Notes for the Executing Agent |
| 76 | |
| 77 | This recipe is LLM-orchestrated: read each phase, gather any missing inputs from the user, then call `muapi` CLI commands. Use `muapi auth configure` first if `MUAPI_API_KEY` is unset. |
| 78 | For model IDs without a CLI alias yet, fall back to the raw endpoint via `curl -X POST https://api.muapi.ai/api/v1/<endpoint> -H "x-api-key: $MUAPI_API_KEY" -H 'content-type: application/json' -d '{...}'` and poll with `muapi predict wait <request_id>`. |
| 79 | Substitute `{{input_name}}` placeholders with the user's actual inputs before issuing each call. |