A router that hard-codes "send short prompts to the cheap model, long ones to the premium model" looks fine until a vendor changes a rate. At that moment the underlying economics can invert: the model you treated as the budget option for classification tasks may no longer be the cheapest for your token mix, and nobody notices until the invoice arrives. Token prices really do move by wide margins between models and providers; published rate cards put input prices across a 50x range, from $0.10 to $5.00 per million tokens in one survey, which is exactly why a fixed rule ages badly (the pricing survey).
The other trap is cost blindness in the router itself. Token-based billing charges input and output at different rates, and reasoning tokens count toward output usage and are billed as output tokens, so a short visible answer can cost more than its text suggests (OpenAI's token guide). A router that reasons only in "requests" instead of tokens plus rates cannot react correctly to a price change, because it never knew the numbers it was implicitly relying on.
The fix is to treat prices and the cost math as data. The router becomes a small interpreter of a config file: prices in, break-even threshold computed, one comparison per request, decision out. When a vendor lowers its output rate, you edit a number, run the tests, and reload.



