use crate::types::base_types::{
MessageType, ModelAPI, ModelProviderDescriptor, ModelProviders, ModelUsageCosting,
};
pub static MODELS: &[ModelProviderDescriptor] = &[
ModelProviderDescriptor {
id: "gpt-5-chat-latest",
name: "GPT-5 Chat Latest",
reasoning: false,
api: ModelAPI::OpenAIResponses,
provider: ModelProviders::OPENAI,
base_url: Some("https://api.openai.com/v1"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.25,
output: 10.0,
cache_read: 0.125,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 16_384,
},
ModelProviderDescriptor {
id: "gpt-5.1-codex",
name: "GPT-5.1 Codex",
reasoning: true,
api: ModelAPI::OpenAIResponses,
provider: ModelProviders::OPENAI,
base_url: Some("https://api.openai.com/v1"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.25,
output: 5.0,
cache_read: 0.125,
cache_write: 1.25,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "gpt-5.1-codex-max",
name: "GPT-5.1 Codex Max",
reasoning: true,
api: ModelAPI::OpenAIResponses,
provider: ModelProviders::OPENAI,
base_url: Some("https://api.openai.com/v1"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.25,
output: 10.0,
cache_read: 0.125,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "gpt-5.3-codex-spark",
name: "GPT-5.3 Codex Spark",
reasoning: true,
api: ModelAPI::OpenAIResponses,
provider: ModelProviders::OPENAI,
base_url: Some("https://api.openai.com/v1"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.0,
output: 0.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 16_384,
},
];