Per-model pricing (already includes gateway markup)
Each model in core-llm-models exposes input_per_million / output_per_million / estimated_per_message. These are the customer-facing rates — the OpenAI raw cost is multiplied by the gateway markup before exposure. There is no separate markup field; the listed price is the price.