Making the whole ad in Codex
I gave Google Flow two product images I liked and asked it a question:
How would you describe these from a lighting and composition point of view?
I was working on X-All, a cleaning brand, and wanted to try that kind of photography with its products. Flow described the references in terms of hard lighting, frozen motion, and a polished studio look. Then it asked what X-All sold.
I uploaded photographs of the actual products and gave it room to experiment.
It started making action scenes around a toilet-cleaning foam powder. It turned the X-All logo into something bubbly and abstract. There were cleaning tablets suspended against water, blue compositions with long shadows, and ideas I hadn’t thought to ask for.

Some of it looked really good. The microfiber cloth shot and a tablet dissolving inside a bottle stood out. I thought the best images could sit comfortably alongside the work of brands with serious creative budgets.
That was enough to keep me going.
Getting an image I wanted to keep
Flow was good at helping me find a visual direction. I could bring it references, explain the product, and see several ways those things might come together.
Getting the product right was less dependable.
A single package would often look convincing. Put several products in the same image and the labels could start drifting. I’d look more closely and find words that didn’t match the packaging. Colors changed. Sometimes it invented a product despite having photographs of the real one.
As I moved into static ads, maybe one in ten came out the way I wanted. The good ones were polished and felt like the brand. Others were crowded or full of artifacts. When I asked for a correction, sometimes Flow would ignore it.
I liked what it could make enough to keep trying. I also wanted the process of getting from a promising image to something usable to work more consistently.
At the time, I was using Codex to help write the prompts. We’d discuss an idea there, I’d copy the prompt into Flow, and then I’d work through the results.
Eventually, I realized I could generate images inside Codex, too.
I wanted to see how much of the work I could keep in that conversation.
The first attempt was probably fine
I tried making ads for ELT, an electrolyte drink mix. I wanted the scene, product packaging, headline, and call to action to come together as a complete ad.
Codex generated the product scenes, then added the typography separately.
The results were clean. One showed the product and a drink beside a window; another placed them at a padel court. The headlines were readable, and each had a Shop ELT button. After checking the product details, they probably would have been fine to use.

But I wanted to try generating all of it together.
Codex had taken a reasonable approach to the task. I was curious about the alternative it had skipped. What would happen if the image generator could work with the headline as part of the composition from the beginning?
I asked it to make the whole ad in one pass, including the packaging and words.
In the next version, large blue type filled the sky above a padel court. The headline’s size helped determine the balance of the image, with the product and drink occupying the foreground below it. Another concept split the scene into blue and yellow, with the typography spanning both sides.
Those felt more like complete ideas. I could see decisions being made about the relationship between the words, the product, and the setting.

There were still artifacts. Some outputs were much stronger than others. But this was an approach I wanted to keep exploring.
Staying with the image
The back and forth made a difference.
In Codex, I could discuss what I wanted, generate the image, look at what came back, and ask for a change in the same conversation. The interface felt cleaner to me. Product references seemed to carry through more consistently, and corrections usually did what I’d asked.
That mattered after spending time on images I liked but couldn’t reliably revise.
I still had to compare the packaging with the real product: the label, shape, and color could all look plausible without being right. The advertising claims needed checking, too. These were creative concepts; their finished appearance didn’t tell me how they would perform.
But I had a way of working that I wanted to repeat.
Almost immediately, I wanted to save the instruction as a skill—a set of directions the agent could reuse. I’d had to encourage Codex to try something it could already do. On the next project, I wanted it to start by attempting the complete ad, with the typography and packaging included.
I still need a brief worth making an image from. The customer, the idea, and what the ad should demonstrate come first. Once I have those, I can bring the brief and real product photographs into the conversation and start seeing what’s possible.
I still use Flow, though much less. Some of its images were good enough to keep me working through the frustrations, and I liked its workspace enough to start building one of my own.
For static ads, I now tend to open Codex. I want to see its attempt at the whole idea, then stay with it long enough to work on the parts that aren’t right yet.
