AI CEO Lab← All free guides
On this page
Ads · Statics

AI Generated Ads: Static Ads With Nano Banana Pro

Her sentence as the headline, the treatment zone drawn on a real looking person, one price shape, four bullets that are actually on your page, and the address bar. The skeleton from the statics that won in my accounts, rendered in one prompt, and the before and after rule a clinic cannot break.

AI Generated Ads: Static Ads With Nano Banana Pro

I read every static that produced leads across my clinic accounts and laid them side by side. Different clinics, different procedures, different designers. Same eight things on every one. A city strip at the top. The procedure in big type. One price shape. A short panel of benefits. A person with the treatment zone drawn on. A button. The address. That is not a style. That is a skeleton, and it is why they worked.

The old way to make one was a designer, three rounds of revisions, and a week. Now an image model that renders text properly does it in a prompt. Nano Banana Pro is the one I use, through Google or inside Higgsfield, because the on-image words come out spelled and legible, which is the whole job for a static.

The speed is also the danger. It is now trivially easy to generate a before and after that never happened, a review count you do not have, a face with skin like a mannequin. In a medical practice each of those is a complaint waiting to be filed. So this guide is two things at once: the prompt that renders the skeleton, and the four lines that decide what is allowed on it.

The idea that a strong image comes from a clear prompt, the right model, the right settings, and a reference you explain, comes from a video ads course I took. The skeleton, the patient is the hero rule, and the compliance lines are mine, learned on accounts where the money was real.

The three levels

Level 1 · Manual

A stock photo, the clinic logo, the word radiant, exported from a template tool, one size, boosted.

Level 2 · AI + connections

Every static follows the eight element skeleton. Rendered in batches of six from one prompt with every on-image string in quotes, reviewed on a contact sheet, refined once, shipped in feed and story sizes.

Level 3 · Agents on cadence

Your agent takes the offer sheet, writes the prompts per angle, renders the batch, lays out the contact sheet, and multiplies the winner by area, price shape and person. You approve the slate and the claims.

