SDK Go (Golang)
Library resmi smallpict-go untuk microservice Go berkinerja tinggi.
SDK Go resmi SmallPict menghadirkan library zero-allocation dengan penandatanganan permintaan kriptografis HMAC bawaan dan dukungan context-aware execution.
Instalasi
Shell
go get github.com/tuxnoob/smallpict-goContoh Penggunaan
Go
package main
import ( "context" "fmt" "os"
smallpict "github.com/tuxnoob/smallpict-go")
func main() { client := smallpict.NewClient("sp_sdk_your_key", "sec_your_secret")
// 1. Mode Lossy (Bawaan: hemat ukuran 70-85%) fileBytes, _ := os.ReadFile("hero.jpg") lossyResult, err := client.Optimize(context.Background(), fileBytes, smallpict.OptimizeOptions{ Format: smallpict.FormatAVIF, Quality: 80, MaxWidth: 1920, Lossless: false, // Bawaan: kompresi lossy }) if err != nil { panic(err) } fmt.Printf("URL Lossy: %s, Hemat: %.2f%%\n", lossyResult.URL, lossyResult.SavingsPercentage)
// 2. Mode Lossless (Pixel-perfect untuk logo & ikon) logoBytes, _ := os.ReadFile("logo.png") losslessResult, err := client.Optimize(context.Background(), logoBytes, smallpict.OptimizeOptions{ Format: smallpict.FormatWebP, Lossless: true, // Mengaktifkan mode lossless pixel-perfect }) if err != nil { panic(err) } fmt.Printf("URL Lossless: %s, Hemat: %.2f%%\n", losslessResult.URL, losslessResult.SavingsPercentage)}