---
name: pricing
description: Guide for updating model pricing in Splitrail. Use when adding new AI model costs or updating existing pricing data.
---
# Pricing Model Updates
Token pricing is defined in `src/models.rs` using compile-time `phf` (perfect hash function) maps for fast lookups.
## Adding a New Model
1. Add a `ModelInfo` entry to `MODEL_INDEX` (line 65 in `src/models.rs`) with:
- `pricing`: Use `PricingStructure::Flat { input_per_1m, output_per_1m }` for flat-rate models, or `PricingStructure::Tiered` for tiered pricing
- `caching`: Use the appropriate `CachingSupport` variant (`None`, `OpenAI`, `Anthropic`, or `Google`)
- `is_estimated`: Set to `true` if pricing is not officially published
2. If the model has aliases (date suffixes, etc.), add entries to `MODEL_ALIASES` mapping to the canonical model name
See existing entries in `src/models.rs` for the pattern.
## Price Calculation
Use `models::calculate_total_cost()` when an analyzer doesn't provide cost data.
## Common Pricing Sources
- [Anthropic pricing](https://www.anthropic.com/pricing)
- [OpenAI pricing](https://openai.com/pricing)
- [Google AI pricing](https://ai.google.dev/pricing)