Model results.
We give frontier AI models the same work we ship: code, UI components, full websites, SVG graphics, and Australian legal and accounting questions. What can be checked is graded by execution; the rest we review by eye.
Ranked leaderboards by model. Switch to By test to compare every model on a single task.
The board is split into two tracks. An API run is a single-shot prompt to completion; an agent run uses a coding harness with tool use and iteration. The two are different kinds of run, so composites across the tracks are not directly comparable - each track is ranked on its own. Within a track, runs are grouped by how many tasks they cover, because a composite is only directly comparable within the same task set.
API - single shot
One prompt in, one completion out - no tools, no iteration. Ranked independently of the other track.
Expanded suite
87 tasksIncludes the new hard benchmarks: AU statutory facts, pixel / responsive / keyboard-accessibility build fidelity, diagram and screenshot-to-code, and the agentic BAS quarter.
Agent - coding harness
Run inside a coding harness with tool use and iteration, not a single API call. Ranked independently of the other track.
Expanded suite
87 tasksIncludes the new hard benchmarks: AU statutory facts, pixel / responsive / keyboard-accessibility build fidelity, diagram and screenshot-to-code, and the agentic BAS quarter.
A new card lands here each time we benchmark another model or reasoning effort.
What the benchmark measures, and how.
What is the Banja Labs model benchmark?
How are the models scored?
Why are API and agent runs ranked separately?
Which models have been benchmarked?
Can I see the actual outputs?
How we score visual builds.
Each soft-signal visual build is scored by a four-family vision panel: Anthropic (claude-opus-4-8, run keyless on the agent rail), OpenAI (gpt-5.5), Google (gemini-3.1-pro), and xAI (grok-4.3). All four judges score the same full-page screenshot against the same four-criterion showcase rubric (brief fidelity, visual design, craft, impact) on a 1-5 scale, with an identical prompt, so the scores are comparable. The published judge axis is leave-one-family-out (LOO): a model is never scored by a judge of its own family, which removes same-family self-preference structurally. The old single-judge (claude-opus-4-8 only) score is retained alongside for comparison.
Scores its own family lower than the other judges do (own 0.62 vs others 0.65, n=60).
Scores its own family higher than the other judges do (own 0.83 vs others 0.73, n=42).
Scores its own family lower than the other judges do (own 0.49 vs others 0.62, n=18).
Scores its own family higher than the other judges do (own 0.85 vs others 0.64, n=42).
Measured self-preference: the Anthropic judge scored Anthropic-family models 0.033 lower (on the 0-1 axis) than the other two families scored the same builds (own mean 0.620 vs others 0.653, n=60 build-task pairs). The openai judge's self-preference delta was +0.095 (own 0.826 vs others 0.731, n=42). The google judge's self-preference delta was -0.131 (own 0.490 vs others 0.620, n=18). Inter-judge agreement across 438 build-task pairs: mean pairwise Pearson 0.7401, Spearman 0.711, Krippendorff alpha 0.5379 (interval). To remove the bias from the published number, the soft-signal axis uses a leave-one-family-out panel: a model is never scored by a judge of its own family. The single-judge score is kept beside it so the correction is visible. The bulk of the benchmark (the objective suites) has no model in the loop at all.