//! Example: Download an asset from Immich use immich_sdk::Client; use std::fs; #[tokio::main] async fn main() -> Result<(), Box> { // Create a client let client = Client::from_url("https://immich.example.com")?.with_api_key("your-api-key"); // Asset ID to download (replace with a real asset ID) let asset_id = "your-asset-id-here".parse()?; // Download the asset println!("Downloading asset..."); let bytes = client.assets().download(asset_id).execute().await?; // Save to file let output_path = "/path/to/output/photo.jpg"; fs::write(output_path, &bytes)?; println!("Saved {} bytes to {}", bytes.len(), output_path); // Or download the edited version if available let edited_bytes = client .assets() .download(asset_id) .edited() .execute() .await?; let edited_path = "/path/to/output/photo_edited.jpg"; fs::write(edited_path, &edited_bytes)?; println!( "Saved edited version {} bytes to {}", edited_bytes.len(), edited_path ); Ok(()) }