OpenAI is shutting down the dall-e-2 and dall-e-3 API endpoints on May 12, 2026, six days from publication of this guide. After that date, requests to /v1/images/generations with either model id will return an error, and any creator workflow, automation, or product still calling those endpoints will silently break in production. Per the official OpenAI deprecation page, the replacements are gpt-image-1 and gpt-image-1-mini, with gpt-image-1.5 available as the newer flagship. The migration is not a one-line model-string swap. The request shape, output handling, sizing options, pricing model, and moderation behavior all differ enough that a naive change will break existing clients. This guide walks through the exact migration path, including code snippets for the most common API patterns and a fallback list of non-OpenAI providers worth evaluating before May 12.
What You Need

- An OpenAI API key with image generation access enabled (organization verification required for
gpt-image-1). - A list of every codepath that calls
dall-e-3ordall-e-2in your codebase, including scheduled jobs, webhook handlers, retry queues, and Zapier or Make automations. - 30 to 90 minutes per service for the code change, plus an additional cycle for output-format adjustments.
- A staging or development environment that can hit the live API with test prompts before May 12.
- Optional: API access to one alternative provider (Black Forest Labs Flux, Stability AI, fal) for a fallback path.
The Migration Workflow

Step 1: Inventory every DALL-E call in your stack
Open every repository and grep for the strings dall-e-3, dall-e-2, "dall-e, and the bare path v1/images/generations. Do not stop at the obvious server-side calls. Common places where DALL-E sneaks in include scheduled cron jobs, retry queues for failed image generations, internal admin tools, marketing automation playbooks (Zapier, Make, n8n), CMS plugins that auto-generate hero images, and prompt-engineering notebooks shared across the team. Write the inventory to a checklist before touching code, because the moderation and pricing differences in the next steps will need to be evaluated per-codepath, not globally.
For each call site, capture the current prompt, the size parameter, the quality setting (standard or hd), and whether the response is consumed as a URL or as base64. These four fields are the inputs to every decision in steps 2 through 5.
Step 2: Swap the model string and update the response handling
The headline difference between DALL-E 3 and gpt-image-1 is that the new endpoint always returns base64-encoded image data. There is no url response option. If your code consumed response.data[0].url and fetched the image with a second HTTP call, that path is gone. The new shape is response.data[0].b64_json, and your service is now responsible for decoding the base64 string and either streaming it to the user, uploading it to your CDN, or persisting it to disk. Here is the minimum-viable Python diff:
# Before (DALL-E 3)
result = client.images.generate(
model="dall-e-3",
prompt=prompt,
size="1024x1024",
quality="hd",
response_format="url",
n=1,
)
image_url = result.data[0].url
# After (gpt-image-1)
import base64
result = client.images.generate(
model="gpt-image-1",
prompt=prompt,
size="1024x1024",
quality="high",
n=1,
)
image_bytes = base64.b64decode(result.data[0].b64_json)
# Upload to your storage and produce a URL yourselfNote three changes beyond the model string. First, response_format is removed entirely (the new model only returns base64). Second, quality values changed: DALL-E 3 used standard and hd, while gpt-image-1 uses low, medium, and high. Third, the size enum has shifted: DALL-E 3 supported 1024x1024, 1024x1792, and 1792x1024, while gpt-image-1 supports 1024x1024, 1024x1536, 1536x1024, and auto. If any of your prompts depend on portrait or landscape ratios, audit the size mapping carefully.
Step 3: Recalibrate prompts for the reasoning model
The gpt-image-1 family ships with a reasoning step before generation. The model "thinks" about the prompt the way GPT-4o thinks about a chat message, which means it follows specific instructions more literally and tends to produce sharper text rendering, cleaner spatial composition, and more accurate object counts. The price of that capability is that the aesthetic baseline is different. Prompts that produced painterly, atmospheric DALL-E 3 outputs tend to produce sharper, more product-photography-like outputs on gpt-image-1 without explicit style direction.
The fix is to push style language earlier in the prompt and be more specific about medium. "Watercolor illustration of a quiet seaside town at dusk" works on DALL-E 3 because the model defaults to painterly. The same prompt on gpt-image-1 will land on a clean, vector-leaning interpretation. Push the style words to the front and add medium-specific cues: "Loose watercolor illustration with visible paper texture and soft pigment bleed, of a quiet seaside town at dusk." Run a sample of your top 20 production prompts through both models in parallel before May 12 and adjust any that drift outside your brand range.
Step 4: Update billing assumptions and rate limits
DALL-E 3 was billed at a flat per-image rate ($0.04 to $0.12 depending on size and quality). The new gpt-image-1 family is billed by token, with separate input and output token rates that translate to a per-image cost ranging from roughly $0.01 (low quality, small size, on gpt-image-1-mini) to roughly $0.19 (high quality, large size, on gpt-image-1). For most creator workflows, the average per-image cost lands within 20 percent of DALL-E 3 hd pricing. For high-volume automated pipelines, the variance is wider and worth modeling explicitly.
Update three things in your billing layer. First, revise any per-image cost tracking from a flat rate to a token-based calculation. Second, audit any quota or rate-limit logic that assumed DALL-E 3 throughput. The new endpoint has different request-per-minute limits per organization tier. Third, add monitoring on the new model's image generation latency, which can be longer than DALL-E 3 for the high-quality tier because of the reasoning step.
Step 5: Stand up a fallback provider before the deadline
The 2024 OpenAI outage that took down ChatGPT also took down the DALL-E API for about six hours. If your product depends on image generation as a core feature, depending on a single vendor is operational risk you can avoid in an afternoon. The four creator-grade alternatives worth wiring up as a fallback path are Black Forest Labs Flux (best price-to-quality ratio for general image gen, with a clean REST API), Stability AI (mature SDXL and SD3 endpoints, predictable pricing), fal (multi-model proxy with GPT Image 2, Flux, and Recraft on one bill, covered here), and Luma Uni-1.1 if your work needs multi-reference editing rather than pure text-to-image.
Wire the fallback as an environment-variable-driven switch rather than a hard-coded provider, so an operations engineer can flip providers in under a minute if OpenAI returns a 5xx. The fallback prompt template will need its own calibration pass per step 3, so do not skip that work and assume the fallback will produce equivalent output on day one.
Troubleshooting
- 403 errors on
gpt-image-1: Your organization needs verification through OpenAI's identity flow. The verification button lives in the API platform settings under "Organization." Allow up to 15 minutes for propagation after approval. - Images too sharp or too clinical: Add medium-specific style language to the front of your prompt (see step 3). Specifically, words like "loose," "painterly," "soft focus," "film grain," and "atmospheric" pull the output away from the default product-photography aesthetic.
- Cost spike on the same prompt: The
qualityparameter has new values. If your old code passed"hd"and a JSON parser silently mapped it to the highestgpt-image-1quality tier, you are now paying high-quality rates by default. Setquality="medium"explicitly unless you need"high". - Latency spike on chained generations: The reasoning step adds 2 to 6 seconds per image at the
highquality tier. For pipelines that generate three or more images sequentially, switch to async or batch generation, or move long-tail prompts togpt-image-1-mini. - Moderation false positives: The new model has tighter moderation on prompts mentioning specific living people. If your editorial workflow relied on DALL-E 3's looser celebrity moderation, expect some prompts to fail and have a fallback to Flux or Stability for those edge cases.
What to Try Next

