Araluma 작동 원리

각 도구가 어디서 실행되는지, 일부 도구에 왜 서버가 필요한지, 그리고 내 브라우저에서 확인하는 방법.

두 종류의 도구

Araluma의 모든 도구는 두 그룹 중 하나에 속합니다. 브라우저 도구는 사용자의 기기에서 파일을 읽고, 편집하고, 저장합니다. 서버 기반 도구는 파일을 업로드해 저희 서버나 이미지 서비스 제공업체에서 처리한 뒤 결과를 돌려줍니다. 서버 기반 도구에는 서버에 연결할 수 없을 때 브라우저에서 작업을 마무리하는 대체 수단도 마련되어 있습니다.

도구브라우저 전용서버 기반서버 장애 시 대체 수단
원형 이미지 자르기, 이미지 자르기, 이미지 크기 변경항상사용 안 함필요 없음
형식 변환(파일 1개, PNG, JPG 또는 WebP 출력)예아니요필요 없음
형식 변환(AVIF 출력 또는 파일 2개 이상)아니요예브라우저 인코더
JPG를 PDF로 변환(이미지 1장)예아니요필요 없음
JPG를 PDF로 변환(이미지 2장 이상)아니요예브라우저에서 조립
이미지 압축SVG와 매우 큰 일괄 작업만예브라우저 압축
배경 제거아니요예, Cloudflare 우선, 다음은 ImageKit브라우저에서 실행되는 AI 모델
이미지 확대아니요예, Cloudflare 우선, 다음은 ImageKit브라우저 리샘플링

모든 도구에 해당하는 경우가 하나 더 있습니다. 공유 링크를 만들거나 결과를 Dropbox에 저장하면, 링크를 열 수 있도록 결과 파일이 약 2시간 동안 보관됩니다.

왜 모든 것을 브라우저에서 하지 않나요?

브라우저는 기하학적 처리에 뛰어납니다. 이미지를 자르고, 회전하고, 크기를 조정하고, 일반적인 형식으로 저장하는 일은 기기에서 순식간에 끝나며 네트워크를 기다릴 필요도 없습니다. 그래서 이런 도구는 기기 밖으로 나가지 않습니다.

하지만 서버에서 더 잘 되는 작업도 있습니다.

  • 압축. libvips 기반의 서버 인코더는 같은 시각적 품질에서 브라우저 내장 인코더보다 눈에 띄게 작은 파일을 만들며, 브라우저에서는 쓸 수 없는 AVIF 설정도 제공합니다.
  • AVIF 출력. 브라우저에서 AVIF를 인코딩하면 휴대폰에서는 느리고 메모리를 많이 차지하므로, AVIF 변환에도 같은 서버를 사용합니다.
  • 일괄 작업과 여러 페이지 PDF. 수십 장의 사진을 차례로 처리하면 휴대폰이 멈춰 버립니다. 서버는 이를 한꺼번에 처리해 ZIP 또는 PDF 하나로 돌려줍니다.
  • 배경 제거와 이미지 확대. 두 작업 모두 몇 초 안에 응답하려면 GPU가 필요한 AI 모델을 사용합니다. 브라우저 대체 수단도 작동하지만 더 느리고, 머리카락이나 털의 가장자리가 더 거칠게 나옵니다.

파일에 일어나는 일, 단계별로

  1. 파일을 고릅니다. 파일을 선택하거나 끌어 놓거나 붙여 넣으면 페이지는 그 파일에 대한 로컬 참조를 얻습니다. 이 시점에는 아무것도 전송되지 않습니다.
  2. 브라우저가 파일을 엽니다. JPG, PNG, WebP, GIF, AVIF는 브라우저가 기본으로 디코딩합니다. iPhone의 HEIC 사진은 페이지 안에서 실행되는 작은 모듈이 디코딩합니다.
  3. 작업이 진행됩니다. 브라우저 도구는 canvas에서 픽셀을 편집하고 그 자리에서 결과를 인코딩합니다. 서버 기반 도구는 HTTPS를 통해 파일을 Cloudflare R2 임시 저장소나 Cloudflare Worker로 바로 업로드하며, 작업은 상파울루에 있는 저희 서버(압축, 변환, PDF) 또는 Cloudflare나 ImageKit의 이미지 서비스(배경 제거, 이미지 확대)에서 실행됩니다. 이미지 압축은 파일을 추가하고 몇 초 뒤에 업로드를 시작할 수 있어, 버튼을 누를 때쯤이면 결과가 준비되어 있습니다.
  4. 결과를 받습니다. 완성된 파일은 브라우저의 일반 다운로드로 제공됩니다. 서버에서 만든 결과는 약 2시간 동안 임시 저장소에 머문 뒤(이미지 압축의 다운로드 화면에서 즉시 삭제할 수도 있습니다) 자동으로 삭제됩니다.

