Agent skill

Chatgpt Image Ad

by krusemediallc in krusemediallc/arcads-claude-code

Generate one or more standalone Meta image-ad creatives via ChatGPT Image 2 (gpt-image-2) through the Arcads external API.

MITAuto-check: notesMedia & Creative

Install Chatgpt Image Ad

skills CLI
$ npx skills add krusemediallc/arcads-claude-code --skill chatgpt-image-ad -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install krusemediallc/arcads-claude-code chatgpt-image-ad --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/krusemediallc/arcads-claude-code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/chatgpt-image-ad .claude/skills/chatgpt-image-ad && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
chatgpt-image-ad
GitHub stars
1.6k
Token cost
~2.7k tokens
SKILL.md length
1,050 words
Files
2 (incl. scripts)
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

Generate one or more standalone Meta image-ad creatives via ChatGPT Image 2 (gpt-image-2) through the Arcads external API.

  • Works in 7 steps: Preflight → Gather inputs → Prompt rewrite → …
  • The user asks for a gpt-image-2 ad
  • SKILL.md covers Read order, Hard rules — never relax, Prerequisites and Configuration, plus 8 more sections
  • Runs Python scripts from its folder; calls curl; reaches external-api.arcads.ai; needs ARCADS_API_KEY

What it does

Chatgpt Image Ad is an agent skill from krusemediallc/arcads-claude-code. 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…

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/generate_image.py`).

It sits in Media & Creative, covering Image generation and Paid advertising. It works with OpenAI, Google Gemini, iOS and Slack. The repository describes itself as: Arcads external API: agent skills, prompting library, and Cursor/Claude workspace. The licence is MIT.

When your agent uses it

  • The user asks for a gpt-image-2 ad
  • ChatGPT Image ad
  • Image 2 ad creative
  • Make a static image ad with GPT

Example prompts

  • “gpt-image-2 ad”
  • “ChatGPT Image ad”
  • “Image 2 ad creative”
  • “/chatgpt-image-ad”

Requirements

  • Python 3
  • A credential in ARCADS_API_KEY

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Preflight
  2. Gather inputs
  3. Prompt rewrite
  4. Credit cost confirmation (MANDATORY)
  5. Generate
  6. Visual QA (MANDATORY)
  7. Confirm and hand off

What it can do on your machine

Read from SKILL.md and the folder at commit 1263501. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • external-api.arcads.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ARCADS_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Chatgpt Image Ad loads about 2.7k tokens when it runs. Until then it costs about 165 tokens; SKILL.md has 1,050 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~165
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:30
    - `.env` containing `ARCADS_BASIC_AUTH` (preferred, pre-encoded) OR `ARCADS_API_KEY`
  • NoteMentions a .env fileSKILL.md:31
    Optional: `PRODUCT_ID`, `PROJECT_ID` in `.env` so generated assets land in the right Arcads dashboard folder (see `arcad
  • NoteMentions a .env fileSKILL.md:67
    1. `.env` exists with `ARCADS_BASIC_AUTH` or `ARCADS_API_KEY`.
  • NoteMentions a .env fileSKILL.md:97
    --env-file .env
  • NoteMentions a .env fileSKILL.md:107
    --env-file .env
  • NoteMentions a .env fileSKILL.md:142
    - **401/403** → fix `.env` per `arcads-external-api` setup flow.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from krusemediallc/arcads-claude-code at commit 1263501, republished under its MIT licence (© krusemediallc). 1,050 words, ~2,663 tokens.

Download SKILL.mdSave it as .claude/skills/chatgpt-image-ad/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
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.

chatgpt-image-ad (Arcads)

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.

Read order

  1. This file — Arcads-specific endpoint, auth, presigned upload flow, workflow phases.
  2. 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 — 30+ validated templates with per-model notes.
  4. shared/skills/image-ad-prompting/prompting/safety-suffixes.md — the 3 always-on guards.
  5. scripts/generate_image.py — the helper script (Python stdlib only).

Hard rules — never relax

  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.

Prerequisites

  • .env containing ARCADS_BASIC_AUTH (preferred, pre-encoded) OR ARCADS_API_KEY
  • Optional: PRODUCT_ID, PROJECT_ID in .env so generated assets land in the right Arcads dashboard folder (see arcads-external-api SKILL.md for the session-folder pattern)
  • Reference images on local disk (PNG/JPG/JPEG/WEBP/GIF). The script handles the Arcads presigned-upload flow internally — you pass local paths.

