Skip to content
smallPict

Официальный 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(())}