OpenAI URGENT MODERATE 4 days left

dall-e-2 — Deprecated

Deprecated
Shutdown
2026-05-12
Status
deprecated
Replacement
gpt-image-1

Action required

Production code calling dall-e-2 will return errors after 2026-05-12.

Quick fix — copy & paste

Choose your language. The "before" block matches the deprecated call; the "after" block is the drop-in replacement.

Breaks on 2026-05-12
image = client.images.generate(
    model="dall-e-2",
    prompt="A red panda eating bamboo",
    size="512x512",
    n=4,
)
Use this instead
image = client.images.generate(
    model="gpt-image-1-mini",
    prompt="A red panda eating bamboo",
    size="1024x1024",
    n=4,
)

Error messages

Seeing one of these? You're in the right place.

  • model_not_found: dall-e-2
  • DALL-E 2 has been deprecated

Replacement options

Other OpenAI deprecations

What this means for your code

dall-e-2 is an image-generation model called through the images endpoint. Image generation models often change their quality enums, default response format (URL vs base64), supported sizes, and per-image pricing between versions. Migration is rarely a clean string swap.

OpenAI has scheduled dall-e-2 for shutdown on 2026-05-12. That gives you 4 days to migrate. Until then the model still works, but every API call after that date will return a model_not_found error.

Find every call in your codebase

Before you change anything, locate every place the deprecated model id is referenced. Search source files, environment files, feature flags, and config repos. Use these commands from your project root:

Python projects

grep -rn '"dall-e-2"' --include="*.py" .

JavaScript / TypeScript projects

grep -rn '"dall-e-2"' --include="*.{js,ts,tsx,jsx}" .

Anywhere (configs, scripts, infra)

grep -rn "dall-e-2" .

Migration checklist

Steps in order. Skip any that don't apply, but read the whole list — for image gen models, the non-obvious steps are usually the ones that break in production.

  1. 1. Update the model id in image generation calls
  2. 2. Map the old quality enum (standard/hd) to the new model's enum (low/medium/high/auto)
  3. 3. Verify supported sizes — newer models may not support 256x256 or 512x512
  4. 4. Check response_format default — gpt-image-1 returns base64 by default while DALL-E returned URLs
  5. 5. Recompute per-image cost; some new models charge by tile count, not by image

Will this migration cost more?

Switching from dall-e-2 to gpt-image-1 could change your costs significantly. Calculate the exact difference for your prompts.

Open the cost calculator →