Configuration

  • Base URL: https://external-api.arcads.ai (or ARCADS_BASE_URL).
  • Auth: HTTP Basic. The script prefers a pre-encoded ARCADS_BASIC_AUTH env var (e.g. Basic ZXhhbXBsZTo=); falls back to encoding ARCADS_API_KEY with an empty password.
  • Endpoint: POST /v2/images/generate (request); GET /v1/assets/{id} (poll until status: generated); image URL fetched once status flips.
  • Reference uploads: POST /v1/file-upload/get-presigned-url returns {presignedUrl, filePath}; PUT the bytes to presignedUrl; pass the filePath string in referenceImages. Each filePath is single-use — the script re-uploads per variant so parallel runs don't collide.

Generation modes

ModeWhen to useRequiredOptional
image (default)Generate a brand-new ad image.--prompt, --aspect-ratio--image-ref (up to 5)
image_editModify an existing image (swap colors, change background, add element).--prompt, --source--image-ref (up to 5)

Supported aspect ratios

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.

Inputs the user must provide

InputNotes
Seed promptThe creative direction in their words. You will rewrite it (see Phase 3).
Aspect ratioOne 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 NDefault 1. Cap at 5.
Modeimage (default) or image_edit.
Source imageRequired only for image_edit.

Workflow

Phase 1: Preflight
  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.
Phase 2: Gather inputs

Collect: seed prompt, mode, source (if edit), reference paths, variant count, aspect ratio.

Phase 3: Prompt rewrite

Read 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 before generating.

Fill the {placeholders} and show the user the rewritten prompt. Ask "Use this, edit it, or start over?" Loop until approved.

For fresh prompts (no template match), follow the structure in shared/skills/chatgpt-image-ad/prompting/guide.md § Phase 3b.

Show full SKILL.md (394 more words)Show less
Phase 4: Credit cost confirmation (MANDATORY)

Per arcads-external-api conventions: present an estimated credit cost (read from logs/arcads-api.jsonl for matching past calls, or MASTER_CONTEXT.md rate table). Wait for explicit confirmation before firing.

Phase 5: Generate
bash
~/.claude/skills/chatgpt-image-ad/scripts/generate_image.py \
  --prompt "<rewritten>" \
  --aspect-ratio <ratio> \
  --n <N> \
  --image-ref <product.png> \
  [--image-ref <style-board.png>] \
  --out ./generated \
  --env-file .env

# For an edit run:
~/.claude/skills/chatgpt-image-ad/scripts/generate_image.py \
  --mode image_edit \
  --prompt "<edit-instruction>" \
  --source <existing.png> \
  [--image-ref <guidance.png>] \
  --n <N> \
  --out ./generated \
  --env-file .env

Each line on stdout is one JSON variant (variant, path, asset_id, width, height, prompt, mode, aspect_ratio, model).

Log each call to logs/arcads-api.jsonl with model=gpt-image-2, the variant count, referenceImages count, and the returned asset_ids, per arcads-external-api skill conventions.

Phase 6: Visual QA (MANDATORY)