전체 보관 기간 표와 제공업체 목록은 개인정보 처리방침에 있습니다.

내 브라우저에서 직접 확인하기

네트워크 패널. 개발자 도구를 열고(대부분의 데스크톱 브라우저에서 F12) 네트워크 탭을 선택한 뒤 내용을 지웁니다. 원형 이미지 자르기, 이미지 자르기 또는 이미지 크기 변경을 실행하면 페이지 리소스가 로드되는 것만 보이고 이미지를 담은 요청은 보이지 않습니다. 이어서 이미지 압축이나 배경 제거를 실행하면 업로드 요청이 나타나고, 이어서 결과를 내려받는 요청이 나타납니다.

오프라인 테스트. 브라우저 도구를 불러온 뒤 비행기 모드를 켜거나 네트워크 탭에서 “오프라인”을 선택하고 다시 사용해 보십시오. 처음부터 네트워크가 필요 없었기 때문에 도구는 계속 작동합니다. 서버 기반 도구는 대신 대체 수단으로 전환되는데, 이것 또한 각 단계가 어디서 실행되는지 확인하는 방법이 됩니다.

저희가 볼 수 있는 것과 볼 수 없는 것

브라우저 도구의 경우, 이미지를 담은 요청이 없으므로 저희는 이미지에 관해 아무것도 받지 않습니다.

서버 기반 도구의 경우, 파일은 작업이 실행되는 동안과 개인정보 처리방침에 명시된 보관 기간 동안에만 저희 인프라에 존재합니다. 계정이 없으므로 업로드된 파일이 이름이나 프로필과 연결되지 않습니다. 저희는 업로드된 파일을 열어 보지 않으며 모델 학습에 사용하지도 않습니다.

모든 페이지에서 버그와 느린 부분을 찾기 위해 익명 이용 이벤트(도구, 단계, 소요 시간, 오류, 국가, 기기 유형)를 기록합니다. 저희가 직접 여러 사이트에 걸친 추적 쿠키를 설정하지는 않습니다. 도구 페이지에서 Google이 사용하는 광고 쿠키와 그 거부 방법은 개인정보 처리방침에 설명되어 있습니다. AI 모델이나 디코더를 브라우저로 내려받을 때 저희 호스팅은 그 파일이 요청되었다는 사실을 알게 되지만, 이는 스타일시트 요청을 아는 것과 같을 뿐 이미지에 대해서는 아무것도 알지 못합니다.

사용 기술

  • Astro: 모든 페이지를 일반 HTML로 렌더링하고, 도구에 필요한 곳에만 JavaScript를 추가합니다.
  • 순수 CSS: 디자인 토큰을 사용하며 CSS 프레임워크는 쓰지 않습니다.
  • Canvas와 WebAssembly 코덱: 브라우저에서 실행되는 도구에 사용합니다.
  • ONNX Runtime Web: 클라우드 경로를 쓸 수 없을 때 배경 제거 모델을 사용자의 기기에서 실행합니다.
  • Cloudflare: 호스팅, Workers, R2 저장소, 그리고 배경 제거와 이미지 확대를 뒷받침하는 이미지 모델에 사용합니다.
  • sharp와 libvips를 사용하는 Node.js 서비스: 브라질 상파울루의 Hostinger 서버에서 압축, 변환, PDF 작업을 처리합니다.

지원 브라우저

도구는 Chrome, Edge, Firefox, Safari의 최신 버전과 그 이전 버전에서 컴퓨터와 휴대폰 모두 작동합니다. 브라우저가 새로운 기능을 지원하면 도구가 이를 활용하고, 지원하지 않으면 이전 방식으로 대신 처리하므로 거부되는 브라우저는 없습니다. 모든 도구에는 JavaScript가 필요하며, 인터넷 연결은 서버 기반 도구에만 필요합니다.

더 궁금한 점이 있으신가요?

기술적인 질문은 언제든 support@araluma.com으로 보내 주십시오.