Auto-route

Leave the model choice to Onepin — every line routed to the best model for its language, by measured quality and price.

Onepin benchmarks TTS models continuously, per language. Auto-route uses those measurements to pick the model for each line — so you don’t have to keep up with a model catalog that changes monthly.

Turn it on

Leave a language’s voice_map list empty in the Generator:

1node["config"] = {"voice_map": {
2 "en-us": [{"voice_id": "...", "provider": "...", "model": "..."}], # your pick
3 "ko-kr": [], # auto-route picks
4}}

That’s the whole mechanism — an empty list per language you want routed. Mix freely: pin the languages you have opinions about, route the rest.

How the pick works

For each routed language, Onepin ranks the candidate models by a blend of two measurements:

  • Quality — the model’s measured naturalness score for that language, from continuous benchmarks.
  • Price — the model’s per-character rate, normalized against the cheapest candidate.

Your workspace’s routing preference (dashboard → workspace settings) sets the blend:

PreferenceWhat wins
Performance pickQuality only — the best-sounding model for the language, whatever it costs
Balanced (default)Quality and price weighted equally
Cost-efficiencyPrice-tilted — but a quality floor keeps low-scoring models out entirely

The preference applies workspace-wide, to every routed line in every run. Runs started with an API key use it too — the setting itself lives in the dashboard.

What you get at run time

Auto-route resolves a short ranked list, not just one winner — if the top model fails on a line, the next candidate steps in instead of failing the run. The run’s per-line detail shows which model actually voiced each line.