Jak działa Araluma

Gdzie działa każde narzędzie, dlaczego niektóre potrzebują serwera i jak potwierdzić to we własnej przeglądarce.

Dwa rodzaje narzędzi

Każde narzędzie Aralumy należy do jednej z dwóch grup. Narzędzia przeglądarkowe odczytują, edytują i zapisują Twój plik na Twoim urządzeniu. Narzędzia serwerowe przesyłają plik, przetwarzają go na naszych serwerach lub u dostawcy usług obrazów i zwracają wynik. Narzędzia serwerowe mają też plan B, który kończy zadanie w Twojej przeglądarce, gdy serwery są nieosiągalne.

NarzędzieTylko w przeglądarceNa serwerzePlan B, gdy serwery zawiodą
Przytnij zdjęcie do koła, Przytnij obraz, Zmień rozmiar obrazuZawszeNigdyNiepotrzebny
Konwersja formatu (jeden plik, wynik PNG, JPG lub WebP)TakNieNiepotrzebny
Konwersja formatu (wynik AVIF albo dwa pliki lub więcej)NieTakKoder w przeglądarce
JPG do PDF (jeden obraz)TakNieNiepotrzebny
JPG do PDF (dwa obrazy lub więcej)NieTakSkładanie w przeglądarce
Kompresuj obrazTylko SVG i bardzo duże partieTakKompresja w przeglądarce
Usuń tłoNieTak, najpierw Cloudflare, potem ImageKitModel AI działający w Twojej przeglądarce
Powiększ obrazNieTak, najpierw Cloudflare, potem ImageKitPrzepróbkowanie w przeglądarce

Jeszcze jeden przypadek dotyczy każdego narzędzia: utworzenie linku do udostępniania lub zapisanie wyniku w Dropbox powoduje przechowanie pliku wynikowego przez około dwie godziny, aby link dało się otworzyć.

Dlaczego nie robić wszystkiego w przeglądarce?

Przeglądarki świetnie radzą sobie z geometrią. Wycinanie, obracanie, skalowanie i zapisywanie obrazu w popularnych formatach zajmuje na urządzeniu ułamek sekundy, bez czekania na sieć, więc te narzędzia nigdy go nie opuszczają.

Inne zadania wciąż lepiej wykonuje serwer:

  • Kompresja. Serwerowe kodery oparte na libvips tworzą przy tej samej jakości wizualnej wyraźnie mniejsze pliki niż kodery wbudowane w przeglądarki i udostępniają ustawienia AVIF, których przeglądarki nie mają.
  • Wynik w AVIF. Kodowanie AVIF w przeglądarce jest na telefonach powolne i pamięciożerne, dlatego konwersje do AVIF korzystają z tego samego serwera.
  • Partie i wielostronicowe PDF. Kolejka kilkudziesięciu zdjęć zablokowałaby telefon. Serwer przetwarza je razem i zwraca jeden plik ZIP lub PDF.
  • Usuwanie tła i powiększanie. Oba zadania korzystają z modeli AI, które potrzebują GPU, by odpowiedzieć w kilka sekund. Plan B w przeglądarce działa, ale jest wolniejszy, a krawędzie włosów i sierści wychodzą bardziej poszarpane.

Co dzieje się z plikiem, krok po kroku

  1. Wybierasz plik. Wybranie, przeciągnięcie lub wklejenie pliku daje stronie lokalne odwołanie do niego. Na tym etapie nic nie jest wysyłane.
  2. Przeglądarka go otwiera. JPG, PNG, WebP, GIF i AVIF są dekodowane natywnie. Zdjęcia HEIC z iPhone’a dekoduje mały moduł działający na stronie.
  3. Wykonywana jest praca. Narzędzia przeglądarkowe edytują piksele na elemencie canvas i od razu kodują wynik. Narzędzia serwerowe przesyłają plik przez HTTPS do tymczasowego magazynu Cloudflare R2 lub bezpośrednio do Cloudflare Worker, a zadanie jest wykonywane na naszym serwerze w São Paulo (kompresja, konwersja, PDF) albo w usługach obrazów Cloudflare lub ImageKit (usuwanie tła, powiększanie). Kompresuj obraz może zacząć przesyłanie kilka sekund po dodaniu plików, aby wynik był gotowy, gdy naciśniesz przycisk.
  4. Otrzymujesz wynik. Gotowy plik trafia do zwykłego pobierania w przeglądarce. Wyniki przygotowane na serwerze leżą w tymczasowym magazynie przez około dwie godziny (ekran pobierania w narzędziu Kompresuj obraz pozwala usunąć je od razu), a potem są usuwane automatycznie.

