Floating harbor island (Three.js scene)
We wrote these prompts and ran each one once, identically, on Gemini 4 Hydrogen, Gemini 3.8 Flash, and Gemma 4 31B through the Gemini API free tier on 14 November 2026 (America/Denver). Hydrogen and 3.8 Flash used thinking_level=MEDIUM; Gemma 4 has no thinking level. We did not edit the models’ code. Playable frames show the raw HTML or SVG (Three.js CDN URLs were rewritten to a local copy so the iframe does not call the public internet). Dollar figures are equivalent paid-tier list prices — labelled “equivalent paid cost; ran on free tier.” A 429 or quota error stops that model for the rest of the batch; leftover tests wait until the free-tier quota resets at midnight Pacific. Free-tier prompts may be used by Google to improve products. This is not a benchmark: one run per prompt, our tasks, our settings.
The prompt (copyable)
Write a single self-contained HTML file that renders an interactive Three.js 3D scene: a small floating harbor island at dusk, a lighthouse with a rotating beam, bobbing boats, and a low-poly town. The viewer can orbit with the mouse or touch, and a control toggles day and night. You may load Three.js from exactly this URL and no other network request: https://unpkg.com/three@0.160.0/build/three.min.js Return only the HTML document, starting with <!DOCTYPE html>.
Side-by-side playable results
Each frame is sandboxed (scripts allowed, no same-origin). External network is blocked by CSP, except our local Three.js copy where needed.
Gemini 4 Hydrogen
ranrewrote Three.js CDN https://unpkg.com/three@0.160.0/build/three.min.js to local https://gemini4hydrogen.com/original-tests/lib/three.min.js
57.8s · 12,801 tokens · $0.0951 equiv. paid cost; ran on free tier
maxOutputTokens=32768 · thinking_level=MEDIUM
A denser low-poly harbor island at dusk: clustered houses, several boats in a cove, street lamps, a red-and-white lighthouse with a wide beam, and a Dusk/Night control. Orbit and zoom instructions are on screen.
Gemini 3.8 Flash
errorThe API returned an error, including after one extra attempt. No output this session.
HTTP 503
No output this session. The Gemini 3.8 Flash API returned HTTP 503 (“high demand”) or dropped the connection. We tried once more after the first failure and did not retry in a loop. This was not a quota / 429 error.
Gemma 4 31B
ranrewrote Three.js CDN https://unpkg.com/three@0.160.0/build/three.min.js to local https://gemini4hydrogen.com/original-tests/lib/three.min.js
2m 41s · 4,521 tokens · $0.0000 equiv. paid cost; ran on free tier
maxOutputTokens=32768 · thinking_level=n/a
A playable low-poly island in dark water: a lighthouse with a thin beam, eight small houses with lit windows, and two simple brown boat-like boxes. A Toggle Day/Night button and orbit/zoom instructions are on screen.
Metrics
| Model | Status | Wall time | Input | Thinking | Output | Equiv. paid cost | Finish |
|---|---|---|---|---|---|---|---|
| Gemini 4 Hydrogen | ran | 57.8s | 146 | 1,543 | 11,112 | $0.0951 * | STOP |
| Gemini 3.8 Flash | error | — | — | — | — | — | — |
| Gemma 4 31B | ran | 2m 41s | 117 | 933 | 3,471 | $0.0000 * | STOP |
* Equivalent paid cost; ran on free tier. Hydrogen $1.50 / $7.50 per 1M; 3.8 Flash $0.75 / $3.75 per 1M through 31 Dec 2026; Gemma listed free ($0.00). Output price includes thinking tokens.
What we observed
- Gemini 4 Hydrogen: A denser low-poly harbor island at dusk: clustered houses, several boats in a cove, street lamps, a red-and-white lighthouse with a wide beam, and a Dusk/Night control. Orbit and zoom instructions are on screen.
- Gemini 3.8 Flash: No output this session. The Gemini 3.8 Flash API returned HTTP 503 (“high demand”) or dropped the connection. We tried once more after the first failure and did not retry in a loop. This was not a quota / 429 error.
- Gemma 4 31B: A playable low-poly island in dark water: a lighthouse with a thin beam, eight small houses with lit windows, and two simple brown boat-like boxes. A Toggle Day/Night button and orbit/zoom instructions are on screen.
Observed facts only; we did not score the models and we did not fix their code.
