@AntLingAGI's ling-3.0-tiny shipped aug 6: 7.9b total, 1.3b active, free on @OpenRouter until aug 13.
ling-3.0-flash shipped jul 23: 124b total, 5.1b active, $0.021/m in and $0.063/m out.
we put the two models on one job: tiny writes the brief, flash renders it, a browser checks the result
the setup: tiny invents a biome as strict json – name, terrain, sky, weather, what moves, and a five-colour palette. flash renders it as one self-contained canvas 2d page: no libraries, no assets, no images, everything procedural. headless chromium grades it, not another model – it loads the page, collects console errors, samples the canvas twice and reports contrast and frame-to-frame motion. anything that doesn't move gets resampled
three runs of the same pipeline, four scenes kept from each:
- scenes alive on the first attempt
#1 run 3 – 4/4
#2 run 2 – 3/4
#3 run 1 – 1/4
- flash calls per 4 scenes
#1 run 3 – 4
#2 run 2 – 6
#3 run 1 – 10
- cost per 4 scenes
#1 run 3 – $0.0014
#2 run 2 – $0.0034
#3 run 1 – $0.0080
observations:
• tiny never became the bottleneck. 16 briefs, 16 valid json objects, no retries, ~170 output tokens each, 2 seconds for a batch of six. the palettes it invented were genuinely coherent – amber against pine green, salt-white over slate – and flash held to them without being pushed
• flash builds real depth from one paragraph. layered parallax with far planes moving slower than near ones, procedural fog banks, rain, depth-sorted foliage, a lighthouse beam, a sun with god rays. best scenes landed at 4-6k output tokens and about 15 seconds each. for a model with 5.1b active parameters that is a lot of scene per token
• the pipeline improved as the brief got shorter. run 1 asked for a caption in the corner and returned 1 live scene of 4 on the first attempt. run 3 dropped that single line and returned 4 of 4, every one first try, at a fifth of the cost. the model wasn't the variable – our prompt was
• the defects we hand-fixed were all one class: state inside the per-frame path. a sun pulsing five times a second because time was a frame counter rather than seconds, moss recomputing math.random() every frame, tree trunks drawn from the ground line downward. each was a one-line fix, and each is the kind of thing a rendering-aware review pass would catch automatically
• the one rough edge – occasionally flash slips a stray token into its output, usually right after a closing tag, and an unclosed style element then hides an otherwise correct page. we saw it across both providers openrouter routed us through, novita and deepinfra, so it may sit in serving rather than the weights. worth flagging to the team, and cheap to live with: a resample costs $0.0004 and run 3 needed none
conclusion: two models totalling 6.4b active parameters produced twelve animated scenes for nine cents, and the cheapest run was also the best one!
watch the full test via link
12 animated canvas scenes, 1.19m tokens, $0.09 all in – ling-3.0-tiny wrote the briefs, ling-3.0-flash drew them@AntLingAGI's ling-3.0-tiny shipped aug 6: 7.9b total, 1.3b active, free on @OpenRouter until aug 13.
— thehype. (@thehypedotnews) August 7, 2026
ling-3.0-flash shipped jul 23: 124b total, 5.1b active,… https://t.co/Q3ZvKY2s9J pic.twitter.com/0wioMKSm8A
Nick Trenkler