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

FastAPI、Django、Flask 向けの非同期画像最適化

httpx と Pillow フォールバックを備えたモダンな非同期 Python クライアント。Django モデル、FastAPI エンドポイント、Celery / RQ タスク内でメディアを容易に最適化。

インストール:pip install smallpict
PYTHON パッケージ

実装コード例

python
# FastAPI / Async Python Example
from fastapi import FastAPI, UploadFile, File
from smallpict import AsyncSmallPictClient, ImageFormat

app = FastAPI()
client = AsyncSmallPictClient(api_key="sp_live_key_xxxxx")

@app.post("/api/upload")
async def upload_image(file: UploadFile = File(...)):
    image_bytes = await file.read()
    result = await client.optimize(
        image_bytes,
        format=ImageFormat.AVIF,
        quality=80,
        max_width=1400
    )
    return {
        "cdn_url": result.cdn_url,
        "savings": f"{result.savings_percentage}%",
        "original_size": result.original_size,
        "optimized_size": result.new_size
    }

連携ステップ

11. pip install によるインストール

PyPI から公式パッケージ pip install smallpict をインストールします。

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

同期アプリには SmallPictClient、ASGI には AsyncSmallPictClient を使用します。

33. アップロード処理に統合

Django FileField や FastAPI ストリームを client.optimize() でラップします。

主なメリット

  • httpx コネクション再利用を備えたネイティブ asyncio サポート
  • Django モデルフィールド統合(SmallPictImageField)
  • Celery および RQ バッチ実行用デコレータを提供
  • Pydantic スキーマによる完全な型定義サポート
公式開発者ドキュメント

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

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

Python & Django パッケージ ドキュメントを読む

Python & Django パッケージ の画像パイプラインを最大化

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