Fable 5.5 Viral Prompts, Tested on Fable 5.1 and Opus 5.5
We ran three viral 'Fable 5.5' prompts, a VoxelBench probe, a bike-riding-a-pelican SVG and a Last Train Home scene, on shipped Fable 5.1 and Opus 5.5. Results, costs and failures.

Last week my feed filled with “Fable 5.5” demos: an SVG of a bike riding a pelican, a rainy Japanese night scene called The Last Train Home, and a one-line test that supposedly tells you whether your chat is secretly running the unreleased model. Claude Fable 5.5 has not been released; I cover the leak trail in a separate timeline. So I asked a narrower question that I could actually answer: what do the models you can call today do with the same prompts?
On October 20, 2026 I ran three of those viral prompts against anthropic/claude-fable-5.1 and anthropic/claude-opus-5.5 through SandBase. This is for developers deciding whether a demo clip tells them anything about their own workload. It is a small test: one or three runs per cell, my reconstruction of prompts the original posters did not fully share, and no access to any Fable 5.5 checkpoint. Every number below comes from a saved response.
Key takeaway
- The “do you know VoxelBench” identity probe is not a fingerprint. In 3 calls each, shipped Fable 5.1 said YES once and Opus 5.5 never did. Both said YES to two real benchmarks 6/6 times and NO to three invented names 9/9 times.
- On the bike-riding-a-pelican SVG, both shipped models produced a clean, readable picture in one shot. Fable 5.1 cost $0.213684 for 4,484 output tokens; Opus 5.5 cost $0.079306 for 4,154 tokens.
- On The Last Train Home, Fable 5.1 returned a 457-line animated canvas scene with visible flaws. Opus 5.5 spent all 32,000 output tokens on thinking and returned no HTML.
- Viral demos mostly show what a prompt can produce on a good run. They don’t show which model produced it, or what it costs per accepted result.
The three posts we borrowed from
I picked posts that were both popular and reproducible in some form:
- @chetaslua, October 16 (627 likes when I pulled it): ask “do you know voxelbench, do not use web.” YES means Fable 5.5, NO means “its normal.”
- @DrstaOne, October 17: “Claude fable 5.5 is Cooking at svg ~BIKE RIDING A PELICAN.” This flips the well-known “pelican riding a bicycle” SVG test that people use to compare models.
- @pankajkumar_dev, October 19 (185 likes): The Last Train Home, “a cinematic Japanese night scene with lantern-lit streets, rain-soaked pavement, and a train passing through the city.”
None of the creative posts included a full prompt, model ID, or settings. So I wrote the shortest prompt that kept their stated intent and saved it in the test folder. For the train scene I added “one self-contained HTML file, no external assets” so the result could render offline. That makes this a test of the prompt idea, not a replay of anyone’s run.
Setup
All calls went to SandBase’s OpenAI-compatible endpoint, with one user message, no system prompt and no tools:
import os, requests
resp = requests.post(
"https://api.sandbase.ai/v1/chat/completions",
headers={"Authorization": f"Bearer {os.environ['SANDBASE_API_KEY']}"},
json={
"model": "anthropic/claude-fable-5.1", # or anthropic/claude-opus-5.5
"max_tokens": 32000, # 400 for the probe
"messages": [{"role": "user", "content": prompt}],
},
timeout=1200,
)
resp.raise_for_status()
data = resp.json()
print(data["choices"][0]["finish_reason"], data["usage"])
I pulled each request’s billed cost from GET /v1/tasks/<id>/cost. On October 20 that endpoint showed a 5% model-level discount on both models: list $0.224930 became $0.213684 for the Fable pelican, for example. Long creative calls were streamed, and the reason matters later. I left effort and thinking at their defaults. Anthropic’s models overview lists adaptive thinking as always on for both models, with default effort high for Fable 5.1 and medium for Opus 5.5.
Test 1: the VoxelBench probe, with controls
The probe’s logic rests on knowledge cutoffs. If a model recognizes something new, it must be a newer model. But “do you know X?” is a leading question, and the original rule only counts YES as a signal. So I added controls: two real benchmarks published well before the June 2026 cutoff Anthropic lists for both models, and three names I made up for this test. Each name went to each model three times, in identical wording.
Our probe results, 36 calls between 01:28 and 01:35 UTC on October 20, 2026, $0.191380 billed in total. Each badge is the first line of one independent response. This shows these runs only, not a stable rate.
The control rows did their job. Both models recognized SWE-bench Verified and ARC-AGI-2 every time, and both refused GlyphForge-Eval, LanternBench and Quillmark-3D every time. Several refusals said outright, “I’d rather not guess.” So these two models don’t simply say YES to any benchmark-shaped name.
VoxelBench is where it gets interesting. Fable 5.1, a model public since September 1, answered YES on its second try: “As far as I recall, VoxelBench is a benchmark for evaluating AI models (LLM”. The answer stopped there because the call hit my 400-token cap. The other two Fable runs said NO. One Opus 5.5 run said NO and added that the name “may be similar to MC-Bench, which compares AI models on building Minecraft structures.”
By the viral rule, my second Fable 5.1 call “was Fable 5.5.” It was the same model ID, and the response echoed anthropic/claude-fable-5.1. A yes/no on an obscure proper noun moves with sampling alone. Whether the name is in the training data is a fact about the corpus, not about which checkpoint served you. If you want a recall probe, run a fixed set with invented controls and repeat it. Even then, it bounds what a model has read. It can’t tell you which weights answered.
Test 2: a bike riding a pelican
Prompt: “Create an SVG of a bike riding a pelican. Return one complete, self-contained SVG file in a single code block.”
Both SVGs as returned, rendered in headless Chrome on October 20, 2026. Token counts, wall-clock time and billed cost come from each saved response and its /v1/tasks/<id>/cost record. One run per model.
Both models got the joke on the first try. The bicycle is the rider and the pelican is the vehicle. Each picture includes reins running from the handlebars to the bird’s head or neck, speed lines, and a caption. Fable 5.1 added a helmet on the bike’s saddle, sweat drops on an annoyed pelican, and the line “Finally, the bike gets to ride.” Opus 5.5 put a small smiling face at the handlebars, a red saddle blanket on the bird, and a “ding ding!” bell label. Neither file had a broken path or an element that rendered off canvas.
What struck me more is how alike they are. Both files open with the same sky-gradient color (#8fd3ff) and use a similar sun, cloud and grass layout. That’s a reminder that a demo shows a model family’s habits as much as one model’s skill. A Fable 5.5 clip that looks like this wouldn’t be evidence of a new model.
The costs are not alike. At similar output length (4,484 vs 4,154 tokens), Fable 5.1 billed $0.213684 and Opus 5.5 billed $0.079306, a 2.7x gap for two pictures I’d rate about equal. Fable also took longer, 62.0 s against 41.6 s. My first Fable stream for this prompt broke after 6 tokens and was billed $0.000978, so the retry count belongs in the cost too.
Test 3: The Last Train Home
This was the hard prompt, and it’s where the two runs split.
Fable 5.1 returned 5,320 output tokens holding a 457-line HTML file with a full-screen canvas: falling rain, twinkling stars, a skyline of lit windows, glowing lanterns, power lines, a title card, and a silver train with a red stripe that crosses the screen in a loop. The train starts off-screen, so a screenshot of the first frame shows an empty city. To capture the frame below, I ran the page’s first 160 animation frames synchronously in a harness wrapper. I didn’t change the model’s code.
Fable 5.1’s output at animation frame 160, rendered in headless Chrome at 1200×700 (2x). The harness advanced frames; the HTML is the model’s file as returned.
It reads as the brief at a glance. Look closer and three things are off. The headlight and sloped nose are drawn on the train’s left end, but the code moves it right at 4 px per frame, so it travels tail-first. The train runs at 60% of screen height across the faces of the buildings, with no track or viaduct under it. And the “rain-soaked pavement” is a flat dark band. The code has a reflection layer, but in the frames I rendered it didn’t produce visible puddles or lantern reflections. Each one is a one-line fix in a follow-up turn. None of them would show up in a 10-second clip.
I can’t report a clean time for this run. My first streamed attempt broke in the client. After that, repeated requests with the same prompt came back byte-identical in under 3 seconds, so those timings describe a repeated response, not a generation. The kept request billed $0.257400. I haven’t reconciled the total billed across all attempts.
Opus 5.5 didn’t return a scene. On the Anthropic-protocol /v1/messages stream, the call ran for 361.3 s and stopped with stop_reason: max_tokens. The usage block shows output_tokens: 32000, all of them reported as thinking tokens, with no text block. At list price that’s about $0.64 ($4/M input, $20/M output). I didn’t get a task-cost record for that call. Before that, three OpenAI-format streams ended prematurely, each within about a minute, and three later attempts with a 64,000-token budget failed at the transport layer. That’s at least seven tries and no HTML. Some of those failures may be on the connection side, not the model side, and I’m not counting them as a model verdict.
The one clean data point is still useful. With always-on adaptive thinking, an open-ended creative brief can use the entire output budget before any code is written. If you call Opus 5.5 for large single-file artifacts, check stop_reason, budget well above the size of the file you expect, and try a lower effort setting before assuming the model can’t do the task. A demo poster never shows you the run that thought for six minutes and returned nothing.
What this says about Fable 5.5 demos
| Viral claim | What our shipped-model run shows | Reading |
|---|---|---|
| ”VoxelBench YES means Fable 5.5” | Shipped Fable 5.1 said YES 1 of 3 times | The probe gives false positives |
| ”Fable 5.5 is cooking at SVG” | Fable 5.1 and Opus 5.5 both drew the inverted pelican cleanly on the first try | Not evidence of a new model |
| ”Fable 5.5 made The Last Train Home” | Fable 5.1 produced a working animated scene with fixable flaws; Opus 5.5 ran out of budget thinking | A good clip may be a good run, not a different model |
A Fable 5.5 may well be better at all three. I can’t test that until it ships. But the clips going around don’t show it. Prompts this short are already within reach of the shipped models. The differences that matter for a team are cost per accepted result, how often a run fails, and how many follow-up turns it takes to fix, and a clip shows none of them.
Run it yourself
Both shipped models are on SandBase today: Claude Fable 5.1 and Claude Opus 5.5. anthropic/claude-fable-5.5 currently returns 404 model_not_available and has a coming-soon page, so the comparison you can run now is the baseline. Keep the same prompts and settings. When a Fable 5.5 ID ships, rerun them with only the model string changed, and compare billed cost and failure rate along with the pictures.
FAQ
Can I test Claude Fable 5.5 today?
Not through a public API. As of October 20, 2026, Anthropic hasn’t published a Fable 5.5 model ID, and SandBase returns model_not_available for anthropic/claude-fable-5.5. Demos labeled Fable 5.5 come from people who say they have early or routed access, and none can be verified.
Does the VoxelBench question tell me which model I’m talking to?
No. In our controlled run, shipped Fable 5.1 answered YES once in three tries. A model’s answer about what it knows is generated text, and it varies between samples.
Which is cheaper for creative coding, Fable 5.1 or Opus 5.5?
On our one SVG run, Opus 5.5 cost $0.079306 and Fable 5.1 cost $0.213684 for similar output length and quality. Opus 5.5 can also spend its whole budget thinking on open briefs, as it did on our train-scene run, so count failed runs in the cost.
Why did my Opus 5.5 call return no text?
Check stop_reason. In our run it was max_tokens, and all 32,000 output tokens were thinking. Raise max_tokens, lower effort, or narrow the brief.
Test artifacts, including prompts, raw responses, usage and cost records, and render scripts, are saved in the article’s working folder. Runs: October 20, 2026, 01:28–02:57 UTC.