Once the migration is in production and stable, three follow-on workflows are worth exploring. First, GPT Image 2's reasoning step makes it a real option for in-image text rendering (signs, posters, logos), which DALL-E 3 produced unreliably. If your brand needs typography in generated assets, the model can replace a manual Photoshop step. Second, the new image edit endpoint accepts a reference image and a mask, which makes it competitive with Photoshop generative fill for batch edits. Third, the multi-provider fallback path you stood up in step 5 is the foundation for a price- or quality-routed image generation layer that picks the cheapest provider per prompt class. Our Midjourney vs Flux vs DALL-E 2026 comparison is the starting point for that routing logic. The GPT Image 2 rollout coverage and ComfyUI integration writeup cover the consumer-side and node-graph migration paths respectively.
FAQ
What exactly happens on May 12, 2026?
API requests to /v1/images/generations with model: "dall-e-2" or model: "dall-e-3" will start returning errors. The endpoint itself remains active for gpt-image-1 and gpt-image-1-mini. ChatGPT consumer features that previously used DALL-E 3 have already been migrated to GPT Image 2 and are unaffected.
Is gpt-image-1 a drop-in replacement for dall-e-3?
No. The model id swap works, but the response format, quality enum, size enum, prompt aesthetics, pricing model, and rate limits all differ. A naive swap will compile and run, but downstream issues (broken image URLs, unexpected aesthetics, billing surprises) tend to surface within the first week.
What is the difference between gpt-image-1, gpt-image-1-mini, and gpt-image-1.5?
Per the OpenAI deprecation page, gpt-image-1 and gpt-image-1-mini are the official replacements for DALL-E. gpt-image-1.5 is the newer flagship that ships in ChatGPT as "GPT Image 2" or "ChatGPT Images 2.0," with stronger reasoning and pixel-stable editing. For new code, target gpt-image-1 as the baseline and benchmark gpt-image-1.5 on a sample of production prompts to see if the quality gain justifies the price difference.
Should I migrate away from OpenAI entirely while I am in here?
Probably not for the migration itself, because the engineering cost of a full vendor swap is higher than the same-vendor swap and the deadline is six days away. The right move is the fallback path in step 5: ship the OpenAI migration this week, then evaluate Flux, Stability, or Luma Uni-1.1 over the following sprint with real production traffic.
Will my saved DALL-E 3 generations from before May 12 still work?
Yes. Existing generated images are static files and continue to work indefinitely on whatever storage you persisted them to. The deprecation only affects new API calls. If you stored only the temporary URLs returned by DALL-E 3 (which expire after 24 hours), download and re-host any images you need to preserve before May 12 to be safe.