All articles
June 8, 2025 5 min read

Image generation with DALL·E 3: prompt in, picture out

DALL·E 3 turns a plain-language description into an image, and its real leap was prompt-following. Here's how it works, how to call it, and what to know before you build on it.

Written forEngineeringProduct
Image GenerationDALL-EOpenAI

Text-to-image models turn a sentence into a picture, and DALL·E 3 was the one that made the results actually match the prompt. Where earlier models drifted — ignoring half your description — DALL·E 3 follows detailed instructions closely, which is what makes it usable in a product rather than a toy.

What DALL·E 3 changed

Prompt adherence. It renders the specific things you asked for — the objects, the counts, the style, the text on a sign — far more faithfully than its predecessors. Behind the scenes it also rewrites your short prompt into a richer one, which improves detail (and is why the image sometimes includes more than you literally typed).

Calling it

One request, one image
const res = await client.images.generate({
  model: 'dall-e-3',
  prompt: 'A cosy reading nook, warm evening light, watercolour style',
  size: '1024x1024',   // or '1792x1024' / '1024x1792'
  quality: 'hd',       // 'standard' | 'hd'
  style: 'vivid',      // 'vivid' | 'natural'
});
const url = res.data[0].url;

What to keep in mind

  • One image per call — DALL·E 3 generates a single image per request; loop if you need variations.
  • Your prompt gets revised — the API returns the rewritten prompt it actually used, which is worth logging.
  • Cost scales with size and quality — larger and 'hd' images cost more per generation.
  • Newer options exist — if you need image editing, inpainting, or tighter control, OpenAI's later image models (e.g. gpt-image-1) go beyond what DALL·E 3 offers.
The breakthrough in DALL·E 3 wasn't prettier pictures — it was pictures that finally match the words you gave it.
Building something with LLMs?
I help teams ship GenAI that’s reliable and cost-efficient.
Let’s talk