Jawaban singkatnya
Araluma menggunakan arsitektur hibrida: dua alat berjalan sepenuhnya di browser Anda tanpa unggahan sama sekali, dan dua alat lainnya merutekan satu permintaan jaringan melalui infrastruktur kami sendiri ketika browser tidak dapat menandingi kualitasnya. Kami memberi tahu Anda jalur mana yang sedang Anda gunakan, di setiap alat dan di halaman ini.
| Alat | Tempat pemrosesan |
|---|---|
| Circle Crop | 100% di browser Anda, Canvas API. Tidak ada unggahan, dapat digunakan secara offline. |
| Compress pratinjau (slider + perbandingan format) | 100% di browser Anda, canvas.toBlob. Tidak ada unggahan. |
| Compress unduhan final | Satu kali perjalanan pulang-pergi ke layanan kami di api.araluma.com (Fastify + sharp + libvips pada VPS di Jerman). |
| Remove Background | Satu kali perjalanan pulang-pergi ke Cloudflare Worker yang menjalankan BiRefNet pada GPU edge Cloudflare, dengan fallback WebAssembly di browser Anda apabila cloud tidak dapat dijangkau. |
Anda dapat memverifikasi klaim sisi klien dalam sekitar 30 detik: buka DevTools → Network, kosongkan log, lalu gunakan Circle Crop atau slider pratinjau Compress — Anda tidak akan melihat satu pun permintaan yang membawa byte gambar Anda keluar dari halaman. Untuk dua alat yang menyentuh server, Anda akan melihat tepat satu unggahan per operasi, ke endpoint yang disebutkan di atas.
Mengapa hibrida
Sebagian besar alat gambar online berada di salah satu ujung ekstrem: mengunggah segalanya ke server (Anda menunggu perjalanan pulang-pergi dan operator menyimpan file Anda), atau sepenuhnya di browser (Anda membayar dengan kualitas dan kecepatan pada langkah encode/AI). Tidak ada satu pun ekstrem yang unggul di semua situasi.
Kami memilih sisi klien di mana browser sudah sangat mumpuni — elemen <canvas> menangani
pemotongan, rotasi, dan encode pratinjau lossy dalam JPG/WebP — dan sisi server di mana
browser masih terukur lebih lemah:
- Kompresi gambar, pada unduhan final.
sharp+libvips 8.17sisi server menghasilkan file 10–15% lebih kecil byte per byte dibandingkan encoder browser pada kualitas visual yang sama, dan memberikan akses ke penyetelan kecepatan/chroma AVIF serta output JPEG XL yang tidak tersedia di browser. Slider/pratinjau tetap berjalan di browser Anda agar iterasi tetap instan; hanya ketukan “Unduh” yang melewati layanan kami. - Penghapusan latar belakang berbasis AI, pada jalur default. Model BiRefNet yang dijalankan oleh
cf.image.segmentCloudflare (arsitektur yang sama dengan remove.bg) membutuhkan GPU nyata agar selesai dalam 1–3 detik. Fallback di browser (ISNet melalui ONNX Runtime + WebAssembly) dapat bekerja, namun membutuhkan 20–40 detik pada eksekusi pertama dan 2–10 detik sesudahnya, serta menghasilkan hasil potongan yang secara kasat mata lebih kasar pada rambut, bulu, dan tepi halus.
Biaya yang kami terima karena menggunakan sisi server pada dua jalur tersebut adalah satu perjalanan pulang-pergi per operasi. Biaya yang kami hindari dengan tetap berada di sisi klien di tempat lain (Circle Crop, pratinjau Compress) adalah biaya perjalanan pulang-pergi pada bagian alur kerja yang paling sering beriterasi.
Pipeline, langkah demi langkah
1. Anda memilih file
Melalui pemilih file, seret dan lepas, atau tempel, browser menyerahkan objek File ke
JavaScript. JavaScript membaca byte-byte tersebut menggunakan FileReader atau
Blob.arrayBuffer(). Pada titik mana pun dalam langkah ini, file tidak dikirim melalui
jaringan, apa pun alat yang Anda gunakan.
2. Browser mendekode gambar
Browser modern mendekode JPG, PNG, WebP, GIF, dan AVIF secara asli. Kami menggunakan
createImageBitmap() untuk mengubah byte-byte mentah menjadi bitmap yang dapat digunakan GPU,
di luar thread utama. Untuk HEIC pada browser yang tidak mendekodenya secara asli, kami
menggunakan decoder WebAssembly yang berjalan secara lokal di browser Anda.
3. Alat melakukan tugasnya — di sinilah jalur bercabang
- Circle Crop. Transformasi piksel Canvas 2D dengan jalur klip melingkar. Bitmap digambar ke dalam
<canvas>pada rotasi dan zoom yang dipilih, klip lingkaran diterapkan, dan bagian dalam lingkaran dibaca kembali sebagaiImageData. Cropper.js menangani bingkai potong interaktif. Sepenuhnya di browser Anda. - Compress — pratinjau dan slider. Mengkodekan ulang JPG, PNG, WebP, atau AVIF menggunakan
canvas.toBlobsehingga pratinjau berdampingan diperbarui saat Anda menggeser slider kualitas. Sepenuhnya di browser Anda. Belum ada unggahan. - Compress — Unduh. Ketika Anda mengetuk “Unduh”, gambar dikirim sekali ke
api.araluma.com(layanan Fastify yang berjalan pada VPS di Jerman yang dioperasikan oleh Hostinger, Node 24 +sharp 0.34+libvips 8.17, pustaka C yang sama yang digunakan Squoosh pada jalur servernya). Gambar dikodekan ulang dengan parameter yang sama yang Anda atur di pratinjau, dan byte-byte tersebut dialirkan kembali ke browser Anda. Layanan ini menyimpan cache content-addressed yang terisolasi per tenant (hash dari byte input + parameter) dengan batas 500 MB, sehingga mengunduh ulang gambar yang sama dengan pengaturan yang sama akan memutar kembali byte yang tersimpan di cache — cache tidak diindeks berdasarkan Anda, IP, atau nama file. Jika layanan tidak dapat dijangkau, alat akan fallback ke blob pratinjau di browser. - Remove Background — jalur cloud default. Gambar diunggah sekali ke Cloudflare Worker (
araluma-bg-remover), disimpan sementara di bucket R2 privat (araluma-bg-temp), diproses oleh transformasicf.image.segmentCloudflare yang menjalankan model BiRefNet pada GPU edge Cloudflare, dan hasil potongan dialirkan kembali. Objek R2 yang disimpan sementara dihapus dalam satu jam oleh aturan lifecycle R2, terlepas dari hasilnya. Foto tipikal selesai dalam 1–3 detik. Batas per-IP harian dan unggahan 5 MB menjaga keberlanjutan tier gratis. - Remove Background — fallback WebAssembly. Jika Worker tidak dapat dijangkau (jaringan Anda terputus, Anda berada di balik firewall yang ketat, kuota harian habis, atau file melebihi batas cloud 5 MB), alat secara transparan beralih ke model ISNet yang berjalan secara lokal di browser Anda melalui ONNX Runtime Web dengan WebAssembly. Eksekusi pertama mengunduh model berukuran ~80 MB dan membutuhkan 20–40 detik; eksekusi berikutnya membutuhkan 2–10 detik. Tidak ada unggahan pada jalur ini — Anda dapat memverifikasinya di DevTools.
4. Anda mengunduh hasilnya
Bitmap keluaran dikodekan ke dalam Blob, dibungkus dalam object URL, dan ditawarkan
ke dialog simpan file standar browser Anda. File muncul di disk Anda.
Cara memverifikasi sendiri
Pilih metode yang Anda sukai:
Metode 1 — Pantau tab Network
- Buka Araluma di tab baru dan buka DevTools → Network.
- Gunakan Circle Crop atau slider pratinjau Compress. Anda akan melihat permintaan untuk HTML/CSS/JS/font saja, ditambah modul WebAssembly yang relevan pada penggunaan pertama. Tidak ada permintaan yang akan membawa byte gambar Anda.
- Sekarang gunakan Compress → Unduh atau Remove Background. Anda akan melihat tepat satu
POSTkeapi.araluma.com(Compress) atau ke Worker Remove Background, yang membawa gambar Anda — dan satu respons yang mengembalikan hasilnya. Arahkan kursor ke permintaan mana pun untuk melihat ukuran dan waktu.
Kolom “Initiator” memberi tahu Anda skrip mana yang memicu setiap permintaan, dan kolom “Type” memberi tahu Anda apa yang dikirim. Kami tidak menyembunyikan keduanya.
Metode 2 — Gunakan alat secara offline
- Muat halaman alat Araluma mana pun. Gunakan Remove Background sekali pada gambar kecil agar model ISNet di browser ter-cache.
- Buka DevTools → Network → centang Offline (atau matikan Wi-Fi).
- Muat ulang halaman; aset statis ter-cache sehingga halaman masih termuat.
- Coba setiap alat:
- Circle Crop dan pratinjau Compress tetap berfungsi — keduanya tidak pernah membutuhkan jaringan.
- Compress Unduh fallback ke blob pratinjau di browser (encode sedikit kurang efisien, tapi tetap berfungsi).
- Remove Background fallback ke model ISNet WebAssembly dan bekerja tanpa permintaan keluar apa pun.
Jika keempat alat bekerja secara offline (satu sedikit terdegradasi, tiga identik), maka menurut definisi tidak ada server yang melihat gambar Anda.
Apa yang kami lihat — dan apa yang tidak kami lihat
Pada jalur sisi klien, kami tidak melihat apa pun tentang gambar Anda. Tidak ada permintaan untuk dilihat, tidak ada cache untuk menyimpannya, tidak ada baris log untuk ditelusuri.
Pada jalur sisi server:
- Compress Unduh melihat byte gambar selama durasi encode (biasanya beberapa ratus milidetik), menyimpan entri cache content-addressed selama TTL cache, dan itu saja. Cache tidak diindeks berdasarkan pengguna, IP, nama file, atau pengenal apa pun yang dapat kami gunakan untuk menemukan gambar “Anda”. Kami tidak mencatat konten gambar. Layanan encode digunakan bersama oleh dua tenant yang sama seperti yang dilayani v1 sebelum cutover, dengan CORS, rate limit, dan URL kanonis bertanda HMAC per tenant.
- Remove Background melihat gambar selama durasi unggahan sementara dan panggilan segmentasi (biasanya total 1–3 detik), setelah itu salinan sementara dihapus oleh aturan lifecycle R2. Kami tidak pernah mengirimkan byte Anda ke penyedia model pihak ketiga mana pun — model BiRefNet berjalan di dalam infrastruktur Cloudflare sendiri, bukan pada API eksternal bergaya remove.bg / fal.ai / Replicate.
Pada setiap jalur, penyedia analitik kami (Cloudflare Web Analytics) mencatat data tampilan halaman agregat — URL, negara, keluarga browser, Core Web Vitals. Tidak ada cookie, tidak ada pengenal persisten, tidak ada yang terkait dengan seseorang.
Untuk alat yang mengunduh modul WebAssembly pada penggunaan pertama (decoder HEIC, model ONNX ISNet), penyedia hosting kami melihat bahwa seseorang mengambil modul tersebut — sama seperti melihat mereka mengambil file CSS. Modul itu sendiri tidak mengandung informasi apa pun tentang gambar Anda.
Inventaris data lengkap ada di kebijakan privasi kami.
Tumpukan teknologi
Bagi yang penasaran:
- Astro — generator situs statis. Setiap halaman dikirim sebagai HTML biasa dengan “islands” JavaScript yang ditingkatkan secara progresif hanya di mana alat interaktif berada.
- CSS vanilla dengan properti kustom — tanpa Tailwind, tanpa CSS-in-JS. Seluruh sistem desain adalah satu file
tokens.css. canvas.toBlob/<canvas>— pengkodean JPEG, PNG, WebP, AVIF (didukung browser) pada pratinjau Compress, dan seluruh Circle Crop.- Cropper.js — lapisan interaksi bingkai potong.
- ONNX Runtime Web — menjalankan fallback WebAssembly ISNet untuk Remove Background.
- Cloudflare Pages — menghosting build statis, menyajikannya dari edge.
- Cloudflare Workers + R2 +
cf.image.segment(BiRefNet) — pipeline Remove Background default. - Fastify +
sharp 0.34+libvips 8.17pada Node 24 — layanan unduhan Compress diapi.araluma.com, pada VPS Hostinger di Jerman. - Cloudflare Web Analytics — hitungan tampilan halaman agregat, tanpa cookie.
Dukungan browser
Semua alat berfungsi di versi saat ini dan sebelumnya dari Chrome, Firefox, Safari,
dan Edge — desktop dan mobile. Situs ini menggunakan peningkatan progresif: di mana browser
mendukung API yang lebih baru (misalnya showSaveFilePicker, OffscreenCanvas), kami
menggunakannya; di mana tidak, kami menggunakan padanan yang lebih lama. Tidak ada tembok
“browser Anda tidak didukung”.
Satu-satunya persyaratan wajib adalah JavaScript (untuk alat apa pun) dan koneksi jaringan (hanya saat menggunakan Compress Unduh atau jalur default Remove Background — jalur lainnya berjalan sepenuhnya offline setelah pemuatan halaman pertama).
Pertanyaan
Ada yang belum kami bahas? Email support@araluma.com. Pertanyaan teknis sangat disambut.