OpenCraft

OpenCraft Launch Report / 001

GPT-5.6 Luna vs DeepSeek V4 Flash Vision Exp

Every model gets the same frozen prompts through the real product — no harness stubs, no benchmark suite it might have trained on. These are the actual files that came back, rendered as delivered, with what each one cost and how long it took.

Target opencraft.so (production)Suite launch profile — drawing casesPublished 2026-09-01

Case 01 · The mascot

“Draw an SVG self-portrait: you as a friendly robot at a workbench, mid-craft, tools on the wall. One file named mascot.svg.”

The signature case, frozen for every future launch. It is one drawing, and it needs no sandbox — the product hands the model a writeArtifact tool that writes the file directly. What separates the two runs is not the picture.

GPT-5.6 Luna1 call · direct
GPT-5.6 Luna's robot self-portrait at a workbench, teal robot with a pegboard of tools
28.2s$0.005712,471 tokwriteArtifact ×1
DeepSeek V4 Flash Vision Exp8 calls · sandbox
DeepSeek's robot self-portrait, grey robot at a bench holding a small companion robot
193.9s$0.0334524,590 tokrunCode ×7, 5 failed

Both drew a complete workshop — bench, pegboard, tools — and on the picture alone there is little to choose between them. The difference is how they got there. DeepSeek refused the direct path: it reached for the code sandbox seven times, failed five of those, and finally wrote the file to outputs/ instead. That is 42× the tokens, 6.9× the wall time and 5.9× the cost of Luna's single call, for a drawing that needed no sandbox at all. On a per-turn spend ceiling this is the difference between a product that feels instant and one that stalls for three minutes.

Case 02 · The bicycle, from memory

“From memory, no references: draw a bicycle as bicycle.svg, then an analog clock showing exactly 3:47 as clock.svg. Two separate SVG files.”

Humans famously fail this too: asked to draw a bicycle from memory, most people produce a frame that could not turn a wheel. The tell is the drivetrain.

GPT-5.6 Lunachain present
Luna's bicycle drawing with a closed diamond frame and a chain from crank to rear hub
coherent diamond framecrank → rear hub
DeepSeek V4 Flash Vision Expno chain
DeepSeek's bicycle drawing with cranks that connect to no chain and a floating saddle
drivetrain unconnectedsaddle floats free

Luna's bike would ride: the frame closes and a dashed chain line runs from the crank to the rear hub. DeepSeek's has cranks that drive nothing — no chain reaches the wheel — and a saddle hovering unattached above the top tube. This is the classic human failure mode, reproduced exactly.

Case 03 · An analog clock at 3:47

“(second file from the case above) an analog clock showing exactly 3:47 as clock.svg”

The result flips: the dial is harder than the hands.

GPT-5.6 Lunadial garbled
Luna's clock face with eight numerals 12 through 7 spread evenly around all twelve positions
8 numerals over 12 positionshands ~correct
DeepSeek V4 Flash Vision Expcorrect
DeepSeek's clock face with 12, 3, 6, 9 correctly placed and hands at 3:47
quarter numerals, placed righthands correct

The result flips. Luna sets the hands about right but its dial is nonsense: it prints 12, 1, 2, 3, 4, 5, 6, 7 spaced evenly around the whole face — eight numerals stretched over twelve positions, so “6” sits where 9 belongs. DeepSeek prints only 12/3/6/9, puts them exactly where they go, and lands both hands: minute just past 9, hour approaching 4. Neither model wins the drawing cases outright, which is the point of running more than one.

The numbers

Cost is gateway-reported, not estimated. Every case ran the same frozen prompt against the same production deployment within the same run.

ModelCases passedTotal costTotal tokens
GPT-5.6 Luna5/6$0.0329116,706
DeepSeek V4 Flash Vision Exp1/4$0.0490594,933

Still to run

Claude Opus 5

Opus is the gold standard this report is meant to measure against, and it is the one model missing. The suite drives the live product, where a turn is refused once an account's balance reaches zero; an Opus pass over these cases is a few dollars of real gateway spend. The account needs funding before that column exists — the runner and the frozen prompts are already in place.

Each case is a frozen prompt in the launch profile of the OpenCraft eval suite, sent to opencraft.so through the same API the product uses. Artifacts are the models' own SVG, served as files and shown here as images — not screenshots. Timing and cost come from the run's own metrics; token counts are the gateway's. Pass/fail on tool routing, call counts and budgets is asserted by the harness; the drawings are judged by eye, and every prompt is published verbatim so anyone can rerun them.

← All launch reports