சுருக்கமான பதில்
Araluma ஒரு hybrid architecture-ஐப் பயன்படுத்துகிறது: பெரும்பாலான கருவிகள் upload இல்லாமல் முழுவதும் உங்கள் browser-இல் இயங்குகின்றன, மற்றும் browser தரத்திற்கு ஈடுகொடுக்க முடியாதபோது சில மட்டும் ஒரு single network request-ஐ எங்கள் சொந்த infrastructure வழியாக route செய்கின்றன, எப்போதும் ஒரு invisible client-side fallback-உடன். நீங்கள் எந்த path-இல் இருக்கிறீர்கள் என்பதை ஒவ்வொரு கருவியிலும் இந்த page-இலும் உங்களுக்குச் சொல்கிறோம்.
கீழே உள்ள table பிரதிநிதித்துவமானது, முழுமையானது அல்ல (catalog தொடர்ந்து வளர்கிறது). இது ஒவ்வொரு வகை path-க்கும் ஒரு உதாரணத்தைக் காட்டுகிறது:
| உதாரண கருவி | வேலை எங்கே நடக்கிறது |
|---|---|
| Circle Crop (browser-only) | 100% உங்கள் browser-இல், Canvas API. upload இல்லை, offline-இல் வேலை செய்கிறது. |
| Compress preview (browser-only) | 100% உங்கள் browser-இல், canvas.toBlob. upload இல்லை. slider உடனடியாக இருக்கும். |
| Compress download (server-touching) | எங்கள் service-க்கு api.araluma.com-இல் ஒரு round-trip (Germany-இல் ஒரு VPS-இல் sharp மற்றும் libvips), ஒரு browser fallback-உடன். |
| Remove Background (server-touching) | edge GPUs-இல் BiRefNet-ஐ இயக்கும் ஒரு Cloudflare Worker-க்கு ஒரு round-trip, உங்கள் browser-இல் ஒரு WebAssembly fallback-உடன். |
crop, resize, PDF, மற்றும் format-conversion கருவிகள் (AVIF output path தவிர) browser-only பக்கத்தில் அமர்ந்துள்ளன. compression download, background removal, AI upscaling, மற்றும் AVIF output conversions server-touching பக்கத்தில் அமர்ந்துள்ளன, ஒவ்வொன்றும் ஒரு local fallback-உடன்.
browser-only claims-ஐ நீங்கள் சுமார் 30 விநாடிகளில் verify செய்யலாம்: DevTools-ஐ திறந்து, Network panel-க்குச் சென்று, log-ஐ clear செய்து, பிறகு எந்த ஒரு browser-only கருவியையும் பயன்படுத்துங்கள். உங்கள் image bytes-ஐ எடுத்துச்செல்லும் zero requests page-ஐ விட்டு வெளியேறுவதைக் காண்பீர்கள். server-touching கருவிகளுக்கு, மேலே பெயரிடப்பட்ட endpoints-க்கு ஒரு செயலுக்கு சரியாக ஒரு upload-ஐக் காண்பீர்கள்.
ஏன் hybrid
பெரும்பாலான online image கருவிகள் ஒரு உச்சத்தில் அமர்கின்றன: upload-everything-to-a-server (நீங்கள் round-trips-க்காகக் காத்திருக்கிறீர்கள், மற்றும் operator உங்கள் file-ஐ வைத்திருக்கிறது), அல்லது all-in-browser (நீங்கள் encode மற்றும் AI படிகளில் தரம் மற்றும் வேகத்தில் விலை செலுத்துகிறீர்கள்). எந்த உச்சமும் எல்லா இடத்திலும் வெல்வதில்லை.
browsers ஏற்கனவே சிறந்த இடங்களில் client-side-ஐத் தேர்ந்தெடுத்தோம். <canvas> element
crop, rotate, resize, மற்றும் JPG அல்லது WebP-இல் lossy preview encode-ஐ கையாளுகிறது,
மற்றும் நவீன browsers ஒவ்வொரு பொதுவான format-ஐயும் natively decode செய்கின்றன. browser
இன்னும் அளவிடக்கூடிய அளவில் தோற்கும் சில படிகளுக்கு மட்டுமே server-side-ஐத்
தேர்ந்தெடுத்தோம்:
- Compression, இறுதி download-இல். Server-side
sharpமற்றும்libvipsஅதே visual தரத்தில் browser encoders-ஐ விட byte-க்கு-byte 10 முதல் 15% சிறிய files-ஐ உருவாக்குகின்றன, மற்றும் browser செய்யாத AVIF speed மற்றும் chroma tuning-ஐ வெளிப்படுத்துகின்றன. slider மற்றும் preview இன்னும் உங்கள் browser-இல் இயங்குகின்றன அதனால் iteration உடனடியாக இருக்கும். “Download” tap மட்டுமே எங்கள் service வழியாகச் செல்கிறது. - AI background removal, default path-இல். Cloudflare-இன் image segmentation இயக்கும் BiRefNet model (remove.bg-வின் அதே architecture) ஒரு விநாடி அல்லது இரண்டில் முடிக்க ஒரு உண்மையான GPU தேவைப்படுகிறது. browser-க்குள் fallback (ONNX Runtime மற்றும் WebAssembly வழியாக ISNet) வேலை செய்கிறது, ஆனால் மிக அதிக நேரம் எடுக்கிறது மற்றும் hair, fur, மற்றும் fine edges-இல் ஒரு கண்ணுக்குத் தெரியும் கரடுமுரடான cutout-ஐ உருவாக்குகிறது.
- AI upscaling, default path-இல். Cloud super-resolution ஒரு browser-side resample மீட்டெடுக்க முடியாத விவரத்தை மீட்டெடுக்கிறது, service எட்டாதபோது ஒரு browser fallback-உடன்.
இந்த paths-இல் server-side-ஆக இருப்பதற்கு நாங்கள் ஏற்றுக்கொள்ளும் செலவு ஒரு செயலுக்கு ஒரு round-trip. மற்ற எல்லா இடத்திலும் client-side-ஆக இருப்பதன் மூலம் நாங்கள் தவிர்க்கும் செலவு, வேகமாக iterate செய்யும் workflow பகுதிகளில் அதே கட்டணம்.
Pipeline, படிப்படியாக
1. நீங்கள் ஒரு file-ஐத் தேர்ந்தெடுக்கிறீர்கள்
file picker, drag-and-drop, அல்லது paste வழியாக, browser JavaScript-க்கு ஒரு File
object-ஐக் கொடுக்கிறது. JavaScript bytes-ஐ FileReader அல்லது Blob.arrayBuffer()
பயன்படுத்தி படிக்கிறது. இந்த படியின் எந்த புள்ளியிலும் file network வழியாக
அனுப்பப்படவில்லை, நீங்கள் எந்த கருவியைப் பயன்படுத்தினாலும்.
2. Browser படத்தை decode செய்கிறது
நவீன browsers JPG, PNG, WebP, GIF, மற்றும் AVIF-ஐ natively decode செய்கின்றன. நாங்கள்
createImageBitmap()-ஐப் பயன்படுத்தி raw bytes-ஐ GPU வேலை செய்யக்கூடிய ஒரு bitmap-ஆக
மாற்றுகிறோம், main thread-க்கு வெளியே. natively decode செய்யாத browsers-இல் HEIC-க்கு,
உங்கள் browser-இல் locally இயங்கும் ஒரு WebAssembly decoder-க்கு திரும்புகிறோம்.
3. கருவி அதன் வேலையைச் செய்கிறது, paths வேறுபடும் இடம்
- Browser-only கருவிகள் (crop, resize, compression preview மற்றும் slider, PDF assembly, மற்றும் பெரும்பாலான format conversions). இவை Canvas pixel transforms மற்றும்
canvas.toBlobre-encodes-ஆக உங்கள் machine-இல் நேராக இயங்குகின்றன. interactive crop frame Cropper.js-ஐப் பயன்படுத்துகிறது. எதுவும் page-ஐ விட்டு வெளியேறவில்லை. - Compression download. நீங்கள் “Download” tap செய்யும்போது, படம் ஒருமுறை
api.araluma.com-க்குச் செல்கிறது (Germany-இல் ஒரு Hostinger VPS-இல் ஒரு Fastify service, Node மற்றும்sharpமற்றும்libvips, Squoosh தனது server path-இல் பயன்படுத்தும் அதே C libraries). preview-இல் நீங்கள் அமைத்த parameters-உடன் இது re-encode செய்யப்படுகிறது, மற்றும் bytes திரும்ப stream ஆகின்றன. service ஒரு tenant-isolated, content-addressed cache-ஐ வைத்திருக்கிறது (input bytes மற்றும் parameters-இன் ஒரு hash) அதனால் அதே படத்தை அதே settings-உடன் மீண்டும் download செய்வது cached bytes-ஐ replay செய்கிறது. அந்த cache உங்களால், உங்கள் IP-ஆல், அல்லது filename-ஆல் index செய்யப்படவில்லை. service எட்டாவிட்டால், கருவி browser-க்குள் preview blob-க்கு திரும்புகிறது. - Background removal, default cloud path. படம் ஒரு Cloudflare Worker-க்கு ஒருமுறை upload ஆகி, ஒரு private R2 bucket-இல் stage செய்யப்பட்டு, edge GPUs-இல் BiRefNet model-ஐ இயக்கும் Cloudflare-இன் image segmentation-ஆல் process செய்யப்பட்டு, cutout திரும்ப stream ஆகிறது. staged object விளைவைப் பொருட்படுத்தாமல் ஒரு R2 lifecycle rule-ஆல் ஒரு மணி நேரத்திற்குள் நீக்கப்படுகிறது. ஒரு வழக்கமான photo ஒரு விநாடி அல்லது இரண்டில் முடிகிறது. தினசரி per-IP மற்றும் upload-size caps free tier-ஐ நிலையானதாக வைக்கின்றன.
- Background removal, WebAssembly fallback. Worker எட்டாவிட்டால் (உங்கள் network விழுந்தால், ஒரு கடுமையான firewall அதை block செய்தால், தினசரி quota நிறைந்தால், அல்லது file cloud cap-க்கு மிகப் பெரியதாக இருந்தால்), கருவி அமைதியாக ONNX Runtime Web மற்றும் WebAssembly வழியாக locally இயங்கும் ISNet model-க்கு மாறுகிறது. முதல் run model-ஐ download செய்து அதிக நேரம் எடுக்கிறது, பிந்தைய runs வேகமானவை. இந்த path-இல் upload இல்லை, DevTools-இல் verify செய்யக்கூடியது.
- AI upscaling. default path படத்தை ஒரு cloud super-resolution service-க்கு ஒருமுறை அனுப்பி பெரிதாக்கப்பட்ட முடிவை திரும்ப stream செய்கிறது, service-ஐ எட்ட முடியாவிட்டால் ஒரு browser-side fallback-உடன்.
4. நீங்கள் முடிவை download செய்கிறீர்கள்
output bitmap ஒரு Blob-ஆக encode செய்யப்பட்டு, ஒரு object URL-இல் wrap செய்யப்பட்டு,
உங்கள் browser-இன் standard file-save dialog-க்கு கையளிக்கப்படுகிறது. file உங்கள்
disk-இல் தங்குகிறது.
நீங்களே அதை எப்படி verify செய்வது
நீங்கள் விரும்புவதைத் தேர்ந்தெடுங்கள்:
முறை 1. Network tab-ஐ கவனியுங்கள்
- Araluma-வை ஒரு புதிய tab-இல் திறந்து DevTools-ஐ, பிறகு Network panel-ஐ திறக்கவும்.
- Circle Crop அல்லது Compress preview slider போன்ற ஒரு browser-only கருவியை பயன்படுத்துங்கள். HTML, CSS, JS, மற்றும் fonts மட்டுமே, மேலும் முதல் பயன்பாட்டில் தொடர்புடைய WebAssembly modules-க்கான requests-ஐக் காண்பீர்கள். எந்த request-உம் உங்கள் image bytes-ஐ எடுத்துச்செல்லாது.
- இப்போது Compress Download அல்லது Remove Background போன்ற ஒரு server-touching கருவியை பயன்படுத்துங்கள். பெயரிடப்பட்ட endpoint-க்கு உங்கள் படத்தை எடுத்துச்செல்லும் சரியாக ஒரு
POST-ஐயும், முடிவுடன் திரும்பும் ஒரு response-ஐயும் காண்பீர்கள். எந்த request-இன் மீதும் hover செய்து அதன் size மற்றும் timing-ஐப் படியுங்கள்.
“Initiator” column ஒவ்வொரு request-ஐயும் எந்த script trigger செய்தது என்பதைச் சொல்கிறது, மற்றும் “Type” column என்ன அனுப்பப்பட்டது என்பதைச் சொல்கிறது. நாங்கள் இரண்டையும் மறைப்பதில்லை.
முறை 2. கருவிகளை offline-இல் பயன்படுத்துங்கள்
- எந்த ஒரு Araluma tool page-ஐயும் load செய்யுங்கள். browser-க்குள் ISNet model cache ஆகுமாறு ஒரு சிறிய படத்தில் Remove Background-ஐ ஒருமுறை run செய்யுங்கள்.
- DevTools-ஐ திறந்து, Network-க்குச் சென்று, Offline-ஐ tick செய்யுங்கள் (அல்லது Wi-Fi-ஐ off செய்யுங்கள்).
- page-ஐ reload செய்யுங்கள். static assets cache ஆகியுள்ளன, அதனால் அது இன்னும் load ஆகும்.
- கருவிகளை முயற்சியுங்கள்:
- Browser-only கருவிகள் தொடர்ந்து வேலை செய்கின்றன. அவைக்கு network ஒருபோதும் தேவைப்படவில்லை.
- Compress Download browser-க்குள் preview blob-க்கு திரும்புகிறது (சற்று குறைந்த திறன்வாய்ந்த encode, ஆனால் செயல்படக்கூடியது).
- Remove Background ISNet WebAssembly model-க்கு திரும்பி எந்த outbound request இல்லாமல் வேலை செய்கிறது.
அந்த கருவிகள் offline-இல் வேலை செய்தால் (சில degraded, browser-only-கள் ஒரே மாதிரியாக), அப்படியானால் வரையறையின்படி எந்த server-உம் உங்கள் படத்தைப் பார்க்கவில்லை.
நாங்கள் என்ன பார்க்கிறோம், என்ன பார்ப்பதில்லை
browser-only paths-இல், உங்கள் படத்தைப் பற்றி நாங்கள் எதையும் பார்ப்பதில்லை. பார்க்க ஒரு request இல்லை, அதை சேமிக்க ஒரு cache இல்லை, grep செய்ய ஒரு log line இல்லை.
server-touching paths-இல்:
- Compress Download encode நீடிக்கும் காலத்திற்கு image bytes-ஐப் பார்க்கிறது (வழக்கமாக சில நூறு milliseconds), அதன் TTL-க்கு ஒரு content-addressed cache entry-ஐ வைத்திருக்கிறது, அவ்வளவுதான். cache user, IP, filename, அல்லது “உங்கள்” படங்களைக் கண்டுபிடிக்க நாங்கள் பயன்படுத்தக்கூடிய எந்த identifier-ஆலும் index செய்யப்படவில்லை. நாங்கள் image content-ஐ log செய்வதில்லை. encode service cutover-க்கு முன் v1 சேவை செய்த அதே tenants முழுவதும் பகிரப்படுகிறது, per-tenant CORS, rate limits, மற்றும் HMAC-signed canonical URLs-உடன்.
- Remove Background staging upload மற்றும் segmentation call நீடிக்கும் காலத்திற்கு படத்தைப் பார்க்கிறது (வழக்கமாக ஒரு விநாடி அல்லது இரண்டு), அதன் பிறகு staged copy R2 lifecycle rule-ஆல் நீக்கப்படுகிறது. உங்கள் bytes-ஐ ஒரு third-party model provider-க்கு நாங்கள் ஒருபோதும் கையளிப்பதில்லை. BiRefNet model Cloudflare-இன் சொந்த infrastructure-க்குள் இயங்குகிறது, ஒரு external remove.bg, fal.ai, அல்லது Replicate-style API-இல் அல்ல.
- AI upscaling super-resolution call நீடிக்கும் காலத்திற்கு படத்தைப் பார்க்கிறது, முடிவைத் திருப்புகிறது, மற்றும் உங்களுடன் இணைக்கப்பட்ட எதையும் வைத்திருப்பதில்லை.
ஒவ்வொரு path-இலும், எங்கள் analytics provider (Cloudflare Web Analytics) aggregate page-view data-ஐ பதிவு செய்கிறது: URL, country, browser family, Core Web Vitals. cookies இல்லை, persistent identifiers இல்லை, ஒரு நபருடன் இணைக்கப்பட்ட எதுவும் இல்லை.
முதல் பயன்பாட்டில் ஒரு WebAssembly module-ஐ download செய்யும் கருவிகளுக்கு (HEIC decoder, ISNet ONNX model), யாரோ module-ஐ fetch செய்தார்கள் என்பதை எங்கள் hosting provider பார்க்கிறது, ஒரு CSS file fetch செய்யப்படுவதைப் பார்ப்பது போலவே. module-உம் உங்கள் படத்தைப் பற்றிய எந்த தகவலையும் கொண்டிருக்கவில்லை.
முழு data inventory எங்கள் privacy policy-இல் உள்ளது.
Technology stack
ஆர்வமுள்ளவர்களுக்கு:
- Astro, static site generator. ஒவ்வொரு page-உம் plain HTML-ஆக ஷிப் ஆகிறது, interactive கருவிகள் இருக்கும் இடத்தில் மட்டுமே progressively-enhanced JavaScript “islands”-உடன்.
- Custom properties-உடன் Vanilla CSS, Tailwind இல்லை, CSS-in-JS இல்லை. முழு design system ஒரே
tokens.cssfile. canvas.toBlobமற்றும்<canvas>, browser-side கருவிகள் மற்றும் previews-க்கான JPEG, PNG, WebP, மற்றும் AVIF encoding.- Cropper.js, crop-rectangle interaction layer.
- ONNX Runtime Web, Remove Background-க்கான ISNet WebAssembly fallback-ஐ இயக்குகிறது.
- Cloudflare static build-ஐ host செய்து edge-இலிருந்து serve செய்கிறது, மற்றும் default Remove Background path-க்குப் பின்னால் Workers, R2, மற்றும் image-segmentation pipeline (BiRefNet)-ஐ இயக்குகிறது.
- Node-இல்
sharpமற்றும்libvips-உடன் Fastify, Germany-இல் ஒரு Hostinger VPS-இல்,api.araluma.com-இல் Compress download service. - Cloudflare Web Analytics, aggregate, cookie-less page-view counts.
Browser support
ஒவ்வொரு கருவியும் Chrome, Firefox, Safari, மற்றும் Edge-இன் தற்போதைய மற்றும்
முந்தைய version-இல் வேலை செய்கிறது, desktop மற்றும் mobile. தளம் progressive enhancement-ஐப்
பயன்படுத்துகிறது: ஒரு browser ஒரு புதிய API-ஐ ஆதரிக்கும் இடத்தில் (உதாரணமாக
showSaveFilePicker அல்லது OffscreenCanvas), அதைப் பயன்படுத்துகிறோம், மற்றும் அது
ஆதரிக்காத இடத்தில், பழைய சமமான ஒன்றுக்குத் திரும்புகிறோம். “உங்கள் browser ஆதரிக்கப்படவில்லை”
என்ற சுவர் இல்லை.
ஒரே கடினமான தேவைகள் JavaScript (எந்த கருவிக்கும்) மற்றும் ஒரு network connection (ஒரு server-touching path-ஐப் பயன்படுத்தும்போது மட்டுமே, browser-only கருவிகள் முதல் page load-க்குப் பிறகு முழுவதும் offline இயங்குகின்றன).
கேள்விகள்
நாங்கள் cover செய்யாதது ஏதேனும்? support@araluma.com-க்கு email அனுப்புங்கள். Technical கேள்விகள் வரவேற்கப்படுகின்றன.