For each completed variant, read the image and inspect for:

  • Garbled small text (most common gpt-image-2 failure on dense body text)
  • Wordmark drift (if a brand wordmark wasn't passed as --image-ref)
  • Wrong text count (e.g. 4 Slack messages instead of 3)
  • iOS dialog / UI proportion drift

If defects: regenerate with a revised prompt explicitly correcting the issue (see shared/skills/chatgpt-image-ad/prompting/guide.md § Retry mode). Cap at 2 retries per variant.

Phase 7: Confirm and hand off

Show all paths to the user. Ask "Use all / use these specific ones / regenerate / cancel."

Selected variants are now ready for your Meta-ad-builder skill (the separate skill that handles cloning, copy, and upload). Print the paths so the user can pipe them.

Optionally, write the selected paths to ./generated/run-<ts>.jsonl (one path per line, JSON-wrapped) for downstream consumption.

Out of scope — fail clearly

  • Meta upload — different skill in your stack.
  • Nano Banana / Gemini image generation — use nano-banana-image-ad.
  • Video, carousel, DCO ads — image only.
  • Ad copy writing — different skill.
  • Editing the shared prompt library — use image-ad-clone (asks which backend at Phase 1).

Common errors

  • 401/403 → fix .env per arcads-external-api setup flow.
  • 400 Max 5 reference image(s) allowed → reduce --image-ref count to ≤5.
  • 422 validation/moderation → tighten the prompt; check that aspectRatio is in the supported set.
  • 500 UNKNOWN_ERROR → usually a stale presigned filePath being reused. The script re-uploads per variant; if you still see this, file an issue with the asset_id from the response.

Files this skill owns

  • ~/.claude/skills/chatgpt-image-ad/SKILL.md — this file
  • ~/.claude/skills/chatgpt-image-ad/scripts/generate_image.py — Arcads gpt-image-2 caller (presigned upload + generate + poll + download)

See also

© krusemediallc, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in skills/chatgpt-image-ad of krusemediallc/arcads-claude-code.

  • SKILL.md
  • scripts/generate_image.py

Open the folder on GitHubat commit 1263501

Compare with similar skills

Chatgpt Image Ad next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Chatgpt Image Ad compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Chatgpt Image Ad this skillkrusemediallc/arcads-claude-code1.6k—~2.7kAutomated safety check: NotesMIT
Nano Banana Pro Prompts Recommend SkillYouMind-OpenLab/nano-banana-pro-prompts-recommend-skill1.9k1 repos~4.1kAutomated safety check: PassNone
AI Image Creatorcentminmod/my-claude-code-setup2.7k—~8.1kAutomated safety check: NotesMIT
Nano Banananexu-io/nexu3.3k—~757Automated safety check: PassMIT
Nano Banana One Shopnexu-io/nexu3.3k—~870Automated safety check: PassMIT
Zy Cinematic Realismpopopo-99/zy-cinematic-realism570—~4.6kAutomated safety check: PassCC-BY-NC-4.0

Similar skills

  • Nano Banana Pro Prompts Recommend Skill

    YouMind-OpenLab/nano-banana-pro-prompts-recommend-skill

    Recommend suitable prompts from 10,000+ Nano Banana Pro image generation prompts based on user needs.

    1.9k GitHub starsUsed in 1 repo~4.1k tokens
    Media & CreativeAuto-check passed
  • AI Image Creator

    centminmod/my-claude-code-setup

    Generate, edit-from-reference, or analyze images with AI via OpenRouter (Gemini, GPT Image, Seedream, Qwen, MAI, Grok, FLUX.2, Recraft, Muse, Riverflow; Cloudflare AI Gateway BYOK).

    2.7k GitHub stars~8.1k tokensUpdated 3 days ago
    Media & CreativeAuto-check: notes
  • Nano Banana

    nexu-io/nexu

    Generate or edit images via Nano Banana image models. An agent skill from nexu-io/nexu.

    3.3k GitHub stars~757 tokensUpdated 5 mo ago
    Media & CreativeAuto-check passed
  • All-in-one image generation with Gemini models. An agent skill from nexu-io/nexu.

    3.3k GitHub stars~870 tokensUpdated 5 mo ago
    Media & CreativeAuto-check passed
  • Zy Cinematic Realism

    popopo-99/zy-cinematic-realism

    Develop supplied scripts, short stories, or synopses into scene understanding, director-facing art concepts, and motivated narrative keyframes; compile scene ideas, visual references, or existing…

    570 GitHub stars~4.6k tokensUpdated 7 days ago
    Media & CreativeAuto-check passed
  • Image Generation

    Negai-ai/AgentClaw

    Generate, edit, and iterate raster images from text prompts or reference images with GPT Image, Nano Banana, or Seedream.

    330 GitHub stars~1.9k tokensUpdated 4 mo ago
    Media & CreativeAuto-check: notes

More from krusemediallc/arcads-claude-code

All 8 skills in this repo
  • Analyze Video

    krusemediallc/arcads-claude-code

    Analyze a reference video and reverse-engineer its style into a reusable Seedance 2.0 prompting template.

    1.6k GitHub stars~4.2k tokensUpdated 18 days ago
    Auto-check passed
  • Generate Youtube Thumbnail

    krusemediallc/arcads-claude-code

    Generate high-CTR YouTube thumbnails using Nano Banana 2 via the Arcads external API.

    1.6k GitHub stars~2.4k tokensUpdated 18 days ago
    Auto-check: notes
  • Meta Ad Builder

    krusemediallc/arcads-claude-code

    Publish finished creatives as live Meta (Facebook/Instagram) ads via the Meta Marketing API, plus research and ad-copy support.

    1.6k GitHub stars~1.7k tokensUpdated 18 days ago
    Auto-check: notes
  • Nano Banana Image Ad

    krusemediallc/arcads-claude-code

    Generate one or more standalone Meta image-ad creatives via Nano Banana 2 / Nano Banana Pro (Gemini Flash Image family) through the Arcads external API.

    1.6k GitHub stars~2.5k tokensUpdated 18 days ago
    Auto-check: notes
  • Image Ad Clone

    krusemediallc/arcads-claude-code

    A skill your agent uses when the user wants to reverse-engineer an existing image ad into a reusable prompt template.

    1.6k GitHub stars~2.4k tokensUpdated 18 days ago
    Auto-check: notes
  • Arcads External API

    krusemediallc/arcads-claude-code

    Creates and retrieves AI video and image-related assets via the Arcads external API (Seedance 2.0, Sora 2, Veo 3.1, Kling, Grok Video, Nano Banana, b-roll, scene, script/actor flows).

    1.6k GitHub stars~8.7k tokensUpdated 18 days ago
    Auto-check: notes

Questions about Chatgpt Image Ad

What does Chatgpt Image Ad do?

Generate one or more standalone Meta image-ad creatives via ChatGPT Image 2 (gpt-image-2) through the Arcads external API. Chatgpt Image Ad is an agent skill from krusemediallc/arcads-claude-code. Generate one or more standalone Meta image-ad creatives via ChatGPT Image 2 (gpt-image-2) through the Arcads external API.

When should I use Chatgpt Image Ad?

Chatgpt Image Ad fits situations like: the user asks for a gpt-image-2 ad; chatGPT Image ad; image 2 ad creative; make a static image ad with GPT.

How do I install Chatgpt Image Ad in Claude Code?

Run `npx skills add krusemediallc/arcads-claude-code --skill chatgpt-image-ad -a claude-code`. Or copy the skill folder (skills/chatgpt-image-ad in krusemediallc/arcads-claude-code) into .claude/skills/chatgpt-image-ad in your project. Claude Code loads it when a task matches its description.

How do I install Chatgpt Image Ad in Codex?

Run `npx skills add krusemediallc/arcads-claude-code --skill chatgpt-image-ad -a codex`. Or copy the skill folder (skills/chatgpt-image-ad in krusemediallc/arcads-claude-code) into .agents/skills/chatgpt-image-ad in your project. Codex loads it when a task matches its description.

Can I use Chatgpt Image Ad in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add krusemediallc/arcads-claude-code --skill chatgpt-image-ad -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/chatgpt-image-ad, .gemini/skills/chatgpt-image-ad, .github/skills/chatgpt-image-ad and .opencode/skills/chatgpt-image-ad in your project.

What does Chatgpt Image Ad need to run?

Going by SKILL.md and its folder, Chatgpt Image Ad needs Python for the scripts in its folder, the command-line tools its instructions call (curl) and credentials named ARCADS_API_KEY. Our summary lists: Python 3; A credential in ARCADS_API_KEY.

Does Chatgpt Image Ad access the network?

SKILL.md names 1 domain. In commands or code: external-api.arcads.ai; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Chatgpt Image Ad safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Chatgpt Image Ad use?

Chatgpt Image Ad is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Chatgpt Image Ad use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Chatgpt Image Ad?

Skills that share tags, products or a category with Chatgpt Image Ad: Nano Banana Pro Prompts Recommend Skill (YouMind-OpenLab/nano-banana-pro-prompts-recommend-skill, 1.9k stars), AI Image Creator (centminmod/my-claude-code-setup, 2.7k stars), Nano Banana (nexu-io/nexu, 3.3k stars) and Nano Banana One Shop (nexu-io/nexu, 3.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Chatgpt Image Ad?

krusemediallc (a GitHub user) maintains it in krusemediallc/arcads-claude-code, which has 1,585 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on September 22, 2026.

Source: krusemediallc/arcads-claude-code on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.