GPT Image 2.5 multi-turn edits: previous_response_id vs Sume
OpenAI keeps image edit state with previous_response_id in the Responses API. On Sume, each /v1/images call stands alone: re-send the image as a reference.

OpenAI's Responses API carries image edit history for you through previous_response_id. Sume's POST /v1/images has no such field in the docs I read: for the next turn you send the previous result's URL back in input_references with a new prompt.
OpenAI facts are from its image generation guide; Sume facts from the Image API docs, read 2026-10-01.
How does OpenAI do multi-turn image generation?
The guide lists multi-turn editing as a capability and says that, with the Responses API, you build multi-turn image conversations either by providing image generation call outputs in context (you can also just use the image ID) or by using the previous_response_id parameter.
What does one turn look like on Sume?
Each call is its own request. The result is data[].url, a Sume-hosted signed URL. To refine it, pass that URL as an image_url item in input_references. Reference URLs must be public HTTPS, and for edit calls the docs recommend aspect_ratio: "auto" to match the reference. GPT Image 2.5 takes up to 16 references.
const res = await fetch("https://api.sume.com/v1/images", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.SUME_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "openai/gpt-image-2.5",
prompt: "make the background a night sky, keep the subject",
aspect_ratio: "auto",
input_references: [
{ type: "image_url", image_url: { url: "https://example.com/turn-1.png" } },
],
}),
});
console.log(res.status);How do the two approaches compare on state?
| Question | OpenAI Responses API | Sume /v1/images |
|---|---|---|
| Carry the last image | previous_response_id or image ids in context | Send its URL in input_references |
| Blocking window | Not stated here | Up to 30 seconds, then a 202 job |
| Max references | Not stated here | 16 on GPT Image 2.5 |
What should I watch for?
If a turn exceeds 30 seconds you get 202 and a job envelope, so check the status code and read the result from the job endpoints. Because turns are separate, the signed URL you reuse must still be reachable over public HTTPS. More on chaining edits in multi-round image edits.
Sources
Related posts
More in Developers
- OpenAI image-encoding fix: rerun workflows with the right key
OpenAI fixed an image-encoding bug and advised retrying affected workflows. On Sume, a replayed idempotency key returns the original; use a new key to rerun.
- mTLS instead of an API key? How Sume authenticates calls
OpenAI's docs list mutual TLS and workload identity federation. Sume authenticates API calls with one API key header and signs webhooks with HMAC.
- OpenAI service-account-only keys, and Sume Format run limits
OpenAI admins can allow only service-account keys. On Sume, service-account keys cannot create Format runs or bulk queues; use a user-issued key.
- OpenAI speech API has six formats; Sume TTS has mp3, wav, raw
OpenAI lists MP3, Opus, AAC, FLAC, WAV and PCM for speech output. Sume TTS 1.0 has three containers: mp3, wav and raw, with set sample rates and encodings.
Written by Sume