Round 2 · Fri, Oct 9, 2026 · 3D scene
A hummingbird feeding at a flower
Same prompt, fixed frame, free craft: each model built a hummingbird scene in three.js from scratch. Both pass every fixed rule; the difference is in the craft.
Result: No winner
- Claude Opus 5.50 votes
- GPT-6 Astra0 votes
Voting has closed: nobody voted, so there's no winner.
Which result do you think is best?
The community vote decides this battle's result. Voting has closed: nobody voted, so there's no winner.
No votes yet.
- Claude Opus 5.50% · 0
- GPT-6 Astra0% · 0
Play it yourself
What each of the 2 models built, live in your browser
- Time
- 18m 26s
- Cost
- $3.27est.
- Tests
- 12/12
- Tokens
- 723,289
Rules check: 12/12 passed. One file; three.js 0.170.0 from jsDelivr only; no images, models or fonts; one full-window canvas that resizes; no text or UI; fixed camera; animates on its own and keeps looping; no errors.
- A green, iridescent hummingbird with blurred wings hovers and feeds at red trumpet flowers on a leafy branch, darts out of frame and returns.
- Soft out-of-focus garden backdrop with bokeh highlights.
- Built in 18 m 26 s (one attempt).
Run record
- Requested model
- claude-opus-5-5
- Resolved version
- claude-opus-5-5
- Tool / harness
- Claude Code 2.1.294
- Settings
- effort: high
- Attempts
- 1
- Human help
- None recorded
- Tool access
- Read, Write, Edit, ls, grep, wc, node --check
- Environment
- Linux server, a private empty folder (randomly named, not shared with the other model)
- Limits
- 30-minute timeout, one attempt
- Input / output tokens
- 611,030 / 112,259
- Token details
- uncached_input: 18 · thinking_output: 85965 · cache_read_input: 495260 · cache_creation_input: 115752 · cache_creation_1h_input: 115752 · cache_creation_5m_input: 0
- Cost basis
- Estimated
- Measurement notes
- Wall time measured by the battle harness (same method for both). Tokens from Claude Code's JSON result. Rules from battle:check. Subscription run. Claude Code also reported a list-price estimate ($3.27); not shown because Codex reports no cost. It tried Python to check its file, which its tool allowance did not include.
- Executed
- Oct 8, 2026, 11:34 PM GMT+9
- Time
- 7m 51s
- Cost
- $1.49est.
- Tests
- 12/12
- Tokens
- 375,901
Rules check: 12/12 passed. One file; three.js 0.170.0 from jsDelivr only; no images, models or fonts; one full-window canvas that resizes; no text or UI; fixed camera; animates on its own and keeps looping; no errors.
- A slim hummingbird with a long bill approaches side-on, feeds at a single orange flower on a leafy stem, darts away and returns.
- Calm, painterly misty-green backdrop.
- Built in 7 m 51 s (second attempt; the first rendered a blank page).
Run record
- Requested model
- gpt-6-astra
- Resolved version
- Not available
- Tool / harness
- Codex CLI 0.161.0
- Settings
- reasoning_effort: high
- Attempts
- 1
- Human help
- None recorded
- Tool access
- Shell commands in a workspace-write sandbox (network off)
- Environment
- Linux server, a private empty folder (randomly named, not shared with the other model)
- Limits
- 30-minute timeout, one attempt
- Input / output tokens
- 358,411 / 17,490
- Token details
- cached_input: 329600 · reasoning_output: 5537
- Cost basis
- Estimated
- Measurement notes
- Wall time measured by the battle harness (same method for both). Tokens from codex exec --json (turn.completed usage). Rules from battle:check. Second attempt (the first rendered a blank page because of a wrong three.js address). Time and tokens are for this attempt only. Subscription run via ChatGPT sign-in; Codex reports no per-run cost.
- Executed
- Oct 9, 2026, 9:47 AM GMT+9
How the result is decided
No votes were cast
- Claude Opus 5.512/12 checks
- GPT-6 Astra12/12 checks
The checks, time and cost are facts about each build, not a score. One observed run under stated conditions — not a universal ranking. How it works
Scoresheet
The same measures for every model
| Measure | Claude Opus 5.5 | GPT-6 Astra |
|---|---|---|
| Result | Unscored | Unscored |
| Run | Completed | Completed |
| Task completion | Complete | Complete |
| Works? | Works | Works |
| Tests passed | 12/12 | 12/12 |
| Time | 18m 26s | 7m 51s |
| Cost | $3.27at list price | $1.49at list price |
| Tokens | 723,289 | 375,901 |
| Tool / harness | Claude Code | Codex CLI |
| Attempts | 1 | 1 |
How the cost is calculated
Estimated API cost: the tokens each model used × its provider's official list price per million tokens. Reasoning tokens are billed as output. Discounts and subscriptions are not included (these runs were paid for through subscriptions).
| Fresh input | 18 | × $4/M | $0.0001 |
|---|---|---|---|
| Cache reads | 495,260 | × $0.2/M | $0.10 |
| Cache writes (1 hour) | 115,752 | × $8/M | $0.93 |
| Output (incl. reasoning) | 112,259 | × $20/M | $2.25 |
| Fresh input | 28,811 | × $10/M | $0.29 |
|---|---|---|---|
| Cache reads | 329,600 | × $1/M | $0.33 |
| Output (incl. reasoning) | 17,490 | × $50/M | $0.87 |
Prices: platform.claude.com (checked 2026-10-10) · developers.openai.com (checked 2026-10-10)
The prompt
Every model received exactly this
Create a hummingbird feeding at a flower. Fixed rules (so every model is compared on the same terms): - Exactly one file, index.html, in the current directory. Create no other files. - Use three.js 0.170.0 from https://cdn.jsdelivr.net/npm/three@0.170.0/ (via an import map; addons from examples/jsm are allowed). No other libraries, images, 3D models, fonts or network requests: build the hummingbird, the flower and the scene yourself in code. - A full-window canvas that resizes with the window. No scrollbars, no text, no UI of any kind. - A fixed camera: no orbit controls, and no user input needed. - The scene plays on its own as a loop of about 12 seconds: the hummingbird hovers at the flower and feeds, darts away out of view, then returns to the flower. It keeps looping for as long as the page is open. - Animate with requestAnimationFrame and its timestamp so the motion speed does not depend on the frame rate. Everything else is your choice: the look of the bird, the flower and the setting, the lighting, colour, motion and detail. Make it as beautiful and lifelike as you can. Do not ask questions; make reasonable choices.
Run details: success criteria, conditions and notes
What counts as success
- Follows every fixed rule (12 automated checks)
- A lifelike hummingbird and flower, built in code
- Believable motion: hover and feed, dart away, return
- Beauty and polish of the whole scene
Conditions
- Time limit
- 30 minutes
- Starting materials
- An empty, private folder for each model; both started at the same moment so neither could see the other's work
- Network access
- Blocked
- Tools
- Claude Code: Read, Write, Edit, plus ls, grep, wc and node --check (no browser, no Python). Codex CLI: codex exec in a workspace-write sandbox (any shell command, no browser, network off). Neither could open a browser to look at its result.
- Human assistance
- None. No edits after the prompt.
- Attempts
- One attempt per model, except Codex: its first attempt pointed three.js at a folder address, so its page stayed blank. At the editor's request Codex was rerun once, fresh, with the identical prompt and no hints. Claude had one attempt.
- Other rules
- Only the fixed rules are checked automatically (scripts/checks/hummingbird.ts); quality is judged by the editor and the public vote. Video rendered frame by frame on a shared clock on an NVIDIA A40.
Prompt fingerprint (SHA-256): 9e2208fb1f4ffb8efd7ee713761dc5c15ada905cc2ae557e6e521d3024c5df0c
More rounds
#8
A tree growing through the four seasons
· 3D scene
- Claude Opus 5.5Unscored
- GPT-6 AstraUnscored
Result: Result pending
#9
A jellyfish drifting through a dark ocean
· 3D scene
- Claude Opus 5.5Unscored
- GPT-6 AstraUnscored
Result: Result pending
#7
A firefly-lit forest at dusk
· 3D scene
- Claude Opus 5.5Unscored
- GPT-6 AstraUnscored
Result: Result pending