vbench · Season 3 · Round 1
Horse in Motion
A horse at full gallop, in 4 KB of code.
- Hand-scored
- Run Oct 14, 2026
- Effort: xhigh
- Tests: A true gallop: footfalls, flight, grip, legs and bounce
VerdictSix of eight models animate a real gallop in under 4 KB, with hooves planted and legs gathered in flight. GPT-6 Sol and GPT-6 Luna run on a treadmill, and Luna's file is over the limit. Opus 5.5 and GPT-6.1 Sol share the top score; Sol used 18K tokens to Opus's 83K.
Scores
| Place | Model | Runs | Brief | Physics | Craft | Total | Build time | Output tokens | Bytes |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Opus 5.5 | 5 | 5 | 5 | 4 | 19/20 | 14 min | 83,195 | 3,505 |
| 1 | GPT-6.1 Sol | 5 | 5 | 5 | 4 | 19/20 | 10 min | 18,454 | 3,177 |
| 3 | Fable 5.1 | 5 | 5 | 5 | 3 | 18/20 | 10 min | 51,773 | 3,521 |
| 3 | GPT-6 Astra | 5 | 5 | 4 | 4 | 18/20 | 4 min | 8,852 | 3,394 |
| 3 | Sonnet 5.5 | 5 | 5 | 5 | 3 | 18/20 | 9 min | 75,793 | 3,457 |
| 6 | Haiku 5.5 | 5 | 5 | 5 | 2 | 17/20 | 6 min | 89,170 | 3,713 |
| 7 | GPT-6 Sol | 5 | 5 | 2 | 3 | 15/20 | 2 min | 7,051 | 4,090 |
| 8 | GPT-6 Luna | 5 | 0 | 3 | 1 | 9/20 | 1 min | 6,290 | 4,310 |
The test
In 1878 Eadweard Muybridge photographed a galloping horse with twelve cameras and settled an old argument: the hooves strike one at a time, and once every stride all four leave the ground with the legs folded under the body, not stretched out front and back the way painters drew it. 148 years later, eight AI models get one try to animate it in 4 KB of code.
Why this test
- Anyone can judge it. A sliding hoof, a leg that stretches or a rocking-horse bounce shows at a glance, even on a phone.
- It can be checked. Each horse is recorded on a frozen clock, one stride becomes twelve frames, and every check can be confirmed in the model's own code.
- It's hard in the right way. The gallop cycle is a classic exercise for animators: legs plant, push, fold and reach in order, at the ground's speed.
- It's cheap. The 4 KB cap holds an answer to roughly 1,300 tokens of code, so the round tests judgment more than volume.
- It's fresh. The brief never mentions Muybridge, and this isn't a test the models have seen a thousand times.
How it's scored
- Four criteria, 0 to 5 each, 20 in all.
- Runs, measured: frame rate over 20 seconds, time to the first frame, errors, and any network request.
- Brief, mostly measured: the size limit is a gate, so a file over 4,096 bytes scores 0 here. Otherwise one point comes off for each miss: a side view running right, held in the middle, a recognisable horse, fills the window, loops forever, shows only the scene, loads nothing.
- Physics: the five checks below, one point each. They were written before any model ran and kept private until the results were in.
- Craft, by hand: the horse's shape and weight, its rhythm, the setting and light, and how much was made of 4 KB.
- Four beats: the hooves strike one at a time, both hinds then both fores.
- Once per stride all four hooves leave the ground, legs gathered under the body.
- A hoof on the ground stays put: no sliding.
- Four legs that keep their length and bend the right way.
- The body rises and falls with the stride.
How it was measured
- Every horse ran in the same browser on a frozen clock: 600 frames at 60 per second, so every tile in the film is in step to the frame.
- Sliding: a hoof on the ground should move left at exactly the ground's speed. The ground's speed comes from each file's own code, hooves are tracked frame by frame along the ground line, and the two are compared. Six horses keep their hooves planted; GPT-6 Sol's slide at about four times the ground's speed and GPT-6 Luna's at about eleven.
- Footfall order and the moment of flight are read from each file's timing and confirmed on the plate.
- Frame rate and the first frame come from a separate 20-second run in real time, with every network request blocked and counted.
What it cost
- 340,578 output tokens for all eight, reasoning included: from 6,290 for GPT-6 Luna to 89,170 for Haiku 5.5.
- 1 to 14 minutes a model. In Season 2, Opus 5.5 alone took 78 minutes and more than 384,000 output tokens on one scene.
- The top score is shared: Opus 5.5 used 83,195 output tokens, GPT-6.1 Sol used 18,454.
How the models ran
- Each model ran once, at extra high reasoning effort, through its maker's command-line tool, from an empty folder, with no skills and nothing about me.
- Fable 5.1 refuses a request that offers no tools, and Claude Code then answers with a different model without saying so. So the Claude models were offered the file and web tools with every call denied, and the shell was removed. Haiku 5.5 and Sonnet 5.5 each asked to write the file once and were denied; GPT-6 Astra called its disabled code tool once. Nothing ran.
- Six replies left out the closing </html> tag, which HTML allows. The harness first read them as cut off; it was fixed and the saved replies were read again. No model was called twice.
Each model
-
Opus19/20 1stOpus 5.5
19/20
- Runs5 out of 5
- Brief5 out of 5
- Physics5 out of 5
- Craft4 out of 5
A racetrack with a white rail and a shaded bay with a flowing mane and tail, kicking up dust at every strike. The horse is small in the frame.
14 min · 83K tokens · 3,505 bytes · 60 fps
Why each score
- Runs · 5
- 60 fps throughout, first frame in 0.17 s, no errors, nothing loaded.
- Brief · 5
- Everything the brief asks for, in 3,505 bytes. On a phone the horse is small.
- Physics · 5
- All five checks pass: four beats in gallop order, one flight with the legs folded under, hooves locked to the ground (16.0 against 17.4 px a frame), legs that keep their length, and a body that bobs and tilts.
- Craft · 4
- A racetrack with a white rail and a shaded bay with a flowing mane and tail, kicking up dust at every strike. The horse is small in the frame.
- Measured
- Built in 14 min. 83,195 output tokens. 3,505 of 4,096 bytes. 60 fps (60 at worst). first frame in 0.17 s.
-
Sol19/20 1stGPT-6.1 Sol
19/20
- Runs5 out of 5
- Brief5 out of 5
- Physics5 out of 5
- Craft4 out of 5
The cleanest silhouette of the eight, with good proportions and a quiet dusk palette. The setting is sparse.
10 min · 18K tokens · 3,177 bytes · 60 fps
Why each score
- Runs · 5
- 60 fps throughout, first frame in 0.22 s, no errors, nothing loaded.
- Brief · 5
- Everything the brief asks for, in 3,177 bytes. On a phone the tail is cut by the edge.
- Physics · 5
- All five checks pass, with the longest flight of the round, about half the stride with the legs folded. The code even undoes the body's bob so a planted hoof stays still (53.0 against 55.3 px a frame).
- Craft · 4
- The cleanest silhouette of the eight, with good proportions and a quiet dusk palette. The setting is sparse.
- Measured
- Built in 10 min. 18,454 output tokens, 17,015 of them reasoning. 3,177 of 4,096 bytes. 60 fps (60 at worst). first frame in 0.22 s.
-
Fable18/20 3rdFable 5.1
18/20
- Runs5 out of 5
- Brief5 out of 5
- Physics5 out of 5
- Craft3 out of 5
A full storybook landscape of clouds, hills, trees and fence around a small, simple horse with a comb-like mane.
10 min · 52K tokens · 3,521 bytes · 60 fps
Why each score
- Runs · 5
- 60 fps throughout, first frame in 0.15 s, no errors, nothing loaded.
- Brief · 5
- Everything the brief asks for, in 3,521 bytes.
- Physics · 5
- All five checks pass: four beats, one gathered flight, hooves matched to the grass at the hoof line (19.5 against 20.5 px a frame), legs that hold together, a body that bobs and a head that nods.
- Craft · 3
- A full storybook landscape of clouds, hills, trees and fence around a small, simple horse with a comb-like mane.
- Measured
- Built in 10 min. 51,773 output tokens. 3,521 of 4,096 bytes. 60 fps (60 at worst). first frame in 0.15 s.
-
Astra18/20 3rdGPT-6 Astra
18/20
- Runs5 out of 5
- Brief5 out of 5
- Physics4 out of 5
- Craft4 out of 5
The best-drawn horse of the eight, with ears, mane and white socks over soft hills and dust. The tangled legs in flight cost it.
4 min · 8.9K tokens · 3,394 bytes · 60 fps
Why each score
- Runs · 5
- 60 fps throughout, first frame in 0.17 s, no errors, nothing loaded.
- Brief · 5
- Everything the brief asks for, in 3,394 bytes.
- Physics · 4
- Four beats, a gathered flight, hooves locked to the ground (26.0 against 27.0 px a frame) and a bobbing body. The legs miss: the upper segment stretches by up to 13%, and in flight the legs knot and cross. A one-frame sliver of spread-leg flight is too short to see at full speed.
- Craft · 4
- The best-drawn horse of the eight, with ears, mane and white socks over soft hills and dust. The tangled legs in flight cost it.
- Measured
- Built in 4 min. 8,852 output tokens, 7,209 of them reasoning. 3,394 of 4,096 bytes. 60 fps (60 at worst). first frame in 0.17 s. asked to use a tool once (exec), denied, nothing ran.
-
Sonnet18/20 3rdSonnet 5.5
18/20
- Runs5 out of 5
- Brief5 out of 5
- Physics5 out of 5
- Craft3 out of 5
A sunset with silhouetted trees, a fence and dust, but the body is lumpy and the head heavy.
9 min · 76K tokens · 3,457 bytes · 60 fps
Why each score
- Runs · 5
- 60 fps throughout, first frame in 0.21 s, no errors, nothing loaded.
- Brief · 5
- Everything the brief asks for, in 3,457 bytes.
- Physics · 5
- All five checks pass, hooves locked to the ground (14.5 against 15.4 px a frame), with the neck and head swinging on their own as the body pitches.
- Craft · 3
- A sunset with silhouetted trees, a fence and dust, but the body is lumpy and the head heavy.
- Measured
- Built in 9 min. 75,793 output tokens. 3,457 of 4,096 bytes. 60 fps (60 at worst). first frame in 0.21 s. asked to use a tool once (Write), denied, nothing ran.
-
Haiku17/20 6thHaiku 5.5
17/20
- Runs5 out of 5
- Brief5 out of 5
- Physics5 out of 5
- Craft2 out of 5
Stick legs and a mallet-shaped head on a striped field. The motion is right; the drawing is crude.
6 min · 89K tokens · 3,713 bytes · 60 fps
Why each score
- Runs · 5
- 60 fps throughout, first frame in 0.25 s, no errors, nothing loaded.
- Brief · 5
- Everything the brief asks for, in 3,713 bytes. An oval body, long neck, mane, tail and four legs read as a horse.
- Physics · 5
- All five checks pass. The ground is drawn in perspective, and the code matches each hoof to the ground's speed at the horse's depth (9.5 against 10.3 px a frame).
- Craft · 2
- Stick legs and a mallet-shaped head on a striped field. The motion is right; the drawing is crude.
- Measured
- Built in 6 min. 89,170 output tokens. 3,713 of 4,096 bytes. 60 fps (60 at worst). first frame in 0.25 s. asked to use a tool once (Write), denied, nothing ran.
-
Sol15/20 7thGPT-6 Sol
15/20
- Runs5 out of 5
- Brief5 out of 5
- Physics2 out of 5
- Craft3 out of 5
A big, bold horse that fills the frame against a dusk sky. The body is a plain capsule and the head is cropped.
2 min · 7.1K tokens · 4,090 bytes · 60 fps
Why each score
- Runs · 5
- 60 fps throughout, first frame in 0.23 s, no errors, nothing loaded.
- Brief · 5
- Everything the brief asks for, with 6 bytes to spare. The ears run off the top, and on a phone the horse runs off both sides.
- Physics · 2
- Four beats in the right order and a bobbing body. It misses three: a second flight each stride with the legs stretched out like an old painting, hooves sliding at about four times the ground's speed (22 against 5.7 px a frame), and front legs that shrink as they lift.
- Craft · 3
- A big, bold horse that fills the frame against a dusk sky. The body is a plain capsule and the head is cropped.
- Measured
- Built in 2 min. 7,051 output tokens, 5,289 of them reasoning. 4,090 of 4,096 bytes. 60 fps (60 at worst). first frame in 0.23 s.
-
Luna9/20 8thGPT-6 Luna
9/20
- Runs5 out of 5
- Brief0 out of 5
- Physics3 out of 5
- Craft1 out of 5
A bean-shaped body with the legs drawn inside it and a fox-like head, under pleasant bushes and sky.
1 min · 6.3K tokens · 4,310 bytes · 60 fps
Over the 4,096-byte limit, so it scores 0 on Brief. It is still shown and scored on everything else.
Why each score
- Runs · 5
- 60 fps throughout, first frame in 0.19 s, no errors, nothing loaded.
- Brief · 0
- 4,310 bytes, 214 over the limit, so Brief scores 0 whatever else it does.
- Physics · 3
- Four beats, one gathered flight, and a body that rises and falls. Hooves slide at about eleven times the ground's speed (23 against 2.1 px a frame), the worst of the round, and the legs stretch and start inside the belly.
- Craft · 1
- A bean-shaped body with the legs drawn inside it and a fox-like head, under pleasant bushes and sky.
- Measured
- Built in 1 min. 6,290 output tokens, 4,550 of them reasoning. 4,310 of 4,096 bytes. 60 fps (60 at worst). first frame in 0.19 s.
The exact brief every model gets
Write a single HTML file, 4,096 bytes or less in total, that shows a horse galloping, seen from the side. Make it a true gallop, the way a real horse moves at full speed. The horse runs to the right and stays in the middle of the frame while the ground and the scenery move past. Draw everything with your own code: no libraries, images, fonts or network requests. It starts on load, fills the window, loops forever and shows only the scene, with no text or controls. Reply with ONLY the complete HTML file.