SmallPict LogoSmallPict
公式インテグレーション&SDK

Rust 向け非同期ゼロ割り当て画像最適化パイプライン

Actix-Web、Axum、Tokio で構築された高スループットなバックエンドサービスに SmallPict を統合。メモリ効率を極限まで高めてメディアを処理します。

インストール:cargo add smallpict-rs
RUST パッケージ

実装コード例

rust
use smallpict_rs::{SmallPictClient, OptimizeOptions, ImageFormat};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = SmallPictClient::new("sp_live_secret_key_xxxxx")?;
    
    let image_bytes = tokio::fs::read("input.jpg").await?;
    let optimized = client.optimize(&image_bytes, OptimizeOptions {
        format: ImageFormat::Avif,
        quality: 80,
        max_width: Some(1920),
        strip_metadata: true,
    }).await?;
    
    tokio::fs::write("output.avif", optimized.bytes).await?;
    println!("Savings: {}% ({}ms)", optimized.savings_percentage, optimized.duration_ms);
    Ok(())
}

連携ステップ

11. 依存関係の追加

Cargo.toml に smallpict-rs を追加します。

22. クライアントの初期化

API キーを使用して SmallPictClient を初期化します。

33. バイトストリームの最適化

生の画像バイトをストリーミングし、圧縮された AVIF/WebP バッファを非同期に受け取ります。

主なメリット

  • Tokio と Reqwest による非同期ノンブロッキング I/O
  • メモリリークゼロかつスレッドセーフなクライアント設計
  • ローカルディスクへの書き込みを行わない直接ストリーム処理
  • 40ms 未満の超高速実行時間
公式開発者ドキュメント

完全な実装ガイドと API 仕様をお探しですか?

公式 Rust Crate 開発者ガイドで、パラメータ仕様、認証、エラーコード、ローカル検証手順をご確認いただけます。

Rust Crate ドキュメントを読む

Rust Crate の画像パイプラインを最大化

アプリケーションで 50ms 未満の高速 AVIF / WebP 配信を実現。初期費用なし、即時利用可能なサンドボックスキーを提供。