
Most AI products still put the model inside a fixed chat window. That works for answers. It is a weak fit for booking flows, support checklists, or ops dashboards that need cards, forms, tables, and actions.
Generative UI means the model helps compose the interface. The useful version is not freeform pixels or unreviewed React. It is a model that selects from a catalog of components and actions your team already owns.
This post covers Vercel Labs' json-render, the experimental jev pairing, where AI Gateway fits, and a small interactive demo you can try below.
Vercel reported that Jev was adopted faster than any other model in AI Gateway history. In the first day, TypeSafe AI reached about 13% of teams, roughly 2x the GPT-5.6 family and 6x Fable 5.1.
Source: Vercel on X.
Jev is free on Vercel AI Gateway until September 25, which is a practical window to try typesafe-ai/jev on real composition workloads.
Source: Vercel Developers on X.
Adoption is not the same as production fitness. It does show demand for models that are good at structured decisions, not only long text.
Fixed: request -> LLM text -> chat bubble
Generative UI: request -> choose composition -> render approved components
The application still owns components, data access, handlers, validation, and permissions. A catalog gives the model room to compose without owning the product.
json-render is a Generative UI framework from Vercel Labs:

The catalog is a product boundary. Creativity stays inside the design system.
Classic structured output asks a large model to write a full JSON tree token by token. For UI that tree can be wide and deep. Time to first useful render suffers.
Chris Tate's public experiment paired json-render with jev (TypeSafe AI), a structured decision model, via experimental_composeSpec and experimental_createEvaluator.
Demo from Chris Tate on X.

jev focuses on which components and where they go. Your renderer still draws the UI.
Client -> your API (server) -> AI Gateway (typesafe-ai/jev) -> Spec -> React
import { experimental_createEvaluator } from "@json-render/core";
const evaluate = experimental_createEvaluator({
apiKey: process.env.AI_GATEWAY_API_KEY!,
model: "typesafe-ai/jev",
});Treat experimental_* APIs as unreleased and pin versions. Confirm Gateway permits TypeSafe AI for your team. Validate every Spec before render. Handle finish, limit, and unavailable.
The playground below sends its prompt to a server route that composes a Spec with live jev through Vercel AI Gateway. The API key stays on the server and never enters the browser bundle. If the route is unavailable, the playground shows an inline error state.
Compose a UI spec from the catalog using AI Gateway on the server.
The key stays server-only and never enters the browser.
Catalog: Card, Text, Metric, Button, List · 54/600
Choose a prompt and compose to render a live spec in this canvas.

| Approach | Best when |
|---|---|
| Catalog + jev / evaluator | You have a design system and need dynamic layouts with hard guardrails |
| LLM structured JSON | Specs are small and latency is acceptable |
| Tool calling | The model should call APIs, not compose screens |
| Freeform codegen / pixels | Exploration only. High freedom, high risk |
AI_GATEWAY_API_KEY server side onlytypesafe-ai/jevmaxElements / maxSteps / maxDepthGenerative UI does not replace frontend engineering. It makes catalog quality, actions, and validation more important. The model becomes a layer between intent and capabilities you already shipped.