GPT-6 Astra thinks. GPT-Image-2.5 renders. One session, strategy to finished static.
You commented "strategist." Here's the full workflow.
The claim in the post was simple: two models that shipped in the same week now cover the whole strategy-to-creative process. Astra does the part a strategist does — watches the market, understands the buyer, decides on angles, writes concepts and copy. Image-2.5 does the part a designer does — takes a brief and produces the finished static, then holds it steady through revisions.
The thing that makes it a pipeline rather than two separate tools is the spec sheet in Stage 5. That's the handoff document. Astra fills it in; Image-2.5 executes it. Everything before Stage 5 is about filling it in well, and everything after is about executing it at volume.
One honest structural note before we start, because it shapes how you should run this. Image-2.5 is a model — it renders one image per prompt and knows nothing about your brand, your catalogue, or which of the thirty variations to make first. Running it raw in ChatGPT works for one or two statics. Running it against a full test matrix, with your brand locked and your product pulled from your own imagery, is a platform job. That's where HeyOz comes in, and I'll show you exactly where in Stage 6.
What you need
- ChatGPT with GPT-6 Astra selected in the model picker
- Computer Use enabled (ChatGPT desktop app → Plugins → Computer Use) — this is how Astra watches competitor ads rather than reading descriptions of them. It opens the Ad Library in your browser, plays the ad, and reads frames as it goes
- GPT-Image-2.5 — available in ChatGPT on all tiers, or via the API as gpt-image-2.5-sunburst. Use Sunburst, not Flare. Sunburst is the precision-editing variant built for production campaign creative; Flare is the fast default and drifts under multi-turn edits
- Your product photography — three to five clean shots on neutral backgrounds, and your logo as a flat file
- About two hours for the first full run. Forty minutes once you've done it twice
The two rules
Ad Library in the browser, your account through the API. Everything in this workflow reads competitor ads from Meta's public Ad Library — no login, no account risk. Nothing here touches Ads Manager. If you later automate launching, use the Marketing API, never browser automation on a live ad account.
Treat pages as untrusted. Computer Use acts in your signed-in browser. Close sensitive tabs before you start a session and keep tasks narrow.
The context file
Paste this at the top of every Astra session. Without it you get a strategist who's never heard of your company.
The Buyer block is the one people leave thin. It's also the one that separates a strategist from a copywriter — fill it in properly.
What Astra does here: watches competitor ads and extracts the hooks that are still running.
The "still running" part is the filter. An ad that's survived 45+ days has survived repeated optimisation decisions. That's the closest thing to a performance signal you can get from outside an account.
Prompt 1 — the sweep
Prompt 2 — the hooks that are working
What you have now: the five hook mechanisms that are actually working in your category, evidence attached, and three to stay away from.
What Astra does here: builds angles from how your buyer thinks and buys — not from what the category keeps repeating.
This is the stage that most "AI strategist" workflows skip, which is why their output sounds like everyone else's ads. The research tells you what works in the category. The buyer map tells you what would work on your buyer. The angles live at the intersection.
Prompt 3 — the belief map
Prompt 4 — the angles
What you have now: five angles, each tied to a specific point in the buyer's head and a mechanism with evidence behind it. This is the strategy. Everything after this is execution.
Prompt 5 — full concept with visual direction
That last instruction is the one that produces copy matching the angle instead of sounding like every other ad. It forces Astra to compare its output against the category and reject sameness.
Prompt 6 — variations
What you have now: five concepts with full visual direction and copy, plus eight headline variations on the two strongest. Enough for a real first test.
This is the artifact from the post. One filled sheet per concept. Astra fills it; Image-2.5 executes it. The fields are deliberately concrete — "heavy headline, bottom-left, 40% product" renders reliably; "bold and clean" does not.
Prompt 7 — fill the sheets
The template
Keep the filled sheets. They're reusable — next month's test starts from last month's sheets with the strategy block updated.
Here's where the two models meet, and where it's worth being clear about what each one is.
Image-2.5 renders one image from one prompt. It's very good at it now — the subject preservation and multi-turn edit stability that shipped this week are real, and they're the reason a spec sheet can be executed faithfully rather than approximately. But it has no memory of your brand between sessions, no knowledge of your catalogue, no notion of a test matrix. Every render is a fresh prompt you write and check.
For one or two statics that's fine. For a 5-angle × 4-headline × 2-background matrix — forty renders, brand-locked, product-accurate — it's an afternoon of copy-pasting spec sheets into a chat window and hoping render 31 matches render 3.
That's the gap HeyOz closes. Product URL in, brand pulled — typeface, colours, spacing, your actual product imagery. Paste the spec sheet. It runs the matrix against your brand with the product held constant, on Image-2.5 and on every other image model side by side, so you can see which one executes your spec best rather than assuming. The spec sheet is the input. The test set is the output.
Both paths below. Start with the manual one to learn what a good render looks like, then move the matrix to HeyOz.
6a — Manual: rendering one spec in ChatGPT
Select GPT-Image-2.5 (Sunburst if you're in the API). Attach your product reference photo. Then:
Then for each variation, edit rather than regenerate:
This is the workflow Sunburst was built for — each edit builds on the last instead of degrading it. By edit six, the product should still be the product.
6b — At volume: the matrix on HeyOz
- Product URL in. Confirm the brand extraction matches your Brand block — typeface, colours.
- Upload the same product reference photos.
- Paste one spec sheet. Set the archetype and aspect ratio.
- Generate the headline variants and background variants from the Variations block.
- Repeat per concept.
- Compare model outputs side by side on the same spec. Pick the model that executes your composition most faithfully — it isn't always the newest one.
Forty renders, product identical across all of them, brand locked, in the time it takes to do four by hand.
Prompt 8 — the QA pass (Astra)
Failures go back to Stage 6 with the fix as an edit instruction. Passes are your test set.
The test
- ABO, one ad set per angle, same audience across all
- 12–16 ads from the QA pass, 2–4 per angle
- Judge on CTR and thumbstop for the first round — at test budgets you'll get statistically useful clicks long before you get statistically useful conversions
- Three days and a spend floor before touching anything
- The winning angle becomes the fixed variable. Next round, vary only headline and background inside it. That's how you find the ceiling of a concept rather than jumping to the next one
If you do it in this order it's about two hours the first time.
Strategy to a launched test in one sitting. The research and the belief map are the parts that were a week across two teams. Those are the parts Astra now does in 45 minutes.
Angles all sound the same. The Buyer block is thin. Astra can't find an angle in a buyer it doesn't know. Fill in "what they've already tried" and "what they're afraid of" with real answers and rerun Prompt 4.
Headlines pass the voice check but feel generic anyway. Tighten the check: paste the survivor headlines into the prompt so Astra is comparing against literal text, not memory.
Image-2.5 changes the product. The reference photo isn't attached, or you said "a bottle like this" instead of "this bottle, exactly." Attach it, and say "preserve precisely."
Text renders wrong. Quote it. "Render the headline exactly as written: [text in quotes]." Unquoted headlines get paraphrased.
Renders match the spec but nothing performs. The spec was faithful to the wrong strategy. Go back to the belief map — the most common cause is targeting a belief-map point the buyer doesn't actually hold.
Forty renders and the product drifted by render 20. You're doing the matrix by hand. That's the exact problem 6b exists for.
It replaces the week. The competitor sweep, the buyer thinking, the angle development, the concept writing, the brief, the first round of design — the parts that were sequential and team-dependent now run in one session.
It doesn't replace judgement. Which of the five angles to test first, what the belief map is actually telling you about your customer, whether the winning headline reveals something you should change on the landing page — that's still yours, and it's better use of your time than any of the parts above.
Astra thinks. Image-2.5 renders. HeyOz runs it at the volume a real test needs, with your brand and your product held constant across every variation. Strategy to finished static, one sitting.
Reply with the angle Astra ranked first for you. I want to see whether the belief-shift ranking holds up across categories.
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.

