isGenAI.com

ファイル付きの実践例

画像のコピーと再書き出しを比較する

バイト列はファイルハッシュで比較し、保存された記録はメタデータの確認で調べます。再書き出しでは、同じ画像が表示されても、ファイルハッシュと利用可能な作成情報の両方が変わることがあります。

手順に沿って進める

  1. 下からパラメーター付きの元ファイル、バイト単位のコピー、再書き出しPNGをダウンロードします。
  2. 元ファイルとバイト単位のコピーを比較します。この例では、ファイルのSHA-256と読み取り可能な全レコードが一致します。
  3. 元ファイルと再書き出しを比較します。デコードした画素は一致しますが、ファイルハッシュは変わり、プロンプトは読めなくなります。

実際にテストした操作

バイト単位のコピーはBuffer.from(input)で作成しました。再書き出しはsharp(input).png().toBuffer()で行い、使用したライブラリーの版を結果JSONに記録しています。これらは端末内の操作であり、SNS上の実験ではありません。

この例は実用上の違いを切り分けます。元のバイト列を保持すれば、付属する記録も保持されます。新しい画像ファイルを書き込むと、メタデータの扱いが変わる場合があります。

目的に合った比較を使う

ブラウザーのファイルハッシュツールは、選んだファイル全体のSHA-256を返します。一方、画素比較ツールはデコードした画素を比較します。名前の付いたプロンプト、設定、ワークフローのフィールドにはメタデータ比較ツールを使ってください。

ハッシュの違いだけでは、何が変わったかは分かりません。画素の一致だけでは、どう作られたかは分かりません。それぞれの観測を別々に記録してください。

元のコピーを保管する

元ファイルが確認作業に重要な場合は、変換したコピーと一緒に保管します。各コピーを作った操作を記録し、その結果をテストしてください。メタデータ保持オプションがすべての独自フィールドを扱うとは考えず、必要なフィールドそのものを確認してください。

ダウンロード · 実行 · 比較

検証済みのサンプルを試す

コードで描いた画像に検証用の記録を付けました。保存されたプロンプトとモデル名は実演用データです。これらのファイルは記録の読み取りをテストします。このテスト結果の作成には、画像生成ツール、スクリーンショットアプリ、SNSは使っていません。

観測された出力

元ファイルとoriginal-copy.pngの比較。ファイルのバイト列が同じ:はい。デコード後の画素が同じ:はい。
フィールド変更前変更後状態
保存済みプロンプトControlled example: a paper boat on a blue tableControlled example: a paper boat on a blue table同一
シード4242同一
ステップ数2020同一
保存された生成時の幅10241024同一
保存された生成時の高さ768768同一
元ファイルとreencoded.pngの比較。ファイルのバイト列が同じ:いいえ。デコード後の画素が同じ:はい。
フィールド変更前変更後状態
保存済みプロンプトControlled example: a paper boat on a blue table未読み取り後のファイルでは読み取り不可
シード42未読み取り後のファイルでは読み取り不可
ステップ数20未読み取り後のファイルでは読み取り不可
保存された生成時の幅1024未読み取り後のファイルでは読み取り不可
保存された生成時の高さ768未読み取り後のファイルでは読み取り不可

大きな整数の精度を保つため、JSONのシード値は文字列です。ここでnullが返る場合、対応する保存済みプロンプトは返されていません。

ハッシュと再現手順
  • parameters-tEXt.png · 13,371 バイトe76d2af4e6c273e1ba8ca6cf2b5b7885ceda2321bce893f0bb5f9e64ace17c9f
  • original-copy.png · 13,371 バイトe76d2af4e6c273e1ba8ca6cf2b5b7885ceda2321bce893f0bb5f9e64ace17c9f
  • reencoded.png · 13,179 バイトacdc3a0a5e011cf57af9bf0f1da74c75c2d280a2cc9af9297410c529f86932cf

テストファイルと観測結果はCC0-1.0です。 全観測結果とバージョン情報をダウンロード または 手順を読む. こちらの 完全版Node.js再現スクリプト(sharpが必要) は同じテスト入力を作成し、バイト列と画素を比較します。isGenAIのソースコードでは、保存フィールドも次のテストで検証しています: npx tsx scripts/build-guide-lab.ts.

別途行った書き出し実験については、 メタデータの保持を調べた18ケースを見る.

出典と方法

リンク先の一次資料は形式を説明しています。ダウンロード用テストファイルの出力は、現在のisGenAI読み取りツールに対する自動アサーションで確認しました。これらのガイドはAIの支援を受けて作成し、そのサンプルに照らして確認しています。

誤りや未対応の例を報告. 署名付きの記録については、 Content Credentialsを確認.