Skip to content
smallPict

Oficjalny SDK dla języka Rust

Wysokowydajny asynchroniczny crate z obsługą Tokio dla języka Rust.

Asynchroniczny crate stworzony z myślą o bezkompromisowej wydajności z wykorzystaniem Tokio i Reqwest (zero-cost abstractions).


Instalacja

TOML
[dependencies]smallpict = "1.2"tokio = { version = "1", features = ["full"] }

Pełny przykład użycia

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!("Zoptymalizowany URL: {}", res.url);    println!("Uzyskana oszczędność: {:.2}%", res.savings_percentage);
    Ok(())}