NovelAI Journal
Back to NovelAI

ジャーナル記事

NovelAI 画像キャッシング機能の導入

公開日

NovelAIの画像生成をもっと快適に。新機能「画像キャッシング」を導入します。それに伴い、利用規約を更新いたしました。

画像キャッシング機能とは

NovelAIでキャラ参照やベース画像などをアップロードする際、これらの入力画像を一時的に暗号化してキャッシュするようになりました。暗号化には、あなたのブラウザから提供される暗号化キーを使用します。同じ画像を何度も使う場合(例えば、一連の画像で同じキャラ参照を使用する場合)、生成ボタンをクリックするたびに画像を再アップロードする必要がなくなります。

導入の背景

過去数週間、少数のユーザーの方がNovelAIで画像生成時にランダムにタイムアウトを経験する問題を調査してきました。調査の結果、この問題は大きな画像生成リクエストがあなたのブラウザから当社サーバーへインターネット経由で送信される際の「ネットワーク速度の遅さ」に関連していることがわかりました。画像キャッシングはインターネット自体を高速化することはできませんが、症状を軽減できます。リクエストが小さければ小さいほど、より快適になります。

さらに、通常のネットワーク環境でも、NovelAIで同じ画像を複数回使用する際の待ち時間が短縮されます。

プライバシー保護は最優先事項

NovelAIは創業以来、プライバシーを最優先に考えてきました。今回の一時的な画像保存機能も、同じ姿勢で開発されています。キャッシュされた画像は完全に暗号化されています。あなたのブラウザにのみ存在する秘密キーがなければ、NovelAIを含む誰も読み取ることができません。この暗号化キーを当社が保存またはログ記録することは一切ありません。

キャッシュされた参照画像を使って画像を生成する際、あなたのブラウザがそのリクエストのためだけに暗号化キーを送信します。生成が完了すると、当社は復号化された画像と暗号化キーを破棄します。実質的には、毎回画像を再アップロードする場合と同じプライバシーモデルです。当社が画像データにアクセスできるのは、リクエストを処理している間のみで、その前後ではアクセスできません。

技術的な詳細について知りたい方は、以下をお読みください。

プライバシー保護の技術的な仕組み

あなたのブラウザがNovelAIの画像生成リクエストのために画像をアップロードする際、生の画像データと、ブラウザのメモリ内にのみ存在する一時的な推測不可能なセッションシークレットから派生した暗号化キーを提供します。NovelAIのタブを閉じると、その暗号化シークレットは失われ、当社側でキャッシュされた画像は事実上復元不可能になります。各キャッシュ画像には独自の暗号化キーがあります。

NovelAIのサーバーは、あなたのブラウザから提供されたシークレットキーを受け取り、当社独自のサーバー側シークレットで強化(API経由の第三者クライアントが弱いキーを使用することを防ぐため)した後、最終的な暗号化キーで生の画像を暗号化します。暗号化されたキャッシュ画像は、NovelAIのインフラの大部分がすでに稼働している信頼できるプロバイダー、CoreWeave内に保存されます。

暗号化キーは、NovelAIのサーバーのどこにも保存またはログ記録されることはありません。

キャッシュされた暗号化画像を復号化するために、あなたのブラウザは各生成リクエストと一緒に画像のシークレットキーを提供します。NovelAIのサーバーは、画像生成リクエストを処理している間のみメモリ内にシークレットを保持し、リクエストが完了すると(復号化された画像と一緒に)破棄します。

キャッシュされた画像の保存期間は短期間です。現在、最も経済的な有効期限(TTL)を実験中ですが、数時間程度の範囲です。画像の使用を停止すると、暗号化されたキャッシュデータは自動的に削除されます。万が一のエラーシナリオでも必要以上に暗号化画像を保持しないよう、2つの独立した冗長メカニズムで暗号化画像データをクリーンアップしています。

いつものように、NovelAIが使用する暗号化アルゴリズムは、レビュー済みの業界標準ライブラリから採用しています。執筆時点では、暗号化キーの派生と画像の暗号化にHMAC、SHA256、AES-256-GCMの組み合わせを使用しています。