Aplikasi web full-stack untuk manipulasi gambar dengan berbagai fitur profesional. Transpify menyediakan tool untuk menghapus background, kompres gambar, konversi format, dan crop gambar dengan antarmuka yang modern dan mudah digunakan.
- Hapus latar belakang gambar secara otomatis menggunakan AI (Remove.bg)
- Preview before/after dengan transparency grid
- Export sebagai PNG dengan transparansi
- Kompres gambar dengan kontrol kualitas (10-100%)
- Resize berdasarkan dimensi spesifik (width/height)
- Resize berdasarkan persentase (10-200%)
- Tampilkan perbandingan ukuran file dan compression ratio
- Konversi ke PNG, JPEG, WebP, atau AVIF
- Optimasi otomatis untuk setiap format
- Kualitas output terbaik dengan ukuran file efisien
- Crop dengan presisi menggunakan react-image-crop
- Aspect ratio presets (Free, 1:1, 16:9, 4:3, 3:2)
- Live preview hasil crop
- Export dalam format original
Frontend:
- React 18 dengan Vite
- Tailwind CSS untuk styling
- React Router untuk navigasi
- React Dropzone untuk upload file
- React Image Crop untuk cropping
- Lucide React untuk icons
- Axios untuk HTTP requests
Backend:
- Vercel Serverless Functions (Node.js)
- Sharp untuk image processing
- Remove.bg API untuk background removal
- Node.js >= 18.0.0
- npm atau yarn
- Remove.bg API key (gratis untuk 50 requests/bulan)
cd /home/developer/js_dev/rionapp/transpify# Install frontend dependencies
npm install
# Install API dependencies
cd api
npm install
cd ..Buat file .env di root project:
cp .env.example .envEdit file .env dan tambahkan API key Anda:
VITE_REMOVE_BG_API_KEY=your_actual_api_key_hereCara mendapatkan Remove.bg API Key:
- Kunjungi https://www.remove.bg/api
- Daftar/login ke akun Anda
- Copy API key dari dashboard
- Free tier: 50 requests/bulan
npm run devAplikasi akan berjalan di http://localhost:3000
npm run buildOutput akan berada di folder dist/
# Install Vercel CLI (jika belum)
npm i -g vercel
# Deploy
vercel- Push code ke GitHub repository
- Login ke vercel.com
- Klik "New Project"
- Import repository Anda
- Configure project settings:
- Framework Preset: Vite
- Build Command:
npm run build - Output Directory:
dist
- Tambahkan Environment Variable:
- Key:
VITE_REMOVE_BG_API_KEY - Value:
your_api_key_here
- Key:
- Klik "Deploy"
Pastikan menambahkan environment variable berikut di Vercel Dashboard:
VITE_REMOVE_BG_API_KEY- API key untuk Remove.bg
Langkah:
- Buka project di Vercel Dashboard
- Settings β Environment Variables
- Tambahkan variable
- Redeploy project
transpify/
βββ api/ # Vercel Serverless Functions
β βββ package.json # API dependencies
β βββ remove-background.js # Background removal endpoint
β βββ compress-resize.js # Compression & resize endpoint
β βββ convert-format.js # Format conversion endpoint
β βββ crop-image.js # Image cropping endpoint
βββ src/
β βββ components/ # React components
β β βββ Navbar.jsx
β β βββ LandingPage.jsx
β β βββ BackgroundRemover.jsx
β β βββ ImageCompressor.jsx
β β βββ ImageConverter.jsx
β β βββ ImageCropper.jsx
β β βββ LoadingSpinner.jsx
β βββ App.jsx # Main app component
β βββ main.jsx # Entry point
β βββ index.css # Global styles
βββ public/ # Static assets
βββ index.html # HTML template
βββ package.json # Frontend dependencies
βββ vite.config.js # Vite configuration
βββ tailwind.config.js # Tailwind configuration
βββ postcss.config.js # PostCSS configuration
βββ vercel.json # Vercel deployment config
βββ .env.example # Environment variables template
βββ README.md # Dokumentasi ini
- Klik menu "Background Remover"
- Upload atau drag & drop gambar
- Klik "Hapus Background"
- Download hasil PNG dengan transparansi
- Klik menu "Compressor"
- Upload gambar
- Atur kualitas dengan slider (10-100%)
- Pilih resize option:
- Gunakan persentase, atau
- Masukkan width/height manual
- Klik "Kompres Gambar"
- Lihat perbandingan ukuran file
- Download hasil
- Klik menu "Converter"
- Upload gambar
- Pilih format output (PNG/JPEG/WebP/AVIF)
- Klik "Konversi"
- Download hasil
- Klik menu "Cropper"
- Upload gambar
- Pilih aspect ratio preset atau gunakan free crop
- Drag area crop pada gambar
- Klik "Generate Preview"
- Download hasil crop
Remove background dari gambar
Request Body:
{
"image": "data:image/png;base64,..."
}Response:
{
"success": true,
"image": "data:image/png;base64,..."
}Kompres dan resize gambar
Request Body:
{
"image": "data:image/png;base64,...",
"quality": 80,
"width": 800,
"height": null,
"percentage": null
}Response:
{
"success": true,
"image": "data:image/jpeg;base64,...",
"size": 123456,
"dimensions": {
"width": 800,
"height": 600
}
}Konversi format gambar
Request Body:
{
"image": "data:image/png;base64,...",
"format": "webp"
}Response:
{
"success": true,
"image": "data:image/webp;base64,...",
"format": "webp",
"size": 98765
}Crop gambar
Request Body:
{
"image": "data:image/png;base64,...",
"crop": {
"x": 100,
"y": 100,
"width": 400,
"height": 300,
"unit": "px"
}
}Response:
{
"success": true,
"image": "data:image/png;base64,...",
"dimensions": {
"width": 400,
"height": 300
}
}- Timeout: 10 detik max
- Response Size: 50MB max
- Memory: 1024MB
- Kompres gambar di client-side sebelum upload jika ukuran > 5MB
- Gunakan gambar dengan resolusi wajar (max 4000x4000px)
- Remove.bg memiliki limit ukuran file sendiri
- Free Tier: 50 requests/bulan
- File Size: Max 12MB
- Resolution: Max 25 megapixels
Solusi: Pastikan file .env ada dan berisi VITE_REMOVE_BG_API_KEY yang valid
Solusi:
- Gunakan gambar dengan ukuran lebih kecil
- Kompres gambar sebelum upload
- Pastikan koneksi internet stabil
Solusi:
- Check console browser untuk error
- Pastikan format file didukung
- Coba clear cache browser
Solusi:
- Pastikan semua dependencies ter-install
- Check Node.js version (>= 18.0.0)
- Periksa log build di Vercel dashboard
MIT License - Feel free to use for personal or commercial projects
Dikembangkan dengan β€οΈ menggunakan React, Vite, dan Tailwind CSS
- Remove.bg - Background removal API
- Sharp - Image processing library
- React Image Crop - Cropping library
- Lucide Icons - Beautiful icon set
Happy Image Editing! π¨β¨
Project is now connected to GitHub for automatic deployments. Every push to main branch will trigger a new production deployment.
Last Updated: Tue Dec 2 12:23:22 PM WIB 2025