Skip to content
smallPict

Go (Golang) SDK

高スループットなGoマイクロサービス向け公式 smallpict-go ライブラリ。

公式SmallPict Go SDKは、メモリ割り当てを最小限に抑えたHMACリクエスト署名と、Context対応のHTTPクライアントを提供します。


インストール

Shell
go get github.com/tuxnoob/smallpict-go

クイックスタート実装例

Go
package main
import (	"context"	"fmt"	"os"	"time"
	smallpict "github.com/tuxnoob/smallpict-go")
func main() {	client := smallpict.NewClient(		os.Getenv("SMALLPICT_API_KEY"),		os.Getenv("SMALLPICT_SECRET_KEY"),		smallpict.WithTimeout(30*time.Second),		smallpict.WithMaxRetries(3),	)
	ctx := context.Background()
	// 1. 画像バイト配列を最適化	fileBytes, err := os.ReadFile("hero.png")	if err != nil {		panic(err)	}
	result, err := client.Optimize(ctx, fileBytes, smallpict.OptimizeOptions{		Format:   "avif",		Quality:  85,		MaxWidth: 1920,	})	if err != nil {		panic(err)	}
	fmt.Printf("最適化後URL: %s (削減率: %.2f%%)\n", result.URL, result.SavingsPercentage)
	// 2. アカウントクォータを取得	quota, err := client.GetQuota(ctx)	if err == nil {		fmt.Printf("プラン: %s, 使用量: %d / %d バイト\n", quota.Plan, quota.BytesUsed, quota.QuotaLimitBytes)	}}