Polityka prywatności zawiera pełną tabelę okresów przechowywania i listę dostawców.

Sprawdź to we własnej przeglądarce

Panel sieci. Otwórz narzędzia deweloperskie (F12 w większości przeglądarek na komputerze), wybierz kartę Network i ją wyczyść. Uruchom Przytnij zdjęcie do koła, Przytnij obraz lub Zmień rozmiar obrazu: zobaczysz ładowanie zasobów strony i żadnego żądania zawierającego Twoje zdjęcie. Następnie uruchom Kompresuj obraz lub Usuń tło: pojawi się żądanie przesłania, a po nim pobranie wyniku.

Test offline. Załaduj narzędzie przeglądarkowe, włącz tryb samolotowy lub zaznacz „Offline” na karcie Network i użyj narzędzia ponownie. Nadal działa, bo nigdy nie potrzebowało sieci. Narzędzia serwerowe przełączą się natomiast na plan B, co również pozwala zobaczyć, gdzie wykonywany jest każdy krok.

Co widzimy, a czego nie

W przypadku narzędzi przeglądarkowych nie otrzymujemy niczego na temat Twojego zdjęcia, bo żadne żądanie go nie zawiera.

W przypadku narzędzi serwerowych plik istnieje w naszej infrastrukturze tylko w trakcie wykonywania zadania i przez okresy przechowywania podane w polityce prywatności. Nie ma kont, więc przesłany plik nie jest powiązany z żadnym nazwiskiem ani profilem. Nie przeglądamy przesłanych plików i nie używamy ich do trenowania modeli.

Na każdej stronie rejestrujemy anonimowe zdarzenia użycia (narzędzie, krok, czas, błędy, kraj, typ urządzenia), aby znajdować błędy i wolne miejsca. Sami nie ustawiamy plików cookie śledzących między witrynami. Reklamowe pliki cookie, których Google używa na stronach narzędzi, oraz sposoby ich odrzucenia opisuje polityka prywatności. Gdy do Twojej przeglądarki pobierany jest model AI lub dekoder, nasz hosting widzi, że plik został pobrany, tak samo jak widzi pobranie arkusza stylów, i nie dowiaduje się niczego o Twoim obrazie.

Na czym to zbudowano

  • Astro, który renderuje każdą stronę jako zwykły HTML i dodaje JavaScript tylko tam, gdzie potrzebuje go narzędzie.
  • Czysty CSS z tokenami projektowymi, bez frameworka CSS.
  • Canvas i kodeki WebAssembly dla narzędzi działających w przeglądarce.
  • ONNX Runtime Web, który uruchamia model usuwania tła na Twoim urządzeniu, gdy ścieżka chmurowa jest niedostępna.
  • Cloudflare do hostingu, Workers, magazynu R2 i modeli obrazów obsługujących usuwanie tła i powiększanie.
  • Usługa Node.js z sharp i libvips na serwerze Hostinger w São Paulo w Brazylii, do kompresji, konwersji i tworzenia PDF.

Obsługiwane przeglądarki

Narzędzia działają w bieżącej i poprzedniej wersji Chrome, Edge, Firefox i Safari, na komputerach i telefonach. Gdy przeglądarka oferuje nowszą funkcję, narzędzie z niej korzysta, a gdy jej brakuje, zastępuje ją starsza metoda, więc żadna przeglądarka nie zostaje odrzucona. Każde narzędzie wymaga JavaScriptu, a połączenie z internetem jest potrzebne tylko narzędziom serwerowym.

Masz więcej pytań?

Pytania techniczne chętnie przyjmujemy pod adresem support@araluma.com.