Ship a Full-Stack App with One Prompt

Copy this prompt into your AI coding agent, or open it in one below.

Give this to your AI Create a to-do list app using Puter.js

Coding manually? see the guide

Blog

GPT Image 2.5 Review: Sharper Details and More Precise Editing

On this page

GPT Image 2.5 comes as two models, Flare and Sunburst. We put them through three tests built around what this release focuses on, which is keeping a subject recognizable, changing one part of an image without disturbing the rest, and following a detailed layout with text.

What's new in GPT Image 2.5

This release is mostly about editing. GPT Image 2.5 is designed to keep people and objects from reference photos recognizable in new settings and styles, to change only the part of an image an edit asks for, and to hold earlier changes steady across several rounds of edits. It also brings more natural lighting and texture, better handling of complex layouts and transparent backgrounds, and a stated reduction in generation latency of up to 50% compared with GPT Image 2.

Flare is the faster of the two models and the default for most uses. Sunburst is aimed at detailed creative and editing work where extra precision matters, and it takes longer to generate. Both support the quality settings low, medium, high, xhigh, max, and auto, where xhigh and max are new with this generation.

The photo we used

Our first two tests use the input image from the "Remixed baby portrait" example in OpenAI's announcement. It is a phone photo of a printed studio portrait. Shelves and objects are visible around the print, and a fingernail enters the frame at the lower left, which gives the edit test a cluttered area to leave alone.

Input photo from OpenAI's announcement, a printed studio portrait of a child in a red shirt photographed on a cluttered surface

Input photo from OpenAI's Introducing ChatGPT Images 2.5 announcement. Image credit OpenAI.

Test 1. Keeping the subject recognizable (Flare)

We asked Flare to place the child from the printed photo in a completely different setting, at high quality.

Using the child in this printed photo as the reference, create a natural photograph of the same child sitting on a wooden bench in a sunny park in autumn, late afternoon light, trees with orange leaves behind him. Keep his face, hair, and features exactly the same.

Before generating, we listed five identifying features to check afterward. These were the short close-cropped hair and rounded hairline, the large dark brown eyes, a small mole on the neck below the jaw, ears that sit slightly out from the head, and slightly parted lips with the top teeth visible. All five appear in the output. The shirt also came through intact, including its black collar, black side panels, and round sleeve patch.

Flare output showing the same child in a red shirt sitting on a park bench with autumn trees behind him

GPT Image 2.5 Flare.

Flare kept the pose, the clasped hands, and the child's position in the frame almost identical to the input, and rebuilt everything around him. The one part that does not fully match the new scene is the lighting. The sun sits behind the child at the upper right, while his face is lit evenly from the front. That combination can happen with a reflector, but the prompt did not describe one.

Test 2. Changing one element (Flare)

For the edit test we repeated OpenAI's demo, which turns the red shirt into a tuxedo. OpenAI's exact prompt is not public, so we wrote our own.

Change only his red shirt to a cream tuxedo jacket with black satin lapels, a white dress shirt, and a black bow tie.

The edit came out as requested, with a cream jacket, black lapels, a white shirt, and a black bow tie. The face, the printed blue backdrop, the objects around the print, and the fingernail all look unchanged in a side by side view.

Side by side comparison of the input photo, Flare's tuxedo edit, and OpenAI's published tuxedo result

Left to right, the input, our Flare result, and OpenAI's published result. The input and OpenAI's result are from OpenAI's announcement.

To measure how much changed outside the shirt, we compared each result with the input. We resized all three images to the same size, applied a light blur to reduce compression noise, and counted a pixel as changed when any color channel differed by more than 30 out of 255. The edit region was a rectangle covering the clothing from the collar down. We also computed SSIM (structural similarity, where 1.0 means identical structure) for everything outside that rectangle and for a crop around the face.

Result Pixels changed outside the edit SSIM outside the edit SSIM of the face
Flare 0.22% 0.938 0.889
OpenAI's published result 16.87% 0.911 0.870
Difference heatmaps for Flare and OpenAI's published result, with the edit region outlined in white

Brighter areas changed more. The white rectangle marks the region the edit was expected to change.

Almost nothing outside the shirt moved in Flare's result. In OpenAI's published result, the change outside the rectangle is spread across the blue backdrop and along the edges of the printed photo, which looks like a slight overall color adjustment rather than changes to specific objects. OpenAI's version also turned the trousers cream, while Flare left them dark. OpenAI's image likely came from a different prompt and was published as a compressed web image, so the gap between the two numbers reflects these two files rather than a controlled comparison.

One detail went in OpenAI's favor. The white collar in Flare's version sits higher on the neck and covers the small mole, which stays visible in the input and in OpenAI's result.

Test 3. Flare and Sunburst on the same poster prompt

The third test compared the two models on a prompt with a fixed layout, three pieces of text, and a limited color palette. Both ran at xhigh quality with identical text.

