use crate::run::pricing::{ModelPricing, ProviderPricing};
pub const XAI: ProviderPricing = ProviderPricing {
name: "xai",
models: XAI_MODELS,
};
const XAI_MODELS: &[ModelPricing] = &[
ModelPricing {
name: "grok-4",
input_cached: Some(0.75),
input_normal: 3.0,
output_normal: 15.0,
output_reasoning: None,
},
ModelPricing {
name: "grok-3",
input_cached: Some(0.75),
input_normal: 3.0,
output_normal: 15.0,
output_reasoning: None,
},
ModelPricing {
name: "grok-3-mini",
input_cached: Some(0.075),
input_normal: 0.3,
output_normal: 0.5,
output_reasoning: None,
},
ModelPricing {
name: "grok-3-fast",
input_cached: Some(1.25),
input_normal: 5.0,
output_normal: 25.0,
output_reasoning: None,
},
ModelPricing {
name: "grok-3-mini-fast",
input_cached: Some(0.15),
input_normal: 0.6,
output_normal: 4.0,
output_reasoning: None,
},
ModelPricing {
name: "grok-beta",
input_cached: None,
input_normal: 5.0,
output_normal: 15.0,
output_reasoning: None,
},
ModelPricing {
name: "grok-2-image-gen",
input_cached: None,
input_normal: 0.0,
output_normal: 0.0,
output_reasoning: None,
},
ModelPricing {
name: "grok-2-vision-1212",
input_cached: None,
input_normal: 2.0,
output_normal: 10.0,
output_reasoning: None,
},
ModelPricing {
name: "grok-2-1212",
input_cached: None,
input_normal: 2.0,
output_normal: 10.0,
output_reasoning: None,
},
ModelPricing {
name: "grok-vision-beta",
input_cached: None,
input_normal: 5.0,
output_normal: 15.0,
output_reasoning: None,
},
ModelPricing {
name: "grok-2-image-1212",
input_cached: None,
input_normal: 0.0,
output_normal: 0.07,
output_reasoning: None,
},
];