GPT Image 2.5 edit drifts after a few turns: repeat the preserve list
OpenAI says to repeat the preserve list on each iteration to reduce drift. How to run a one-change-per-call edit chain on Sume, which keeps no chat memory.

If a GPT Image 2.5 edit chain drifts after the third or fourth change, repeat the full list of things that must not change in every prompt, and ask for one change per call. That is OpenAI's own advice for iterative edits. On Sume each POST /v1/images call is independent, so the preserve list has to travel with every request.
What OpenAI documents about iteration
OpenAI's launch coverage says Images 2.5 follows editing instructions across multiple turns better than Images 2.0, and its developer pages still tell you to guard against drift. The Image prompting page says to pass the previous output as the next edit input, request one change, and repeat the details to preserve. The Cookbook guide says to repeat the preserve list on each iteration to reduce drift.
Press coverage of the ChatGPT launch adds a caution: Winbuzzer reports that highlighted areas are approximate and edits can extend beyond them.
| Advice | Where it comes from |
|---|---|
| Pass the previous output as the next edit input | Image prompting page |
| Request one change at a time | Image prompting page |
| Repeat the details to preserve | Image prompting page |
| Repeat the preserve list on each iteration | Cookbook prompting guide |
| Compare results before adding more instructions | Image prompting page |
Why Sume needs the list every time
The ChatGPT app and OpenAI's Responses API can carry context from turn to turn. Sume's Image API does not: its parameter table has a prompt and optional input_references, and no field that points at a prior response. Each call sees only what you send.
So an edit chain on Sume is a loop. Take the image you approved, host it at a public HTTPS URL, send it as the reference, and write the preserve list again. Phrases like "same as before" mean nothing to a call that has no before.
A reusable preserve block
Keep the block in your code and append the one new change. Adapt the nouns to your picture:
- Preserve: the subject's face, hairstyle, skin tone and expression; the camera angle; the lighting; the background objects; any text and logos exactly as they are.
- Change only: the jacket colour from grey to red.
- Do not add text, props or people. Keep everything else the same.
Keep the original in the loop
Every pass starts from a slightly different picture, so small errors compound. A safer pattern is to send the previous output and the untouched original together as references, and number them in the prompt (Image 1 is the original, Image 2 is the latest). Sume accepts up to 16 references on GPT Image 2.5, and numbering them in the prompt is how you say which is which.
Remember the cost: a completed image is billed in full, so a six-step chain is six images. See what an edit chain costs. Pass aspect_ratio: "auto" on each edit so the frame stays the same shape; Sume's docs note that omitting it is not the same.
When to stop editing
If the same detail drifts twice with the preserve list present, stop chaining. Go back to the last good image and make that one change with a mask, or regenerate the image from the original with all changes in a single prompt. OpenAI's image guide says the model may occasionally struggle to maintain visual consistency for recurring characters or brand elements, so some drift is a known limit, not a prompt mistake.
Sources
Related posts
More in Models
- GPT Image 2.5 repeats the headline: say how many times it appears
Duplicate text in a GPT Image 2.5 result? OpenAI's guide says to quote the copy and state how often it appears. The prompt, plus n and billing on Sume.
- GPT Image mask edit changed pixels outside the mask: what OpenAI says
OpenAI says GPT Image masks are guidance and may not follow the exact shape. Why a mask_url edit leaks, and how to keep the rest of the image on Sume.
- GPT Image 2.5 mask_url edit: change one region, keep the rest
GPT Image 2.5 on Sume accepts a public mask_url alongside input_references. Build a mask with Pillow, host it, and edit only one region of a photo.
- GPT Image 2.5 character drift: what OpenAI says and what to send
OpenAI's image guide says GPT Image may struggle to keep a recurring character the same across generations. What to send on Sume to reduce drift.
Written by Sume