Skip to content

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.

0:00 / 0:00
Left to right: Claude Opus 5.5, GPT-6 Astra

Result: No winner

  1. Claude Opus 5.50 votes
  2. 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

Claude Opus 5.5

Anthropic

UnscoredCompleted

  • Claude Opus 5.5's build, a few seconds into the animation
Time
18m 26s
Cost
$3.27est.
Tests
12/12
Tokens
723,289
Task: CompleteWorks: Works

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

GPT-6 Astra

OpenAI

UnscoredCompletedUnknown version

  • GPT-6 Astra's build, a few seconds into the animation
Time
7m 51s
Cost
$1.49est.
Tests
12/12
Tokens
375,901
Task: CompleteWorks: Works

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

Every contender side by side
MeasureClaude Opus 5.5GPT-6 Astra
ResultUnscoredUnscored
RunCompletedCompleted
Task completionCompleteComplete
Works?WorksWorks
Tests passed12/1212/12
Time18m 26s7m 51s
Cost$3.27at list price$1.49at list price
Tokens723,289375,901
Tool / harnessClaude CodeCodex CLI
Attempts11
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).

Claude Opus 5.5: $3.27
Fresh input18× $4/M$0.0001
Cache reads495,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
GPT-6 Astra: $1.49
Fresh input28,811× $10/M$0.29
Cache reads329,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

  1. #8

    A tree growing through the four seasons

    · 3D scene

    • Claude Opus 5.5Unscored
    • GPT-6 AstraUnscored

    Result: Result pending

  2. #9

    A jellyfish drifting through a dark ocean

    · 3D scene

    • Claude Opus 5.5Unscored
    • GPT-6 AstraUnscored

    Result: Result pending

  3. #7

    A firefly-lit forest at dusk

    · 3D scene

    • Claude Opus 5.5Unscored
    • GPT-6 AstraUnscored

    Result: Result pending