models/
models.rs

1use anthropic_api::{models::*, Credentials};
2
3#[tokio::main]
4async fn main() -> Result<(), Box<dyn std::error::Error>> {
5    // Load credentials from environment variables
6    let credentials = Credentials::from_env();
7
8    // List all available models
9    println!("Listing all available models:");
10    let models = ModelList::builder()
11        .credentials(credentials.clone())
12        // Add the limit to the request if desired
13        // .limit(5u32)
14        .create()
15        .await?;
16
17    println!("Available models:");
18    for model in &models.data {
19        println!("- {} ({})", model.display_name, model.id);
20    }
21
22    // Get details for a specific model
23    if let Some(first_model) = models.data.first() {
24        println!("\nGetting details for model: {}", first_model.id);
25        let model_details = Model::builder(&first_model.id)
26            .credentials(credentials)
27            .create()
28            .await?;
29
30        println!("Model details:");
31        println!("  ID: {}", model_details.id);
32        println!("  Name: {}", model_details.display_name);
33        println!("  Created at: {}", model_details.created_at);
34        println!("  Type: {}", model_details.model_type);
35    }
36
37    Ok(())
38}