Aralumaの仕組み

各ツールがどこで動くのか、なぜ一部にサーバーが必要なのか、そしてご自身のブラウザで確かめる方法。

2種類のツール

Aralumaのツールは、どれも2つのグループのいずれかに属します。ブラウザ型のツールは、お使いの端末上でファイルを読み込み、編集し、保存します。サーバー型のツールは、ファイルをアップロードし、当方のサーバーまたは画像サービスの提供事業者で処理して、結果を返します。サーバー型のツールには、サーバーに接続できないときにブラウザ内で処理を完了させる代替手段も用意されています。

ツールブラウザのみサーバーを使用サーバー障害時の代替手段
画像を丸く切り抜く、画像を切り抜く、画像をリサイズ常に使用しない不要
形式を変換(1ファイル、PNG・JPG・WebPで出力)はいいいえ不要
形式を変換(AVIFで出力、または2つ以上のファイル)いいえはいブラウザのエンコーダー
JPGをPDFに変換(1枚の画像)はいいいえ不要
JPGをPDFに変換(2枚以上の画像)いいえはいブラウザでの組み立て
画像を圧縮SVGと非常に大きなバッチのみはいブラウザでの圧縮
背景を削除いいえはい(Cloudflareが優先、次にImageKit)ブラウザで動くAIモデル
画像を高解像度化いいえはい(Cloudflareが優先、次にImageKit)ブラウザでのリサンプリング

すべてのツールに共通するケースがもう1つあります。共有リンクを作成したり、結果をDropboxに保存したりすると、リンクを開けるよう結果ファイルが約2時間保存されます。

なぜすべてをブラウザで処理しないのか

ブラウザは幾何学的な処理がとても得意です。画像の切り抜き、回転、拡大縮小、一般的な形式での保存は、端末上で一瞬で終わり、ネットワークを待つ必要もありません。そのため、これらのツールが端末の外に出ることはありません。

一方で、サーバーのほうが適している処理もあります。

  • 圧縮。 libvipsをベースにしたサーバーのエンコーダーは、同じ見た目の画質で、ブラウザに組み込まれたエンコーダーよりも目に見えて小さなファイルを作れます。また、ブラウザでは使えないAVIFの設定も利用できます。
  • AVIF出力。 ブラウザでのAVIFエンコードは、スマートフォンでは遅く、メモリも大量に消費します。そのため、AVIFへの変換には同じサーバーを使います。
  • 一括処理と複数ページのPDF。 何十枚もの画像を順番に処理すると、スマートフォンが固まってしまいます。サーバーはそれらをまとめて処理し、1つの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キー)、[ネットワーク]タブを選んで内容をクリアします。「画像を丸く切り抜く」「画像を切り抜く」「画像をリサイズ」を実行すると、ページのリソースが読み込まれるだけで、画像を運ぶリクエストがないことがわかります。次に「画像を圧縮」か「背景を削除」を実行すると、アップロードのリクエストが表示され、続いて結果のダウンロードが表示されます。

オフラインテスト。 ブラウザ型のツールを読み込んでから、機内モードをオンにするか、[ネットワーク]タブで「オフライン」にチェックを入れて、もう一度使ってみてください。ツールはそのまま動作します。最初からネットワークを必要としていないからです。サーバー型のツールは代わりに代替手段に切り替わるので、各ステップがどこで実行されているかを確かめる方法にもなります。

当方に見えるもの、見えないもの

ブラウザ型のツールについては、画像を運ぶリクエストが存在しないため、当方がお客様の画像について何かを受け取ることはありません。

サーバー型のツールについては、ファイルが当方のインフラ上に存在するのは、処理の実行中と、プライバシーポリシーに記載した保存期間の間だけです。アカウントがないため、アップロードされたファイルが名前やプロフィールと結びつくことはありません。アップロードされたファイルを閲覧することはなく、モデルの学習に使うこともありません。

すべてのページで、不具合や遅い箇所を見つけるために匿名の利用イベント(ツール、ステップ、所要時間、エラー、国、デバイスの種類)を記録しています。当方自身がサイトをまたいで追跡する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の最新版とその1つ前のバージョンで、パソコンでもスマートフォンでも動作します。ブラウザが新しい機能に対応していればツールはそれを使い、対応していなければ従来の方法に切り替わるため、利用できないブラウザはありません。どのツールにもJavaScriptが必要で、インターネット接続が必要なのはサーバー型のツールだけです。

その他のご質問

技術的なご質問は support@araluma.com までお気軽にお寄せください。