GPT-6 · Intelligent UI
The model chooses the response format — a chart, a form, a working calculator — instead of always returning prose.
A change to how ChatGPT answers. Instead of always returning a block of text, the model decides when an answer works better as a chart, a form or a small working calculator — and renders that instead. You do not ask for it; the model picks.
What you build with it
- Any answer with numbers the reader will want to adjust
- Comparisons that read better as a table than as a paragraph
- Explanations that genuinely need a diagram
- Flows where the old pattern was “ask again with different inputs”
What it gets you
- Removes the re-ask loop for answers with parameters
- No special prompting — it decides on its own
- Falls back to plain text when plain text is enough
- Rollout
- Paid 7 Oct · Free/Go 8 Oct
- Paid tier model
- GPT-6 Sol
- Free / Go model
- GPT-6 Luna
- Unchanged
- Work and Codex models
Straight from the source
Why it matters
Every chat product so far has had the same output primitive: a block of text. Intelligent UI makes the interface itself part of the generation — the model decides a savings question is better answered by a slider than a paragraph, and renders the slider. If that lands, "chat app" stops being a useful description of the category.
Generative UI, shipped to a billion-user product
The idea is not new. Vercel's AI SDK has streamed React components from tool calls for a couple of years, and the pattern has a name. What is new is it being the default behaviour of a consumer assistant rather than something a developer wires up deliberately.
OpenAI's examples are telling: a bill-splitting calculator, an adjustable savings calculator, an interactive bicycle diagram, a trip map with editable stops. In each case the answer has parameters the user wants to change, and the old interaction — re-ask the question, regenerate the whole answer — was always a bad fit.
No special prompt is required. The model decides, and falls back to plain text when text is genuinely enough.
What it changes for people building on the API
The expectation bar moves first. Once a mainstream assistant answers a numbers question with a live widget, a text-only answer in your product reads as dated — the same way non-streaming responses started to feel broken once streaming became normal.
Structurally, the thing to get right is the boundary: the model should emit a described component with typed parameters, and your client should own the rendering. Letting a model emit markup you inject directly is how you get a prompt-injection hole with a rendering engine attached.
The safe version is a fixed registry of components you wrote, with the model choosing which one and supplying validated props. Zod or an equivalent at that boundary is not optional.
The split between chat and coding models
Worth noting that Work and Codex are explicitly not changing with this release. Interactive output is a chat-surface feature, not a model-wide capability shift.
The tiering is also informative: GPT-6 Sol for paid, GPT-6 Luna for Free and Go. Interactive responses cost more to generate than text, and the tiering is where that shows up.
Reach for it when
- Your answers have parameters users will want to adjust — anything with numbers, dates or trade-offs
- You already stream structured tool-call output and can render it client-side
- A static answer forces users to re-ask the same question with different inputs
Watch out for
- Never render model-authored markup directly; use a fixed component registry with validated props
- Interactive output is slower and more expensive than text — make text the fallback, not the exception
- Reported dates differ by a day or two across outlets; check OpenAI's own post before quoting one