Mid-century modern travel poster for a fictional town, portrait orientation. Top third: the title "PORT AVERLY" in bold condensed sans-serif. Center: a lighthouse on a cliff at sunset in flat screenprint style, limited to teal, cream, coral, mustard, and navy. Bottom: a navy band with cream text reading "Ferry departs daily at 7:15 AM from Pier 4". Lower right: a small circular badge reading "EST. 1952".
Flare poster output for Port Averly

GPT Image 2.5 Flare at xhigh.

Sunburst poster output for Port Averly

GPT Image 2.5 Sunburst at xhigh.

Check Flare Sunburst
"PORT AVERLY" Correct Correct
Ferry line Correct, same capitalization as the prompt Correct letters, set in all capitals
"EST. 1952" badge in the lower right Correct, placed inside the navy band Correct, placed above the band with an added wave mark
Title at top, lighthouse in center, navy band at bottom Yes Yes
Elements not in the prompt None we found A harbor town, boats, and a pier on the far shore

Both models rendered all three pieces of text without a spelling error and followed the layout. Flare stayed closer to the prompt's formatting. Sunburst produced a more detailed scene with more depth in the sky and background, and added a harbor town and boats that the prompt did not mention. Sunburst took about twice as long as Flare on this prompt.

Where this leaves the two models

In these tests Flare did what the release is built for. It kept a subject recognizable in a new setting and made a clothing edit while leaving 99.78% of the pixels outside the edit region unchanged. Sunburst's advantage on the poster was richer scene detail rather than better accuracy.

Each result here comes from a single generation, so these tests do not show how consistent either model is across repeated runs. We also did not test multi-turn editing or run the edit test on Sunburst, which is the model aimed at precision editing.

Try It Yourself

Both models are available through Puter.js with the model IDs gpt-image-2.5-flare and gpt-image-2.5-sunburst.

Script tag

<html>
<body>
    <script src="https://js.puter.com/v2/"></script>
    <script>
        // Generate an image with Flare
        puter.ai.txt2img("A mid-century modern travel poster of a lighthouse at sunset", {
            model: "gpt-image-2.5-flare",
            quality: "high"
        }).then((image) => {
            document.body.appendChild(image);
        });

        // Edit an existing image with Sunburst
        puter.ai.txt2img("Change only the jacket to forest green", {
            model: "gpt-image-2.5-sunburst",
            quality: "high",
            input_image: "https://example.com/your-photo.jpg"
        }).then((image) => {
            document.body.appendChild(image);
        });
    </script>
</body>
</html>

npm

// npm install @heyputer/puter.js
import { puter } from "@heyputer/puter.js";

const image = await puter.ai.txt2img("A mid-century modern travel poster of a lighthouse at sunset", {
    model: "gpt-image-2.5-sunburst",
    quality: "xhigh",
    ratio: { w: 1024, h: 1536 }
});

document.body.appendChild(image);

txt2img() defaults to low quality, so set quality explicitly when comparing the two models. Passing input_image (or input_images for several) turns the request into an edit.

FAQ

When was GPT Image 2.5 released?

GPT Image 2.5 was released on September 8, 2026. In the API it is available as gpt-image-2.5-flare and gpt-image-2.5-sunburst, with dated snapshots ending in 2026-09-08.

What is the difference between Flare and Sunburst?

Flare is the smaller, faster model and the default for most applications. Sunburst is the larger base model, aimed at work where image quality and editing precision matter most, and it takes longer to generate. In our poster test, Sunburst took about twice as long and added more scene detail, and both rendered the text correctly.

How much does GPT Image 2.5 cost?

Both models use the same token rates on OpenAI's model page. Text input costs $5.00 per million tokens ($1.25 cached), image input costs $8.00 per million tokens ($2.00 cached), and image output costs $30.00 per million tokens. These rates are the same as GPT Image 2. There is no official per-image price yet, because OpenAI's image cost calculator does not cover 2.5. Puter's model listing shows $0.0059 per image at low quality and 1024x1024.

What is the context window?

OpenAI's model page does not list a context window for either model. OpenRouter's listing shows 400,000 tokens for Sunburst, which we could not confirm against OpenAI's documentation.

What changed compared with GPT Image 2?

GPT Image 2.5 splits into two models instead of one. It focuses on subject preservation from reference photos, edits that leave the rest of the image alone, and consistency across multiple edit turns, with up to 50% lower latency listed for Flare. It adds the xhigh and max quality settings above high, and transparent backgrounds are supported as a standard option. Token prices did not change.

What resolutions does it support?

Custom sizes can have edges up to 3,840 pixels. Both edges must be multiples of 16, the long edge can be at most three times the short edge, and the total pixel count must fall between 655,360 and 8,294,400.

Ship a Full-Stack App with One Prompt

Give this to your AI Create a to-do list app using Puter.js

Coding manually? see the guide