nano-banana-image-ad
Generate one or more standalone Meta image-ad creatives via Nano Banana 2 / Nano Banana Pro (Gemini Flash Image family) through the KIE.ai API.
Skill by harperaa
Chalk Labs
Need help deploying nano-banana-image-ad?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/harperaa-nano-banana-image-ad
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, marketing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/nano-banana-image-ad
What's inside
- Skill name
nano-banana-image-ad- Description
- Generate one or more standalone Meta image-ad creatives via Nano Banana 2 / Nano Banana Pro (Gemini Flash Image family) through the KIE.ai API. Locks the model family, auto-strips platform chrome, enforces edge-safe layouts. Use when the user asks for a "Nano Banana ad", "Gemini image ad", "nano-banana-2 ad creative", or anchors on a need for photoreal / lifestyle / multi-reference / handheld-object / clay-texture ad creatives (sticky-note flatlays, held-whiteboard signs, lifestyle portraits, ingredient collages, OOH photography). Does NOT trigger on ChatGPT Image cues — use chatgpt-image-ad for those.
- License
- MIT
- Instructions
- 160 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- files: referenced but missing: scripts/generate_image.py
Files (1)
- SKILL.md
SKILL.md (first lines)
# nano-banana-image-ad (KIE.ai)
Generate one or more **standalone Meta ad image creatives** via KIE.ai's `POST /api/v1/jobs/createTask` with the Nano Banana model family (default `nano-banana-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** — KIE-specific endpoint, auth, URL-only reference flow, workflow phases.
2. **[shared/skills/nano-banana-image-ad/prompting/guide.md](../../shared/skills/nano-banana-image-ad/prompting/guide.md)** — model-specific prompting.
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).
## Hard rules — never relax
1. **Model is in the Nano Banana family.** Accepts `nano-banana-2` (default), `nano-banana-pro`, `nano-banana-edit`, or `nano-banana` (legacy). Anything else is refused.
2. **No platform/screenshot chrome.** `NO_CHROME_SUFFIX` always on.
3. **Edge-safe + glyph-safety suffixes always on** unless `--no-safe-zone` is explicit.
4. **Max 14 reference URLs.** KIE's `input.image_input` cap.
5. **References are public URLs.** KIE has NO presigned-upload flow. Local files are rejected at the CLI. Host on R2 / S3 / Cloudinary / your CDN first.
6. **No Meta upload from this skill.** Image generation only.
7. **Always present a credit-cost estimate** before generating (read `logs/kie-api.jsonl` or `MASTER_CONTEXT.md` rates; `nano-banana-pro` > `nano-banana-2`).
## Prerequisites
- `.env` containing `KIE_API_KEY`
- Reference images hosted at PUBLIC URLs (R2 / S3 / Cloudinary / Imgur / GitHub raw / etc.)
- If you only have local files, see `MASTER_CONTEXT.md` § Image hosting for the user's chosen hosting strategy
## Configuration
- **Base URL:** `https://api.kie.ai` (or `KIE_BASE_URL`).
- **Auth:** `Authorization: Bearer $KIE_API_KEY`.
- **Submit:** `POST /api/v1/jobs/createTask` with `{model: "nano-banana-2", input: {prompt, image_input?, aspect_ratio}}`.
- **Poll:** `GET /api/v1/jobs/recordInfo?taskId=<id>` until `data.state == "success"`. Result URLs in `data.resultJson` (JSON-encoded string).
## Generation modes
| Mode | When to use | Required | Optional |
|---|---|---|---|
| `image` (default) | Brand-new ad image. | `--prompt`, `--aspect-ratio` | `--image-url` (up to 14) |
| `image_edit` | Modify a `--source-url` image. | `--prompt`, `--source-url` | `--image-url` (up to 14 additional refs) |
## Supported aspect ratios
`1:1`, `4:5`, `5:4`, `2:3`, `3:2`, `9:16`, `16:9`, `3:4`, `4:3`, `21:9`.
**Default to `4:5` for Meta feed-portrait** — Nano Banana renders this natively. `chatgpt-image-ad` can't on either backend without post-cropping.
## Model variants (`--model`)
- **`nano-banana-2`** (default) — Gemini 2.5 Flash Image.
- **`nano-banana-pro`** — Gemini 3 Pro Image. Use for hero stills, identity continuity, material-realism critical shots.
- **`nano-banana-edit`** — inpaint-focused. Use only with `--mode image_edit`.
- **`nano-banana`** — legacy.
Confirm with user before first call in a session if not already in `MASTER_CONTEXT.md`.
## Workflow
### Phase 1: Preflight
1. `.env` exists with `KIE_API_KEY`.
2. Health-check: a quick `GET /api/v1/jobs/recordInfo?taskId=test` returns a recognized auth response (any 4xx other than 401 means auth is good).
3. Reference URLs reachable (`curl -I <url>` returns 200) — the script does this automatically unless `--skip-url-check`.
### Phase 2: Gather inputs
Collect: seed prompt, mode, source URL (if edit), reference URLs (up to 14), variant count, aspect ratio, model variant.
If user has local files only, stop and ask: "Where do you host these (R2 / S3 / Cloudinary / etc.)?" Document the answer in `MASTER_CONTEXT.md` so future runs don't re-ask.
### Phase 3: Prompt rewrite
Read [shared/skills/image-ad-prompting/prompting/prompt-library.md](../../shared/skills/image-ad-prompting/prompting/prompt-library.md). Match a template (check `Model notes` block — only proceed if `nano-banana` is preferred or clean). Fill placeholders. Show the user. Ask for approval.
For fresh prompts: follow the [shared/skills/nano-banana-image-ad/prompting/guide.md § Phase 3b](../../shared/skills/nano-banana-image-ad/prompting/guide.md) structure.
### Phase 4: Credit cost confirmation (MANDATORY)
Present the estimate (read `logs/kie-api.jsonl` for matching past calls, or KIE pricing page). Wait for explicit confirmation.
### Phase 5: Generate
```bash
~/.claude/skills/nano-banana-image-ad/scripts/generate_image.py \
--prompt "<rewritten>" \
--aspect-ratio <ratio> \
--n <N> \
--image-url https://<your-host>/product.jpg \
[--image-url https://<your-host>/character.jpg] \
--out ./generated \
--env-file .env
# Higher-stakes hero shot:
~/.claude/skills/nano-banana-image-ad/scripts/generate_image.py \
--model nano-banana-pro \
--prompt "<rewritten>" \
--aspect-ratio <ratio> \
--n <N> \
--image-url https://<your-host>/product.jpg \
--out ./generated \
--env-file .env
# Edit run (inpaint):
~/.claude/skills/nano-banana-image-ad/scripts/generate_image.py \
--mode image_edit \
--model nano-banana-edit \
--prompt "<edit-instruction>" \
--source-url https://<your-host>/existing.png \
[--image-url https://<your-host>/guidance.png] \
--n <N> \
--out ./generated \
--env-file .env
```
Each line on stdout is one JSON variant (`variant`, `path`, `task_id`, `width`, `height`, `prompt`, `mode`, `aspect_ratio`, `model`).
Log each call to `logs/kie-api.jsonl` per the `kie-external-api` SKILL.md conventions.From harperaa/hermes-plugin-short-form, MIT.
More from harperaa/hermes-plugin-short-form
- 0.524score
kie-external-api
harperaa
Creates and retrieves AI video and image assets via the KIE.ai API (Veo 3.1, Sora 2, Nano Banana 2, Kling, Seedance, and other models in the KIE marketplace).
SkillBFreshness: BClaude Code +9 - 0.524score
meta-ad-builder
harperaa
Publish finished creatives as live Meta (Facebook/Instagram) ads via the Meta Marketing API, plus research and ad-copy support.
SkillBFreshness: BClaude Code +9 - 0.520score
chatgpt-image-ad
harperaa
Generate one or more standalone Meta image-ad creatives via ChatGPT Image 2 (gpt-image-2) through the KIE.ai API.
SkillBFreshness: BClaude Code +9 - 0.520score
generate-youtube-thumbnail
harperaa
Generate high-CTR YouTube thumbnails using Nano Banana 2 via the KIE.ai API.
SkillBFreshness: BClaude Code +9 - 0.515score
remotion-best-practices
harperaa
Router for all Remotion skills
SkillBFreshness: BClaude Code +9 - 0.512score
remotion-create
harperaa
Create a new Remotion video
SkillBFreshness: BClaude Code +9 - 0.512score
remotion-render
harperaa
Export a Remotion video
SkillBFreshness: BClaude Code +9 - 0.512score
remotion-studio
harperaa
Preview a Remotion video
SkillBFreshness: BClaude Code +9 - 0.507score
remotion-multimedia
harperaa
Interacting with Mediabunny
SkillBFreshness: BClaude Code +9 - 0.499score
image-ad-clone
harperaa
Use when the user wants to reverse-engineer an existing image ad into a reusable prompt template.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 7, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from harperaa
- 0.524score
kie-external-api
harperaa
Creates and retrieves AI video and image assets via the KIE.ai API (Veo 3.1, Sora 2, Nano Banana 2, Kling, Seedance, and other models in the KIE marketplace).
SkillBFreshness: BClaude Code +9 - 0.524score
meta-ad-builder
harperaa
Publish finished creatives as live Meta (Facebook/Instagram) ads via the Meta Marketing API, plus research and ad-copy support.
SkillBFreshness: BClaude Code +9 - 0.520score
chatgpt-image-ad
harperaa
Generate one or more standalone Meta image-ad creatives via ChatGPT Image 2 (gpt-image-2) through the KIE.ai API.
SkillBFreshness: BClaude Code +9 - 0.520score
generate-youtube-thumbnail
harperaa
Generate high-CTR YouTube thumbnails using Nano Banana 2 via the KIE.ai API.
SkillBFreshness: BClaude Code +9 - 0.515score
remotion-best-practices
harperaa
Router for all Remotion skills
SkillBFreshness: BClaude Code +9 - 0.512score
remotion-create
harperaa
Create a new Remotion video
SkillBFreshness: BClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get nano-banana-image-ad running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
nano-banana-image-ad skill. Agent Mart. https://agentmart.dev/skills/harperaa-nano-banana-image-ad (last updated 2026-10-24)