OpenAI dropped a wall of gorgeous example images for GPT Image 2.5 and handed over exactly zero of the prompts behind them. No captions, no technique notes, nothing. That kind of gap either stays a mystery forever or turns into a project. This time, a Redditor named u/Fun_Walk_4965 turned it into one.
The author worked backward from 278 of those images, one at a time, and rebuilt the prompts that likely produced them. Instead of dumping a flat list, the collection got sorted into four buckets: reference fidelity, precision editing, style, and complex layout with typography. That last bucket covers the trickiest stuff, posters, infographics, and images where text has to render cleanly inside the scene. All of it landed in a public GitHub repo, free to browse.
Here’s the twist. The interesting part isn’t the 278 prompts themselves, it’s the handful of structural rules that kept showing up across all of them. This is less a leak and more a style manual for how GPT Image 2.5 actually wants to be prompted. The rules hold up whether you’re doing a portrait or a full-page layout.
Take reference images first. Attaching a photo and saying “use this” gets you a vague mood. The prompts that actually preserve someone’s identity spell out what the reference controls. They name which features, like face shape, outfit, or pose, have to survive into the new frame. Editing prompts follow their own pattern too. One clause names the single thing to change. A second, longer clause lists everything that must not move. Most people write that second clause too short. The strong prompts don’t.
Constraints work the same way. Two or three exclusions, chosen because they actually matter, beat a long list every time. Long exclusion lists made outputs literal and flat in the author’s testing. Style comes from naming actual optics, not adjectives. “Cinematic” does nothing on its own, but “vintage film camera, soft studio lighting, subtle grain” tells the model exactly what to render.
Here’s one prompt straight from the reference fidelity set, reproduced exactly as it appears in the repo:
A 1980s studio portrait of a smiling Black man with an afro and beard. He wears a teal, magenta, and blue retro nylon windbreaker, a white graphic tee, and a gold chain. Medium close-up composition. Background features a classic 80s laser backdrop with neon pink and blue lines, a blurred palm tree, and a retro boombox. Captured with vintage film camera style, soft studio lighting, subtle grain, and a warm, nostalgic color palette.
Notice what’s carrying that image: “vintage film camera style, soft studio lighting, subtle grain.” Not one abstract adjective in sight!
Try the pattern yourself
- 📷 Write the subject and setting in plain language first. No adjectives yet.
- 🎨 Add three or four concrete optical details: camera type, lighting, grain, palette. This step alone fixes most flat, generic-looking outputs.
- 🔗 If you’re using a reference image, name exactly which features it controls and which ones must carry over.
- ✏️ For edits, write two clauses in a fixed order: the one change, then the longer list of what stays exactly the same.
- Keep your exclusions to two or three. More than that and the output turns flat instead of precise.
Pro tips
The most useful lesson buried in this repo is that specificity beats instruction. Telling a model to “use this reference” gets you a mood board. Naming the exact features that must survive gets you an identity that holds up across shots. Apply that same discipline to the “what must not move” clause in your edit prompts. That’s where most people under-write, and it’s exactly where the strongest prompts in this collection over-deliver.
Second tip: don’t skip the complex layout category if you’re building anything with text in it, posters, thumbnails, infographics. Those prompts spell out font weight, placement, and hierarchy the same concrete way the portrait prompts spell out lighting. Vague layout instructions produce garbled text just as often as vague style instructions produce flat images.
One more thing worth remembering: these are reconstructions, not OpenAI’s actual prompts. The author says so upfront, and the repo stays open for pull requests from anyone who lands closer to the originals. Treat it as a training set for your own instincts rather than a copy-paste library, and you’ll get more out of every prompt in it.
I keep coming back to that two-clause editing structure since I read through this. It’s such a simple fix, and most of us skip it anyway. Go grab the category that matches whatever you’re building this week and test it against your own prompts! 🏴☠
I recovered the prompts behind OpenAI’s own GPT Image 2.5 example images, 278 of them
by u/Fun_Walk_4965 in PromptEngineering