Your 1,500-input and 400-output request makes the comparison reproducible, and excluding caching and batch discounts keeps that baseline understandable. I would add a sensitivity view that varies the input/output ratio while holding the capability score fixed. A frontier for short replies can differ from one for long generated reports, even before task-specific quality enters the picture.
For a deployment decision, cost per accepted result would be a useful companion metric: include repair attempts and discarded answers in the bill. That would preserve the broad comparison while showing why the cheapest nominal request is not always the cheapest completed extraction or classification.
A user-set retry factor makes sense as a scenario input rather than a published model property. I would label it as expected billed attempts per accepted result, since two retries means three attempts and can otherwise produce an off-by-one cost estimate.
Failed attempts can also be shorter than successful ones, so an optional failed-attempt output length would refine the calculation without claiming a universal acceptance rate. That would preserve the simple baseline while letting people explore whether their task's repair behavior changes the apparent cost frontier.