genai_types/
models.rs

1use serde::{Deserialize, Serialize};
2
3/// Information about a model
4#[derive(Serialize, Deserialize, Debug, Clone)]
5pub struct ModelInfo {
6    /// Model ID
7    pub id: String,
8
9    /// Display name
10    pub display_name: String,
11
12    /// Maximum context window size
13    pub max_tokens: u32,
14
15    /// Provider name
16    pub provider: String,
17
18    /// Optional pricing information
19    pub pricing: Option<ModelPricing>,
20}
21
22/// Pricing information for a model
23#[derive(Serialize, Deserialize, Debug, Clone)]
24pub struct ModelPricing {
25    /// Cost per million input tokens
26    pub input_cost_per_million_tokens: f64,
27
28    /// Cost per million output tokens
29    pub output_cost_per_million_tokens: f64,
30}