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.
- measured runs
- 19
- videos passing H1–H6
- 12
- spent on all runs (list prices + billed)
- $126
- 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 |
| 11 | Beam FreeOpenCode · medium | OpenCode | 3 | 3 | 4 | 3 | 1 | −2 | ±0 | 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.
All runs
Every measured run, failures included. 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 |
| Beam FreeOpenCode · OpenCode Zen (free) | medium | Failed · placeholder video | 3 | $0 | 8.0 min | 8.0 min | 12.3 | 224k | 1.4k | 86% | 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 |
| GPT-6.1 TerraCodex · OpenAI | high | Failed · gave up | – | $0.10 | 1.8 min | 1.7 min | 47.1 | 518k | 4.9k | 90% | No video |
| GPT-6 LunaCodex · OpenAI | high | Failed · gave up | – | $0.010 | 1.7 min | 1.7 min | 49.4 | 555k | 5.0k | 89% | No video |
| Big PickleOpenCode · OpenCode Zen (free) | – | Failed · free quota ran out | – | $0 | 1 h 19 min | 54 min | 153.5 | 38.1M | 509k | 99% | No video |
| DeepSeek V4.1 Flash FreeOpenCode · OpenCode Zen (free) | high | Did not finish · free quota ran out | – | $0 | 52 min | 45 min | 90.6 | 19.0M | 251k | 97% | No video |
| Kimi K3.1 ProOpenCode · OpenCode Go | high | Did not finish · 5-hour plan limit | – | $2.84 | 23 min | 22 min | 58.8 | 8.8M | 77k | 98% | No video |
| Claude Opus 5.5 (run 1, aborted)Claude Code · Anthropic · older spec | default | Aborted · wrong route in the spec | – | $0.45 | 2.0 min | – | – | 323k | 1.5k | 77% | No video |
| DeepSeek V4.1 Flash Free (first attempt)OpenCode · OpenCode Zen (free) | high | Not run · free quota ran out | – | $0 | 0.0 min | – | – | 0 | 0 | – | No video |
† billed amount, not list price
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 | – | – | – | – |
| Beam Free | 3 | $0 | $0.000 | ∞ | 464 | Cost · Wall time |
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 | 9 | 0.996 | 1 | 3.3 | 6 |
| 13 Nov → 14 Nov | 10 | 0.988 | 2 | 3.1 | 14 |
By harness and provider
The model is never measured alone: it runs inside a harness, and the provider decides prices and limits. Free tiers and plan limits ended most of the failed runs.
| Harness | Provider | Runs | Videos | Scored | Best score | Total cost | Total time |
|---|---|---|---|---|---|---|---|
| Claude Code | Anthropic | 6 | 5 | 4 | Claude Fable 5.2 86 | $92.21 | 6 h 10 min |
| Codex | OpenAI | 4 | 2 | 2 | GPT-6 Astra 63 | $5.40 | 32 min |
| OpenCode | OpenCode Zen (free) | 4 | 1 | 1 | Beam Free 3 | $0 | 2 h 19 min |
| Antigravity | 2 | 2 | 2 | Gemini 4 Argon 52 | $6.58 | 57 min | |
| Cursor | Cursor | 1 | 1 | 1 | Grok 4.7 30 | n/a | 31 min |
| OpenCode | OpenCode Go | 1 | 0 | 0 | – | $2.84 | 23 min |
| OpenCode | OpenRouter | 1 | 1 | 1 | Qwen3.8 Max 63 | $18.74 | 4 h 6 min |