Nio

Nio vs direct provider calls — October 5, 2026

We gave the same coding task to eight models two ways: through Nio, and as a direct call to the provider’s API. Nio produced a complete app in 7 of 12 attempts; direct calls produced one in 1 of 12. Nio cost about 2.8 times as much in total, and less per complete app.

Summary

  Through Nio Direct call
Complete apps (score 100) 7 of 12 1 of 12
Average score (out of 100) 94 78
Total cost $13.82 $4.94
Cost per complete app $1.97 $4.94

Results by model

Scores are out of 100; 100 means every requirement was met. “Tests” is the app’s own npm test, re-run independently after the benchmark. Costs use list prices and include prompt-cache reads and writes.

Model Mode Runs Score Tests Cost Time
Claude Opus 5.5 Nio 1 100 50/50 pass $4.15 22.6 min
Claude Opus 5.5 Direct 1 0 no app: response cut off at 32K tokens $0.66 4.4 min
Claude Sonnet 5.5 Nio 3 100, 100, 100 all pass $1.00 avg 7.4 min avg
Claude Sonnet 5.5 Direct 3 69, 69, 76 2 of 3 runs fail tests $0.62 avg 6.6 min avg
Claude Sonnet 4.6 Nio 1 100 99/99 pass $1.55 16.0 min
Claude Sonnet 4.6 Direct 1 72 77/77 pass $0.34 10.4 min (timed out)
GPT-5 mini Nio 3 100, 100, 82 1 run fails 1 test $0.23 avg 14.6 min avg
GPT-5 mini Direct 3 94, 94, 100 all pass $0.09 avg 5.0 min avg
GPT-4.1 mini Nio 1 88 17/17 pass $0.12 2.6 min
GPT-4.1 mini Direct 1 93 test suite crashes $0.06 2.5 min
GPT-5.1 Nio 1 88 1 failing test $0.65 7.8 min
GPT-5.1 Direct 1 93 8 of 18 fail $0.57 4.8 min
Claude Haiku 4.5 Nio 1 78 42/46 pass $2.21 39.7 min
Claude Haiku 4.5 Direct 2 96, 85 1 run fails 2 tests $0.59 avg 9.8 min avg
Nio auto (mixed models) Nio 1 93 22/22 pass $1.46 8.3 min

Where Nio helps

Where it doesn’t, yet

Bug found and fixed

Nio’s Runner role list named Claude Haiku 4.5 by an id that never resolved, so automatic mode could not pick Haiku for that role, and selecting it by that id returned an error. Fixed in v0.1.209.

How it was run

  1. Task: build a dependency-free Node.js calculator web app, then add operator precedence and parentheses, scientific functions, memory keys, a persisted history, a theme toggle, accessibility and unit tests.
  2. Every arm received the build, the enhancement, two repair rounds, and one identical repeat of the enhancement.
  3. Nio arms ran through a local Nio gateway with disposable Pro accounts. Direct arms sent the same prompts to the provider API and wrote the files from the response.
  4. The score comes from the benchmark rubric: required files, features found in the source, and whether the generated tests pass.

Limits of this data