Here is what a decade of shipping software and two years of building AI systems for clients taught me about model selection: the leaderboard is the least useful place to start. Scores reshuffle monthly, the gap between rank one and rank five is usually smaller than the gap between a good and bad prompt, and none of it tells you what the model costs at your volume on your task. When a client hires me to pick models for their stack, I do not open a leaderboard first. I run their actual workload through a short list of candidates and let the criteria below make the call.
The original version of this guide was a snapshot of arena rankings. Snapshots rot. What follows instead is the selection framework itself — the part that has stayed stable while every specific ranking underneath it changed — plus where each model category genuinely differs.

The Only Three Questions That Decide Most Selections
Every model choice is a position inside a triangle of quality, cost, and speed — you can optimize two. But translating that into a decision comes down to three concrete questions:
1. What does failure cost? A hallucinated sentence in an internal draft costs a shrug. The same failure rate in customer-facing output or autonomous code changes costs real money. Failure cost sets your quality floor, and the quality floor decides whether the premium tier is mandatory or vanity.
2. What is the call volume? A prompt that runs fifty times a day can run on the best model you can buy. A prompt that runs fifty thousand times a day cannot — at volume, per-token pricing stops being a detail and becomes the architecture. This is why the interesting frontier in 2026 is not "the best model" but the cost-performance curve: I wrote up how that plays out inside one family in my Sonnet 5 versus Opus decision guide, and the same logic applies across providers.
3. Does the task need tools, or just tokens? Models with search, function calling, and code execution in the loop close most reasoning gaps against bigger models. If your workload is agentic — tools, retries, multi-step plans — benchmark the model with its tool harness, because raw-model comparisons will actively mislead you.
Answer those three and the candidate list usually drops from twenty models to three. The rest of the work is testing.
Text and Code: Where "Best" Fragments Into Jobs
The text-generation category is not one market anymore; it is several jobs with different winners:
- Interactive coding rewards instruction-following, tool use, and honesty about uncertainty more than peak intelligence. This is where I live daily, and the model tier I pick depends on the task's autonomy: routine implementation runs happily on mid-tier models; long autonomous refactors justify the frontier tier, where token efficiency often makes the expensive model cheaper per completed task. My Opus 5 benchmark read covers how I evaluate that honestly.
- High-volume transformation — summarize, classify, extract, reformat — is a race to the cheapest model that clears your quality floor. Start from the bottom of the price list and move up only on measured failure, not anxiety.
- Long-context analysis is its own axis. Advertised context windows are ceilings, not guarantees; models degrade unevenly as input grows. Test at your real document sizes, never the demo's.
- Local and open-weight models earn a slot when privacy, offline capability, or zero marginal cost matter more than peak quality. I keep that lane warm too — running Claude Code against local models via Ollama — because "free and private" wins some selections regardless of benchmarks.
The pattern across all four: define the job first, then shop. "Which model is best?" is unanswerable. "Which model clears my floor at my volume for this job?" almost answers itself.
Vision, Image, and Video: Test With Your Own Ugly Inputs
Multimodal selection has a failure mode all its own: every model demos beautifully on clean inputs. Production inputs are not clean.
Vision (image understanding). OCR on crisp PDFs says nothing about a blurry phone photo of a receipt at an angle. When I evaluate vision models for extraction work, I build the test set from the worst twenty real inputs the workflow has seen, not the best. Rankings frequently invert on that set — the "best" OCR model on paper can lose to a rival on low-quality scans, and only your own inputs will tell you.
Image generation. The differentiators that matter in practice are text rendering (most models still butcher in-image text; a few treat it as a first-class element), style consistency across a batch, and — the one nobody puts on a spec sheet — prompt adherence to boring constraints like exact background hex colors. In my own pipelines the make-or-break feature was whether a model could hold #0F172A as a background so generated frames composited seamlessly into a page. Photorealism scores never mention it; production workflows die on it.
Video generation. The current models are genuinely usable — I run image-to-video generation inside real client work — but selection here is dominated by two things: physics plausibility of motion (materials, lighting continuity) and clip economics, since generation is priced steeply enough that regeneration rate matters as much as quality. A model that nails your shot in two attempts beats a slightly prettier one that takes six. For talking-head and narrated content, dedicated avatar pipelines are a different category again — my HeyGen and ElevenLabs production pipeline covers when those beat general video models outright.
Across all three: the vendor demo is the model's best day. Buy based on its average day, which you can only observe on your own data.
The Costs That Do Not Appear on the Pricing Page
Per-token pricing is the visible cost. Three invisible ones have burned more of my clients:
Reasoning-token burn. Models with adjustable thinking effort can quietly multiply output costs. The dial matters as much as the model — set high, a "cheap" model can out-spend the premium tier for equal results.
Retry economics. A model that is 10% cheaper but fails twice as often is not cheaper. Track cost per successful task, never cost per call. This single metric reversal has changed the winner in most of the selection projects I have run, and it is the core of my agent cost-optimization playbook.
Switching costs. Whatever you pick, you will pick again within a year — the market guarantees it. So the durable engineering decision is not the model; it is the seam. Route all model calls through one thin internal interface, log token counts and outcomes per call from day one, and keep prompts in versioned files rather than scattered through code. Teams built this way treat a model swap as a config change and an A/B test. Teams that hardcoded a vendor SDK in forty places treat it as a quarter-long migration. I have been on cleanup duty for the second kind; build the first kind.
The Selection Habit That Actually Scales
The process I run, for clients and for my own stack, fits in an afternoon per decision:
- Write down the job in one sentence, with the quality floor and the expected monthly call volume.
- Pick three candidates — one premium, one mid-tier, one cheap — from providers you already have accounts with. Novelty is not a criterion.
- Build a twenty-case test set from real data, including your ugliest inputs, and define pass/fail before you run anything.
- Run all three, score blind if the output is subjective, and compute cost per successful task.
- Pick the cheapest model that clears the floor, wire it through your model seam, and put a calendar note ninety days out to re-run the same test set — the market will have moved by then, and your test set is now a permanent asset that makes re-evaluation nearly free.
An hour of testing beats a month of switching costs, and a reusable test set beats every leaderboard ever published, because it ranks models on the only benchmark that pays your invoices: your workload.
Where model selection goes wrong in production is rarely the model — it is a vendor SDK hardcoded in forty places and no log of cost per successful task, which turns an inevitable swap into a quarter-long migration. That cleanup is the work I get called in for, so tell me what the workload looks like and bring your twenty ugliest inputs.