GPT-6 Astra vs Gemini 4 Argon: directing Blender to build a warship from one picture
We gave two AI models one picture of a warship and the same short prompt. Each one writes Blender Python, renders the scene, looks at its own render, fixes what is wrong and repeats until it judges the ship matches. We ran each model at three reasoning effort levels and logged the time and the API price.
What we saw
- GPT-6 Astra finished all three runs on its own, in 11 to 19 minutes, for $2.70 to $5.24. The high-effort ship has the most detail: a lattice mast, a gun barrel, 156 separate parts.
- Gemini 4 Argon's ships look nearly as good, and at low effort it had a decent model in 6.4 minutes. But it finished on its own only at high effort (32.8 minutes, $5.21), and it merges the ship into a dozen parts.
- At low and medium, Gemini 4 got stuck: right after looking at its own render, one request hung until we stopped the run at 50 minutes. Same thing on a second try. More on this below.
- Gemini 4 writes far more: it rewrites the whole Blender script on every turn, 78k to 349k output tokens per run, against 14k to 32k for Astra.
Results
| Effort | Model | Time | API price | Output tokens | Triangles | Parts | What happened |
|---|---|---|---|---|---|---|---|
| low | GPT-6 Astra | 10.9 min | $2.70 | 13,593 | 51,666 | 1129 | Finished on its own |
| low | Gemini 4 Argon | 6.4 min | $1.48 | 77,662 | 13,476 | 17 | Model ready at 6.4 min, then a request hung; stopped at 50 min |
| medium | GPT-6 Astra | 11.4 min | $2.74 | 14,592 | 75,872 | 1512 | Finished on its own |
| medium | Gemini 4 Argon | no model | $1.42 | 86,689 | none | A request hung before it saved a model; stopped at 50 min | |
| high | GPT-6 Astra | 18.5 min | $5.24 | 31,585 | 155,834 | 156 | Finished on its own |
| high | Gemini 4 Argon | 32.8 min | $5.21 | 349,371 | 61,572 | 12 | Finished on its own |
API price = tokens times list price per million tokens. GPT-6 Astra: $10 input, $1 cached input, $50 output (we ran it on a ChatGPT subscription, so for us this is an equivalent, not a bill). Gemini 4 Argon: $2 input, $0.20 cached input, $10 output (Google's introductory price, set to double later). Gemini's failed first tries at low ($1.15) and medium ($1.80) are not in the table; with them, Gemini 4 cost $11.06 in total.
The picture and the prompt

Both models got this picture and this prompt, word for word (machine names replaced):
Recreate the warship in the reference image as a 3D model in Blender. The reference is reference.jpeg in this directory: look at it with your image tool first. Blender 5.2 is headless on another machine (it has an NVIDIA GPU; Cycles can use OPTIX). Write bpy scripts here, run them with: ssh <gpu-box> blender -b --python-exit-code 1 --python <remote-dir>/<script>.py (scp your script to <gpu-box>:<remote-dir>/ first, scp renders back here, then LOOK at them with your image tool.) Iterate until the render matches the reference: hull shape and bow, superstructure blocks and radar panels, mast, stack, deck gun, missile cells, flight deck and hangar, haze-grey paint. Real-world scale in metres, separate named objects for the main parts. Deliver in this directory: final.png (1920x1080 Cycles, similar 3/4 view) and cruiser.glb. Stop when you judge it matches.
Side by side, effort by effort
Drag to turn a ship, scroll or pinch to zoom, right-drag to pan. Full screen shows the most detail. Under each viewer is the model's own Cycles render.
Effort: low
same picture, same promptGPT-6 Astra

Gemini 4 Argon

Effort: medium
same picture, same promptGPT-6 Astra

Gemini 4 Argon

Effort: high
same picture, same promptGPT-6 Astra

Gemini 4 Argon

How we ran it
- Each model ran in its usual coding-agent harness: GPT-6 Astra in the Codex CLI, Gemini 4 Argon in Claude Code through an Anthropic-format API proxy. Both had shell access, could run Blender 5.2 headless on a GPU server, and could open their renders as images.
- All six runs started at the same time on the same GPU server, with a 50-minute limit each. Nobody stepped in during a run.
- Effort: Astra's reasoning effort setting (low, medium, high); Gemini 4's thinking level (low, medium, high).
- About the Gemini 4 hangs: the stuck request timed out again and again (about 6 minutes each try), even after we raised the client timeout to 20 minutes. So something between the client and the model cut it off, and we have not pinned down what. It may be our proxy path rather than the model. We report it because it decided the outcome, not as a verdict on Gemini 4 itself.
- One run per setting. Expect run-to-run variation; treat this as a field note, not a benchmark.