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) }}