Hai loại công cụ
Mỗi công cụ của Araluma thuộc một trong hai nhóm. Công cụ trình duyệt đọc, chỉnh sửa và lưu tệp ngay trên thiết bị của bạn. Công cụ dùng máy chủ tải tệp lên, xử lý trên máy chủ của chúng tôi hoặc qua một nhà cung cấp dịch vụ hình ảnh, rồi trả kết quả về. Các công cụ dùng máy chủ cũng có phương án B để hoàn tất công việc trong trình duyệt khi không kết nối được với máy chủ.
| Công cụ | Chỉ trình duyệt | Dùng máy chủ | Phương án B khi máy chủ lỗi |
|---|---|---|---|
| Cắt ảnh hình tròn, Cắt ảnh, Thay đổi kích thước ảnh | Luôn luôn | Không bao giờ | Không cần |
| Chuyển đổi định dạng (một tệp, đầu ra PNG, JPG hoặc WebP) | Có | Không | Không cần |
| Chuyển đổi định dạng (đầu ra AVIF, hoặc từ hai tệp trở lên) | Không | Có | Bộ mã hóa trong trình duyệt |
| Chuyển JPG sang PDF (một ảnh) | Có | Không | Không cần |
| Chuyển JPG sang PDF (từ hai ảnh trở lên) | Không | Có | Ghép tệp trong trình duyệt |
| Nén ảnh | Chỉ SVG và các lô rất lớn | Có | Nén trong trình duyệt |
| Xóa nền ảnh | Không | Có, Cloudflare trước, ImageKit sau | Mô hình AI chạy trong trình duyệt của bạn |
| Tăng độ phân giải ảnh | Không | Có, Cloudflare trước, ImageKit sau | Lấy mẫu lại trong trình duyệt |
Có thêm một trường hợp áp dụng cho mọi công cụ: khi tạo liên kết chia sẻ hoặc lưu kết quả vào Dropbox, tệp kết quả sẽ được lưu khoảng hai giờ để liên kết có thể mở được.
Tại sao không làm mọi thứ trong trình duyệt?
Trình duyệt rất giỏi xử lý hình học. Cắt, xoay, thu phóng và lưu ảnh ở các định dạng phổ biến chỉ mất một phần nhỏ của giây trên thiết bị, không phải chờ mạng, nên những công cụ đó không bao giờ rời khỏi thiết bị.
Những việc khác vẫn làm tốt hơn trên máy chủ:
- Nén. Bộ mã hóa phía máy chủ xây dựng trên libvips cho ra tệp nhỏ hơn rõ rệt so với bộ mã hóa tích hợp sẵn trong trình duyệt ở cùng chất lượng hình ảnh, và cung cấp các tùy chọn AVIF mà trình duyệt không có.
- Đầu ra AVIF. Mã hóa AVIF trong trình duyệt chậm và tốn bộ nhớ trên điện thoại, nên các chuyển đổi AVIF dùng chung máy chủ đó.
- Xử lý hàng loạt và PDF nhiều trang. Một hàng đợi vài chục bức ảnh sẽ khiến điện thoại bị treo. Máy chủ xử lý chúng cùng lúc và trả về một tệp ZIP hoặc PDF duy nhất.
- Xóa nền và tăng độ phân giải. Cả hai đều dùng mô hình AI cần GPU để trả kết quả trong vài giây. Phương án B trong trình duyệt vẫn hoạt động, nhưng chậm hơn và đường viền quanh tóc, lông thô hơn.
Điều gì xảy ra với tệp, từng bước một
- Bạn chọn tệp. Việc chọn, kéo thả hoặc dán tệp cung cấp cho trang một tham chiếu cục bộ đến tệp. Chưa có gì được gửi đi ở bước này.
- Trình duyệt mở tệp. JPG, PNG, WebP, GIF và AVIF được giải mã trực tiếp. Ảnh HEIC từ iPhone được giải mã bằng một mô-đun nhỏ chạy trong trang.
- Công việc được thực hiện. Công cụ trình duyệt chỉnh sửa điểm ảnh trên canvas và mã hóa kết quả ngay tại chỗ. Công cụ dùng máy chủ tải tệp lên qua HTTPS đến kho lưu trữ tạm thời Cloudflare R2 hoặc thẳng đến Cloudflare Worker, và tác vụ chạy trên máy chủ của chúng tôi tại São Paulo (nén, chuyển đổi, PDF) hoặc trong dịch vụ hình ảnh của Cloudflare hay ImageKit (xóa nền, tăng độ phân giải). Nén ảnh có thể bắt đầu tải lên vài giây sau khi bạn thêm tệp, để kết quả đã sẵn sàng khi bạn nhấn nút.
- Bạn nhận kết quả. Tệp hoàn chỉnh được đưa vào quá trình tải xuống thông thường của trình duyệt. Kết quả tạo trên máy chủ nằm trong kho lưu trữ tạm thời khoảng hai giờ (màn hình tải xuống của Nén ảnh có thể xóa ngay lập tức) rồi được tự động xóa.
Chính sách quyền riêng tư có bảng thời gian lưu giữ đầy đủ và danh sách nhà cung cấp.
Tự kiểm tra trong trình duyệt của bạn
Bảng Network. Mở công cụ dành cho nhà phát triển (F12 trên hầu hết trình duyệt máy tính), chọn thẻ Network và xóa sạch danh sách. Chạy Cắt ảnh hình tròn, Cắt ảnh hoặc Thay đổi kích thước ảnh: bạn sẽ thấy các tài nguyên của trang được tải và không có yêu cầu nào mang theo ảnh của bạn. Sau đó chạy Nén ảnh hoặc Xóa nền ảnh: một yêu cầu tải lên xuất hiện, tiếp theo là lượt tải xuống kết quả.
Thử ngoại tuyến. Mở một công cụ trình duyệt, bật chế độ máy bay hoặc đánh dấu “Offline” trong thẻ Network, rồi dùng lại công cụ. Công cụ vẫn hoạt động, vì nó chưa bao giờ cần đến mạng. Các công cụ dùng máy chủ sẽ chuyển sang phương án B, đây cũng là một cách để thấy mỗi bước chạy ở đâu.
Những gì chúng tôi thấy được và không thấy được
Với công cụ trình duyệt, chúng tôi không nhận được gì về ảnh của bạn, vì không có yêu cầu nào mang theo ảnh.
Với công cụ dùng máy chủ, tệp chỉ tồn tại trên hạ tầng của chúng tôi trong lúc tác vụ chạy và trong thời gian lưu giữ nêu tại chính sách quyền riêng tư. Không có tài khoản, nên tệp tải lên không gắn với tên hay hồ sơ nào. Chúng tôi không xem các tệp được tải lên và không dùng chúng để huấn luyện mô hình.
Trên mọi trang, chúng tôi ghi lại các sự kiện sử dụng ẩn danh (công cụ, bước, thời gian, lỗi, quốc gia, loại thiết bị) để tìm lỗi và những chỗ chạy chậm. Bản thân chúng tôi không đặt cookie theo dõi giữa các trang web. Cookie quảng cáo mà Google dùng trên các trang công cụ được mô tả trong chính sách quyền riêng tư, kèm theo cách từ chối chúng. Khi một mô hình AI hoặc bộ giải mã được tải xuống trình duyệt của bạn, hệ thống lưu trữ của chúng tôi thấy rằng tệp đó được yêu cầu, giống như thấy một tệp stylesheet được yêu cầu, và không biết gì về ảnh của bạn.
Được xây dựng bằng gì
- Astro, hiển thị mọi trang dưới dạng HTML thuần và chỉ thêm JavaScript ở nơi công cụ cần.
- CSS thuần với design token, không dùng framework CSS.
- Canvas và codec WebAssembly cho các công cụ chạy trong trình duyệt.
- ONNX Runtime Web, chạy mô hình xóa nền trên thiết bị của bạn khi tuyến đám mây không khả dụng.
- Cloudflare cho lưu trữ web, Workers, kho lưu trữ R2 và các mô hình hình ảnh đứng sau tính năng xóa nền và tăng độ phân giải.
- Một dịch vụ Node.js dùng sharp và libvips trên máy chủ Hostinger tại São Paulo, Brazil, cho các tác vụ nén, chuyển đổi và PDF.
Trình duyệt được hỗ trợ
Các công cụ hoạt động trên phiên bản hiện tại và phiên bản trước đó của Chrome, Edge, Firefox và Safari, trên cả máy tính lẫn điện thoại. Khi trình duyệt có khả năng mới hơn, công cụ sẽ tận dụng, còn khi không có, một phương pháp cũ hơn sẽ thay thế, nên không trình duyệt nào bị từ chối. JavaScript là bắt buộc với mọi công cụ, còn kết nối mạng chỉ cần cho các công cụ dùng máy chủ.
Còn câu hỏi khác?
Mọi câu hỏi kỹ thuật xin gửi về support@araluma.com.