ファイル付きの実践例
画像のコピーと再書き出しを比較する
バイト列はファイルハッシュで比較し、保存された記録はメタデータの確認で調べます。再書き出しでは、同じ画像が表示されても、ファイルハッシュと利用可能な作成情報の両方が変わることがあります。
手順に沿って進める
- 下からパラメーター付きの元ファイル、バイト単位のコピー、再書き出しPNGをダウンロードします。
- 元ファイルとバイト単位のコピーを比較します。この例では、ファイルのSHA-256と読み取り可能な全レコードが一致します。
- 元ファイルと再書き出しを比較します。デコードした画素は一致しますが、ファイルハッシュは変わり、プロンプトは読めなくなります。
実際にテストした操作
バイト単位のコピーはBuffer.from(input)で作成しました。再書き出しはsharp(input).png().toBuffer()で行い、使用したライブラリーの版を結果JSONに記録しています。これらは端末内の操作であり、SNS上の実験ではありません。
この例は実用上の違いを切り分けます。元のバイト列を保持すれば、付属する記録も保持されます。新しい画像ファイルを書き込むと、メタデータの扱いが変わる場合があります。
目的に合った比較を使う
ブラウザーのファイルハッシュツールは、選んだファイル全体のSHA-256を返します。一方、画素比較ツールはデコードした画素を比較します。名前の付いたプロンプト、設定、ワークフローのフィールドにはメタデータ比較ツールを使ってください。
ハッシュの違いだけでは、何が変わったかは分かりません。画素の一致だけでは、どう作られたかは分かりません。それぞれの観測を別々に記録してください。
元のコピーを保管する
元ファイルが確認作業に重要な場合は、変換したコピーと一緒に保管します。各コピーを作った操作を記録し、その結果をテストしてください。メタデータ保持オプションがすべての独自フィールドを扱うとは考えず、必要なフィールドそのものを確認してください。
ダウンロード · 実行 · 比較
検証済みのサンプルを試す
コードで描いた画像に検証用の記録を付けました。保存されたプロンプトとモデル名は実演用データです。これらのファイルは記録の読み取りをテストします。このテスト結果の作成には、画像生成ツール、スクリーンショットアプリ、SNSは使っていません。
観測された出力
| フィールド | 変更前 | 変更後 | 状態 |
|---|---|---|---|
| 保存済みプロンプト | Controlled example: a paper boat on a blue table | Controlled example: a paper boat on a blue table | 同一 |
| シード | 42 | 42 | 同一 |
| ステップ数 | 20 | 20 | 同一 |
| 保存された生成時の幅 | 1024 | 1024 | 同一 |
| 保存された生成時の高さ | 768 | 768 | 同一 |
| フィールド | 変更前 | 変更後 | 状態 |
|---|---|---|---|
| 保存済みプロンプト | 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を確認.