What is the best model for text classification?
As of September 7, 2026, the cheapest live-measured option within 90% of top quality on classification is ling-3.0-flash at $0.0193 per 1,000 requests — 0.988 measured quality vs 1.000 at the top, with a 39× price spread across the measured frontier (frontier v8).
re-measured weekly · how these numbers are made
Classification — routing tickets, labeling intents, applying rules to text — is the workload where model choice matters most and is judged least. The task has a right answer, so quality is measurable exactly, and the measured gap between the cheapest adequate model and a frontier model is routinely the widest of any workload. Paying frontier prices here is the most common form of silent AI overspend.
The measured frontier
Every row is a live measurement on Potion's held-out classification suite — same items, same scoring, per option. Names that are part of the product are withheld; their numbers are not.
| option | vendor | measured quality | $ / 1K requests | p95 latency |
|---|---|---|---|---|
| granite-4.0-h-micro | ibm-granite | 0.775 | $0.0027 | 550 ms |
| mistral-nemo | mistralai | 0.787 | $0.0046 | 983 ms |
| Potion's routed pick (name withheld) | — | 0.887 | $0.0054 | 7090 ms |
| ling-3.0-flash | inclusionai | 0.988 | $0.0193 | 13297 ms |
| gpt-5.4-nano | openai | 0.800 | $0.0301 | 1237 ms |
| deepseek-v4-flash-0731 | deepseek | 0.975 | $0.0358 | 6678 ms |
| gemini-2.5-flash | 0.963 | $0.0391 | 575 ms | |
| glm-5.3-flash | z-ai | 1.000 | $0.0437 | 6593 ms |
| gemini-3.7-flash | 0.988 | $0.7268 | 3410 ms | |
| claude-opus-4.6 | anthropic | 0.988 | $0.7529 | 1750 ms |
frontier v8 · measured 2026-09-07 · live provider calls only — simulated evidence never appears on this page
Head to head
granite-4.0-h-micro vs mistral-nemogranite-4.0-h-micro vs ling-3.0-flashgpt-5.4-nano vs granite-4.0-h-microdeepseek-v4-flash-0731 vs granite-4.0-h-microgemini-2.5-flash vs granite-4.0-h-microglm-5.3-flash vs granite-4.0-h-microgemini-3.7-flash vs granite-4.0-h-microclaude-opus-4.6 vs granite-4.0-h-microling-3.0-flash vs mistral-nemogpt-5.4-nano vs mistral-nemodeepseek-v4-flash-0731 vs mistral-nemogemini-2.5-flash vs mistral-nemoglm-5.3-flash vs mistral-nemogemini-3.7-flash vs mistral-nemoclaude-opus-4.6 vs mistral-nemogpt-5.4-nano vs ling-3.0-flashdeepseek-v4-flash-0731 vs ling-3.0-flashgemini-2.5-flash vs ling-3.0-flashglm-5.3-flash vs ling-3.0-flashgemini-3.7-flash vs ling-3.0-flashclaude-opus-4.6 vs ling-3.0-flashdeepseek-v4-flash-0731 vs gpt-5.4-nanogemini-2.5-flash vs gpt-5.4-nanoglm-5.3-flash vs gpt-5.4-nanogemini-3.7-flash vs gpt-5.4-nanoclaude-opus-4.6 vs gpt-5.4-nanodeepseek-v4-flash-0731 vs gemini-2.5-flashdeepseek-v4-flash-0731 vs glm-5.3-flashdeepseek-v4-flash-0731 vs gemini-3.7-flashclaude-opus-4.6 vs deepseek-v4-flash-0731gemini-2.5-flash vs glm-5.3-flashgemini-2.5-flash vs gemini-3.7-flashclaude-opus-4.6 vs gemini-2.5-flashgemini-3.7-flash vs glm-5.3-flashclaude-opus-4.6 vs glm-5.3-flashclaude-opus-4.6 vs gemini-3.7-flash
Questions
Do I need a frontier model for classification?
Usually not. On measured classification suites, small models regularly match frontier models within the confidence interval. The honest answer depends on your label set and edge cases — which is why these numbers are re-measured weekly rather than asserted once.
How is classification quality measured here?
Deterministically: each suite item has a known correct label, and a model scores by exact agreement — no LLM judge anywhere in the loop. Scores carry sample sizes and 95% intervals.
What if my labels are domain-specific?
Generic benchmarks are a prior, not a verdict. Potion measures consenting customers’ own traffic during a learning period and re-verifies the pick on their labels before it guarantees anything.
Potion routes each request to the cheapest option measured at your quality bar — with a receipt on every answer and this page's evidence behind every pick. Get an API key or read the docs.