Key facts
| Router model | plugsky-fusion escalates per request across tiers (live) |
| JSON mode | Live for strict label output with confidence fields |
| Models | 30+ models; cheap tiers handle high-volume, low-ambiguity labelling |
| Strategies | cost_saver by default, escalation on low confidence or unknown labels |
| Pricing | Flat monthly self-serve plans with no per-token charges on self-serve |
| Free tier | plugsky-micro and plugsky-lite on the free plan, no card required |
| Usage controls | Scoped keys and usage analytics per pipeline |
| Roadmap | The batch endpoint is coming soon for large offline labelling jobs |
TL;DR
- Classify with a fixed label set and JSON output, not free text.
- Run bulk labelling on cheap tiers; escalate only ambiguous items.
- Cache repeated inputs — classification inputs repeat more than you think.
- Keep a human-reviewed gold set and measure accuracy per label.
- Never let one low-confidence label silently disappear; route it.
How it works, step by step
- Freeze the label taxonomy and write one-sentence definitions for each label.
- Build a gold set of a few hundred human-labelled items covering every label.
- Design a JSON schema with label and confidence, and test it on cheap tiers first.
- Route all bulk traffic through cost_saver and capture confidence per item.
- Escalate items below a confidence threshold or with unknown labels to a stronger tier.
- Deduplicate and cache identical or near-identical inputs before calling the model.
- Re-run the gold set after prompt or model changes and track per-label accuracy.
Try it yourself
Open the LLM API cost calculator →
Why classification is the easiest win
Classification has a bounded output: one label, maybe a confidence score. That means small models can do it well when the taxonomy is clear, and the same work on a frontier model is mostly waste. The cost profile is also predictable — input length is stable, output is tiny — so savings from tiering show up immediately in usage analytics.
The failure mode is taxonomy ambiguity, not model capability. If two labels overlap, every model struggles and humans disagree too. Fix the definitions first; a clean taxonomy on a cheap tier beats a fuzzy one on the strongest model.
Routing and schema design
Use JSON mode to force a machine-checkable answer and to carry confidence. Validation then happens before the label touches your database.
{label, confidence, secondary_label?}keeps escalation decisions explicit.- Constrain labels to an enum so invalid categories cannot leak downstream.
- Send only the fields the decision needs; long noisy inputs reduce accuracy and raise cost.
- Include short examples in the system prompt rather than long instructions.
Set cost_saver as the pipeline default, then escalate on low confidence, unknown labels or specific high-stakes categories such as safety or compliance items.
Batching, caching and accuracy control
Classification traffic repeats: the same product names, the same ticket templates, the same user queries. Deduplicate before calling the model and cache label results keyed by normalised input, so repeat items cost one lookup instead of a model call. The batch endpoint is coming soon for large offline jobs; until then, run bounded-concurrency workers with a durable queue.
Accuracy governance matters more than raw model strength. Keep a gold set, track per-label precision and recall, and watch for class imbalance where a cheap model learns to over-predict the majority label. Route anything low-confidence to review rather than guessing. Flat self-serve plans keep the bill stable while you tune — see the live pricing page — and the free plan with plugsky-micro and plugsky-lite is enough to build the pipeline.
Honest comparison
| Cost lever | Routed classification on Plugsky | Frontier model for every item | Rules and regex only |
|---|---|---|---|
| Bulk labelling | Cheap tiers with JSON labels | Frontier price per item | Free but brittle |
| Ambiguous items | Escalated with confidence | Native strength | Misfiled silently |
| Repeat inputs | Cached labels | Paid again every time | Cached by definition |
| Taxonomy changes | Prompt update and re-run | Same, at high cost | Rewrite rules |
| Accuracy evidence | Per-label metrics on a gold set | Often unmeasured | Rule coverage metrics |
Frequently asked questions
Why is classification cheaper than other AI workloads?
The output is tiny and the task is bounded, so cheap models perform well when the taxonomy is clear. Input duplication is also common, which makes caching effective.
Which model tier should classify?
Start with plugsky-micro or plugsky-lite and measure per-label accuracy on a gold set. Escalate low-confidence or high-stakes categories to stronger tiers. All 30+ models are behind one endpoint.
How do I handle ambiguous items?
Have the model return a confidence score, set a threshold, and route below-threshold items to a stronger model or a human queue instead of forcing a label.
Should I use JSON mode?
Yes. A strict schema with label and confidence prevents prose parsing problems and makes validation a one-line check before storage.
Is the batch endpoint available?
Not yet — batch is coming soon. Today, process items with bounded concurrency in your own workers and a durable queue, and cache repeated inputs.
How do I measure classification quality?
Keep a human-labelled gold set covering every label, then track precision, recall and confusion between labels after each prompt or model change.
What does routing cost on self-serve plans?
Self-serve plans are flat monthly with no per-token charges, so routing mainly affects throughput and latency headroom. See the live pricing page for plan details.
Can I test cheap tiers for free?
Yes. plugsky-micro and plugsky-lite are on the free plan with no card, and a 14-day full-access trial is available to compare stronger tiers.