In short: One ad that already works becomes fifteen you can ship in an afternoon. Each proven ad is read once into a set of named levers, crossed against your product, and turned into a ready-to-paste prompt for every variant. You generate them, tick the keepers on a contact sheet, and keep those. The only human job left is choosing.
Key takeaways
- Small teams rarely have a creative problem. They have a volume problem: one ad works, and producing the next ten costs a designer a week.
- A reference ad is digested into named levers — where the product sits, what the headline does, which parts are fixed and which are free to vary. Generation runs against that description, not against the picture.
- Adherence is the knob worth understanding. High reproduces the layout and moves only product, palette and copy; low keeps only the core idea. Start high and loosen it, never the other way round.
- Save the generated images in order. The contact sheet matches by save time, so skipping around silently mismatches images to prompts.
- An afternoon ends with fifteen variants on a contact sheet, the ones you ticked copied out ready to run, and a digest per template you keep and reuse on the next product.
The workspace, the digest spec and the script — enough to have fifteen variants on a contact sheet by the end of an afternoon.
We’ll email you this resource and the occasional note about new ones. Unsubscribe any time. Vectis AI, Toronto, Canada.
Most small teams do not have a creative problem. They have a volume problem. One ad works, nobody knows quite why, and it gets run into the ground because producing the next ten costs a designer a week.
This resource is the pipeline we use to close that gap. It takes a folder of ad formats that already performed, crosses each one against your product, and writes a ready-to-paste prompt for every variant. You generate them, tick the ones you like on a contact sheet, and keep those.
What it actually does
- Proven ad formatsScreenshots of ads that already worked for someone.
- Your productA short description and one hero photo.
- A prompt per variantWritten for you, grouped and ready to paste.
- A contact sheetGenerate, then tick the ones worth running.
Three ideas do the work.
A template is digested into levers, not copied. Before anything is generated, each reference ad is read once and turned into a small JSON file naming what makes that layout work — where the product sits, what the headline does, which parts are fixed and which are free to vary. Generation runs against that description, not against the picture. This is the step that decides whether a batch comes back coherent or scattered.
Variants come from crossing pools. Warm and cool, indoor and outdoor, and so on. Five per template by default, so there is always a real choice rather than one option and a shrug.
Every prompt is saved verbatim. When a batch comes back wrong you can read exactly what was asked for. A creative pipeline you cannot debug is one you stop trusting on the second bad run.
Setting it up
The workspace is three folders:
poster-ads/
- templates/The ad screenshots you dropped in
- products/<slug>/One file describing the product, and its images
- output/<title>-<date>/Everything a batch produces
Your product is one short file. Six things, written once:
- nameCloud Socks
- heroOne photo of the product, flat and well lit
- value propsFeels like a cloud · Lightweight warmth · Helps you wind down
- avoidNo visible seams; never show the sole
- descriptionMerino wool sleep socks. Sold to people who run cold at night.
The hero photo is the one worth care. Use a flat, unrolled, well-lit shot. The model can only hold folds, curves and texture it can actually see — a rolled-up product photo is the single most common cause of the product drifting between variants.
Running a batch
Four steps, and only one of them takes any thought.
- Check the templatesEvery file is hashed, and anything new or changed since it was last digested is flagged — so you never generate against a layout that no longer exists.
- Digest what was flaggedEach new reference ad is read once, turned into its levers, and stamped.
- Plan the batchFive fields: a title, the product, the angle in one line, how closely to follow the reference, and how many per template.
- Bring the images backEach one is matched to the prompt that made it and laid out on a contact sheet to pick from.
Adherence is the knob worth understanding. Set it high and the layout is reproduced, with only product, palette and copy moving. Set it low and only the core idea survives. Start high. If the batch comes back samey, loosen it — that is the correct order, because a loose first batch tells you nothing about whether the format transfers.
You now have a paste pack, grouped one chat per template. Attach the two images once at the top, then send that template's prompts one at a time.
Save each result to your downloads folder in order. The next step matches by save time, so skipping around silently mismatches images to prompts. This is the one place the manual loop goes wrong.
Bringing them back only fills variants that have no image yet, so you can do half a batch now and the rest tomorrow. The id-to-filename mapping is printed as it goes — read it once and confirm it looks right.
What you'll have at the end of an afternoon
- Fifteen variants on a contact sheet, and the ones you ticked copied into a selected folder, named and ready to run.
- A digest per template that you keep. The expensive step is describing a layout properly, and you only do it once — the next batch and the one after reuse it.
- Every prompt saved verbatim, so if a batch comes back wrong you can see exactly what was asked for rather than guessing.
- An honest read on whether your templates are worth batching at all. If the variants come back flat, that is information: the format did not transfer, and you learned it for the cost of one afternoon instead of one quarter.
That last one matters most. You leave knowing either that you have a repeatable creative pipeline, or that the formats you were about to build one on do not hold up.
Where this helps, and where it does not
It widens exactly one bottleneck: creative production. If what is actually limiting you is ideas, or distribution, more ad variants change nothing. Check that before running a batch.
The templates folder is the ceiling. Fill it with your own high-performing ads and you are spinning formats that already converted for you. Fill it with ads scraped from strangers and you are copying a look, not a result — the output can only be as good as what went in, and it is worth being honest with yourself about which one you did.
Check the outputs for bleed-through. The prompts forbid reproducing the reference brand, but verify it. A reference wordmark surviving into your ad is a legal problem, not a taste problem.
Text is the weakest layer. If headlines keep coming back mangled, that is the signal to composite the text separately — not to keep adding prompt rules.
One last thing worth saying plainly: the generation step is a person in a chat window. That is deliberate. It costs nothing per image and needs no API key, and it keeps a human eye on every batch. Automating it is a money-and-quality trade you should only make once the manual version has proved the templates are worth batching at all.