meta-ad-builder
Publish finished creatives as live Meta (Facebook/Instagram) ads via the Meta Marketing API,…
Generate one or more standalone Meta image-ad creatives via ChatGPT Image 2 (gpt-image-2) through the Arcads external API. Locks the model, auto-strips platform chrome, enforces edge-safe layouts and glyph-safety inside body text. Use when the user asks for a "gpt-image-2 ad",
$ npx -y skills add krusemediallc/arcads-claude-code --skill chatgpt-image-ad --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/chatgpt-image-adContext preview
The summary Claude sees to decide when to auto-load this skill.
Generate one or more standalone Meta image-ad creatives via ChatGPT Image 2 (gpt-image-2) through the Arcads external API. Locks the model, auto-strips platform chrome, enforces edge-safe layouts and glyph-safety inside body text. Use when the user asks for a "gpt-image-2 ad",
name: chatgpt-image-ad description: >- Generate one or more standalone Meta image-ad creatives via ChatGPT Image 2 (gpt-image-2) through the Arcads external API. Locks the model, auto-strips platform chrome, enforces edge-safe layouts and glyph-safety inside body text. Use when the user asks for a "gpt-image-2 ad", "ChatGPT Image ad", "Image 2 ad creative", "make a static image ad with GPT", or anchors on a need for typography-heavy / dense-text / UI-mimicry ad creatives (chat threads, comparison tables, fake search results, iOS dialogs, Slack snapshots, ChatGPT-conversation ads, Apple Notes lists). Does NOT trigger on Nano Banana cues — use nano-banana-image-ad for those.
Generate one or more **standalone Meta ad image creatives** via Arcads' `POST /v2/images/generate` with `model: "gpt-image-2"`. Hands the image paths off to your Meta-ad-builder skill — this skill does not upload to Meta itself.
1. **This file** — Arcads-specific endpoint, auth, presigned upload flow, workflow phases. 2. **[shared/skills/chatgpt-image-ad/prompting/guide.md](../../shared/skills/chatgpt-image-ad/prompting/guide.md)** — model-specific prompting (what gpt-image-2 is good/bad at, when to switch to nano-banana). 3. **[shared/skills/image-ad-prompting/prompting/prompt-library.md](../../shared/skills/image-ad-prompting/prompting/prompt-library.md)** — 30+ validated templates with per-model notes. 4. **[shared/skills/image-ad-prompting/prompting/safety-suffixes.md](../../shared/skills/image-ad-prompting/prompting/safety-suffixes.md)** — the 3 always-on guards. 5. **[scripts/generate_image.py](scripts/generate_image.py)** — the helper script (Python stdlib only).
1. **Model is `gpt-image-2`.** The script refuses any other value. If the user asks for nano-banana, point them at `nano-banana-image-ad`. 2. **No platform/screenshot chrome in output.** `NO_CHROME_SUFFIX` is always on (override with `--allow-chrome` only when the ad's concept *requires* chrome — rare). 3. **Edge-safe + glyph-safety suffixes always on** unless `--no-safe-zone` is explicit. They fix real failures; don't remove silently. 4. **Max 5 reference images.** Hard Arcads cap for gpt-image-2 (observed `400 Max 5 reference image(s) allowed`). The script enforces. 5. **No Meta upload from this skill.** Image generation only. The user has a separate ad-builder skill in their stack — hand off via filesystem paths. 6. **Always present a credit-cost estimate before generating** (see Arcads `arcads-external-api` skill conventions). Each gpt-image-2 call is one image; multiply by `--n` variants.
| Mode | When to use | Required | Optional | |---|---|---|---| | `image` (default) | Generate a brand-new ad image. | `--prompt`, `--aspect-ratio` | `--image-ref` (up to 5) | | `image_edit` | Modify an existing image (swap colors, change background, add element). | `--prompt`, `--source` | `--image-ref` (up to 5) |
`1:1`, `16:9`, `9:16`. **Only these three are accepted by Arcads' `/v2/images/generate` endpoint** (confirmed live: `aspectRatio must be one of the following values: 1:1, 16:9, 9:16`). Templates in the shared library that use `2:3`, `3:2`, `4:5`, etc. won't render at their native ratio on this backend — fall back to `1:1` and crop, or use the KIE chatgpt-image-ad sibling which supports `2:3` and `3:2` natively via its dedicated `/gpt4o-image/generate` endpoint.
| Input | Notes | |---|---| | Seed prompt | The creative direction in their words. You will rewrite it (see Phase 3). | | Aspect ratio | One of the 5 above. Reject anything else. | | Reference image(s) | Optional but strongly recommended when the ad features a specific product. Up to 5. | | Variant count `N` | Default 1. Cap at 5. | | Mode | `image` (default) or `image_edit`. | | Source image | Required only for `image_edit`. |
1. `.env` exists with `ARCADS_BASIC_AUTH` or `ARCADS_API_KEY`. 2. (Optional) `arcads-external-api` session folder is set up (see that skill's "Session setup" section). If `PRODUCT_ID` / `PROJECT_ID` aren't set, generated assets land in the default project — you can fix later via `POST /v1/assets/add-to-project`. 3. Health-check: `curl -sf -H "$AUTH" "$BASE_URL/v1/products"` returns 200.
Collect: seed prompt, mode, source (if edit), reference paths, variant count, aspect ratio.
Read [shared/skills/image-ad-prompting/prompting/prompt-library.md](../../shared/skills/image-ad-prompting/prompting/prompt-library.md). If the user's brief maps onto a template, **check the Model notes block** — only proceed if `gpt-image-2` is marked clean or preferred. If nano-banana is preferred, suggest switching skills bef
Create AI marketing videos and images using your Arcads account, powered by AI agents in Claude Code or Cursor.
Repo: krusemediallc/arcads-claude-code
Publish finished creatives as live Meta (Facebook/Instagram) ads via the Meta Marketing API,…
Creates and retrieves AI video and image-related assets via the Arcads external API (Seedance…
Analyze a reference video and reverse-engineer its style into a reusable Seedance 2.0…
Clone an existing video ad for a different product or offer. Analyzes the source video's…
Generate high-CTR YouTube thumbnails using Nano Banana 2 via the Arcads external API. Handles…
Use when the user wants to reverse-engineer an existing image ad into a reusable prompt…