DALL-E 2 was removed May 12: four variations from one edit call
OpenAI removed dall-e-2 on May 12, 2026. Replace it with one Sume edit call that returns up to four new takes of a photo, with estimated cost at each quality.

OpenAI's deprecations page lists dall-e-2 as removed on May 12, 2026, so any script that still names it fails. To get several new takes of one photo today, send the photo as an input reference to a GPT Image model with n set to 4. On Sume, GPT Image 2.5 allows at most 4 images per call, so that is the largest batch in one request.
What OpenAI says about dall-e-2
The deprecations page, read on 2026-10-07, shows dall-e-2 and dall-e-3 announced on November 14, 2025 and removed on May 12, 2026. For both, OpenAI names gpt-image-2, gpt-image-1 or gpt-image-1-mini as the replacement. That is 179 days from announcement to removal, counted from November 14 to May 12.
Of those three suggested replacements, gpt-image-1 is itself removed on October 23, 2026 and gpt-image-1-mini on December 1, 2026. If you are rebuilding a variations feature now, start from gpt-image-2 or the 2.5 pair instead.
The dates matter for planning: three of the four rows above fall within a single year, so a replacement picked from an older tutorial can be gone before the tutorial is updated.
| Model | Announced | Removed |
|---|---|---|
| dall-e-2 | November 14, 2025 | May 12, 2026 |
| dall-e-3 | November 14, 2025 | May 12, 2026 |
| gpt-image-1 | April 22, 2026 | October 23, 2026 |
| gpt-image-1-mini | June 2, 2026 | December 1, 2026 |
One edit call with n set to 4
On Sume the same route handles text-to-image and edits. Add a public HTTPS image URL under input_references, set aspect_ratio to auto so each result keeps the shape of the source, and set n. The prompt tells the model what to vary, since a model that edits does not know you want variations unless you say so.
Edits are JSON. A multipart upload, which is how some older clients send files, returns 415, so pass a URL instead of file bytes.
Two behaviours differ from a bare variations call. First, the response is a Sume-hosted, signed URL for each image, not base64 data, so your code downloads the files if it needs bytes. Second, a call that runs longer than 30 seconds returns 202 with a job envelope; the script above prints the status so you can see which case you hit.
import json, os, urllib.request
key = os.environ.get("SUME_API_KEY")
if not key:
raise SystemExit("SUME_API_KEY is not set")
body = json.dumps({
"model": "openai/gpt-image-2.5",
"prompt": "Four new takes of this product shot: same item, different lighting and backdrop.",
"n": 4,
"quality": "low",
"aspect_ratio": "auto",
"input_references": [
{"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}}
],
}).encode()
req = urllib.request.Request(
"https://api.sume.com/v1/images",
data=body,
headers={"Authorization": f"Bearer {key}", "Content-Type": "application/json"},
)
with urllib.request.urlopen(req) as res:
data = json.load(res)
print(res.status)
for item in data.get("data", []):
print(item["url"])What four takes cost
Sume bills the provider list price times 1.25 before cent rounding, and the amount is multiplied by n. Using my estimate of a text-only 1024x1024 image ($0.007375 at low before rounding), four images come to about 4 x $0.007375 = $0.0295 at low, 4 x $0.0165 = $0.066 at medium and 4 x $0.065875 = $0.2635 at high. A reference image adds input tokens that I did not price, so treat these as lower bounds and read usage.cost.
Asking for five returns a 400 error, because the model ceiling is 4. For eight takes, send two requests.
Choosing what to vary
Variation quality comes from the prompt. Name one thing to change per call, such as lighting, background or camera angle, and keep the rest fixed. Run low first, pick the direction you like, then re-run that prompt at high for the final.
Keep the originals. If a customer picks variation three, you want the prompt and the reference URL that produced it, so store them with the result URL and the usage.cost value from the response.
Sources
Related posts
More in Use cases
- Driver onboarding videos with an AI avatar: five 30-second clips
Five short avatar clips can cover a driver's first day. What each should say, how to handle a multilingual crew honestly, and the cost by tier.
- Clinic waiting-room clip: 12 seconds of Wan 3.0 for 75 cents
A 12-second explainer loop for a clinic waiting-room screen costs 75 cents at 480p, $1.50 at 720p and $3.00 at 1080p on Sume's wan-3.0.
- Dentist office welcome video: a 9:16 AI avatar clip from one script
A dental practice can make a vertical welcome video without a shoot: one avatar, one script of 4 to 60 seconds, burned-in captions, and a staff review step.
- Destination film from ten location photos with Wan 3.0 on Sume
Turn ten photos of a town into a 30-second film with wan-3.0 reference images: $3.75 at 720p, $7.50 at 1080p, and a prompt that needs a dawn-to-dusk arc.
Written by Sume