prague-bench
A single-prompt benchmark for AI coding agents. Every model gets the same spec: build a procedural Three.js drone flight over Prague Castle and Charles Bridge, render it headless and deliver a 58-second vertical video. No human help along the way. Here is what each run cost, how long it took, how fast the model wrote, and what a blind panel of three AI judges thought of the result.
- finished runs with a valid video
- 13
- spent on these runs (list prices + billed)
- $122
- total wall time of these runs
- 14 h 6 min
- latest blind panel, 11 videos
- 14 Nov
Leaderboard
The blind panel of 14 Nov 2026 judged 11 videos. Three judges from three vendors scored 16 frames of each video without knowing which model made it. The score is the median of the three.
| # | Model | Harness | Anthropic | OpenAI | Median | Spread | vs 13 Nov | vs 11 Nov | H1–H6 | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Claude Fable 5.2Anthropic · high | Claude Code | 86 | 88 | 85 | 86 | 3 | −3 | ±0 | Pass |
| 2 | Claude Opus 5.5Anthropic · high | Claude Code | 85 | 81 | 75 | 81 | 10 | −2 | +1 | Pass |
| 3 | Claude Sonnet 5.5Anthropic · high | Claude Code | 73 | 77 | 86 | 77 | 13 | +1 | −1 | Pass |
| 4 | GPT-6 AstraOpenAI · high | Codex | 58 | 63 | 68 | 63 | 10 | −1 | +5 | Pass |
| 4 | Qwen3.8 MaxAlibaba · medium | OpenCode | 63 | 53 | 78 | 63 | 25 | – | – | Pass |
| 6 | GPT-6.1 SolOpenAI · high | Codex | 58 | 58 | 60 | 58 | 2 | −2 | ±0 | Pass |
| 7 | Claude Haiku 5.5Anthropic · high | Claude Code | 53 | 43 | 91 | 53 | 48 | ±0 | +6 | Pass |
| 8 | Gemini 4 ArgonGoogle · medium | Antigravity | 52 | 59 | 48 | 52 | 11 | −3 | −3 | Pass |
| 9 | Gemini 4 HydrogenGoogle · xhigh | Antigravity | 41 | 48 | 52 | 48 | 11 | +3 | – | Pass |
| 10 | Grok 4.7xAI · medium | Cursor | 37 | 29 | 30 | 30 | 8 | −14 | −8 | Pass |
Spread is the gap between the highest and the lowest judge. The last two columns show how the median moved since the earlier panels; “–” means the video was not in that panel yet. Differences of up to about 6 points are within the panel’s noise. Failed runs, such as a placeholder video, are left out even when the panel judged them.
Finished runs
Every run that finished with a valid video passing H1–H6. Model time counts only the time the model was generating; the rest of the wall time went to tools, renders and waiting. Select a model for its full record.
Select a column header to sort.
| Model | Effort | Status | Score | Cost | Wall time | Model time | tok/s | Tokens | Output | Cache hit | H1–H6 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Claude Fable 5.2Claude Code · Anthropic | high | Finished | 86 | $43.54 | 1 h 40 min | 1 h 8 min | 97.4 | 25.2M | 397k | 91% | Pass |
| Claude Opus 5.5Claude Code · Anthropic | high | Finished | 81 | $15.41 | 1 h 7 min | 56 min | 105.3 | 23.2M | 352k | 97% | Pass |
| Claude Sonnet 5.5Claude Code · Anthropic | high | Finished | 77 | $7.28 | 53 min | 39 min | 133.0 | 19.5M | 307k | 95% | Pass |
| GPT-6 AstraCodex · OpenAI | high | Finished | 63 | $4.46 | 14 min | 11 min | 36.2 | 2.6M | 25k | 97% | Pass |
| Qwen3.8 MaxOpenCode · OpenRouter | medium | Finished | 63 | $18.74 † | 4 h 6 min | 3 h 59 min | 30.9 | 69.2M | 443k | 99% | Pass |
| GPT-6.1 SolCodex · OpenAI | high | Finished | 58 | $0.83 | 14 min | 13 min | 36.1 | 4.0M | 27k | 98% | Pass |
| Claude Haiku 5.5Claude Code · Anthropic | high | Finished | 53 | $1.32 | 29 min | 22 min | 214.7 | 12.3M | 289k | 96% | Pass |
| Gemini 4 ArgonAntigravity · Google | medium | Finished | 52 | $3.57 | 37 min | 27 min | 67.5 | 7.6M | 110k | 88% | Pass |
| Gemini 4 HydrogenAntigravity · Google | xhigh | Finished · harness error, no report | 48 | $3.01 | 20 min | 14 min | 190.6 | 6.9M | 162k | 87% | Pass |
| Grok 4.7Cursor · Cursor | medium | Finished | 30 | n/a | 31 min | – | – | – | – | – | Pass |
| Claude Opus 5.5 (run 2, older spec)Claude Code · Anthropic · older spec | default | Finished | – | $24.21 | 2 h | 47 min | 98.0 | 26.5M | 278k | 89% | Pass |
| Nemotron 3 Ultra FreeOpenCode · OpenRouter | medium | Finished | – | $0 † | 58 min | 27 min | 70.1 | 24.7M | 111k | 98% | Pass |
| Nemotron 3.5 Super VL FreeOpenCode · OpenRouter | thinking | Finished | – | $0 † | 58 min | 34 min | 101.8 | 30.1M | 205k | 98% | Pass |
† billed amount, not list price
8 runs that did not end with a valid video are not listed on this page. Their record is under Failures.
Score versus cost
Price and quality pull in opposite directions. A run is on the Pareto frontier when no other run is both cheaper and better.
Score versus cost (log scale)
- Pareto frontier
Cost per score point
- Pareto frontier
| Model | Score | Cost | Cost per point | Points per $ | Output tokens per point | Pareto frontier |
|---|---|---|---|---|---|---|
| Claude Fable 5.2 | 86 | $43.54 | $0.506 | 2.0 | 4,614 | Cost · Wall time |
| Claude Opus 5.5 | 81 | $15.41 | $0.190 | 5.3 | 4,344 | Cost · Wall time |
| Claude Sonnet 5.5 | 77 | $7.28 | $0.095 | 10.6 | 3,989 | Cost · Wall time |
| GPT-6 Astra | 63 | $4.46 | $0.071 | 14.1 | 389 | Cost · Wall time |
| Qwen3.8 Max | 63 | $18.74 † | $0.298 | 3.4 | 7,036 | – |
| GPT-6.1 Sol | 58 | $0.83 | $0.014 | 69.9 | 473 | Cost |
| Claude Haiku 5.5 | 53 | $1.32 | $0.025 | 40.2 | 5,446 | – |
| Gemini 4 Argon | 52 | $3.57 | $0.069 | 14.6 | 2,121 | – |
| Gemini 4 Hydrogen | 48 | $3.01 | $0.063 | 16.0 | 3,378 | – |
| Grok 4.7 | 30 | n/a | – | – | – | – |
Time
Wall time runs from the agent’s first to its last action and includes rendering and encoding, which are part of the task.
Score versus wall time (log scale)
- Pareto frontier
Where the time went
- Model generating
- Tools & waiting
Generation speed
Tokens per second while the model was actually generating. Tool calls and waits are excluded; time to the first token is included, so this is end-to-end model speed, not the pure decode rate.
Generated tokens per second
Tokens
Agents re-send their growing context on every call, so most tokens are cache reads. The mix differs a lot between harnesses: some write the cache explicitly, others only read it.
Token mix and cache-hit ratio
- Uncached input
- Cache read
- Cache write
- Output
Judges
The panel score hides how the judges arrived at it. These charts show what they rewarded, how much they agreed, and how stable the scores were across three separate panels.
What earned the points
- Landmarks
- City look
- Camera & drone
- Life
- Overall
Judge agreement per video
- Anthropic
- OpenAI
- Median
Score drift across panels
- moved more than 6 points
- stable within 6 points
| Panels | Videos in both | Spearman ρ | Largest rank change | Mean |Δ score| | Largest |Δ score| |
|---|---|---|---|---|---|
| 11 Nov → 13 Nov | 8 | 0.994 | 1 | 3.5 | 6 |
| 13 Nov → 14 Nov | 9 | 0.983 | 1 | 3.2 | 14 |
By harness and provider
The model is never measured alone: it runs inside a harness, and the provider decides prices and limits.
| Harness | Provider | Runs | Scored | Best score | Total cost | Total time |
|---|---|---|---|---|---|---|
| Claude Code | Anthropic | 5 | 4 | Claude Fable 5.2 86 | $91.76 | 6 h 8 min |
| OpenCode | OpenRouter | 3 | 1 | Qwen3.8 Max 63 | $18.74 | 6 h 2 min |
| Antigravity | 2 | 2 | Gemini 4 Argon 52 | $6.58 | 57 min | |
| Codex | OpenAI | 2 | 2 | GPT-6 Astra 63 | $5.29 | 28 min |
| Cursor | Cursor | 1 | 1 | Grok 4.7 30 | n/a | 31 min |