46 real screens, 6 models, 3 formats: 1,104 scored runs each

OpenUIBenchmarks

Generative UIBenchmark

Reliability vs cost

One line per format across all six models at list prices. Up and to the right is better: higher structural validity, less money.

70%80%90%100%Reliability vs cost$6$4$2$0Cost of one benchmark pass, 46 screensbetter ↗json-renderA2UIOpenUI
GPT-5.6 SolClaude Opus 4.8Kimi K3Gemini 3.6 FlashQwen3.8 2.4TMuse Spark 1.2

Blank screens vs. renders

Did the generation actually render?

1,104 runs per format across 6 models.
Counted as each SDK’s own renderer produced them.

OpenUI had 1 blank screen in 1,104 runs, compared with 35 for A2UI and 4 for json-render.

Render rate

Runs that rendered against runs that came back blank, out of 184 per model.

OpenUI99.9%
0184
0184
0184
0184
1183
0184
A2UI96.8%
5179
0184
5179
4180
16168
5179
json-render99.6%
0184
0184
0184
0184
4180
0184
RenderedCame back blank
GPT-5.6 SolClaude Opus 4.8Kimi K3Gemini 3.6 FlashQwen3.8 2.4TMuse Spark 1.2

Structural validity vs. render success

Was the output valid, and did anything render?

Valid: every part it refers to exists, and every setting is a real one. Render success: something appeared at all. 1,104 runs per format.

OpenUI leads on both; A2UI and json-render each trade one off against the other.

Structural validity and render success

Share of 1,104 runs per format; longer is better. Scales start at 75% and 95%, not zero. Arrows compare with OpenUI.

OpenUI96.5%99.9%
A2UI95.7%0.796.8%3.1
json-render80.2%16.399.6%0.3

What counts as valid. Parses, has a root, every reference resolves, nothing orphaned or invented, no missing or out-of-range props, not truncated, and at least as many components as the brief has requirements. That last one is a count floor, not a check that each requirement was addressed: this measures structure, not coverage.

Structural validity by model

How often the component graph holds together

Passes only if nothing is left dangling, nothing is invented, and every setting is valid. 184 runs per model, per format.

OpenUI leads overall: 96.5% vs 95.7% for A2UI. The lead changes by model, with two ties.

Structural validity by model

Runs whose component graph parses, resolves and validates, judged by each format's own SDK.

ModelOpenUIA2UIjson-render
SolOpenAI99.596.282.6
Claude Opus 4.8Anthropic98.999.587.5
Kimi K3Moonshot96.795.771.2
Gemini 3.6 FlashGoogle95.195.177.2
Qwen3.8 2.4TAlibaba91.891.381.0
Muse Spark 1.2Meta96.796.781.5
Average96.595.780.2

Token consumption and cost

Tokens and dollars for the same screens

46 screens,
priced at provider list prices.

OpenUI uses fewer tokens and costs 1.82.6× less across every priced model.

Token consumption

System prompt + output for one screen

OpenUI5,0311,362
A2UI12,6102.5×2,8232.1×
json-render7,6511.5×3,2582.4×

Cost of one benchmark pass

The same 46 screens at list prices

ModelOpenUIA2UIjson-render
Gemini 3.6 FlashGoogle$0.42$0.952.3×$0.852.0×
Muse Spark 1.2Meta$0.71$1.381.9×$1.341.9×
Qwen3.8 2.4TAlibaba$0.81$1.902.3×$1.461.8×
Kimi K3Moonshot$1.53$3.162.1×$2.911.9×
Claude Opus 4.8Anthropic$2.27$5.852.6×$4.882.1×
SolOpenAI$3.08$6.842.2×$6.302.0×

Streaming speed

How long a screen takes to render

Mean output per screen,
decoded at 50 tokens per second.

A screen streams in about half the time, because there is about half as much to write.

Time to stream a screen

Mean output per screen, decoded at 50 tokens per second.

OpenUI~27s
A2UI2.1×~56s
json-render2.4×~65s

Structural validity by screen complexity

Validity as requirements increase

46 briefs across 5 complexity bands,
about 9 per band.

As screens get harder, OpenUI and A2UI stay above 90%; json-render falls to 72%.

Structural validity by screen complexity

The more a brief asks for, the less every format delivers. OpenUI and A2UI track each other closely at every size; json-render falls fastest and furthest.

70809010091%93%72%2–34–67–911–1316–18requirements per screen
OpenUI91%A2UI93%json-render72%

Production repair

What gets fixed before users see it

Based on real production data:
OpenUI Cloud traffic, not benchmark runs.

Only 0.9% of generations reach a user broken. Of the ones that fail validation, 88% are repaired via incremental editing.

Repair funnel

What happens to a broken generation before it can reach a user.

100%7%0.9%
100%All generationsNo model callParser fixes syntax issues first
7%Fail validationNo model callStructural issues like dangling refs and bad enums
0.9%Reach a user brokenOne model call88% are repaired via incremental editing

Improve your Generative UI reliability with OpenUI Cloud.