Araluma 如何运作

每个工具在哪里运行,为什么有些工具需要服务器,以及如何在您自己的浏览器中确认。

两类工具

Araluma 的每个工具都属于以下两类之一。浏览器工具在您自己的设备上读取、编辑并保存文件。依赖服务器的工具会上传文件,在我们的服务器上或由图像服务提供商处理,再把结果交还给您。依赖服务器的工具还备有一个后备方案,在无法连接服务器时改由浏览器完成任务。

工具仅限浏览器依赖服务器服务器故障时的后备方案
圆形裁剪图片、裁剪图片、调整图片大小始终从不无需
格式转换(单个文件,输出 PNG、JPG 或 WebP)是否无需
格式转换(输出 AVIF,或两个及以上文件)否是浏览器编码器
JPG转PDF(单张图片)是否无需
JPG转PDF(两张及以上图片)否是在浏览器中组装
压缩图片仅 SVG 和超大批量任务是在浏览器中压缩
去除背景否是,优先 Cloudflare,其次 ImageKit在浏览器中运行的 AI 模型
图片放大否是,优先 Cloudflare,其次 ImageKit浏览器重采样

还有一种情况适用于所有工具:创建分享链接或将结果保存到 Dropbox 时,结果文件会保存约两小时,以便打开链接。

为什么不全部在浏览器中完成?

浏览器非常擅长几何处理。裁剪、旋转、缩放图片并保存为常见格式,在设备上只需一瞬间,也无需等待网络,因此这些工具从不离开您的设备。

但也有一些任务在服务器上效果更好:

  • 压缩。 基于 libvips 的服务器端编码器,在相同视觉质量下生成的文件明显小于浏览器内置编码器,并且提供浏览器所没有的 AVIF 设置。
  • AVIF 输出。 在浏览器中编码 AVIF 速度慢,在手机上还很耗内存,因此 AVIF 转换也使用同一台服务器。
  • 批量任务和多页 PDF。 几十张图片排队处理会让手机卡住。服务器会一并处理,并返回一个 ZIP 或 PDF 文件。
  • 去除背景和图片放大。 两者使用的 AI 模型都需要 GPU 才能在几秒内给出结果。浏览器后备方案同样可用,但速度更慢,头发和毛发边缘也更粗糙。

文件经历了什么:分步说明

  1. 您选择文件。 选择、拖放或粘贴文件后,页面会获得对该文件的本地引用。此时不会发送任何内容。
  2. 浏览器打开文件。 JPG、PNG、WebP、GIF 和 AVIF 由浏览器原生解码。iPhone 拍摄的 HEIC 照片由页面内运行的一个小模块解码。
  3. 开始处理。 浏览器工具在 canvas 上编辑像素,并就地编码结果。依赖服务器的工具会通过 HTTPS 将文件上传到 Cloudflare R2 临时存储,或直接上传到 Cloudflare Worker,然后在我们位于圣保罗的服务器上(压缩、转换、PDF),或在 Cloudflare 或 ImageKit 的图像服务中(去除背景、图片放大)完成处理。压缩图片可能会在您添加文件几秒后就开始上传,这样当您按下按钮时结果已经准备好了。
  4. 您拿到结果。 生成的文件会通过浏览器的常规下载提供给您。在服务器上生成的结果会在临时存储中保留约两小时(压缩图片的下载页面可以立即删除),之后被自动删除。

完整的保存期限表和服务提供商列表见隐私政策。

在您自己的浏览器中验证

网络面板。 打开开发者工具(大多数桌面浏览器按 F12),选择“网络”标签并清空记录。运行圆形裁剪图片、裁剪图片或调整图片大小:您只会看到页面资源在加载,没有任何携带您图片的请求。然后运行压缩图片或去除背景:会出现一个上传请求,随后是结果的下载。

离线测试。 加载一个浏览器工具,打开飞行模式或在“网络”标签中勾选“离线”,然后再次使用它。它会照常工作,因为它从来就不需要网络。依赖服务器的工具则会切换到后备方案,这也是查看每个步骤在哪里运行的一种方法。

我们能看到什么,看不到什么

对于浏览器工具,我们收不到任何关于您图片的信息,因为没有任何请求携带它。

对于依赖服务器的工具,文件只在任务运行期间以及隐私政策所列的保存期限内存在于我们的基础设施上。由于没有账户,上传的文件不会与任何姓名或个人资料关联。我们不会浏览上传的文件,也不会用它们训练模型。

在每个页面上,我们都会记录匿名使用事件(工具、步骤、耗时、错误、国家、设备类型),用来发现错误和卡顿之处。我们自己不设置任何跨站跟踪 Cookie。Google 在工具页面上使用的广告 Cookie 以及拒绝方式,均在隐私政策中说明。当 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。