SDK Node.js & TypeScript
Dokumentasi paket resmi @smallpict/sdk untuk aplikasi Node.js, Next.js, dan TypeScript.
SDK resmi SmallPict untuk Node.js dilengkapi dengan definisi tipe TypeScript penuh, penandatanganan HMAC otomatis, dan penanganan retry terintegrasi.
Instalasi
Shell
npm install @smallpict/sdk# ataubun add @smallpict/sdk# ataupnpm add @smallpict/sdkContoh Penggunaan Cepat
TypeScript
import { SmallPict } from '@smallpict/sdk';import fs from 'node:fs';
const client = new SmallPict({ apiKey: process.env.SMALLPICT_API_KEY!, secretKey: process.env.SMALLPICT_SECRET_KEY!, retryConfig: { maxRetries: 3 }});
// 1. Mode Lossy (Bawaan: hemat ukuran 70-85%)const photoBuffer = fs.readFileSync('foto-produk.jpg');const lossyResult = await client.optimize(photoBuffer, { format: 'avif', quality: 80, maxWidth: 1920, lossless: false // Bawaan: kompresi lossy});console.log(`URL Lossy: ${lossyResult.url} (Hemat ${lossyResult.savingsPercentage}%)`);
// 2. Mode Lossless (Pixel-perfect untuk logo & ikon tajam)const logoBuffer = fs.readFileSync('logo.png');const losslessResult = await client.optimize(logoBuffer, { format: 'webp', lossless: true // Mengaktifkan mode lossless tanpa degradasi piksel});console.log(`URL Lossless: ${losslessResult.url} (Hemat ${losslessResult.savingsPercentage}%)`);
// 3. Cek kuota bulananconst quota = await client.getQuota();console.log(`Pemakaian: ${quota.bytesUsed} byte`);