Connections for this guide: An image model that renders text well (Nano Banana Pro through Google's Gemini app, the Gemini API, or Higgsfield). Your offer page, because nothing goes on the image that is not on it. A portrait of any real staff member who appears, with consent. Your device or product photo as a reference. The static skill below.

The mental model

Wrong

Describe a nice image, generate one, add text in a template tool, hope.

Right

Write every word first, from the page. Put them in the skeleton in order. Describe the person so she reads human. Render six. Read the contact sheet. Refine once. Ship two sizes. Multiply the winner.

RoleTalks to youJob
The wordsFirstHeadline in her words, four bullets from the page, one price shape, address
The skeletonSecondCity strip, headline, gold display line, person with treatment zone, panel, price, CTA, address bar
The personThirdThe patient fills half the frame; real staff only with consent and an identity lock
The batchFourthSix per angle, contact sheet, one refinement per image
The sizesLastFeed 4:5 is the master, story 9:16 built inside the safe zone

The skeleton, the prompt, the batch

1. Write every word before you open the model

Headline: her sentence, the belief she already holds or the thing she says out loud, in capitals with no apostrophes because big condensed type mangles them. The procedure or the area for the display line. One price shape only: starting at, a deposit that comes off the total, or an approved offer. Four bullets in the exact language your page uses. The call to action. The address. A financing or disclaimer line if a monthly figure or a surgical claim appears. If a word is not on your page or in a source you can show, it does not go on the image.

2. The skeleton, top to bottom

A thin strip in capitals: now available in your city. The headline in heavy condensed capitals. The procedure or area in a display face. The patient on one side, filling at least half the frame, with thin dashed lines drawn on the treatment zone like a physician's markings; for a laser, a warm under-skin glow on her, not on the device. A rounded panel with the four bullets. The price shape in large type. A small pill with the call to action. A bar with the full street address. Dark slate and gold for body, cream and charcoal for physician and consultation ads. That is the layout. Change the words, the area, the price shape and the person. Do not change the skeleton.

3. The person reads human, or it does not ship

State her age range and an average realistic build. Real skin micro texture, natural asymmetry, no retouching sheen, eyes open, dignified, never distressed. The provider is a gloved hand with the handpiece entering from the edge, a small out of focus figure behind her, or a name line. One credential ad per set may show the doctor's portrait, from a real photo with consent and the identity lock: preserve the exact face, hair, skin tone, build and clothing, re-light and re-compose only. Read the render next to the photo. If it is not her, it does not ship. If any face looks AI, it does not ship.

4. The product or device as a reference, explained

Attach the device photo, the vial, the page diagram. Then say what the reference is for: preserve the shape, the branding and the colour, place it here, at this size. A reference without an instruction gets copied in the wrong way; the pose when you wanted the product, the background when you wanted the face. When several objects must land in one frame, lay them out on one labelled composite first and refer to each by its label. That trick came from the course and it works.

5. Before and after, the only compliant way

Never generate one. Not a mock up, not an illustration, not a placeholder. A generated before and after is a fabricated medical result. The only before and after that goes on an ad is a real patient's, with written consent, unretouched, same lighting, same angle, with individual results vary on the image. If you do not have that, the honest alternatives outperform it anyway: the annotated treatment zone, a cross section of the mechanism under the skin, a real phone photo from the visit with the device in use, or the physician answering the question she is actually asking.

6. Render six, read the sheet, refine once

One prompt, six outputs, 2k resolution, 4:5. Download them and lay them out side by side before judging any one. Spelling, cut off text, duplicated lines, hands, skin, the treatment zone in the right place. At most one refinement per image, referencing the same job and asking it to keep everything identical and change only the defect. If a text defect survives the refinement, reword the line rather than rolling again. Then the compliance read: every bullet on the page, the price shape approved, the financing line complete, no FDA wording beyond the exact clearance.

7. Two sizes, then multiply

Feed 4:5 is the master. Story 9:16 is built from it: the master centred on a canvas inside the top and bottom safe zone, never left for the platform to auto crop, because the city strip and the address are exactly what gets cut. Map each size to its placement. Then multiply the winner: same layout, a different area, a different price shape, a different person. Four to five variants per procedure is the count that keeps winning. Invent a new concept only when the permutations are exhausted.

Starter prompts

Paste these as written. They are short on purpose, because the long ones drift.

The prompt: render a static

Premium medical aesthetics static ad, 4:5. VISUAL SYSTEM: charcoal black textured slate background, brushed gold accents, bone white heavy condensed sans headlines, small clean sans body, one accent colour only, editorial photography, real skin micro texture. LAYOUT top to bottom: thin black strip in white capitals reading "NOW AVAILABLE IN [CITY]". Headline in white condensed capitals, no apostrophes: "[HER SENTENCE, FROM MY PAGE OR MY INBOX]". Gold display line: "[PROCEDURE OR AREA]". [Left/right] side: a woman aged [X] to [Y], average realistic build, [setting], calm expression, real skin, dignified, filling half the frame; thin white dashed treatment zone lines with two small arrows drawn on [AREA]; [for laser: a warm amber under-skin glow on her, not on the device]. A black rounded panel with a thin gold border and four gold bullets in this exact language: "[BULLET 1]", "[BULLET 2]", "[BULLET 3]", "[BULLET 4]". Large white line: "[ONE PRICE SHAPE]". Small gold pill: "[CTA]". Small text: "[DEPOSIT, FINANCING WITH EXAMPLE TERM AND APR, OR DISCLAIMER LINE]". Gold bar at the bottom: "[FULL STREET ADDRESS]". [If a reference is attached: use the uploaded image as the device reference, preserve its shape, branding and colour, place it in the gloved hand entering from the edge.] LIGHTING: soft window key light, 5200K, 85mm lens at f2.8. QUALITY: all text crisp, correctly spelled, fully legible, no extra words, no cut off text, no duplicated lines. AVOID: plastic skin, AI sheen, doll face, warped hands or fingers, asymmetric eyes, extra teeth, exaggerated body, orange tan skin, over smoothed retouching, stock poses, any before and after, invented logos, clutter. Resolution 2k. Generate six.

The contact sheet prompt

Here are six renders of my [procedure] static: [attach]. For each: is every quoted string present and spelled correctly, is any line duplicated or cut off, do the hands and skin pass, is the treatment zone drawn on the right area, does the face read human. Then the page test: list every word on the image and mark it on my page or not; my page says [paste bullets, price, address]. Mark each render ship, refine once with this exact instruction, or discard. Zero em dashes.

The multiply prompt

This render won: [attach or describe]. Keep the skeleton and the visual system identical. Write four new prompts that change only one of: the area named in the display line and the treatment zone; the price shape (from my approved list: [paste]); the person (age range, setting); the city strip for [second location if any]. Every bullet and price must stay in my page's language. Zero em dashes, no apostrophes in capitals.

Layer 2

From the Gemini app to a real render pipeline

You can render the skeleton in the Gemini app today with the prompt below. The pipeline changes when you need six at a time, real staff, and two sizes.

Gemini app (Layer 1)

Pick the image model, paste the prompt with every string in quotes, attach the device or portrait reference and say what it is for. Generate several, not one. Images from the consumer app carry a small watermark in the corner; crop or cover it before it goes on an ad. One aspect ratio for the whole project; do not switch halfway.

Higgsfield or the API (Layer 2)

Model set to Nano Banana Pro, resolution 2k, aspect 4:5, six outputs per job, references attached as image references. Real staff go through the identity lock path only; do not pass staff portraits to automated ad engines that reject faces, and re-upload a portrait fresh if a job with it failed. Generate a contact sheet from the downloads before you look at any single image.

Sizes and placement

Build the 9:16 from the 4:5 master on a black or paper coloured canvas with the master centred inside the top and bottom safe zone. In Ads Manager, placement asset customisation on, each size mapped to its placement, Standard Enhancements off, one primary text and one headline per ad.

Give it to your agent, three ways

Same skill, three worlds. Pick the one you actually use. The skill file at the bottom of this page is the instructions in every case.

An agent with connectors (Claude Desktop, Claude Code, Grok Bot)

Higgsfield's MCP exposes Nano Banana Pro with a product photoshoot workflow that renders exact on-image copy. That is how my agent renders the skeleton.

  1. Claude Desktop or claude.ai: add Higgsfield as a connector from its integrations page and sign in. Create a Project with the static skill from the bottom of this page as the instructions. Upload your offer sheet and the device photo.
  2. Say "render a static for [procedure]". It writes the prompt with every string in quotes, asks you to confirm the four bullets and the price shape against your page, then submits a batch of six and shows the results together.
  3. For a real staff member, upload the portrait and confirm consent; the agent adds the identity lock and checks the render against the photo.
  4. Claude Code: install the Higgsfield CLI and the agent drives it with the same skill (commands in the API block).

ChatGPT (a project or a custom GPT)

ChatGPT has its own image model that renders text acceptably, so this works in a single chat with no connector. Batch discipline is on you.

  1. Create a Project with the skill as the instructions. Upload the offer sheet and the device photo.
  2. Say "render a static for [procedure]". Take the prompt it writes and generate with the image model, one at a time, six times, 4:5. Save each. Do not judge from one.
  3. Bring the six back and ask for the contact sheet read: spelling, cut off text, hands, skin, treatment zone, then the page test on every word. Refine once per image by asking to keep everything identical and fix only the defect.
  4. Real staff: attach the real portrait with the identity lock line in the prompt and compare the output to the photo yourself.

Anything with an API (a token and a curl call)

Two terminal routes. The Higgsfield CLI for the batch and the contact sheet, or Google's Gemini API when you want the model directly. Keys live in environment variables.

  1. Higgsfield: install the CLI, sign in once, upload the reference, and submit the prompt with the Nano Banana Pro model at 2k. Six jobs in one batch, then download and tile them.
  2. Gemini API: set GEMINI_API_KEY, pick the current Nano Banana Pro model id from the model list, and post the prompt with the reference image inline. The response carries the image as base64.
  3. Either way, run the same read: every quoted string present and spelled, no duplicate price line, hands and skin pass, then the page test.
# Higgsfield CLI
curl -fsSL https://raw.githubusercontent.com/higgsfield-ai/cli/main/install.sh | sh
higgsfield auth login
higgsfield upload create ./device.png   # returns an upload id
higgsfield generate create nano_banana_pro --image <upload_id> --aspect_ratio 4:5 --resolution 2k \
  --prompt "$(cat prompt.txt)" --wait
# if 4:5 is rejected, check allowed ratios with: higgsfield model get nano_banana_pro --json

# Gemini API (check the current model id first)
export GEMINI_API_KEY=...
MODEL=<current Nano Banana Pro model id>
curl -s "https://generativelanguage.googleapis.com/v1beta/models/$MODEL:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" -H 'Content-Type: application/json' \
  -d @request.json | jq -r '.candidates[0].content.parts[] | select(.inlineData) | .inlineData.data' | base64 -d > static-01.png
# request.json: {"contents":[{"parts":[{"text":"<prompt>"},{"inlineData":{"mimeType":"image/png","data":"<base64 of device.png>"}}]}]}

Failure modes

Every one of these has happened to me or to someone I set this up for.

FailureFix
Generated before and after on the adDelete it; real, consented, unretouched only, or show the mechanism instead
Price on the image the doctor never approvedEvery price marked live or unapproved on the offer sheet before rendering
Headline capitals rendered ISN'T as IN'TNo apostrophes in big type; IS NOT, DO NOT, CANNOT
Model copied the pose when you wanted the deviceSay what the reference is for: preserve what, place where
Doctor on the ad is not the doctorIdentity lock line, compare the render to the photo, re-upload if the job failed
Judged the concept from one renderSix per batch, contact sheet first
Story placement auto cropped the city strip and addressBuild 9:16 from the master inside the safe zone and map it
Monthly payment with no termsExample, term, APR, subject to eligibility, or remove the figure
Looks like a template; enhancements onEditorial photography inside the skeleton, Standard Enhancements off
Rolled the same defect five timesOne refinement, then reword the line

The tools I use for this

ToolWhat it is for here
Nano Banana ProGoogle's image model. The one I use for statics because on-image text comes out spelled and legible.no link, just use it
HiggsfieldWhere I run the batch: Nano Banana Pro at 2k, references attached, six per job.no link, just use it
ClaudeWrites the prompt from the offer sheet, drives the batch, reads the contact sheet.Open
ChatGPTThe no connector route: its image model renders the same skeleton one at a time.no link, just use it
Meta Ads ManagerWhere both sizes get mapped to their placements with enhancements off.no link, just use it
GoHighLevelThe lead count the statics are judged on, never the platform's.Get it
Some links are affiliate links. I only recommend tools I run in my own accounts.

The free skill

It builds the prompt for a clinic static from your offer sheet: the eight element skeleton in order, every on-image string in quotes, the patient described so she reads human, the identity lock for real staff, the lighting block, the avoid block, and the resolution. It refuses any headline, bullet, price or claim that is not on your page, blocks generated before and afters, and returns a batch plan: six prompts per angle, the contact sheet review, at most one refinement per image, and the two sizes every static ships in.

How to use it: copy the whole thing, paste it into your bot (or save it as a skill file if you use Claude Code), and say “render a static”. It walks you through the rest. Works with any agent that can read your files.
ai-generated-ads.md
---
name: static-ads-nano-banana
description: Builds the prompt for a clinic static ad from an offer sheet using the eight element skeleton (city strip, her sentence headline, procedure display line, patient with annotated treatment zone, four page-language bullets, one price shape, CTA pill, address bar), with every on-image string in quotes, the identity lock for real staff, lighting, avoid block and resolution. Refuses any word not on the page, blocks generated before and afters, and runs the batch loop: six renders, contact sheet, one refinement, two sizes, then multiply the winner. Trigger on "render a static", "make a static ad", "image ad for my clinic", "Nano Banana ad".
---

# Static Ads With Nano Banana Pro

You are producing image ads for a clinic, med spa, IV bar, or aesthetics practice with
an image model that renders text (Nano Banana Pro through Gemini or Higgsfield, or the
image model inside ChatGPT). The words come first, from the page. The model renders
what you spell.

Never invent a price, review, statistic, credential, or result. Never generate a before
and after. Missing facts stay in brackets.

## Step 1: The offer sheet (ask only for what is missing)
- Procedure or area, city, full street address.
- Every price, each marked live or unapproved. Only live prices go on an image.
- Four benefit bullets in the exact language of the clinic's page. If the human gives
  you paraphrase, ask for the page text and use it verbatim.
- The call to action and the destination.
- Financing terms if a monthly figure will appear: example amount, term, APR.
- Any real staff who may appear: portrait available, consent on file.
- Device or product photo available for a reference.

## Step 2: Write every word before the prompt
- Headline: her sentence. The belief she already holds or the thing she says out
  loud. Capitals. No apostrophes (big condensed type mangles them: use IS NOT, DO NOT,
  CANNOT).
- Display line: the procedure or the area. Procedure first, never the brand.
- One price shape only: "STARTING AT $[X]", "$[X] HOLDS YOUR SESSION, IT COMES OFF
  YOUR TOTAL", or an approved offer. Never "$X OFF" without a confirmed promotion.
- Four bullets, page language only.
- CTA pill text. Address bar text. Small line: deposit terms, financing with example
  and term and APR and "subject to eligibility", or the surgical disclaimer.

## Step 3: The skeleton, top to bottom (locked)
1. Thin black strip, white capitals: "NOW AVAILABLE IN [CITY]".
2. Headline, white heavy condensed capitals.
3. Gold display line: procedure or area.
4. The patient on one side, filling at least half the frame, thin white dashed
   treatment zone lines and two small arrows on the area; for laser, a warm under-skin
   glow on her, not on the device.
5. Rounded black panel, thin gold border, four gold bullets.
6. One price shape in large white type.
7. Small gold CTA pill.
8. Gold bar with the full street address.
Dark slate and gold for body ads; cream paper and charcoal for physician and
consultation ads; black and white photo with one accent for face maps.

Change the words, the area, the price shape, and the person. Never the skeleton.

## Step 4: The person
The patient is the hero. Age range, average realistic build, setting, calm expression,
real skin micro texture, natural asymmetry, no retouching sheen, eyes open, dignified.
The provider is a gloved hand with the handpiece entering from the edge, a small out of
focus figure behind her, or a name line. One credential ad per set may show the doctor,
from a real portrait with consent and the identity lock: "Preserve the exact facial
likeness, hairstyle, skin tone, build, and clothing as photographed. Do not alter the
face. Re-light and re-compose only." Tell the human to compare the render to the photo.

## Step 5: References, explained
When a device, product, or portrait is attached, say what it is for: preserve the shape,
branding and colour; place it here at this size. For several objects in one frame,
tell the human to lay them out on one labelled composite and refer to each by label.

## Step 6: The prompt structure
```
[VISUAL SYSTEM] palette, type, lighting, layout, locked
[IDENTITY LOCK] only when a real person appears
[LAYOUT top to bottom] every on-image string in quotes, in skeleton order
[REFERENCE] what to preserve, where to place it
[LIGHTING] direction, quality, Kelvin, lens and aperture
[QUALITY] all text crisp, correctly spelled, fully legible, no extra words,
          no cut off text, no duplicated lines
[AVOID] plastic skin, AI sheen, doll face, warped hands or fingers, asymmetric eyes,
        extra teeth, exaggerated body, orange tan skin, over smoothed retouching,
        stock poses, any before and after, invented logos, clutter
Resolution 2k. Aspect 4:5. Six outputs.
```

## Step 7: The batch loop (instruct the human, or run it if a tool is connected)
1. Six renders from one prompt at 2k, 4:5.
2. Lay them out on a contact sheet before judging any single one.
3. Read: every quoted string present and spelled, no duplicate or cut off line, hands,
   skin, treatment zone on the correct area, face reads human, face matches the
   portrait if real.
4. At most one refinement per image: "keep everything identical, only fix [defect]".
   If a text defect survives, reword the line. Do not roll again.
5. Compliance read: every word on the page; price shape live; financing line complete;
   no FDA wording beyond the exact clearance; no cure, guarantee, or drug brand names.
6. Sizes: feed 4:5 is the master. Story 9:16 built from it, master centred inside the
   top and bottom safe zone, never auto cropped. Map each to its placement. Standard
   Enhancements off.
7. Name files id-format-hook-person-offer-MMDD.

## Before and after rule
Never generate one, not as a mock up or placeholder. Only a real patient's, consented,
unretouched, same lighting and angle, with "individual results vary" on the image. If
the clinic has none, offer the alternatives: annotated treatment zone, mechanism cross
section, a real visit photo with the device in use, the physician answering her
question.

## Multiply mode
Given a winner: keep the skeleton and visual system identical and write four prompts
that change exactly one of area, price shape (from the approved list), person, or city
strip. Four to five variants per procedure. A new concept only when the permutations
are exhausted.

What done looks like at thirty days

  • An offer sheet with every price marked live or unapproved and four bullets in page language
  • Every static follows the skeleton and every word on it is on your page
  • No generated before and after exists anywhere in the account
  • Batches of six reviewed on a contact sheet, one refinement each
  • Every static shipped in feed 4:5 and story 9:16 with safe zones
  • The winner has been multiplied by area, price shape and person

Want the sixty one winning statics and the prompts that render them?

Inside the AI CEO Lab the Demand Engine module hands you the skeleton PDF, the prompt recipe, and the ad brain that renders and grades a slate for your own offer.

Pick a side.

Most people read this and forget it by Friday.

The other kind builds the thing that week. They stop needing free guides, because they are too busy running actual systems.

Free guides stay free. The room is where the builds happen.