Официальный SDK для Rust
Высокоскоростной асинхронный крейт с поддержкой Tokio для Rust.
Асинхронный крейт для максимальной производительности на основе Tokio и Reqwest с нулевыми накладными расходами (zero-cost abstractions).
Установка
TOML
[dependencies]smallpict = "1.2"tokio = { version = "1", features = ["full"] }Полный пример использования
Rust
use smallpict::{Client, OptimizeOptions, Format};use std::fs;
#[tokio::main]async fn main() -> Result<(), Box<dyn std::error::Error>> { let client = Client::new( std::env::var("SMALLPICT_API_KEY")?, std::env::var("SMALLPICT_SECRET_KEY")?, );
let bytes = fs::read("photo.jpg")?;
let res = client.optimize(&bytes, "photo.jpg", OptimizeOptions { format: Format::Avif, quality: 80, ..Default::default() }).await?;
println!("Ссылка в CDN: {}", res.url); println!("Полученная экономия: {:.2}%", res.savings_percentage);
Ok(())}