How Astra looks at 500 winning statics, pulls out what works, and turns it into 100s of variations
You commented "astra." This is the workflow.
Quick framing before the steps. Statics are outperforming video on most of the accounts we run right now, and the gap is wide enough that I'd be testing static this week if you aren't already. Whatever Meta is doing with delivery at the moment, static is benefiting.
The catch is that most people's statics are bad, and they're bad for visual reasons the copy can't fix. Wrong product size. No contrast. Headline too light. Eye lands on the wrong thing. Looks like an ad when it should look like a post, or the reverse.
Until this week, no model could see any of that. Astra can. This workflow is built on that one capability.
It runs in five stages: build the library, look at it, extract the principles, write the brief system, render the variations. The first four are Astra. The fifth isn't — Astra writes briefs, it doesn't make images — and I'll be straight about where that happens.
If you already have Computer Use running from the previous guide, skip to Stage 1.
Install: ChatGPT desktop app → Plugins → Computer Use. macOS: grant Screen Recording and Accessibility. Windows: it runs in the foreground and takes your mouse, so plan around that. Invoke with
@Chrome @Computer Rules: Ad Library in the browser is fine — it's public. Never let it automate inside Ads Manager, and never let it post from your accounts.
Context file. Paste this at the start of every session:
The post says 500. You won't have 500 on day one. Build to it — 100 gets you real patterns, 500 gets you confidence.
"Winning" here means one thing: survival. A static that's been running 45+ days has survived someone's optimisation decisions repeatedly. That's the closest thing to a performance signal you can get from the outside.
Prompt:
Expand the library with three more sources:
- Your own account. Export your top 20 statics by CTR and by CPA over the last 90 days. Tag them WINNER-OURS.
- Adjacent categories. Two or three brands you admire outside your niche. Different products, transferable visual craft.
- Any swipe tool you already pay for — pull the statics with the longest run time and drop them in the same folder.
Aim for 100+ WINNER-tagged statics before Stage 2. Keep adding weekly.
This is the stage no other model could do. You're asking Astra to look at the images — not the copy, not the metadata — and describe what's physically in them.
Prompt:
Let it run. For 100 images expect 20–30 minutes of screen time. Don't interrupt it to ask questions — get the full dataset first.
Now you have a sheet describing 100+ winning statics in physical terms. Four prompts pull the principles out — one per arrow in the post.
3a — What stops the scroll
3b — How the pain point gets called out visually
3c — The language the viewer actually uses
3d — What competitors are all doing
What you have now: four short documents. Scroll-stop rules. Pain-point devices with a gap. A phrase bank. The category's conventions and their inversions.
That's the "principles from 500 statics." It's also everything a brief needs.
This is where the four documents become one reusable template. Every static you make from here on is a filled-in version of this.
The archetypes
Every winning static falls into a small number of visual archetypes. Astra will have surfaced most of these in Stage 2's "looks like" column. Name them so the brief can call them:
- Hero — product large, headline heavy, clean background
- Lifestyle — product in use, person present, warmer
- Annotated — product with callouts, arrows, feature labels
- Testimonial card — review text, stars, product small
- Us vs them — comparison table or split
- Before / after — two states, one frame
- Native — looks like a post, a screenshot, a note, a text
- Offer — price or discount dominant, product supporting
Different archetypes stop the scroll in different feeds. That's why you don't pick one — you run several.
Here's the honest structural point.
Stages 1–4 produce briefs. Excellent briefs — evidence-backed, specific down to product size and headline weight. Astra is very good at this and it does it in an hour.
Astra does not make images. Computer use is for reading and judging screens. Producing a static in your actual typeface, your colours, with your product photographed correctly, is a different problem — generative models, brand extraction, a rendering pipeline. That's not what Astra is.
So the workflow ends on HeyOz . It takes the brief, pulls your brand from your product URL — typeface, colours, spacing, product imagery — and renders the static. Not an approximation of your brand. Your brand.
And it's what makes "100s of variations" possible rather than a nice phrase. Here's the matrix:
You don't run all 192. You render them, run the Stage 6 QA pass, and pick 12–20 for the first test. But you have 192 to pick from, from one brief system, in an afternoon. That's the whole difference between a static workflow and a static project.
The handoff. Paste the filled brief into HeyOz. Set the archetype. Generate. Repeat across the matrix — change one variable at a time so you can see what moved.
One Astra pass on the outputs, using the same eyes that built the library.
The ones that pass are your test set. The ones that fail go back to HeyOz with the one-line fix.
Statics test faster than video because the variable is visible in the first 0.3 seconds. A simple structure that works:
- ABO, one ad set per archetype, same audience across all
- 12–20 ads total from the QA pass
- Judge on CTR and thumbstop first, not CPA. At test budgets you won't get enough conversions to call a winner on CPA; you will get enough impressions to call it on click-through
- Minimum 3 days and a spend floor before you touch anything
- Kill the bottom half, keep the top quarter, and go back to Stage 5 with the winning archetype as the fixed variable
The winning archetype is now the fixed variable. Next round, vary only headline and pain device inside it. That's how you find the ceiling.
Once it's running:
- Monday — add 20 new statics to the library, rerun 3a and 3d. Fifteen minutes. Update the brief system if anything moved.
- Tuesday — render the next matrix on HeyOz. QA pass. Launch.
- Friday — read the test. Fix the archetype for next week.
Two hours a week, a tested batch every week, and a library that gets more accurate every Monday.
Astra is describing the copy instead of the image. It's drifted to reading the spreadsheet. Say: "Look at the image file, not the sheet. Tell me what's physically in the frame."
Product size estimates are all over the place. Ask it to draw a bounding box in its head: "What fraction of the frame width does the product span? What fraction of the height?" Multiply.
No pattern in 3a. Your library is too small or too mixed. Split by archetype and rerun — patterns show inside archetypes before they show across them.
Rendered statics don't match the brief. Check the product size and headline weight fields are numeric and explicit, not "large" and "bold." HeyOz builds to what the brief says; vague briefs get vague outputs.
Everything passes QA and nothing performs. Your library was competitors' winners, not yours. Weight WINNER-OURS rows higher in 3a and rerun.
A library of what actually works in your category, described in physical terms nobody else has bothered to measure. Four principle documents that turn into one brief system. A matrix that produces hundreds of on-brand variations from that system in an afternoon. And a weekly loop that makes all of it more accurate over time.
Astra does the looking and the thinking. HeyOz does the making. The strategy — what to test, what the winning archetype tells you about your customer, what to try next — stays yours.
That's the part that was always supposed to take your time.
Reply with what 3a finds. The product-size floor is different in every category and I collect them.
About the author
Ahad Shams
Ahad Shams is the Founder of HeyOz, an all-in-one ads and content platform built for founders and small teams. He has worked across consumer goods and technology, with experience spanning Fortune 100 companies such as Reckitt Benckiser and Apple. Ahad is a third-time founder; his previous ventures include a WebXR game engine and Moemate, a consumer AI startup that scaled to over 6 million users. HeyOz was born from firsthand experience scaling consumer products and the need for a unified, execution-focused marketing platform.

