Prompting3 min read

Prompt Patterns for Believable UI Screenshots

Nine battle tested patterns for making GPT Image 2 render mobile apps, dashboards, and operating system UIs with real readable copy.


UI generation is where GPT Image 2 earns its price. The patterns below are what we use to get readable, believable interface screenshots on first render without cleanup in post.

Pattern 1: quote every string

Wrap every visible UI string in single quotes. The model treats anything in quotes as a literal and renders it character for character. Unquoted text becomes a hint the model may shorten or paraphrase.

Bad: show the dashboard title as Daily Revenue. Good: display the dashboard title as 'Daily Revenue' in a confident sans.

Pattern 2: describe the grid

UI is layout first, visual last. Lead the prompt with the grid. Example: 'a left sidebar with 220 pixel width, three nav items, a main panel taking the rest of the width, a sticky header across the top with 56 pixel height.'

Pattern 3: specify the typography

State the typeface feel in one or two words. 'Clean geometric sans.' 'Condensed industrial sans.' 'Warm rounded sans for a friendly feel.' The model respects the descriptor and picks a plausible family.

A dashboard mockup generated from a quoted string prompt
A dashboard mockup generated from a quoted string prompt

Pattern 4: name the visual style era

'Modern 2026 SaaS look.' '1998 Windows 98 gray chrome.' 'Mid 2010s flat with solid colors.' The model maps era descriptors to consistent styling choices that hold across multiple renders.

Pattern 5: include small typography

Real UIs have microcopy, timestamps, tooltips, version numbers in the footer. Ask for them by name. 'Timestamp in the lower right reading 14:02.' 'Version pill next to the logo reading v2.4.1.'

Pattern 6: request a specific accent color

'Soft teal accent for primary CTAs, warm amber for warning states, muted grey for inactive.' The model uses those three notes across the render and the result reads like a real design system.

Pattern 7: ask for one populated row

Always ask the model to show one sample row of data, one sample message, one sample task. Empty shell UIs look fake. Populated UIs look real.

Pattern 8: mind the status chips

Specify status and badge copy. 'A status chip reading ON TIME in green.' 'A tag reading beta in muted blue next to the feature name.' The chips are the detail that lands.

Pattern 9: request realistic fake identifiers

Usernames, project names, order numbers, file paths. 'User JSMITH.' 'Project ORCA-14.' 'Order number AB48211.' The model will honor these and they make the screenshot feel lived in without leaking real PII.


Also reading